diff options
author | Karl Berry <karl@freefriends.org> | 2013-02-15 00:19:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-02-15 00:19:38 +0000 |
commit | c5626af2b77c391bf663c660b9a0b495ab53d941 (patch) | |
tree | 5dece1d9c3249e75d509524fc2145c59f759eef9 | |
parent | a13000a8a72574b999877de3f97bee16c0980c6a (diff) |
eplain (14feb13)
git-svn-id: svn://tug.org/texlive/trunk@29110 c570f23f-e606-0410-a88d-b1316a301751
19 files changed, 11858 insertions, 9003 deletions
diff --git a/Master/texmf-dist/doc/eplain/ChangeLog b/Master/texmf-dist/doc/eplain/ChangeLog index 3724e080882..5712f64f58c 100644 --- a/Master/texmf-dist/doc/eplain/ChangeLog +++ b/Master/texmf-dist/doc/eplain/ChangeLog @@ -1,3 +1,45 @@ +2013-02-08 Karl Berry <karl@gnu.org> + + * xeplain.tex (\columnfill): take \@col@extraheight into account. + Report from James Mckernon, 9 Oct 2012 12:04:55. + (Also add various %d(ebugging) messages. + * test/colfill.tex: the test file from James. + * doc/userdef.texi (Multiple columns): update \columnfill description + to be somewhat closer to reality. + +2013-02-07 Karl Berry <karl@gnu.org> + + * doc/Makefile (all): do not make btxdoc. + + * doc/eplain.1: update. + + * xeplain.tex (\beginpackages): at \endpackages, call + \resetatcatcode if defined. + * doc/userdef.texi (Environment for loading packages): mention this. + + * btxmac.tex (\bbltextbf): define this, not \textbf, as was + intended all along. + * doc/userdef.texi (Commands from LaTeX): new node. + + * btxmac.tex (\newcommand, \providecommand): make \long, like LaTeX. + (\@newcommand): use \def rather than \edef for \@startdef. + Report from Daniel Luecking, 12 Sep 2012 18:49:29. + * test/luacompat.tex: new file. + +2013-02-05 Karl Berry <karl@gnu.org> + + * ifpdf.sty: import latest version from oberdiek. + +2011-04-11 Karl Berry <karl@gnu.org> + + * path.sty: official version 3.05, with doc updates and merging + in Eplain changes. (But with blank lines and other spaces.) + +2010-02-24 Oleg Katsitadze <olegkat@gmail.com> + + * doc/eplain.1, Makefile, doc/Makefile: Added original Eplain + man page. Needs updating. + 2010-02-21 Oleg Katsitadze <olegkat@gmail.com> * ChangeLog, Makefile, NEWS, doc/eplain.info, doc/eplain.pdf: diff --git a/Master/texmf-dist/doc/eplain/NEWS b/Master/texmf-dist/doc/eplain/NEWS index 54a4354e631..ea92bfbd7da 100644 --- a/Master/texmf-dist/doc/eplain/NEWS +++ b/Master/texmf-dist/doc/eplain/NEWS @@ -1,5 +1,11 @@ +$Id$ This file records noteworthy changes. This file is public domain. +3.5 (11 February 2013) +* make \providecommand and \newcommand \long, like LaTeX. +* restored the catcode of @ at \endpackages. +* ifpdf.sty: update to latest version. + 3.4 (21 February 2010) * Eplain repository moved from cvs.sarovar.org:/cvsroot/eplain to svn://tug.org/eplain/trunk. diff --git a/Master/texmf-dist/doc/eplain/PROJECTS b/Master/texmf-dist/doc/eplain/PROJECTS deleted file mode 100644 index d24baf64c58..00000000000 --- a/Master/texmf-dist/doc/eplain/PROJECTS +++ /dev/null @@ -1,18 +0,0 @@ -This file is public domain. - -How about list processing macros like those in ``Tex in Practice''? - -In TUGboat volume 11 number 3, Amy Hendrickson gives some modified -routines for \newcount that do work inside groups. Perhaps they should -be included. - -FABROADI@CUGSBVM.BITNET suggests that the verbatim macros be extended to -allow things like: - \verbatim{first line - second line - third line} -to optionally have line numbers. - -Generalize toc files to other kinds of generated listings (e.g., figures). - -Define a spec for \ifempty and write a robust macro to implement it. diff --git a/Master/texmf-dist/doc/eplain/README b/Master/texmf-dist/doc/eplain/README index 9ec64791292..03a15770d8d 100644 --- a/Master/texmf-dist/doc/eplain/README +++ b/Master/texmf-dist/doc/eplain/README @@ -7,10 +7,11 @@ end of eplain.tex, among other places. See INSTALL for installation and basic usage hints. eplain.tex is the macros. This file is generated (by the Unix shell -script merge) from xeplain.tex, btxmac.tex, arrow.tex, and other files. -Unless you are hacking the macros, you should have no need to regenerate -the file; just use the one that's provided. If you do regenerate it, -you will need a date program which understands the %B format (GNU date does). +scripts in the util/ directory) from xeplain.tex, btxmac.tex, arrow.tex, +and other files. Unless you are hacking the macros, you should have no +need to regenerate the file; just use the one that's provided. If you +do regenerate it, you will need a date program which understands the %B +format (GNU date does). doc/eplain.texi and other .texi files in the doc directory describe the features currently provided. If you think of additional features that @@ -18,10 +19,7 @@ would be useful, or extensions to existing ones, see email below. doc/eplain.info is the Info file resulting from doc/eplain.texi and other .texi files in the doc directory, which GNU Emacs and GNU Info -can read. You'll need makeinfo, from the GNU Texinfo distribution, to -process it, if you happen to need to. Here is the line I added to the -dir file, in the top-level Emacs info directory: - * Eplain: (eplain). Expansions to plain TeX. +can read. See http://www.gnu.org/software/texinfo for more information about Texinfo. The files in the test subdirectory are of course for testing of various @@ -31,9 +29,6 @@ The util subdirectory contains some useful scripts to help with "see" and "see also" index entries, and making index entries with hyperlinks. -You can get the current development sources for Eplain via CVS from -sarovar, http://sarovar.org/projects/eplain. - Most of these macros, like most of the manual, are in the public domain. The exceptions are the commutative diagram macros (the file arrow.tex) and the documentation for them (the file doc/arrow.texi). Both of @@ -42,9 +37,7 @@ License (see the file headers for details). Eplain was developed as part of the book TeX for the Impatient, published by Addison-Wesley in 1990. It is now freely available, from -http://tug.org/ftp/tex/impatient, with a free French translation. - -Eplain is currently maintained by Oleg Katsitadze. +http://www.gnu.org/software/teximpatient, along with a French translation. email: bug-eplain@tug.org -www: http://www.tug.org/eplain +www: http://tug.org/eplain diff --git a/Master/texmf-dist/doc/eplain/README.TOP b/Master/texmf-dist/doc/eplain/README.TOP deleted file mode 100644 index 544578f69ae..00000000000 --- a/Master/texmf-dist/doc/eplain/README.TOP +++ /dev/null @@ -1,13 +0,0 @@ -This directory contains the Eplain macro package for the TeX typesetting -system. For more information about Eplain see http://tug.org/eplain. - -The package consists of the files in the directories conforming to the -TeX Directory Structure (v. 1.1). The directories are: - - tex/eplain compiled Eplain package - doc/eplain compiled Eplain manual and other docs - source/eplain zip archive of the source files for Eplain - -Please note that eplain.tex is a generated file. The original sources -can be found in the zip archive under the source/eplain directory, on -CTAN or on Eplain's home page at http://tug.org/eplain. diff --git a/Master/texmf-dist/doc/eplain/doc/eplain.html b/Master/texmf-dist/doc/eplain/doc/eplain.html index 2574c72a2ee..1275dc3dcfa 100644 --- a/Master/texmf-dist/doc/eplain/doc/eplain.html +++ b/Master/texmf-dist/doc/eplain/doc/eplain.html @@ -1,14 +1,7 @@ -<html lang="en"> -<head> -<title>Eplain: Expanded Plain TeX</title> -<meta http-equiv="Content-Type" content="text/html"> -<meta name="description" content="Eplain: Expanded Plain TeX"> -<meta name="generator" content="makeinfo 4.13"> -<link title="Top" rel="top" href="#Top"> -<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> -<!-- -This manual documents the Eplain macros, version 3.4, -February 2010. Eplain provides functionality for plain TeX that +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- This manual documents the Eplain macros, version 3.5, +February 2013. Eplain provides functionality for plain TeX that is intended to be useful regardless of how your document is actually formatted. @@ -18,1613 +11,2088 @@ Steven Smith wrote the documentation for the commutative diagram macros; this chapter is under the GNU General Public License. Adam Lewenberg has made additions and corrections. Oleg Katsitadze wrote the section on LaTeX packages and the chapter on hyperlinks, and -updates throughout.--> -<meta http-equiv="Content-Style-Type" content="text/css"> -<style type="text/css"><!-- - pre.display { font-family:inherit } - pre.format { font-family:inherit } - pre.smalldisplay { font-family:inherit; font-size:smaller } - pre.smallformat { font-family:inherit; font-size:smaller } - pre.smallexample { font-size:smaller } - pre.smalllisp { font-size:smaller } - span.sc { font-variant:small-caps } - span.roman { font-family:serif; font-weight:normal; } - span.sansserif { font-family:sans-serif; font-weight:normal; } ---></style> -</head> -<body> -<h1 class="settitle">Eplain: Expanded Plain TeX</h1> -<div class="shortcontents"> -<h2>Short Contents</h2> -<ul> -<li><a href="#toc_Top">Eplain</a></li> -<li><a href="#toc_Introduction">1 Introduction</a></li> -<li><a href="#toc_Installation">2 Installation</a></li> -<li><a href="#toc_Invoking-Eplain">3 Invoking Eplain</a></li> -<li><a href="#toc_User-definitions">4 User definitions</a></li> -<li><a href="#toc_Hyperlinks">5 Hyperlinks</a></li> -<li><a href="#toc_Arrow-theoretic-diagrams">6 Arrow theoretic diagrams</a></li> -<li><a href="#toc_Programming-definitions">7 Programming definitions</a></li> -<li><a href="#toc_Demo-files">8 Demo files</a></li> -<li><a href="#toc_Macro-index">Macro index</a></li> -<li><a href="#toc_Concept-index">Concept index</a></li> -</ul> -</div> - - - - <div class="contents"> -<h2>Table of Contents</h2> -<ul> -<li><a name="toc_Top" href="#Top">Eplain</a> -<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a> -<li><a name="toc_Installation" href="#Installation">2 Installation</a> -<li><a name="toc_Invoking-Eplain" href="#Invoking-Eplain">3 Invoking Eplain</a> -<li><a name="toc_User-definitions" href="#User-definitions">4 User definitions</a> -<ul> -<li><a href="#Diagnostics">4.1 Diagnostics</a> -<li><a href="#Rules">4.2 Rules</a> -<li><a href="#Citations">4.3 Citations</a> -<ul> -<li><a href="#Formatting-citations">4.3.1 Formatting citations</a> -<li><a href="#Formatting-bibliographies">4.3.2 Formatting bibliographies</a> -</li></ul> -<li><a href="#Displays">4.4 Displays</a> -<ul> -<li><a href="#Formatting-displays">4.4.1 Formatting displays</a> -</li></ul> -<li><a href="#Time-of-day">4.5 Time of day</a> -<li><a href="#Lists">4.6 Lists</a> -<ul> -<li><a href="#Formatting-lists">4.6.1 Formatting lists</a> -</li></ul> -<li><a href="#Verbatim-listing">4.7 Verbatim listing</a> -<li><a href="#Contents">4.8 Contents</a> -<ul> -<li><a href="#Writing-the-_002etoc-file">4.8.1 Writing the <tt>.toc</tt> file</a> -<li><a href="#Reading-the-_002etoc-file">4.8.2 Reading the <tt>.toc</tt> file</a> -<li><a href="#Changing-the-_002etoc-file_0027s-root-name">4.8.3 Changing the <tt>.toc</tt> file's root name</a> -<li><a href="#Alternative-contents-files">4.8.4 Alternative contents files</a> -</li></ul> -<li><a href="#Cross_002dreferences">4.9 Cross-references</a> -<ul> -<li><a href="#Defining-generic-references">4.9.1 Defining generic references</a> -<li><a href="#Using-generic-references">4.9.2 Using generic references</a> -</li></ul> -<li><a href="#Page-references">4.10 Page references</a> -<li><a href="#Equation-references">4.11 Equation references</a> -<ul> -<li><a href="#Formatting-equation-references">4.11.1 Formatting equation references</a> -<li><a href="#Subequation-references">4.11.2 Subequation references</a> -</li></ul> -<li><a href="#Indexing">4.12 Indexing</a> -<ul> -<li><a href="#Indexing-terms">4.12.1 Indexing terms</a> -<ul> -<li><a href="#Indexing-commands">4.12.1.1 Indexing commands</a> -<li><a href="#Modifying-index-entries">4.12.1.2 Modifying index entries</a> -<li><a href="#Index-entries-with-special-characters">4.12.1.3 Index entries with special characters</a> -<li><a href="#Proofing-index-terms">4.12.1.4 Proofing index terms</a> -</li></ul> -<li><a href="#Typesetting-an-index">4.12.2 Typesetting an index</a> -<li><a href="#Customizing-indexing">4.12.3 Customizing indexing</a> -</li></ul> -<li><a href="#Justification">4.13 Justification</a> -<li><a href="#Tables">4.14 Tables</a> -<li><a href="#Margins">4.15 Margins</a> -<li><a href="#Multiple-columns">4.16 Multiple columns</a> -<li><a href="#Footnotes">4.17 Footnotes</a> -<li><a href="#Fractions">4.18 Fractions</a> -<li><a href="#Paths">4.19 Paths</a> -<li><a href="#Logos">4.20 Logos</a> -<li><a href="#Boxes">4.21 Boxes</a> -<li><a href="#Checking-for-PDF-output">4.22 Checking for PDF output</a> -<li><a href="#Loading-LaTeX-packages">4.23 Loading LaTeX packages</a> -<ul> -<li><a href="#The-_005cusepackage-command">4.23.1 The <code>\usepackage</code> command</a> -<li><a href="#Environment-for-loading-packages">4.23.2 Environment for loading packages</a> -<li><a href="#Packages-known-to-work">4.23.3 Packages known to work</a> -<li><a href="#Packages-known-not-to-work">4.23.4 Packages known not to work</a> -</li></ul> -</li></ul> -<li><a name="toc_Hyperlinks" href="#Hyperlinks">5 Hyperlinks</a> -<ul> -<li><a href="#Introduction-to-hyperlinks">5.1 Introduction to hyperlinks</a> -<li><a href="#Explicit-hyperlinks">5.2 Explicit hyperlinks</a> -<li><a href="#Implicit-hyperlinks">5.3 Implicit hyperlinks</a> -<ul> -<li><a href="#General-hyperlinks">5.3.1 General hyperlinks: hrefint, hrefext</a> -<li><a href="#URL-hyperlinks">5.3.2 URL hyperlinks: url</a> -<li><a href="#Citation-hyperlinks">5.3.3 Citation hyperlinks: cite, bib</a> -<li><a href="#List-hyperlinks">5.3.4 List hyperlinks: li</a> -<li><a href="#Cross_002dreference-hyperlinks">5.3.5 Cross-reference hyperlinks: definexref, ref</a> -<li><a href="#Page-reference-hyperlinks">5.3.6 Page reference hyperlinks: xrdef, xref</a> -<li><a href="#Equation-reference-hyperlinks">5.3.7 Equation reference hyperlinks: eq</a> -<li><a href="#Index-hyperlinks">5.3.8 Index hyperlinks: idx</a> -<ul> -<li><a href="#Exact-destinations-for-index-terms">5.3.8.1 Exact destinations for index terms</a> -<li><a href="#Page-destinations-for-index-terms">5.3.8.2 Page destinations for index terms</a> -<li><a href="#Choosing-destination-placement">5.3.8.3 Choosing destination placement</a> -<li><a href="#Index-page-list-and-page-range-parsers">5.3.8.4 Index page list and page range parsers</a> -<li><a href="#Hyperlinks-in-see-and-see-also-entries">5.3.8.5 Hyperlinks in see and see also entries</a> -</li></ul> -<li><a href="#Footnote-hyperlinks">5.3.9 Footnote hyperlinks: foot, footback</a> -<li><a href="#Contents-hyperlinks">5.3.10 Contents hyperlinks</a> -</li></ul> -<li><a href="#Hyperlink-drivers">5.4 Hyperlink drivers</a> -<ul> -<li><a href="#Options-supported-by-all-drivers">5.4.1 Options supported by all drivers</a> -<li><a href="#Hyperlink-driver-hypertex">5.4.2 Hyperlink driver <code>hypertex</code></a> -<ul> -<li><a href="#Destination-types-for-hypertex">5.4.2.1 Destination types for <code>hypertex</code></a> -<li><a href="#Destination-options-for-hypertex">5.4.2.2 Destination options for <code>hypertex</code></a> -<li><a href="#Link-types-for-hypertex">5.4.2.3 Link types for <code>hypertex</code></a> -<li><a href="#Link-options-for-hypertex">5.4.2.4 Link options for <code>hypertex</code></a> -</li></ul> -<li><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">5.4.3 Hyperlink drivers <code>pdftex</code> and <code>dvipdfm</code></a> -<ul> -<li><a href="#Destination-types-for-pdftex-and-dvipdfm">5.4.3.1 Destination types for <code>pdftex</code> and <code>dvipdfm</code></a> -<li><a href="#Destination-options-for-pdftex-and-dvipdfm">5.4.3.2 Destination options for <code>pdftex</code> and <code>dvipdfm</code></a> -<li><a href="#Link-types-for-pdftex-and-dvipdfm">5.4.3.3 Link types for <code>pdftex</code> and <code>dvipdfm</code></a> -<li><a href="#Link-options-for-pdftex-and-dvipdfm">5.4.3.4 Link options for <code>pdftex</code> and <code>dvipdfm</code></a> -</li></ul> -<li><a href="#Hyperlink-driver-nolinks">5.4.4 Hyperlink driver <code>nolinks</code></a> -</li></ul> -<li><a href="#Setting-hyperlink-types-and-options">5.5 Setting hyperlink types and options</a> -<ul> -<li><a href="#Setting-default-types-and-options">5.5.1 Setting default types and options</a> -<li><a href="#Setting-group-types">5.5.2 Setting group types</a> -<li><a href="#Setting-group-options">5.5.3 Setting group options</a> -</li></ul> -<li><a href="#Turning-hyperlinks-on_002foff">5.6 Turning hyperlinks on/off</a> -<ul> -<li><a href="#Turning-low_002dlevel-commands-on_002foff">5.6.1 Turning low-level commands on/off</a> -<li><a href="#Turning-hyperlinks-on_002foff-for-a-group">5.6.2 Turning hyperlinks on/off for a group</a> -</li></ul> -</li></ul> -<li><a name="toc_Arrow-theoretic-diagrams" href="#Arrow-theoretic-diagrams">6 Arrow theoretic diagrams</a> -<ul> -<li><a href="#Slanted-lines-and-vectors">6.1 Slanted lines and vectors</a> -<li><a href="#Commutative-diagrams">6.2 Commutative diagrams</a> -<ul> -<li><a href="#Arrows-and-morphisms">6.2.1 Arrows and morphisms</a> -<li><a href="#Construction-of-commutative-diagrams">6.2.2 Construction of commutative diagrams</a> -<li><a href="#Commutative-diagram-parameters">6.2.3 Commutative diagram parameters</a> -</li></ul> -</li></ul> -<li><a name="toc_Programming-definitions" href="#Programming-definitions">7 Programming definitions</a> -<ul> -<li><a href="#Category-codes">7.1 Category codes</a> -<li><a href="#Allocation-macros">7.2 Allocation macros</a> -<li><a href="#Iteration">7.3 Iteration</a> -<li><a href="#Macro-arguments">7.4 Macro arguments</a> -<li><a href="#Converting-to-characters">7.5 Converting to characters</a> -<li><a href="#Expansion">7.6 Expansion</a> -<ul> -<li><a href="#_005ccsn-and-_005cece">7.6.1 <code>\csn</code> and <code>\ece</code></a> -<li><a href="#_005cedefappend">7.6.2 <code>\edefappend</code></a> -<li><a href="#Hooks">7.6.3 Hooks</a> -<li><a href="#Properties">7.6.4 Properties</a> -<li><a href="#_005cexpandonce">7.6.5 <code>\expandonce</code></a> -<li><a href="#_005cifundefined">7.6.6 <code>\ifundefined</code></a> -<li><a href="#_005cifempty">7.6.7 <code>\ifempty</code></a> -<li><a href="#_005cifinteger-and-_005cisinteger">7.6.8 <code>\ifinteger</code> and <code>\isinteger</code></a> -<li><a href="#_005cfuturenonspacelet">7.6.9 <code>\futurenonspacelet</code></a> -</li></ul> -<li><a href="#Obeying-spaces">7.7 Obeying spaces</a> -<li><a href="#Writing-out-numbers">7.8 Writing out numbers</a> -<li><a href="#Mode_002dspecific-penalties">7.9 Mode-specific penalties</a> -<li><a href="#Auxiliary-files">7.10 Auxiliary files</a> -<li><a href="#User_002ddefined-environments">7.11 User-defined environments</a> -<li><a href="#Page-list-and-page-range-parsers">7.12 Page list and page range parsers</a> -</li></ul> -<li><a name="toc_Demo-files" href="#Demo-files">8 Demo files</a> -<ul> -<li><a href="#Hyperlinks-_0028xhyper_002etex_0029">8.1 Hyperlinks (<code>xhyper.tex</code>)</a> -<li><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">8.2 Highlighting TeX comments in listings (<code>lscommnt.tex</code>)</a> -</li></ul> -<li><a name="toc_Macro-index" href="#Macro-index">Macro index</a> -<li><a name="toc_Concept-index" href="#Concept-index">Concept index</a> -</li></ul> -</div> - -<div class="node"> -<a name="Top"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Introduction">Introduction</a>, -Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> - -</div> - -<h2 class="unnumbered">Eplain</h2> - -<p>This manual documents the Eplain macros, version 3.4, -February 2010. Eplain provides functionality for plain TeX that -is intended to be useful regardless of how your document is actually -formatted. - - <p>Most of this manual is in the public domain, like most of the Eplain -code. It was originally written by Karl Berry, starting in 1989. -Steven Smith wrote the documentation for the commutative diagram -macros; this chapter is under the GNU General Public License. Adam -Lewenberg has made additions and corrections. Oleg Katsitadze wrote -the section on LaTeX packages and the chapter on hyperlinks, and -updates throughout. - -<ul class="menu"> -<li><a accesskey="1" href="#Introduction">Introduction</a>: Eplain's purpose and philosophy. -<li><a accesskey="2" href="#Installation">Installation</a>: Installing Eplain. -<li><a accesskey="3" href="#Invoking-Eplain">Invoking Eplain</a>: Using Eplain from a TeX file. -<li><a accesskey="4" href="#User-definitions">User definitions</a>: Macros to be used in a document. -<li><a accesskey="5" href="#Hyperlinks">Hyperlinks</a>: Producing documents with hyperlinks. -<li><a accesskey="6" href="#Arrow-theoretic-diagrams">Arrow theoretic diagrams</a>: Macros for commutative diagrams. -<li><a accesskey="7" href="#Programming-definitions">Programming definitions</a>: Macros to be used in writing other macros. -<li><a accesskey="8" href="#Demo-files">Demo files</a>: Sample documents demonstrating Eplain. -<li><a accesskey="9" href="#Macro-index">Macro index</a>: Entries for TeX and Eplain control sequences. -<li><a href="#Concept-index">Concept index</a>: General index. - -</li></ul> -<p>--- The Detailed Node Listing --- - -<p>User definitions - -</p> -<ul class="menu"> -<li><a href="#Diagnostics">Diagnostics</a>: Tracing information. -<li><a href="#Rules">Rules</a>: Changing the default rule dimensions. -<li><a href="#Citations">Citations</a>: Using BibTeX and Eplain to make bibliographies. -<li><a href="#Displays">Displays</a>: Changing the formatting of math displays. -<li><a href="#Time-of-day">Time of day</a>: Producing the time of day. -<li><a href="#Lists">Lists</a>: Producing numbered and unordered lists. -<li><a href="#Verbatim-listing">Verbatim listing</a>: Producing text just as it appears. -<li><a href="#Contents">Contents</a>: Making a table of contents. -<li><a href="#Cross_002dreferences">Cross-references</a>: Symbolically referring to pages or equations. -<li><a href="#Page-references">Page references</a>: Symbolic references to page numbers. -<li><a href="#Equation-references">Equation references</a>: Symbolic references to equation numbers. -<li><a href="#Indexing">Indexing</a>: Creating and typesetting indexes. -<li><a href="#Justification">Justification</a>: Left- or right-justification, or centering. -<li><a href="#Tables">Tables</a>: Producing ordered tables. -<li><a href="#Margins">Margins</a>: Changing the margins directly. -<li><a href="#Multiple-columns">Multiple columns</a>: Getting output in two columns. -<li><a href="#Footnotes">Footnotes</a>: Autonumbered footnotes; changing formatting. -<li><a href="#Fractions">Fractions</a>: A better way to produce fractions in text. -<li><a href="#Paths">Paths</a>: Allowing line breaks in pathnames. -<li><a href="#Logos">Logos</a>: Various logos. -<li><a href="#Boxes">Boxes</a>: Producing filled or open rectangles. -<li><a href="#Checking-for-PDF-output">Checking for PDF output</a>: Checking for pdfTeX in PDF mode. -<li><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>: Support for LaTeX packages under plain TeX. - -</li></ul> -<p>Citations - -</p> -<ul class="menu"> -<li><a href="#Formatting-citations">Formatting citations</a>: Changing the way citations are printed. -<li><a href="#Formatting-bibliographies">Formatting bibliographies</a>: Changing the way bibliographies are printed. - -</li></ul> -<p>Displays - -</p> -<ul class="menu"> -<li><a href="#Formatting-displays">Formatting displays</a>: General formatting of displays. - -</li></ul> -<p>Lists - -</p> -<ul class="menu"> -<li><a href="#Formatting-lists">Formatting lists</a>: Changing how the lists look. - -</li></ul> -<p>Contents - -</p> -<ul class="menu"> -<li><a href="#Writing-the-_002etoc-file">Writing the .toc file</a> -<li><a href="#Reading-the-_002etoc-file">Reading the .toc file</a> -<li><a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a> -<li><a href="#Alternative-contents-files">Alternative contents files</a> - -</li></ul> -<p>Cross-references - -</p> -<ul class="menu"> -<li><a href="#Defining-generic-references">Defining generic references</a> -<li><a href="#Using-generic-references">Using generic references</a> - -</li></ul> -<p>Equation references - -</p> -<ul class="menu"> -<li><a href="#Formatting-equation-references">Formatting equation references</a> -<li><a href="#Subequation-references">Subequation references</a> - -</li></ul> -<p>Indexing - -</p> -<ul class="menu"> -<li><a href="#Indexing-terms">Indexing terms</a>: Specifying what to index. -<li><a href="#Typesetting-an-index">Typesetting an index</a>: Printing the sorted output. -<li><a href="#Customizing-indexing">Customizing indexing</a>: Creating commands and specifying extra actions. - -</li></ul> -<p>Indexing terms - -</p> -<ul class="menu"> -<li><a href="#Indexing-commands">Indexing commands</a>: Making index entries. -<li><a href="#Modifying-index-entries">Modifying index entries</a>: Ranges, see/see also, page number typesetting. -<li><a href="#Index-entries-with-special-characters">Index entries with special characters</a> -<li><a href="#Proofing-index-terms">Proofing index terms</a>: Noting index entries in the margins. - -</li></ul> -<p>Loading LaTeX packages - -</p> -<ul class="menu"> -<li><a href="#The-_005cusepackage-command">The \usepackage command</a>: Command to load packages. -<li><a href="#Environment-for-loading-packages">Environment for loading packages</a>: Environment for the \usepackage commands. -<li><a href="#Packages-known-to-work">Packages known to work</a>: Supported packages. -<li><a href="#Packages-known-not-to-work">Packages known not to work</a>: Packages known not to work with Eplain. - -</li></ul> -<p>Hyperlinks - -</p> -<ul class="menu"> -<li><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a> -<li><a href="#Explicit-hyperlinks">Explicit hyperlinks</a> -<li><a href="#Implicit-hyperlinks">Implicit hyperlinks</a> -<li><a href="#Hyperlink-drivers">Hyperlink drivers</a> -<li><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a> -<li><a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a> - -</li></ul> -<p>Implicit hyperlinks +updates throughout. --> +<!-- Created by Texinfo 4.13.96+dev, http://www.gnu.org/software/texinfo/ --> +<head> +<title>Eplain: Expanded Plain TeX</title> -</p> -<ul class="menu"> -<li><a href="#General-hyperlinks">General hyperlinks</a>: hrefint, hrefext -<li><a href="#URL-hyperlinks">URL hyperlinks</a>: url -<li><a href="#Citation-hyperlinks">Citation hyperlinks</a>: cite, bib -<li><a href="#List-hyperlinks">List hyperlinks</a>: li -<li><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a>: definexref, ref -<li><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a>: xrdef, xref -<li><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a>: eq -<li><a href="#Index-hyperlinks">Index hyperlinks</a>: idx -<li><a href="#Footnote-hyperlinks">Footnote hyperlinks</a>: foot, footback -<li><a href="#Contents-hyperlinks">Contents hyperlinks</a> +<meta name="description" content="Eplain: Expanded Plain TeX"> +<meta name="keywords" content="Eplain: Expanded Plain TeX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="texi2any"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="#Top" rel="start" title="Top"> +<link href="#Macro-index" rel="index" title="Macro index"> +<link href="#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="dir.html#Top" rel="up" title="(dir)"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +div.smalllisp {margin-left: 3.2em} +kbd {font-style:oblique} +pre.display {font-family: inherit} +pre.format {font-family: inherit} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +pre.smalldisplay {font-family: inherit; font-size: smaller} +pre.smallexample {font-size: smaller} +pre.smallformat {font-family: inherit; font-size: smaller} +pre.smalllisp {font-size: smaller} +span.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> -</li></ul> -<p>Index hyperlinks -</p> -<ul class="menu"> -<li><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a> -<li><a href="#Page-destinations-for-index-terms">Page destinations for index terms</a> -<li><a href="#Choosing-destination-placement">Choosing destination placement</a> -<li><a href="#Index-page-list-and-page-range-parsers">Index page list and page range parsers</a> -<li><a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a> +</head> -</li></ul> -<p>Hyperlink drivers +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<h1 class="settitle" align="center">Eplain: Expanded Plain TeX</h1> -</p> -<ul class="menu"> -<li><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a> -<li><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a> -<li><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a> -<li><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a> -</li></ul> -<p>Hyperlink driver hypertex:: -</p> -<ul class="menu"> -<li><a href="#Destination-types-for-hypertex">Destination types for hypertex</a> -<li><a href="#Destination-options-for-hypertex">Destination options for hypertex</a> -<li><a href="#Link-types-for-hypertex">Link types for hypertex</a> -<li><a href="#Link-options-for-hypertex">Link options for hypertex</a> -</li></ul> -<p>Hyperlink drivers pdftex and dvipdfm:: -</p> -<ul class="menu"> -<li><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a> -<li><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a> -<li><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a> -<li><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a> -</li></ul> -<p>Setting hyperlink types and options -</p> -<ul class="menu"> -<li><a href="#Setting-default-types-and-options">Setting default types and options</a> -<li><a href="#Setting-group-types">Setting group types</a> -<li><a href="#Setting-group-options">Setting group options</a> -</li></ul> -<p>Turning hyperlinks on/off +<a name="SEC_Overview"></a> +<h2 class="shortcontents-heading">Short Table of Contents</h2> -</p> -<ul class="menu"> -<li><a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a> -<li><a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a> +<div class="shortcontents"> +<ul class="no-bullet"> +<li><a name="stoc-Introduction-1" href="#toc-Introduction-1">1 Introduction</a></li> +<li><a name="stoc-Installation-1" href="#toc-Installation-1">2 Installation</a></li> +<li><a name="stoc-Invoking-Eplain-1" href="#toc-Invoking-Eplain-1">3 Invoking Eplain</a></li> +<li><a name="stoc-User-definitions-1" href="#toc-User-definitions-1">4 User definitions</a></li> +<li><a name="stoc-Hyperlinks-1" href="#toc-Hyperlinks-1">5 Hyperlinks</a></li> +<li><a name="stoc-Arrow-theoretic-diagrams-1" href="#toc-Arrow-theoretic-diagrams-1">6 Arrow theoretic diagrams</a></li> +<li><a name="stoc-Programming-definitions-1" href="#toc-Programming-definitions-1">7 Programming definitions</a></li> +<li><a name="stoc-Demo-files-1" href="#toc-Demo-files-1">8 Demo files</a></li> +<li><a name="stoc-Macro-index-1" href="#toc-Macro-index-1">Macro index</a></li> +<li><a name="stoc-Concept-index-1" href="#toc-Concept-index-1">Concept index</a></li> +</ul> +</div> -</li></ul> -<p>Arrow theoretic diagrams +<a name="SEC_Contents"></a> +<h2 class="contents-heading">Table of Contents</h2> + +<div class="contents"> + +<ul class="no-bullet"> + <li><a name="toc-Introduction-1" href="#Introduction">1 Introduction</a></li> + <li><a name="toc-Installation-1" href="#Installation">2 Installation</a></li> + <li><a name="toc-Invoking-Eplain-1" href="#Invoking-Eplain">3 Invoking Eplain</a></li> + <li><a name="toc-User-definitions-1" href="#User-definitions">4 User definitions</a> + <ul class="no-bullet"> + <li><a name="toc-Diagnostics-1" href="#Diagnostics">4.1 Diagnostics</a></li> + <li><a name="toc-Rules-1" href="#Rules">4.2 Rules</a></li> + <li><a name="toc-Citations-1" href="#Citations">4.3 Citations</a> + <ul class="no-bullet"> + <li><a name="toc-Formatting-citations-1" href="#Formatting-citations">4.3.1 Formatting citations</a></li> + <li><a name="toc-Formatting-bibliographies-1" href="#Formatting-bibliographies">4.3.2 Formatting bibliographies</a></li> + <li><a name="toc-Commands-from-LaTeX-1" href="#Commands-from-LaTeX">4.3.3 Commands from LaTeX</a></li> + </ul></li> + <li><a name="toc-Displays-1" href="#Displays">4.4 Displays</a> + <ul class="no-bullet"> + <li><a name="toc-Formatting-displays-1" href="#Formatting-displays">4.4.1 Formatting displays</a></li> + </ul></li> + <li><a name="toc-Time-of-day-1" href="#Time-of-day">4.5 Time of day</a></li> + <li><a name="toc-Lists-1" href="#Lists">4.6 Lists</a> + <ul class="no-bullet"> + <li><a name="toc-Formatting-lists-1" href="#Formatting-lists">4.6.1 Formatting lists</a></li> + </ul></li> + <li><a name="toc-Verbatim-listing-1" href="#Verbatim-listing">4.7 Verbatim listing</a></li> + <li><a name="toc-Contents-1" href="#Contents">4.8 Contents</a> + <ul class="no-bullet"> + <li><a name="toc-Writing-the-_002etoc-file-1" href="#Writing-the-_002etoc-file">4.8.1 Writing the <tt>.toc</tt> file</a></li> + <li><a name="toc-Reading-the-_002etoc-file-1" href="#Reading-the-_002etoc-file">4.8.2 Reading the <tt>.toc</tt> file</a></li> + <li><a name="toc-Changing-the-_002etoc-file_0027s-root-name-1" href="#Changing-the-_002etoc-file_0027s-root-name">4.8.3 Changing the <tt>.toc</tt> file’s root name</a></li> + <li><a name="toc-Alternative-contents-files-1" href="#Alternative-contents-files">4.8.4 Alternative contents files</a></li> + </ul></li> + <li><a name="toc-Cross_002dreferences-1" href="#Cross_002dreferences">4.9 Cross-references</a> + <ul class="no-bullet"> + <li><a name="toc-Defining-generic-references-1" href="#Defining-generic-references">4.9.1 Defining generic references</a></li> + <li><a name="toc-Using-generic-references-1" href="#Using-generic-references">4.9.2 Using generic references</a></li> + </ul></li> + <li><a name="toc-Page-references-1" href="#Page-references">4.10 Page references</a></li> + <li><a name="toc-Equation-references-1" href="#Equation-references">4.11 Equation references</a> + <ul class="no-bullet"> + <li><a name="toc-Formatting-equation-references-1" href="#Formatting-equation-references">4.11.1 Formatting equation references</a></li> + <li><a name="toc-Subequation-references-1" href="#Subequation-references">4.11.2 Subequation references</a></li> + </ul></li> + <li><a name="toc-Indexing-1" href="#Indexing">4.12 Indexing</a> + <ul class="no-bullet"> + <li><a name="toc-Indexing-terms-1" href="#Indexing-terms">4.12.1 Indexing terms</a> + <ul class="no-bullet"> + <li><a name="toc-Indexing-commands-1" href="#Indexing-commands">4.12.1.1 Indexing commands</a></li> + <li><a name="toc-Modifying-index-entries-1" href="#Modifying-index-entries">4.12.1.2 Modifying index entries</a></li> + <li><a name="toc-Index-entries-with-special-characters-1" href="#Index-entries-with-special-characters">4.12.1.3 Index entries with special characters</a></li> + <li><a name="toc-Proofing-index-terms-1" href="#Proofing-index-terms">4.12.1.4 Proofing index terms</a></li> + </ul></li> + <li><a name="toc-Typesetting-an-index-1" href="#Typesetting-an-index">4.12.2 Typesetting an index</a></li> + <li><a name="toc-Customizing-indexing-1" href="#Customizing-indexing">4.12.3 Customizing indexing</a></li> + </ul></li> + <li><a name="toc-Justification-1" href="#Justification">4.13 Justification</a></li> + <li><a name="toc-Tables-1" href="#Tables">4.14 Tables</a></li> + <li><a name="toc-Margins-1" href="#Margins">4.15 Margins</a></li> + <li><a name="toc-Multiple-columns-1" href="#Multiple-columns">4.16 Multiple columns</a></li> + <li><a name="toc-Footnotes-1" href="#Footnotes">4.17 Footnotes</a></li> + <li><a name="toc-Fractions-1" href="#Fractions">4.18 Fractions</a></li> + <li><a name="toc-Paths-1" href="#Paths">4.19 Paths</a></li> + <li><a name="toc-Logos-1" href="#Logos">4.20 Logos</a></li> + <li><a name="toc-Boxes-1" href="#Boxes">4.21 Boxes</a></li> + <li><a name="toc-Checking-for-PDF-output-1" href="#Checking-for-PDF-output">4.22 Checking for PDF output</a></li> + <li><a name="toc-Loading-LaTeX-packages-1" href="#Loading-LaTeX-packages">4.23 Loading LaTeX packages</a> + <ul class="no-bullet"> + <li><a name="toc-The-_005cusepackage-command-1" href="#The-_005cusepackage-command">4.23.1 The <code>\usepackage</code> command</a></li> + <li><a name="toc-Environment-for-loading-packages-1" href="#Environment-for-loading-packages">4.23.2 Environment for loading packages</a></li> + <li><a name="toc-Packages-known-to-work-1" href="#Packages-known-to-work">4.23.3 Packages known to work</a></li> + <li><a name="toc-Packages-known-not-to-work-1" href="#Packages-known-not-to-work">4.23.4 Packages known not to work</a></li> + </ul></li> + </ul></li> + <li><a name="toc-Hyperlinks-1" href="#Hyperlinks">5 Hyperlinks</a> + <ul class="no-bullet"> + <li><a name="toc-Introduction-to-hyperlinks-1" href="#Introduction-to-hyperlinks">5.1 Introduction to hyperlinks</a></li> + <li><a name="toc-Explicit-hyperlinks-1" href="#Explicit-hyperlinks">5.2 Explicit hyperlinks</a></li> + <li><a name="toc-Implicit-hyperlinks-1" href="#Implicit-hyperlinks">5.3 Implicit hyperlinks</a> + <ul class="no-bullet"> + <li><a name="toc-General-hyperlinks_003a-hrefint_002c-hrefext" href="#General-hyperlinks">5.3.1 General hyperlinks: hrefint, hrefext</a></li> + <li><a name="toc-URL-hyperlinks_003a-url" href="#URL-hyperlinks">5.3.2 URL hyperlinks: url</a></li> + <li><a name="toc-Citation-hyperlinks_003a-cite_002c-bib" href="#Citation-hyperlinks">5.3.3 Citation hyperlinks: cite, bib</a></li> + <li><a name="toc-List-hyperlinks_003a-li" href="#List-hyperlinks">5.3.4 List hyperlinks: li</a></li> + <li><a name="toc-Cross_002dreference-hyperlinks_003a-definexref_002c-ref" href="#Cross_002dreference-hyperlinks">5.3.5 Cross-reference hyperlinks: definexref, ref</a></li> + <li><a name="toc-Page-reference-hyperlinks_003a-xrdef_002c-xref" href="#Page-reference-hyperlinks">5.3.6 Page reference hyperlinks: xrdef, xref</a></li> + <li><a name="toc-Equation-reference-hyperlinks_003a-eq" href="#Equation-reference-hyperlinks">5.3.7 Equation reference hyperlinks: eq</a></li> + <li><a name="toc-Index-hyperlinks_003a-idx" href="#Index-hyperlinks">5.3.8 Index hyperlinks: idx</a> + <ul class="no-bullet"> + <li><a name="toc-Exact-destinations-for-index-terms-1" href="#Exact-destinations-for-index-terms">5.3.8.1 Exact destinations for index terms</a></li> + <li><a name="toc-Page-destinations-for-index-terms-1" href="#Page-destinations-for-index-terms">5.3.8.2 Page destinations for index terms</a></li> + <li><a name="toc-Choosing-destination-placement-1" href="#Choosing-destination-placement">5.3.8.3 Choosing destination placement</a></li> + <li><a name="toc-Index-page-list-and-page-range-parsers-1" href="#Index-page-list-and-page-range-parsers">5.3.8.4 Index page list and page range parsers</a></li> + <li><a name="toc-Hyperlinks-in-see-and-see-also-entries-1" href="#Hyperlinks-in-see-and-see-also-entries">5.3.8.5 Hyperlinks in see and see also entries</a></li> + </ul></li> + <li><a name="toc-Footnote-hyperlinks_003a-foot_002c-footback" href="#Footnote-hyperlinks">5.3.9 Footnote hyperlinks: foot, footback</a></li> + <li><a name="toc-Contents-hyperlinks-1" href="#Contents-hyperlinks">5.3.10 Contents hyperlinks</a></li> + </ul></li> + <li><a name="toc-Hyperlink-drivers-1" href="#Hyperlink-drivers">5.4 Hyperlink drivers</a> + <ul class="no-bullet"> + <li><a name="toc-Options-supported-by-all-drivers-1" href="#Options-supported-by-all-drivers">5.4.1 Options supported by all drivers</a></li> + <li><a name="toc-Hyperlink-driver-hypertex-1" href="#Hyperlink-driver-hypertex">5.4.2 Hyperlink driver <code>hypertex</code></a> + <ul class="no-bullet"> + <li><a name="toc-Destination-types-for-hypertex-1" href="#Destination-types-for-hypertex">5.4.2.1 Destination types for <code>hypertex</code></a></li> + <li><a name="toc-Destination-options-for-hypertex-1" href="#Destination-options-for-hypertex">5.4.2.2 Destination options for <code>hypertex</code></a></li> + <li><a name="toc-Link-types-for-hypertex-1" href="#Link-types-for-hypertex">5.4.2.3 Link types for <code>hypertex</code></a></li> + <li><a name="toc-Link-options-for-hypertex-1" href="#Link-options-for-hypertex">5.4.2.4 Link options for <code>hypertex</code></a></li> + </ul></li> + <li><a name="toc-Hyperlink-drivers-pdftex-and-dvipdfm-1" href="#Hyperlink-drivers-pdftex-and-dvipdfm">5.4.3 Hyperlink drivers <code>pdftex</code> and <code>dvipdfm</code></a> + <ul class="no-bullet"> + <li><a name="toc-Destination-types-for-pdftex-and-dvipdfm-1" href="#Destination-types-for-pdftex-and-dvipdfm">5.4.3.1 Destination types for <code>pdftex</code> and <code>dvipdfm</code></a></li> + <li><a name="toc-Destination-options-for-pdftex-and-dvipdfm-1" href="#Destination-options-for-pdftex-and-dvipdfm">5.4.3.2 Destination options for <code>pdftex</code> and <code>dvipdfm</code></a></li> + <li><a name="toc-Link-types-for-pdftex-and-dvipdfm-1" href="#Link-types-for-pdftex-and-dvipdfm">5.4.3.3 Link types for <code>pdftex</code> and <code>dvipdfm</code></a></li> + <li><a name="toc-Link-options-for-pdftex-and-dvipdfm-1" href="#Link-options-for-pdftex-and-dvipdfm">5.4.3.4 Link options for <code>pdftex</code> and <code>dvipdfm</code></a></li> + </ul></li> + <li><a name="toc-Hyperlink-driver-nolinks-1" href="#Hyperlink-driver-nolinks">5.4.4 Hyperlink driver <code>nolinks</code></a></li> + </ul></li> + <li><a name="toc-Setting-hyperlink-types-and-options-1" href="#Setting-hyperlink-types-and-options">5.5 Setting hyperlink types and options</a> + <ul class="no-bullet"> + <li><a name="toc-Setting-default-types-and-options-1" href="#Setting-default-types-and-options">5.5.1 Setting default types and options</a></li> + <li><a name="toc-Setting-group-types-1" href="#Setting-group-types">5.5.2 Setting group types</a></li> + <li><a name="toc-Setting-group-options-1" href="#Setting-group-options">5.5.3 Setting group options</a></li> + </ul></li> + <li><a name="toc-Turning-hyperlinks-on_002foff-1" href="#Turning-hyperlinks-on_002foff">5.6 Turning hyperlinks on/off</a> + <ul class="no-bullet"> + <li><a name="toc-Turning-low_002dlevel-commands-on_002foff-1" href="#Turning-low_002dlevel-commands-on_002foff">5.6.1 Turning low-level commands on/off</a></li> + <li><a name="toc-Turning-hyperlinks-on_002foff-for-a-group-1" href="#Turning-hyperlinks-on_002foff-for-a-group">5.6.2 Turning hyperlinks on/off for a group</a></li> + </ul></li> + </ul></li> + <li><a name="toc-Arrow-theoretic-diagrams-1" href="#Arrow-theoretic-diagrams">6 Arrow theoretic diagrams</a> + <ul class="no-bullet"> + <li><a name="toc-Slanted-lines-and-vectors-1" href="#Slanted-lines-and-vectors">6.1 Slanted lines and vectors</a></li> + <li><a name="toc-Commutative-diagrams-1" href="#Commutative-diagrams">6.2 Commutative diagrams</a> + <ul class="no-bullet"> + <li><a name="toc-Arrows-and-morphisms-1" href="#Arrows-and-morphisms">6.2.1 Arrows and morphisms</a></li> + <li><a name="toc-Construction-of-commutative-diagrams-1" href="#Construction-of-commutative-diagrams">6.2.2 Construction of commutative diagrams</a></li> + <li><a name="toc-Commutative-diagram-parameters-1" href="#Commutative-diagram-parameters">6.2.3 Commutative diagram parameters</a></li> + </ul></li> + </ul></li> + <li><a name="toc-Programming-definitions-1" href="#Programming-definitions">7 Programming definitions</a> + <ul class="no-bullet"> + <li><a name="toc-Category-codes-1" href="#Category-codes">7.1 Category codes</a></li> + <li><a name="toc-Allocation-macros-1" href="#Allocation-macros">7.2 Allocation macros</a></li> + <li><a name="toc-Iteration-1" href="#Iteration">7.3 Iteration</a></li> + <li><a name="toc-Macro-arguments-1" href="#Macro-arguments">7.4 Macro arguments</a></li> + <li><a name="toc-Converting-to-characters-1" href="#Converting-to-characters">7.5 Converting to characters</a></li> + <li><a name="toc-Expansion-1" href="#Expansion">7.6 Expansion</a> + <ul class="no-bullet"> + <li><a name="toc-_005ccsn-and-_005cece-1" href="#g_t_005ccsn-and-_005cece">7.6.1 <code>\csn</code> and <code>\ece</code></a></li> + <li><a name="toc-_005cedefappend-1" href="#g_t_005cedefappend">7.6.2 <code>\edefappend</code></a></li> + <li><a name="toc-Hooks-1" href="#Hooks">7.6.3 Hooks</a></li> + <li><a name="toc-Properties-1" href="#Properties">7.6.4 Properties</a></li> + <li><a name="toc-_005cexpandonce-1" href="#g_t_005cexpandonce">7.6.5 <code>\expandonce</code></a></li> + <li><a name="toc-_005cifundefined-1" href="#g_t_005cifundefined">7.6.6 <code>\ifundefined</code></a></li> + <li><a name="toc-_005cifempty-1" href="#g_t_005cifempty">7.6.7 <code>\ifempty</code></a></li> + <li><a name="toc-_005cifinteger-and-_005cisinteger-1" href="#g_t_005cifinteger-and-_005cisinteger">7.6.8 <code>\ifinteger</code> and <code>\isinteger</code></a></li> + <li><a name="toc-_005cfuturenonspacelet-1" href="#g_t_005cfuturenonspacelet">7.6.9 <code>\futurenonspacelet</code></a></li> + </ul></li> + <li><a name="toc-Obeying-spaces-1" href="#Obeying-spaces">7.7 Obeying spaces</a></li> + <li><a name="toc-Writing-out-numbers-1" href="#Writing-out-numbers">7.8 Writing out numbers</a></li> + <li><a name="toc-Mode_002dspecific-penalties-1" href="#Mode_002dspecific-penalties">7.9 Mode-specific penalties</a></li> + <li><a name="toc-Auxiliary-files-1" href="#Auxiliary-files">7.10 Auxiliary files</a></li> + <li><a name="toc-User_002ddefined-environments-1" href="#User_002ddefined-environments">7.11 User-defined environments</a></li> + <li><a name="toc-Page-list-and-page-range-parsers-1" href="#Page-list-and-page-range-parsers">7.12 Page list and page range parsers</a></li> + </ul></li> + <li><a name="toc-Demo-files-1" href="#Demo-files">8 Demo files</a> + <ul class="no-bullet"> + <li><a name="toc-Hyperlinks-_0028xhyper_002etex_0029-1" href="#Hyperlinks-_0028xhyper_002etex_0029">8.1 Hyperlinks (<code>xhyper.tex</code>)</a></li> + <li><a name="toc-Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029-1" href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">8.2 Highlighting TeX comments in listings (<code>lscommnt.tex</code>)</a></li> + </ul></li> + <li><a name="toc-Macro-index-1" href="#Macro-index">Macro index</a></li> + <li><a name="toc-Concept-index-1" href="#Concept-index">Concept index</a></li> +</ul> +</div> -</p> -<ul class="menu"> -<li><a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a> -<li><a href="#Commutative-diagrams">Commutative diagrams</a> -</li></ul> -<p>Commutative diagrams +<a name="Top"></a> +<div class="header"> +<p> +Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="dir.html#Top" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> +</div> +<a name="Eplain"></a> +<h1 class="top">Eplain</h1> +<p>This manual documents the Eplain macros, version 3.5, +February 2013. Eplain provides functionality for plain TeX that +is intended to be useful regardless of how your document is actually +formatted. </p> -<ul class="menu"> -<li><a href="#Arrows-and-morphisms">Arrows and morphisms</a> -<li><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a> -<li><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a> - -</li></ul> -<p>Programming definitions - -</p> -<ul class="menu"> -<li><a href="#Category-codes">Category codes</a>: Changing category codes. -<li><a href="#Allocation-macros">Allocation macros</a>: Non-outer versions of \newcount et al. -<li><a href="#Iteration">Iteration</a>: Doing `for' and `while' loops in TeX. -<li><a href="#Macro-arguments">Macro arguments</a>: Reading and ignoring them. -<li><a href="#Converting-to-characters">Converting to characters</a>: Normalizing control sequences and spaces. -<li><a href="#Expansion">Expansion</a>: Controlling expansion. -<li><a href="#Obeying-spaces">Obeying spaces</a>: Making whitespace count anywhere. -<li><a href="#Writing-out-numbers">Writing out numbers</a>: Making `1' into `one'. -<li><a href="#Mode_002dspecific-penalties">Mode-specific penalties</a> -<li><a href="#Auxiliary-files">Auxiliary files</a>: Testing for their existence. -<li><a href="#User_002ddefined-environments">User-defined environments</a>: User-defined environments. -<li><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a> - -</li></ul> -<p>Expansion - +<p>Most of this manual is in the public domain, like most of the Eplain +code. It was originally written by Karl Berry, starting in 1989. +Steven Smith wrote the documentation for the commutative diagram +macros; this chapter is under the GNU General Public License. Adam +Lewenberg has made additions and corrections. Oleg Katsitadze wrote +the section on LaTeX packages and the chapter on hyperlinks, and +updates throughout. </p> -<ul class="menu"> -<li><a href="#g_t_005ccsn-and-_005cece">\csn and \ece</a> -<li><a href="#g_t_005cedefappend">\edefappend</a> -<li><a href="#Hooks">Hooks</a>: Manipulating and executing named actions. -<li><a href="#Properties">Properties</a>: Associating information with a csname. -<li><a href="#g_t_005cexpandonce">\expandonce</a> -<li><a href="#g_t_005cifundefined">\ifundefined</a> -<li><a href="#g_t_005cifempty">\ifempty</a> -<li><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a> -<li><a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a> - -</li></ul> -<p>Demo files +<p>The Eplain home page is <a href="http://tug.org/eplain">http://tug.org/eplain</a>. </p> -<ul class="menu"> -<li><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a> -<li><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a> - - </ul> - -<!-- This is part of the Eplain manual. Public domain. --> -<div class="node"> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Introduction" accesskey="1">Introduction</a>:</td><td> </td><td align="left" valign="top">Eplain’s purpose and philosophy. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Installation" accesskey="2">Installation</a>:</td><td> </td><td align="left" valign="top">Installing Eplain. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Invoking-Eplain" accesskey="3">Invoking Eplain</a>:</td><td> </td><td align="left" valign="top">Using Eplain from a TeX file. +</td></tr> +<tr><td align="left" valign="top">• <a href="#User-definitions" accesskey="4">User definitions</a>:</td><td> </td><td align="left" valign="top">Macros to be used in a document. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlinks" accesskey="5">Hyperlinks</a>:</td><td> </td><td align="left" valign="top">Producing documents with hyperlinks. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Arrow-theoretic-diagrams" accesskey="6">Arrow theoretic diagrams</a>:</td><td> </td><td align="left" valign="top">Macros for commutative diagrams. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Programming-definitions" accesskey="7">Programming definitions</a>:</td><td> </td><td align="left" valign="top">Macros to be used in writing other macros. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Demo-files" accesskey="8">Demo files</a>:</td><td> </td><td align="left" valign="top">Sample documents demonstrating Eplain. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Macro-index" accesskey="9">Macro index</a>:</td><td> </td><td align="left" valign="top">Entries for TeX and Eplain control sequences. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Concept-index">Concept index</a>:</td><td> </td><td align="left" valign="top">General index. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +</pre></th></tr><tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> — The Detailed Node Listing — + +User definitions + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Diagnostics">Diagnostics</a>:</td><td> </td><td align="left" valign="top">Tracing information. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Rules">Rules</a>:</td><td> </td><td align="left" valign="top">Changing the default rule dimensions. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Citations">Citations</a>:</td><td> </td><td align="left" valign="top">Using BibTeX and Eplain to make bibliographies. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Displays">Displays</a>:</td><td> </td><td align="left" valign="top">Changing the formatting of math displays. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Time-of-day">Time of day</a>:</td><td> </td><td align="left" valign="top">Producing the time of day. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Lists">Lists</a>:</td><td> </td><td align="left" valign="top">Producing numbered and unordered lists. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Verbatim-listing">Verbatim listing</a>:</td><td> </td><td align="left" valign="top">Producing text just as it appears. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Contents">Contents</a>:</td><td> </td><td align="left" valign="top">Making a table of contents. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Cross_002dreferences">Cross-references</a>:</td><td> </td><td align="left" valign="top">Symbolically referring to pages or equations. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-references">Page references</a>:</td><td> </td><td align="left" valign="top">Symbolic references to page numbers. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Equation-references">Equation references</a>:</td><td> </td><td align="left" valign="top">Symbolic references to equation numbers. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Indexing">Indexing</a>:</td><td> </td><td align="left" valign="top">Creating and typesetting indexes. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Justification">Justification</a>:</td><td> </td><td align="left" valign="top">Left- or right-justification, or centering. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Tables">Tables</a>:</td><td> </td><td align="left" valign="top">Producing ordered tables. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Margins">Margins</a>:</td><td> </td><td align="left" valign="top">Changing the margins directly. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Multiple-columns">Multiple columns</a>:</td><td> </td><td align="left" valign="top">Getting output in two columns. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Footnotes">Footnotes</a>:</td><td> </td><td align="left" valign="top">Autonumbered footnotes; changing formatting. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Fractions">Fractions</a>:</td><td> </td><td align="left" valign="top">A better way to produce fractions in text. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Paths">Paths</a>:</td><td> </td><td align="left" valign="top">Allowing line breaks in pathnames. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Logos">Logos</a>:</td><td> </td><td align="left" valign="top">Various logos. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Boxes">Boxes</a>:</td><td> </td><td align="left" valign="top">Producing filled or open rectangles. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Checking-for-PDF-output">Checking for PDF output</a>:</td><td> </td><td align="left" valign="top">Checking for pdfTeX in PDF mode. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>:</td><td> </td><td align="left" valign="top">Support for LaTeX packages under plain TeX. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Citations + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Formatting-citations">Formatting citations</a>:</td><td> </td><td align="left" valign="top">Changing the way citations are printed. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Formatting-bibliographies">Formatting bibliographies</a>:</td><td> </td><td align="left" valign="top">Changing the way bibliographies are printed. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Displays + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Formatting-displays">Formatting displays</a>:</td><td> </td><td align="left" valign="top">General formatting of displays. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Lists + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Formatting-lists">Formatting lists</a>:</td><td> </td><td align="left" valign="top">Changing how the lists look. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Contents + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Writing-the-_002etoc-file">Writing the .toc file</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Reading-the-_002etoc-file">Reading the .toc file</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Alternative-contents-files">Alternative contents files</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Cross-references + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Defining-generic-references">Defining generic references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Using-generic-references">Using generic references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Equation references + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Formatting-equation-references">Formatting equation references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Subequation-references">Subequation references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Indexing + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Indexing-terms">Indexing terms</a>:</td><td> </td><td align="left" valign="top">Specifying what to index. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Typesetting-an-index">Typesetting an index</a>:</td><td> </td><td align="left" valign="top">Printing the sorted output. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Customizing-indexing">Customizing indexing</a>:</td><td> </td><td align="left" valign="top">Creating commands and specifying extra actions. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Indexing terms + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Indexing-commands">Indexing commands</a>:</td><td> </td><td align="left" valign="top">Making index entries. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Modifying-index-entries">Modifying index entries</a>:</td><td> </td><td align="left" valign="top">Ranges, see/see also, page number typesetting. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Index-entries-with-special-characters">Index entries with special characters</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Proofing-index-terms">Proofing index terms</a>:</td><td> </td><td align="left" valign="top">Noting index entries in the margins. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Loading LaTeX packages + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#The-_005cusepackage-command">The \usepackage command</a>:</td><td> </td><td align="left" valign="top">Command to load packages. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Environment-for-loading-packages">Environment for loading packages</a>:</td><td> </td><td align="left" valign="top">Environment for the \usepackage commands. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Packages-known-to-work">Packages known to work</a>:</td><td> </td><td align="left" valign="top">Supported packages. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Packages-known-not-to-work">Packages known not to work</a>:</td><td> </td><td align="left" valign="top">Packages known not to work with Eplain. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Hyperlinks + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Explicit-hyperlinks">Explicit hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Implicit-hyperlinks">Implicit hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-drivers">Hyperlink drivers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Implicit hyperlinks + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#General-hyperlinks">General hyperlinks</a>:</td><td> </td><td align="left" valign="top">hrefint, hrefext +</td></tr> +<tr><td align="left" valign="top">• <a href="#URL-hyperlinks">URL hyperlinks</a>:</td><td> </td><td align="left" valign="top">url +</td></tr> +<tr><td align="left" valign="top">• <a href="#Citation-hyperlinks">Citation hyperlinks</a>:</td><td> </td><td align="left" valign="top">cite, bib +</td></tr> +<tr><td align="left" valign="top">• <a href="#List-hyperlinks">List hyperlinks</a>:</td><td> </td><td align="left" valign="top">li +</td></tr> +<tr><td align="left" valign="top">• <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a>:</td><td> </td><td align="left" valign="top">definexref, ref +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a>:</td><td> </td><td align="left" valign="top">xrdef, xref +</td></tr> +<tr><td align="left" valign="top">• <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a>:</td><td> </td><td align="left" valign="top">eq +</td></tr> +<tr><td align="left" valign="top">• <a href="#Index-hyperlinks">Index hyperlinks</a>:</td><td> </td><td align="left" valign="top">idx +</td></tr> +<tr><td align="left" valign="top">• <a href="#Footnote-hyperlinks">Footnote hyperlinks</a>:</td><td> </td><td align="left" valign="top">foot, footback +</td></tr> +<tr><td align="left" valign="top">• <a href="#Contents-hyperlinks">Contents hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Index hyperlinks + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Choosing-destination-placement">Choosing destination placement</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Index-page-list-and-page-range-parsers">Index page list and page range parsers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Hyperlink drivers + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Hyperlink driver hypertex:: + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Destination-types-for-hypertex">Destination types for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Destination-options-for-hypertex">Destination options for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-types-for-hypertex">Link types for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-options-for-hypertex">Link options for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Hyperlink drivers pdftex and dvipdfm:: + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Setting hyperlink types and options + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Setting-default-types-and-options">Setting default types and options</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Setting-group-types">Setting group types</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Setting-group-options">Setting group options</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Turning hyperlinks on/off + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Arrow theoretic diagrams + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Commutative-diagrams">Commutative diagrams</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Commutative diagrams + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Arrows-and-morphisms">Arrows and morphisms</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Programming definitions + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Category-codes">Category codes</a>:</td><td> </td><td align="left" valign="top">Changing category codes. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Allocation-macros">Allocation macros</a>:</td><td> </td><td align="left" valign="top">Non-outer versions of \newcount et al. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Iteration">Iteration</a>:</td><td> </td><td align="left" valign="top">Doing ‘for’ and ‘while’ loops in TeX. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Macro-arguments">Macro arguments</a>:</td><td> </td><td align="left" valign="top">Reading and ignoring them. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Converting-to-characters">Converting to characters</a>:</td><td> </td><td align="left" valign="top">Normalizing control sequences and spaces. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Expansion">Expansion</a>:</td><td> </td><td align="left" valign="top">Controlling expansion. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Obeying-spaces">Obeying spaces</a>:</td><td> </td><td align="left" valign="top">Making whitespace count anywhere. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Writing-out-numbers">Writing out numbers</a>:</td><td> </td><td align="left" valign="top">Making ‘1’ into ‘one’. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Mode_002dspecific-penalties">Mode-specific penalties</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Auxiliary-files">Auxiliary files</a>:</td><td> </td><td align="left" valign="top">Testing for their existence. +</td></tr> +<tr><td align="left" valign="top">• <a href="#User_002ddefined-environments">User-defined environments</a>:</td><td> </td><td align="left" valign="top">User-defined environments. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Expansion + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#g_t_005ccsn-and-_005cece">\csn and \ece</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cedefappend">\edefappend</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hooks">Hooks</a>:</td><td> </td><td align="left" valign="top">Manipulating and executing named actions. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Properties">Properties</a>:</td><td> </td><td align="left" valign="top">Associating information with a csname. +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cexpandonce">\expandonce</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cifundefined">\ifundefined</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cifempty">\ifempty</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Demo files + +</pre></th></tr><tr><td align="left" valign="top">• <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + +<hr> <a name="Introduction"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Installation">Installation</a>, -Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="#Top" accesskey="p" rel="previous">Top</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Introduction-1"></a> <h2 class="chapter">1 Introduction</h2> -<p><a name="index-Eplain_002c-purpose-of-1"></a> -<a name="index-xeplain_002etex-2"></a>The <dfn>Eplain</dfn> macro package expands on and extends the definitions in -plain TeX. This manual describes the definitions that you, as either -an author or a macro writer, might like to use. It doesn't discuss the -implementation; see comments in the source code (<samp><span class="file">xeplain.tex</span></samp>) for -that. +<a name="index-Eplain_002c-purpose-of"></a> - <p>Eplain is not intended to provide “generic” typesetting capabilities, as +<a name="index-xeplain_002etex"></a> +<p>The <em>Eplain</em> macro package expands on and extends the definitions in +plain TeX. Its home on the web is <a href="http://tug.org/eplain">http://tug.org/eplain</a>. +</p> +<p>This manual describes the definitions that you, as either an author or +a macro writer, might like to use. It doesn’t discuss the +implementation; see comments in the source code (<samp>xeplain.tex</samp>) +for that. +</p> +<p>Eplain is not intended to provide “generic” typesetting capabilities, as do LaTeX (written by Leslie Lamport) -<a name="index-g_t_0040LaTeX_007b_007d-3"></a><a name="index-Lamport_002c-Leslie-4"></a>or Texinfo -<a name="index-Texinfo-5"></a>(written by Richard Stallman and others). -<a name="index-Stallman_002c-Richard-6"></a><a name="index-rms-7"></a>Instead, it provides definitions that are intended to be useful +<a name="index-LaTeX"></a> +<a name="index-Lamport_002c-Leslie"></a> +or Texinfo +<a name="index-Texinfo"></a> +(written by Richard Stallman and others). +<a name="index-Stallman_002c-Richard"></a> +<a name="index-rms"></a> +Instead, it provides definitions that are intended to be useful regardless of the high-level commands that you use when you actually prepare your manuscript. - - <p>For example, Eplain does not have a command <code>\section</code>, which +</p> +<p>For example, Eplain does not have a command <code>\section</code>, which would format section headings in an “appropriate” way, such as -LaTeX's <code>\section</code>. The philosophy of Eplain is +LaTeX’s <code>\section</code>. The philosophy of Eplain is that some people will always need or want to go beyond the macro -designer's idea of “appropriate”. Such canned macros are +designer’s idea of “appropriate”. Such canned macros are fine—as long as you are willing to accept the resulting output. If -you don't like the results, or if you are trying to match a different +you don’t like the results, or if you are trying to match a different format, you are out of luck. - - <p>On the other hand, almost everyone would like capabilities such as -cross-referencing by labels, so that you don't have to put actual page +</p> +<p>On the other hand, almost everyone would like capabilities such as +cross-referencing by labels, so that you don’t have to put actual page numbers in the manuscript. The author of Eplain -<a name="index-Berry_002c-Karl-8"></a>is not aware of any generally available macro packages that (1) do +<a name="index-Berry_002c-Karl"></a> +is not aware of any generally available macro packages that (1) do not force their typographic style on an author, and yet (2) provide such capabilities. - - <p>Besides such generic macros as cross-referencing, Eplain +</p> +<p>Besides such generic macros as cross-referencing, Eplain contains another set of definitions: ones that change the conventions of -plain TeX's output. For example, math displays in TeX are, by +plain TeX’s output. For example, math displays in TeX are, by default, centered. If you want your displays to come out left-justified, you have to plow through <cite>The TeXbook</cite> to find some way to do it, and then adapt the code to your own needs. Eplain tries to take care of the messy details of such things, while still leaving the detailed appearance of the output up to you. - - <p>Finally, numerous definitions turned out to be useful as Eplain was +</p> +<p>Finally, numerous definitions turned out to be useful as Eplain was developed. They are also documented in this manual, on the chance that people writing other macros will be able to use them. - - <p>You can send bug reports or suggestions to +</p> +<p>You can send bug reports or suggestions to <a href="mailto:tex-eplain@tug.org">tex-eplain@tug.org</a>. The current version number of Eplain is defined as the macro <code>\fmtversion</code> -<a name="index-version-number-9"></a><a name="index-fmtversion-10"></a>at the end of the source file <samp><span class="file">eplain.tex</span></samp>. When corresponding, -please refer to it. - - <p>To get on this mailing list yourself, email +<a name="index-version-number"></a> +<a name="index-fmtversion"></a> +at the end of the source file <samp>eplain.tex</samp>. When corresponding, +please refer to it. +</p> +<p>To get on this mailing list yourself, email <a href="mailto:tex-eplain-request@tug.org">tex-eplain-request@tug.org</a> with a message whose body contains a line +</p> +<div class="example"> +<pre class="example">subscribe <var>you@your.preferred.address</var> +</pre></div> -<pre class="example"> subscribe <var>you@your.preferred.address</var> -</pre> - <p class="noindent">or visit <a href="http://tug.org/mailman/listinfo/tex-eplain">http://tug.org/mailman/listinfo/tex-eplain</a>. - - <p><a name="index-Walden_002c-David-11"></a>David Walden had reported his experience with Eplain as a new user. +<p>or visit <a href="http://tug.org/mailman/listinfo/tex-eplain">http://tug.org/mailman/listinfo/tex-eplain</a>. +</p> +<a name="index-Walden_002c-David"></a> +<p>David Walden had reported his experience with Eplain as a new user. The article is available online at <a href="http://tug.org/pracjourn/2005-4/walden">http://tug.org/pracjourn/2005-4/walden</a>. An introductory article (written for -<a name="index-g_t_0040i_007bTUGboat_007d-12"></a><i>TUGboat</i>) is also available online at +<a name="index-TUGboat"></a> +<i>TUGboat</i>) is also available online at <a href="http://tug.org/eplain/misc/tb84katsi.pdf">http://tug.org/eplain/misc/tb84katsi.pdf</a>. - -<!-- This is part of the Eplain manual. Public domain. --> -<div class="node"> +</p> +<hr> <a name="Installation"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Invoking-Eplain">Invoking Eplain</a>, -Previous: <a rel="previous" accesskey="p" href="#Introduction">Introduction</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#Invoking-Eplain" accesskey="n" rel="next">Invoking Eplain</a>, Previous: <a href="#Introduction" accesskey="p" rel="previous">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Installation-1"></a> <h2 class="chapter">2 Installation</h2> -<p><a name="index-Eplain_002c-installing-13"></a><a name="index-installation-14"></a><a name="index-Eplain_002c-upgrading-15"></a><a name="index-upgrading-16"></a>Your TeX installation should already contain a version of Eplain -(<samp><span class="file">eplain.tex</span></samp>) in its main <samp><span class="file">texmf</span></samp> tree (usually under -<samp><span class="file">/usr/share/texmf/tex/eplain/</span></samp> on Unix systems). To install a -newer version of Eplain, put the new <samp><span class="file">eplain.tex</span></samp> (included in -Eplain distributions) in the <samp><span class="file">tex/eplain/</span></samp> subdirectory of your -local <samp><span class="file">texmf</span></samp> tree. The newer version you install in the local +<a name="index-Eplain_002c-installing"></a> +<a name="index-installation"></a> +<a name="index-Eplain_002c-upgrading"></a> +<a name="index-upgrading"></a> +<p>Your TeX installation should already contain a version of Eplain +(<samp>eplain.tex</samp>) in its main <samp>texmf</samp> tree (usually under +<samp>/usr/share/texmf/tex/eplain/</samp> on Unix systems). To install a +newer version of Eplain, put the new <samp>eplain.tex</samp> (included in +Eplain distributions) in the <samp>tex/eplain/</samp> subdirectory of your +local <samp>texmf</samp> tree. The newer version you install in the local tree should override the older one in the main tree. - - <p>The location of the local <samp><span class="file">texmf</span></samp> tree obviously depends on your +</p> +<p>The location of the local <samp>texmf</samp> tree obviously depends on your operating system and TeX installation. On Unix systems the usual -location is <samp><span class="file">/usr/local/share/texmf/</span></samp>. If you don't have write -permissions for <samp><span class="file">/usr/local/share/texmf/</span></samp>, many installations read -the <samp><span class="file">texmf</span></samp> tree in the user's home directory; <samp><span class="file">eplain.tex</span></samp> -then should go under <samp><span class="file">~/texmf/tex/eplain/</span></samp>. For more information +location is <samp>/usr/local/share/texmf/</samp>. If you don’t have write +permissions for <samp>/usr/local/share/texmf/</samp>, many installations read +the <samp>texmf</samp> tree in the user’s home directory; <samp>eplain.tex</samp> +then should go under <samp>~/texmf/tex/eplain/</samp>. For more information about TeX directory structure, please see <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds</a>. - - <p><a name="index-TEXINPUTS-17"></a>If you prefer to install <samp><span class="file">eplain.tex</span></samp> in a non-standard place, set +</p> +<a name="index-TEXINPUTS"></a> +<p>If you prefer to install <samp>eplain.tex</samp> in a non-standard place, set an environment variable (<code>TEXINPUTS</code> for the Web2C port of TeX to Unix) to tell TeX how to find it. - - <p>If you want, you can also create a format (<samp><span class="file">.fmt</span></samp>) -<a name="index-g_t_002efmt-_0040r_007bfile_007d-18"></a><a name="index-format-file-19"></a><a name="index-eplain_002efmt-20"></a>file for Eplain, which will eliminate the time spent reading the macro +</p> +<p>If you want, you can also create a format (<samp>.fmt</samp>) +<a name="index-_002efmt-file"></a> +<a name="index-format-file"></a> +<a name="index-eplain_002efmt"></a> +file for Eplain, which will eliminate the time spent reading the macro source file with <code>\input</code>. You do this by issuing a sequence of Unix commands something like this: - -<pre class="example"> prompt$ touch eplain.aux - prompt$ initex - This is TeX, ... - **&plain eplain - (eplain.tex) - *\dump - ... <var>messages</var> ... -</pre> - <p><a name="index-eplain_002eaux-21"></a><a name="index-undefined-labels_002c-warnings-about-22"></a>You must make sure that <samp><span class="file">eplain.aux</span></samp> exists <em>before</em> you -run <samp><span class="file">initex</span></samp>; otherwise, warning messages about undefined labels +</p> +<div class="example"> +<pre class="example">prompt$ touch eplain.aux +prompt$ initex +This is TeX, ... +**&plain eplain +(eplain.tex) +*\dump +... <var>messages</var> ... +</pre></div> + +<a name="index-eplain_002eaux"></a> +<a name="index-undefined-labels_002c-warnings-about"></a> +<p>You must make sure that <samp>eplain.aux</samp> exists <em>before</em> you +run <samp>initex</samp>; otherwise, warning messages about undefined labels will never be issued. - - <p><a name="index-TEXFORMATS-23"></a>You then have to install the resulting <samp><span class="file">eplain.fmt</span></samp> in your local -<samp><span class="file">texmf</span></samp> tree or set an environment variable to tell TeX how to +</p> +<a name="index-TEXFORMATS"></a> +<p>You then have to install the resulting <samp>eplain.fmt</samp> in your local +<samp>texmf</samp> tree or set an environment variable to tell TeX how to find it. For the Web2C port of TeX to Unix, format files are usually -installed under <samp><span class="file">/usr/local/share/texmf/web2c/</span></samp> or -<samp><span class="file">/var/lib/texmf/web2c/</span></samp>; the environment variable is +installed under <samp>/usr/local/share/texmf/web2c/</samp> or +<samp>/var/lib/texmf/web2c/</samp>; the environment variable is <code>TEXFORMATS</code>. - -<!-- This is part of the Eplain manual. Public domain. --> -<div class="node"> +</p> +<hr> <a name="Invoking-Eplain"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#User-definitions">User definitions</a>, -Previous: <a rel="previous" accesskey="p" href="#Installation">Installation</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#User-definitions" accesskey="n" rel="next">User definitions</a>, Previous: <a href="#Installation" accesskey="p" rel="previous">Installation</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Invoking-Eplain-1"></a> <h2 class="chapter">3 Invoking Eplain</h2> -<p><a name="index-Eplain_002c-invoking-24"></a>The simplest way to use Eplain is simply to put: +<a name="index-Eplain_002c-invoking"></a> +<p>The simplest way to use Eplain is simply to put: +</p> +<div class="example"> +<pre class="example">\input eplain +</pre></div> -<pre class="example"> \input eplain -</pre> - <p class="noindent">at the beginning of your input file. The macro file is small +<p>at the beginning of your input file. The macro file is small enough that reading it does not take an unbearably long time—at least on -contemporary machines. - - <p>In addition, if a format (<samp><span class="file">.fmt</span></samp>) -<a name="index-g_t_002efmt-_0040r_007bfile_007d-25"></a>file has been created for Eplain (see the previous section), you can +contemporary machines. +</p> +<p>In addition, if a format (<samp>.fmt</samp>) +<a name="index-_002efmt-file-1"></a> +file has been created for Eplain (see the previous section), you can eliminate the time spent reading the macro source file. You do this -by responding <code>&eplain</code> to TeX's ‘<samp><span class="samp">**</span></samp>’ prompt. For +by responding <code>&eplain</code> to TeX’s ‘<samp>**</samp>’ prompt. For example: - -<pre class="example"> initex - This is TeX, ... - **&eplain myfile -</pre> - <p>Depending on the implementation of TeX which you are using, you might -also be able to invoke TeX as <samp><span class="file">eplain</span></samp> and have the format file +</p> +<div class="example"> +<pre class="example">initex +This is TeX, ... +**&eplain myfile +</pre></div> + +<p>Depending on the implementation of TeX which you are using, you might +also be able to invoke TeX as <samp>eplain</samp> and have the format file automatically read. - - <p>If you write something which you will be distributing to others, you -won't know if the Eplain format will be loaded already. If it is, then -doing <code>\input eplain</code> will waste time; if it isn't, then you must +</p> +<p>If you write something which you will be distributing to others, you +won’t know if the Eplain format will be loaded already. If it is, then +doing <code>\input eplain</code> will waste time; if it isn’t, then you must load it. To solve this, Eplain defines the control sequence <code>\eplain</code> -<a name="index-eplain-26"></a>to be the letter <code>t</code> (a convention borrowed from Lisp; it doesn't +<a name="index-eplain"></a> +to be the letter <code>t</code> (a convention borrowed from Lisp; it doesn’t actually matter what the definition is, only that the definition exists). Therefore, you can do the following: +</p> +<div class="example"> +<pre class="example">\ifx\eplain\undefined \input eplain \fi +</pre></div> -<pre class="example"> \ifx\eplain\undefined \input eplain \fi -</pre> - <p class="noindent">where <code>\undefined</code> must never acquire a definition. - - <p>Eplain consists of several source files: - <dl> -<dt><samp><span class="file">xeplain.tex</span></samp><dd>most of the macros; - - <br><dt><samp><span class="file">arrow.tex</span></samp><dd>commutative diagram macros (see <a href="#Arrow-theoretic-diagrams">Arrow theoretic diagrams</a>), written by +<p>where <code>\undefined</code> must never acquire a definition. +</p> +<p>Eplain consists of several source files: +</p><dl compact="compact"> +<dt><samp>xeplain.tex</samp></dt> +<dd><p>most of the macros; +</p> +</dd> +<dt><samp>arrow.tex</samp></dt> +<dd><p>commutative diagram macros (see <a href="#Arrow-theoretic-diagrams">Arrow theoretic diagrams</a>), written by Steven Smith; - - <br><dt><samp><span class="file">btxmac.tex</span></samp><dd>bibliography-related macros (see <a href="#Citations">Citations</a>); - - <br><dt><samp><span class="file">ifpdf.sty</span></samp><dd>sets the switch <code>\ifpdf</code>, which can be used to -detect pdfTeX in <acronym>PDF</acronym> mode (see <a href="#Checking-for-PDF-output">Checking for PDF output</a>), written by Heiko Oberdiek; - - <br><dt><samp><span class="file">path.sty</span></samp><dd>macro for allowing line breaks at punctuation characters within long +</p> +</dd> +<dt><samp>btxmac.tex</samp></dt> +<dd><p>bibliography-related macros (see <a href="#Citations">Citations</a>); +</p> +</dd> +<dt><samp>ifpdf.sty</samp></dt> +<dd><p>sets the switch <code>\ifpdf</code>, which can be used to detect pdfTeX +in PDF mode (see <a href="#Checking-for-PDF-output">Checking for PDF output</a>), written by Heiko +Oberdiek; +</p> +</dd> +<dt><samp>path.sty</samp></dt> +<dd><p>macro for allowing line breaks at punctuation characters within long pathnames, electronic mail addresses, etc., (see <a href="#Paths">Paths</a>), written by Philip Taylor; - - <br><dt><samp><span class="file">texnames.sty</span></samp><dd>abbreviations for various TeX-related names (see <a href="#Logos">Logos</a>), edited +</p> +</dd> +<dt><samp>texnames.sty</samp></dt> +<dd><p>abbreviations for various TeX-related names (see <a href="#Logos">Logos</a>), edited by Nelson Beebe. +</p> +</dd> +</dl> - </dl> - -<p class="noindent">The file <samp><span class="file">eplain.tex</span></samp> is all of these files merged +<p>The file <samp>eplain.tex</samp> is all of these files merged together, with comments removed. The original sources can be found in Eplain source zip archive in your TeX distribution, on <acronym>CTAN</acronym> -or on Eplain's home page at <a href="http://tug.org/eplain">http://tug.org/eplain</a>. - - <p>All of these files except <samp><span class="file">xeplain.tex</span></samp> can be input individually, +or on Eplain’s home page at <a href="http://tug.org/eplain">http://tug.org/eplain</a>. +</p> +<p>All of these files except <samp>xeplain.tex</samp> can be input individually, if all you want are the definitions in that file. - - <p>Also, since the bibliography macros are fairly extensive, you might not -want to load them, to conserve TeX's memory. Therefore, if the +</p> +<p>Also, since the bibliography macros are fairly extensive, you might not +want to load them, to conserve TeX’s memory. Therefore, if the control sequence <code>\nobibtex</code> -<a name="index-nobibtex-27"></a>is defined, then the bibliography definitions are skipped. You must set -<code>\nobibtex</code> before <samp><span class="file">eplain.tex</span></samp> is read, naturally. For +<a name="index-nobibtex"></a> +is defined, then the bibliography definitions are skipped. You must set +<code>\nobibtex</code> before <samp>eplain.tex</samp> is read, naturally. For example, you could start your input file like this: +</p> +<div class="example"> +<pre class="example">\let\nobibtex = t +\input eplain +</pre></div> -<pre class="example"> \let\nobibtex = t - \input eplain -</pre> - <p class="noindent">By default, <code>\nobibtex</code> is undefined, and so the +<p>By default, <code>\nobibtex</code> is undefined, and so the bibliography definitions <em>are</em> made. - - <p><a name="index-noarrow-28"></a>Likewise, define <code>\noarrow</code> if you don't want to include the -commutative diagram macros from <samp><span class="file">arrow.tex</span></samp>, perhaps because you +</p> +<a name="index-noarrow"></a> +<p>Likewise, define <code>\noarrow</code> if you don’t want to include the +commutative diagram macros from <samp>arrow.tex</samp>, perhaps because you already have conflicting ones. - - <p>If you don't want to read or write an <samp><span class="file">aux</span></samp> file at all, for any +</p> +<p>If you don’t want to read or write an <samp>aux</samp> file at all, for any kind of cross-referencing, define <code>\noauxfile</code> -<a name="index-noauxfile-29"></a>before reading <samp><span class="file">eplain.tex</span></samp>. This also turns off all warnings +<a name="index-noauxfile"></a> +before reading <samp>eplain.tex</samp>. This also turns off all warnings about undefined labels. - - <p><a name="index-amsppt_002esty-30"></a><a name="index-AMS_0040TeX_007b_007d-conflicts-31"></a>Eplain conflicts with AMSTeX (to be precise, with <samp><span class="file">amsppt.sty</span></samp>): +</p> +<a name="index-amsppt_002esty"></a> +<a name="index-AMSTeX-conflicts"></a> +<p>Eplain conflicts with AMSTeX (to be precise, with <samp>amsppt.sty</samp>): the macros <code>\cite</code> and <code>\ref</code> are defined by both. - - <p>If you want to use AMSTeX's <code>\cite</code>, the solution is to define +</p> +<p>If you want to use AMSTeX’s <code>\cite</code>, the solution is to define <code>\nobibtex</code> before reading Eplain, as described above. - - <p>If you have <samp><span class="file">amsppt.sty</span></samp> loaded and use <code>\ref</code>, Eplain writes +</p> +<p>If you have <samp>amsppt.sty</samp> loaded and use <code>\ref</code>, Eplain writes a warning on your terminal. If you want to use the AMSTeX -<code>\ref</code>, do <code>\let\ref = \amsref</code> after reading Eplain. +<code>\ref</code>, do <code>\let\ref = \amsref</code> after reading Eplain. To avoid the warning, do <code>\let\ref = \eplainref</code> after reading Eplain and before using <code>\ref</code>. - - <p><a name="index-texi2dvi-32"></a><a name="index-bibtex-33"></a><a name="index-makeindex-34"></a>Sometimes you may need to run TeX more then once on your -<samp><span class="file">.tex</span></samp> file in order to produce and typeset indexes, resolve +</p> +<a name="index-texi2dvi"></a> +<a name="index-bibtex"></a> +<a name="index-makeindex"></a> +<p>Sometimes you may need to run TeX more then once on your +<samp>.tex</samp> file in order to produce and typeset indexes, resolve undefined cross-references and/or citations. The shell script -<samp><span class="command">texi2dvi</span></samp> from the Texinfo documentation system (see +<code>texi2dvi</code> from the Texinfo documentation system (see <a href="http://www.gnu.org/software/texinfo">http://www.gnu.org/software/texinfo</a>) can automate this process: it runs BibTeX, MakeIndex and TeX as many times as needed to complete the compilation process. You will need to set the -<samp><span class="env">LATEX</span></samp> environment variable to ‘<samp><span class="samp">tex</span></samp>’. For example, in a +<code>LATEX</code> environment variable to ‘<samp>tex</samp>’. For example, in a Bourne-compatible shell, the following command will do all the work: - -<pre class="example"> prompt$ LATEX=tex texi2dvi file.tex -</pre> - <p><a name="index-pdftex-35"></a>(Despite the name, <samp><span class="command">texi2dvi</span></samp> can also produce -<samp><span class="file">.pdf</span></samp> files; just set ‘<samp><span class="samp">LATEX=pdftex</span></samp>’.) See the output from -the command <samp><span class="command">texi2dvi --help</span></samp> for invoking information and a +</p> +<div class="example"> +<pre class="example">prompt$ LATEX=tex texi2dvi file.tex +</pre></div> + +<a name="index-pdftex"></a> +<p>(Despite the name, <code>texi2dvi</code> can also produce +<samp>.pdf</samp> files; just set ‘<samp>LATEX=pdftex</samp>’.) See the output from +the command <code>texi2dvi --help</code> for invoking information and a full list of options. - -<!-- This is part of the Eplain manual. Public domain. --> -<div class="node"> +</p> +<hr> <a name="User-definitions"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Hyperlinks">Hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Invoking-Eplain">Invoking Eplain</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#Hyperlinks" accesskey="n" rel="next">Hyperlinks</a>, Previous: <a href="#Invoking-Eplain" accesskey="p" rel="previous">Invoking Eplain</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="User-definitions-1"></a> <h2 class="chapter">4 User definitions</h2> <p>This chapter describes definitions that are meant to be used directly in a document. When appropriate, ways to change the default formatting are described in subsections. - -<ul class="menu"> -<li><a accesskey="1" href="#Diagnostics">Diagnostics</a>: Tracing information. -<li><a accesskey="2" href="#Rules">Rules</a>: Changing the default rule dimensions. -<li><a accesskey="3" href="#Citations">Citations</a>: Using BibTeX and Eplain to make bibliographies. -<li><a accesskey="4" href="#Displays">Displays</a>: Changing the formatting of math displays. -<li><a accesskey="5" href="#Time-of-day">Time of day</a>: Producing the time of day. -<li><a accesskey="6" href="#Lists">Lists</a>: Producing numbered and unordered lists. -<li><a accesskey="7" href="#Verbatim-listing">Verbatim listing</a>: Producing text just as it appears. -<li><a accesskey="8" href="#Contents">Contents</a>: Making a table of contents. -<li><a accesskey="9" href="#Cross_002dreferences">Cross-references</a>: Symbolic references to equations, figures, etc. -<li><a href="#Page-references">Page references</a>: Symbolic references to page numbers. -<li><a href="#Equation-references">Equation references</a>: Symbolic references to equation numbers. -<li><a href="#Indexing">Indexing</a>: Creating and typesetting indexes. -<li><a href="#Justification">Justification</a>: Ragged left, ragged right, centered. -<li><a href="#Tables">Tables</a>: Producing ordered tables. -<li><a href="#Margins">Margins</a>: Changing the margins directly. -<li><a href="#Multiple-columns">Multiple columns</a>: Getting output in two columns. -<li><a href="#Footnotes">Footnotes</a>: Autonumbered footnotes; changing formatting. -<li><a href="#Fractions">Fractions</a>: A better way to produce fractions in text. -<li><a href="#Paths">Paths</a>: Allowing line breaks in pathnames. -<li><a href="#Logos">Logos</a>: Various logos. -<li><a href="#Boxes">Boxes</a>: Producing filled or open rectangles. -<li><a href="#Checking-for-PDF-output">Checking for PDF output</a>: Checking for pdfTeX in PDF mode. -<li><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>: Support for LaTeX packages under plain TeX. -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Diagnostics" accesskey="1">Diagnostics</a>:</td><td> </td><td align="left" valign="top">Tracing information. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Rules" accesskey="2">Rules</a>:</td><td> </td><td align="left" valign="top">Changing the default rule dimensions. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Citations" accesskey="3">Citations</a>:</td><td> </td><td align="left" valign="top">Using BibTeX and Eplain to make bibliographies. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Displays" accesskey="4">Displays</a>:</td><td> </td><td align="left" valign="top">Changing the formatting of math displays. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Time-of-day" accesskey="5">Time of day</a>:</td><td> </td><td align="left" valign="top">Producing the time of day. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Lists" accesskey="6">Lists</a>:</td><td> </td><td align="left" valign="top">Producing numbered and unordered lists. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Verbatim-listing" accesskey="7">Verbatim listing</a>:</td><td> </td><td align="left" valign="top">Producing text just as it appears. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Contents" accesskey="8">Contents</a>:</td><td> </td><td align="left" valign="top">Making a table of contents. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Cross_002dreferences" accesskey="9">Cross-references</a>:</td><td> </td><td align="left" valign="top">Symbolic references to equations, figures, etc. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-references">Page references</a>:</td><td> </td><td align="left" valign="top">Symbolic references to page numbers. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Equation-references">Equation references</a>:</td><td> </td><td align="left" valign="top">Symbolic references to equation numbers. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Indexing">Indexing</a>:</td><td> </td><td align="left" valign="top">Creating and typesetting indexes. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Justification">Justification</a>:</td><td> </td><td align="left" valign="top">Ragged left, ragged right, centered. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Tables">Tables</a>:</td><td> </td><td align="left" valign="top">Producing ordered tables. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Margins">Margins</a>:</td><td> </td><td align="left" valign="top">Changing the margins directly. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Multiple-columns">Multiple columns</a>:</td><td> </td><td align="left" valign="top">Getting output in two columns. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Footnotes">Footnotes</a>:</td><td> </td><td align="left" valign="top">Autonumbered footnotes; changing formatting. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Fractions">Fractions</a>:</td><td> </td><td align="left" valign="top">A better way to produce fractions in text. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Paths">Paths</a>:</td><td> </td><td align="left" valign="top">Allowing line breaks in pathnames. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Logos">Logos</a>:</td><td> </td><td align="left" valign="top">Various logos. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Boxes">Boxes</a>:</td><td> </td><td align="left" valign="top">Producing filled or open rectangles. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Checking-for-PDF-output">Checking for PDF output</a>:</td><td> </td><td align="left" valign="top">Checking for pdfTeX in PDF mode. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>:</td><td> </td><td align="left" valign="top">Support for LaTeX packages under plain TeX. +</td></tr> +</table> + + +<hr> <a name="Diagnostics"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Rules">Rules</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Rules" accesskey="n" rel="next">Rules</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Diagnostics-1"></a> <h3 class="section">4.1 Diagnostics</h3> -<p><a name="index-diagnostics-36"></a><a name="index-tracing-37"></a>Plain TeX provides the <code>\tracingall</code> command, to turn on the +<a name="index-diagnostics"></a> +<a name="index-tracing"></a> +<p>Plain TeX provides the <code>\tracingall</code> command, to turn on the maximum amount of tracing possible in TeX. The (usually voluminous) output from <code>\tracingall</code> goes both on the terminal and into the -transcript file. -<a name="index-tracingall-38"></a>It is sometimes easier to have the output go only to the transcript +transcript file. +<a name="index-tracingall"></a> +It is sometimes easier to have the output go only to the transcript file, so you can peruse it at your leisure and not obscure other output -to the terminal. So, Eplain provides the command <code>\loggingall</code>. -<a name="index-loggingall-39"></a>(For some reason, this command is available in Metafont, but not in +to the terminal. So, Eplain provides the command <code>\loggingall</code>. +<a name="index-loggingall"></a> +(For some reason, this command is available in Metafont, but not in TeX.) - - <p>It is also sometimes useful to see the complete contents of boxes. -<code>\tracingboxes</code> does this. (It doesn't affect whether or not the +</p> +<p>It is also sometimes useful to see the complete contents of boxes. +<code>\tracingboxes</code> does this. (It doesn’t affect whether or not the contents -<a name="index-tracingboxes-40"></a>are shown on the terminal.) - - <p>You can turn off all tracing with <code>\tracingoff</code>. -<a name="index-tracingoff-41"></a> -You can also turn logging on and off globally, so you don't have to -worry about whether or not you're inside a group at the time of command. +<a name="index-tracingboxes"></a> +are shown on the terminal.) +</p> +<p>You can turn off all tracing with <code>\tracingoff</code>. +<a name="index-tracingoff"></a> +</p> +<p>You can also turn logging on and off globally, so you don’t have to +worry about whether or not you’re inside a group at the time of command. These variants are named <code>\gloggingall</code> -<a name="index-gloggingall-42"></a>and <code>\gtracingall</code>. -<a name="index-gtracingall-43"></a> -Finally, if you write your own help messages (see <code>\newhelp</code> -<a name="index-help-messages-44"></a><a name="index-error-messages-45"></a>in <cite>The TeXbook</cite>), you want a convenient way to break lines in -them. This is what TeX's <code>\newlinechar</code> parameter is for; -<a name="index-newlinechar-46"></a>however, plain TeX doesn't set <code>\newlinechar</code>. Therefore, +<a name="index-gloggingall"></a> +and <code>\gtracingall</code>. +<a name="index-gtracingall"></a> +</p> +<p>Finally, if you write your own help messages (see <code>\newhelp</code> +<a name="index-help-messages"></a> +<a name="index-error-messages"></a> +in <cite>The TeXbook</cite>), you want a convenient way to break lines in +them. This is what TeX’s <code>\newlinechar</code> parameter is for; +<a name="index-newlinechar"></a> +however, plain TeX doesn’t set <code>\newlinechar</code>. Therefore, Eplain defines it to be the character <code>^^J</code>. +</p> +<p>For example, one of Eplain’s own error messages is defined as follows: +</p> +<div class="example"> +<pre class="example">\newhelp\envhelp{Perhaps you forgot to end the previous^^J% + environment? I'm finishing off the current group,^^J% + hoping that will fix it.}% +</pre></div> - <p>For example, one of Eplain's own error messages is defined as follows: -<pre class="example"> \newhelp\envhelp{Perhaps you forgot to end the previous^^J% - environment? I'm finishing off the current group,^^J% - hoping that will fix it.}% -</pre> - <div class="node"> +<hr> <a name="Rules"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Citations">Citations</a>, -Previous: <a rel="previous" accesskey="p" href="#Diagnostics">Diagnostics</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Citations" accesskey="n" rel="next">Citations</a>, Previous: <a href="#Diagnostics" accesskey="p" rel="previous">Diagnostics</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Rules-1"></a> <h3 class="section">4.2 Rules</h3> <p>The default dimensions of rules are defined in chapter 21 of the <cite>The TeXbook</cite>. To sum up what is given there, the “thickness” of rules is -<a name="index-rule-thickness-47"></a>0.4pt by default. Eplain defines three parameters that let you change +<a name="index-rule-thickness"></a> +0.4pt by default. Eplain defines three parameters that let you change this dimension: <code>\hruledefaultheight</code>, <code>\hruledefaultdepth</code>, -<a name="index-hruledefaultheight-48"></a><a name="index-hruledefaultdepth-49"></a>and <code>\vruledefaultwidth</code>. By default, they are defined as -<a name="index-vruledefaultwidth-50"></a><cite>The TeXbook</cite> describes. - - <p>But it would be wrong to redefine <code>\hrule</code> and <code>\vrule</code>. For +<a name="index-hruledefaultheight"></a> +<a name="index-hruledefaultdepth"></a> +and <code>\vruledefaultwidth</code>. By default, they are defined as +<a name="index-vruledefaultwidth"></a> +<cite>The TeXbook</cite> describes. +</p> +<p>But it would be wrong to redefine <code>\hrule</code> and <code>\vrule</code>. For one thing, some macros in plain TeX depend on the default dimensions being used; for another, rules are used quite heavily, and the performance impact of making it a macro can be noticeable. Therefore, to take advantage of the default rule parameters, you must use <code>\ehrule</code> -<a name="index-ehrule-51"></a>and <code>\evrule</code>. -<a name="index-evrule-52"></a> +<a name="index-ehrule"></a> +and <code>\evrule</code>. +<a name="index-evrule"></a> +</p> -<div class="node"> +<hr> <a name="Citations"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Displays">Displays</a>, -Previous: <a rel="previous" accesskey="p" href="#Rules">Rules</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Displays" accesskey="n" rel="next">Displays</a>, Previous: <a href="#Rules" accesskey="p" rel="previous">Rules</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Citations-1"></a> <h3 class="section">4.3 Citations</h3> -<p><a name="index-citations-53"></a><a name="index-bibliographies-54"></a>Bibliographies are part of almost every technical document. To handle -them easily, you need two things: a program to do the tedious +<a name="index-citations"></a> +<a name="index-bibliographies"></a> +<p>Bibliographies are part of almost every technical document. To handle +them conveniently, you need two things: a program to do the tedious formatting, and a way to cite references by labels, rather than by numbers. The BibTeX program, written by Oren Patashnik, takes care -<a name="index-Bib_0040TeX_007b_007d-55"></a><a name="index-Patashnik_002c-Oren-56"></a>of the first item; the citation commands in LaTeX, written to be used -<a name="index-g_t_0040LaTeX_007b_007d-57"></a>with BibTeX, take care of the second. Therefore, +<a name="index-BibTeX"></a> +<a name="index-Patashnik_002c-Oren"></a> +of the first item; the citation commands in LaTeX, written to be used +<a name="index-LaTeX-1"></a> +with BibTeX, take care of the second. Therefore, Eplain adopts the use of BibTeX, and virtually the same interface as LaTeX. - - <p>The general idea is that you put citation commands in the text of your +</p> +<p>The general idea is that you put citation commands in the text of your document, and commands saying where the bibliography data is. When you run TeX, these commands produce output on the file with the same root -name as your document (by default) and the extension <samp><span class="file">.aux</span></samp>. -<a name="index-g_t_002eaux-_0040r_007bfile_007d-58"></a><a name="index-jobname-59"></a>BibTeX reads this file. You should put the bibliography data in a -file or files with the extension <samp><span class="file">.bib</span></samp>. BibTeX writes out a +name as your document (by default) and the extension <samp>.aux</samp>. +<a name="index-_002eaux-file"></a> +<a name="index-jobname"></a> +BibTeX reads this file. You should put the bibliography data in a +file or files with the extension <samp>.bib</samp>. BibTeX writes out a file with the same root -<a name="index-g_t_002ebib-_0040r_007bfile_007d-60"></a>name as your document and extension <samp><span class="file">.bbl</span></samp>. Eplain reads this file -<a name="index-g_t_002ebbl-_0040r_007bfile_007d-61"></a>the next time you run your document through TeX. (It takes +<a name="index-_002ebib-file"></a> +name as your document and extension <samp>.bbl</samp>. Eplain reads this file +<a name="index-_002ebbl-file"></a> +the next time you run your document through TeX. (It takes multiple passes to get everything straight, because usually after seeing -your bibliography typeset, you want to make changes in the <samp><span class="file">.bib</span></samp> +your bibliography typeset, you want to make changes in the <samp>.bib</samp> file, which means you have to run BibTeX again, which means you have -to run TeX again<small class="dots">...</small>) An annotated example of the whole process is -given below. - - <p>If your document has more than one bibliography—for example, if it +to run TeX again…) An annotated example of the whole process is +given below. +</p> +<p>If your document has more than one bibliography—for example, if it is a collection of papers—you can tell Eplain to use a different root -name for the <samp><span class="file">.bbl</span></samp> file by defining the control sequence -<code>\bblfilebasename</code>. -<a name="index-bblfilebasename-62"></a>The default definition is simply <code>\jobname</code>. - - <p>On the other hand, if your document's bibliography is very simple, you -may prefer to create the <samp><span class="file">.bbl</span></samp> file yourself, by hand, instead of +name for the <samp>.bbl</samp> file by defining the control sequence +<code>\bblfilebasename</code>. +<a name="index-bblfilebasename"></a> +The default definition is simply <code>\jobname</code>. +</p> +<p>On the other hand, if your document’s bibliography is very simple, you +may prefer to create the <samp>.bbl</samp> file yourself, by hand, instead of using BibTeX. An annotated example of this approach is also given below. - - <p>See the document <cite>BibTeXing</cite> (whose text is in the file -<samp><span class="file">btxdoc.tex</span></samp>, which should be in the Eplain distribution you got) +</p> +<p>See the document <cite>BibTeXing</cite> (whose text is in the file +<samp>btxdoc.tex</samp>, which should be in the Eplain distribution you got) for information on how to write your <tt>.bib</tt> files. Both the BibTeX and the Eplain distributions contain several examples, also. - - <p>The <code>\cite</code> -<a name="index-cite-63"></a>command produces a citation in the text of your document. The exact +</p> +<p>The <code>\cite</code> +<a name="index-cite"></a> +command produces a citation in the text of your document. The exact printed form the citation will take is under your control (see <a href="#Formatting-citations">Formatting citations</a>). <code>\cite</code> takes one required argument, a comma-separated list of cross-reference labels (see <a href="#Cross_002dreferences">Cross-references</a>, for exactly what characters are allowed in such labels). Warning: spaces in this list are taken as part of the -following label name, which is probably not what you expect. -<a name="index-citations_002c-undefined-64"></a>The <code>\cite</code> command also produces a command +following label name, which is probably not what you expect. +<a name="index-citations_002c-undefined"></a> +The <code>\cite</code> command also produces a command in the <tt>.aux</tt> file that tells BibTeX to retrieve the given reference(s) from the <tt>.bib</tt> file. <code>\cite</code> also takes one optional argument, which you specify within square brackets, as in LaTeX. This text is simply typeset after the citations. (See the example below.) - - <p>Eplain can create hypertext links for citations pointing to the relevant +</p> +<p>Eplain can create hypertext links for citations pointing to the relevant bibliography entries (see <a href="#Citation-hyperlinks">Citation hyperlinks</a>). - - <p>Another command, <code>\nocite</code>, -<a name="index-nocite-65"></a>puts the given reference(s) into the bibliography, but produces nothing +</p> +<p>Another command, <code>\nocite</code>, +<a name="index-nocite"></a> +puts the given reference(s) into the bibliography, but produces nothing in the text. - - <p>The <code>\bibliography</code> -<a name="index-bibliography-66"></a>command is next. It serves two purposes: producing the typeset +</p> +<p>The <code>\bibliography</code> +<a name="index-bibliography"></a> +command is next. It serves two purposes: producing the typeset bibliography, and telling BibTeX the root names of the <tt>.bib</tt> files. Therefore, the argument to <code>\bibliography</code> is a comma -separated list of the <tt>.bib</tt> files (without the ‘<samp><span class="samp">.bib</span></samp>’). Again, +separated list of the <tt>.bib</tt> files (without the ‘<samp>.bib</samp>’). Again, spaces in this list are significant. - - <p>You tell BibTeX the particular style in which you want your +</p> +<p>You tell BibTeX the particular style in which you want your bibliography typeset with one more command: -<code>\bibliographystyle</code>. -<a name="index-bibliographystyle-67"></a>The argument to this is a single filename <var>style</var>, which tells -BibTeX to look for a file <var>style</var><tt>.bst</tt>. -<a name="index-g_t_002ebst-_0040r_007bfiles_007d-68"></a>See the document <cite>Designing BibTeX styles</cite> (whose text is in the -<samp><span class="file">btxhak.tex</span></samp>) for information on how to write your own styles. - - <p>Eplain automatically reads the citations from the <tt>.aux</tt> file when +<code>\bibliographystyle</code>. +<a name="index-bibliographystyle"></a> +The argument to this is a single filename <var>style</var>, which tells +BibTeX to look for a file <var>style</var><tt>.bst</tt>. +<a name="index-_002ebst-files"></a> +See the document <cite>Designing BibTeX styles</cite> (whose text is in the +<samp>btxhak.tex</samp>) for information on how to write your own styles. +</p> +<p>Eplain automatically reads the citations from the <tt>.aux</tt> file when your job starts. - - <p>If you don't want to see the messages about undefined citations, you -can say <code>\xrefwarningfalse</code> before making any citations. -<a name="index-xrefwarningfalse-69"></a>Eplain automatically does this if the <tt>.aux</tt> file does not exist. +</p> +<p>If you don’t want to see the messages about undefined citations, you +can say <code>\xrefwarningfalse</code> before making any citations. +<a name="index-xrefwarningfalse"></a> +Eplain automatically does this if the <tt>.aux</tt> file does not exist. You can restore the default by saying <code>\xrefwarningtrue</code>. - - <p>Here is a TeX input file that illustrates the various commands. - -<pre class="example"> \input eplain % Reads the .aux file. - Two citations to Knuthian works: - \cite[note]{surreal,concrete-math}. - \beginsection{References.}\par % Title for the bibliography. - \bibliography{knuth} % Use knuth.bib for the labels. - \bibliographystyle{plain} % Number the references. - \end % End of the document. -</pre> - <p><a name="index-Knuth_002c-Donald-Ervin-70"></a><a name="index-Graham_002c-Ronald-L_002e-71"></a><a name="index-numbered-references-72"></a><a name="index-references_002c-numbered-73"></a> -If we suppose that this file was named <samp><span class="file">citex.tex</span></samp> and that the -bibliography data is in <samp><span class="file">knuth.bib</span></samp> (as the <code>\bibliography</code> -command says), the following commands do what's required. (‘<samp><span class="samp">$ </span></samp>’ -represents the shell prompt.) - -<pre class="example"> $ tex citex <i>(produces undefined citation messages)</i> - $ bibtex citex <i>(read knuth.bib and citex.aux, write citex.bbl)</i> - $ tex citex <i>(read citex.bbl, still have undefined citations)</i> - $ tex citex <i>(one more time, to resolve the references)</i> -</pre> - <p><a name="index-texi2dvi-74"></a>The <samp><span class="command">texi2dvi</span></samp> program can help you automate this +</p> +<p>Here is a TeX input file that illustrates the various commands. +</p> +<div class="example"> +<pre class="example">\input eplain % Reads the .aux file. +Two citations to Knuthian works: + \cite[note]{surreal,concrete-math}. +\beginsection{References.}\par % Title for the bibliography. +\bibliography{knuth} % Use knuth.bib for the labels. +\bibliographystyle{plain} % Number the references. +\end % End of the document. +</pre></div> +<a name="index-Knuth_002c-Donald-Ervin"></a> +<a name="index-Graham_002c-Ronald-L_002e"></a> +<a name="index-numbered-references"></a> +<a name="index-references_002c-numbered"></a> + +<p>If we suppose that this file was named <samp>citex.tex</samp> and that the +bibliography data is in <samp>knuth.bib</samp> (as the above +<code>\bibliography</code> command says), the following commands do what’s +required. (‘<samp>$ </samp>’ represents the shell prompt.) +</p> +<div class="example"> +<pre class="example">$ tex citex <i>(produces undefined citation messages)</i> +$ bibtex citex <i>(read knuth.bib and citex.aux, write citex.bbl)</i> +$ tex citex <i>(read citex.bbl, still have undefined citations)</i> +$ tex citex <i>(one more time, to resolve the references)</i> +</pre></div> + +<a name="index-texi2dvi-1"></a> +<p>The <code>texi2dvi</code> program can help you automate this process (see <a href="#Invoking-Eplain">Invoking Eplain</a>). - - <p>For simple documents you might choose to write the <samp><span class="file">.bbl</span></samp> file +</p> +<p>For simple documents you might choose to write the <samp>.bbl</samp> file yourself, instead of running BibTeX. For this scenario, the following commands should suffice: +</p> +<div class="example"> +<pre class="example">$ tex citex <i>(read citex.bbl, produces undefined citation messages)</i> +$ tex citex <i>(one more time, to resolve the references)</i> +</pre></div> -<pre class="example"> $ tex citex <i>(read citex.bbl, produces undefined citation messages)</i> - $ tex citex <i>(one more time, to resolve the references)</i> -</pre> - <p>The output looks something like (because we used the <tt>plain</tt> +<p>The output looks something like (because we used the <tt>plain</tt> bibliography style): - - <blockquote> -Two citations to Knuthian works: [2,1 note]. - - <p><b>References</b> - - <p>[1] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. <i>Concrete +</p> +<blockquote> +<p>Two citations to Knuthian works: [2,1 note]. +</p> +<p><b>References</b> +</p> +<p>[1] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. <i>Concrete Mathematics</i>. Addison-Wesley, Reading, Massachusetts, 1989. +</p> +<p>[2] Donald E. Knuth. <i>Surreal Numbers</i>. Addison-Wesley, Reading, +Massachusetts, 1974. +</p></blockquote> - <p>[2] Donald E. Knuth. <i>Surreal Numbers</i>. Addison-Wesley, Reading, -Massachusetts, 1974. -</blockquote> - - <p>See the BibTeX documentation for information on how to write the -bibliography databases, and the bibliography styles that are available. +<p>See the BibTeX documentation for information on how to write the +bibliography databases, and the bibliography styles that are available. (If you want your references printed with names, as in [Knu74], instead -of numbered, the bibliography style is <code>alpha</code>.) -<a name="index-alphanumeric-references-75"></a><a name="index-references_002c-alphanumeric-76"></a> +of numbered, the bibliography style is <code>alpha</code>.) +<a name="index-alphanumeric-references"></a> +<a name="index-references_002c-alphanumeric"></a> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Formatting-citations" accesskey="1">Formatting citations</a>:</td><td> </td><td align="left" valign="top">Changing the way citations are printed. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Formatting-bibliographies" accesskey="2">Formatting bibliographies</a>:</td><td> </td><td align="left" valign="top">Changing the way bibliographies are printed. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Commands-from-LaTeX" accesskey="3">Commands from LaTeX</a>:</td><td> </td><td align="left" valign="top">LaTeX commands defined by <samp>btxmac</samp>. +</td></tr> +</table> -<ul class="menu"> -<li><a accesskey="1" href="#Formatting-citations">Formatting citations</a>: Changing the way citations are printed. -<li><a accesskey="2" href="#Formatting-bibliographies">Formatting bibliographies</a>: Changing the way bibliographies are printed. -</ul> -<div class="node"> +<hr> <a name="Formatting-citations"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Formatting-bibliographies">Formatting bibliographies</a>, -Up: <a rel="up" accesskey="u" href="#Citations">Citations</a> - +<div class="header"> +<p> +Next: <a href="#Formatting-bibliographies" accesskey="n" rel="next">Formatting bibliographies</a>, Up: <a href="#Citations" accesskey="u" rel="up">Citations</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Formatting-citations-1"></a> <h4 class="subsection">4.3.1 Formatting citations</h4> -<p><a name="index-citations_002c-formatting-77"></a> -You may wish to change Eplain's formatting of citations; i.e., the +<a name="index-citations_002c-formatting"></a> + +<p>You may wish to change Eplain’s formatting of citations; i.e., the result of your <code>\cite</code> commands. By default, the citation labels are printed one after another, separated by commas and enclosed in brackets, using the main text font. Some formats require other styles, such as superscripted labels. You can accomodate such formats by redefining the following macros. - - <dl> -<dt><code>\printcitestart</code><br><dt><code>\printcitefinish</code><dd><a name="index-printcitestart-78"></a><a name="index-printcitefinish-79"></a>Eplain expands these macros at the begining and end of the list of +</p> +<dl compact="compact"> +<dt><code>\printcitestart</code></dt> +<dt><code>\printcitefinish</code></dt> +<dd><a name="index-printcitestart"></a> +<a name="index-printcitefinish"></a> +<p>Eplain expands these macros at the begining and end of the list of citations for each <code>\cite</code> command. By default, they produce a -‘<samp><span class="samp">[</span></samp>’ and ‘<samp><span class="samp">]</span></samp>’, respectively. - - <br><dt><code>\printbetweencitations</code><dd><a name="index-printbetweencitations-80"></a>If a <code>\cite</code> command has multiple citations, as in +‘<samp>[</samp>’ and ‘<samp>]</samp>’, respectively. +</p> +</dd> +<dt><code>\printbetweencitations</code></dt> +<dd><a name="index-printbetweencitations"></a> +<p>If a <code>\cite</code> command has multiple citations, as in <code>\cite{acp,texbook}</code>, Eplain expands this macro in between each pair of citations. By default, it produces a comma followed by a space. - - <br><dt><code>\printcitenote</code><dd><a name="index-printcitenote-81"></a>This macro takes one argument, which is the optional note to the +</p> +</dd> +<dt><code>\printcitenote</code></dt> +<dd><a name="index-printcitenote"></a> +<p>This macro takes one argument, which is the optional note to the <code>\cite</code> command. If the <code>\cite</code> command had no note, this -macro isn't used. Otherwise, it should print the note. By default, the -note is preceded with a comma and a space. +macro isn’t used. Otherwise, it should print the note. By default, the +note is preceded with a comma and a space. +</p></dd> </dl> - <p>Here is an example, showing you could produce citations as + +<p>Here is an example, showing you could produce citations as superscripted labels, with the optional notes in parentheses. +</p> +<div class="example"> +<pre class="example">\def\printcitestart{\unskip $^\bgroup} +\def\printbetweencitations{,} +\def\printcitefinish{\egroup$} +\def\printcitenote#1{\hbox{\sevenrm\space (#1)}} +</pre></div> -<pre class="example"> \def\printcitestart{\unskip $^\bgroup} - \def\printbetweencitations{,} - \def\printcitefinish{\egroup$} - \def\printcitenote#1{\hbox{\sevenrm\space (#1)}} -</pre> - <div class="node"> -<a name="Formatting-bibliographies"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Formatting-citations">Formatting citations</a>, -Up: <a rel="up" accesskey="u" href="#Citations">Citations</a> +<hr> +<a name="Formatting-bibliographies"></a> +<div class="header"> +<p> +Next: <a href="#Commands-from-LaTeX" accesskey="n" rel="next">Commands from LaTeX</a>, Previous: <a href="#Formatting-citations" accesskey="p" rel="previous">Formatting citations</a>, Up: <a href="#Citations" accesskey="u" rel="up">Citations</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Formatting-bibliographies-1"></a> <h4 class="subsection">4.3.2 Formatting bibliographies</h4> -<p><a name="index-bibliography_002c-formatting-the-82"></a> -You may wish to change Eplain's formatting of the bibliography, +<a name="index-bibliography_002c-formatting-the"></a> + +<p>You may wish to change Eplain’s formatting of the bibliography, especially with respect to the fonts that are used. Therefore, Eplain provides the following control sequences: - - <dl> -<dt><code>\biblabelwidth</code><dd><a name="index-biblabelwidth-83"></a>This control sequence represents a <code>\dimen</code> register, and its value +</p> +<dl compact="compact"> +<dt><code>\biblabelwidth</code></dt> +<dd><a name="index-biblabelwidth"></a> +<p>This control sequence represents a <code>\dimen</code> register, and its value is the width of the widest label in the bibliography. Although it is -unlikely you will ever want to redefine it, you might want +unlikely you will ever want to redefine it, you might want to use it if you redefine <code>\biblabelprint</code>, below. - - <br><dt><code>\biblabelprint</code><dd><a name="index-biblabelprint-84"></a>This macro takes one argument, the label to print. By default, the +</p> +</dd> +<dt><code>\biblabelprint</code></dt> +<dd><a name="index-biblabelprint"></a> +<p>This macro takes one argument, the label to print. By default, the label is put in a box of width <code>\biblabelwidth</code>, and is followed by an enspace. When you want to change the spacing around the labels, this is the right macro to redefine. - - <br><dt><code>\biblabelcontents</code><dd><a name="index-biblabelcontents-85"></a>This macro also takes one argument, the label to print. By default, the +</p> +</dd> +<dt><code>\biblabelcontents</code></dt> +<dd><a name="index-biblabelcontents"></a> +<p>This macro also takes one argument, the label to print. By default, the label is printed using the font <code>\bblrm</code> (below), and enclosed in brackets. When you want to change the appearance of the label, but not the spacing around it, this is the right macro to redefine. - - <br><dt><code>\bblrm</code><dd><a name="index-bblrm-86"></a><a name="index-bibliography-fonts-87"></a>The default font used for printing the bibliography. - - <br><dt><code>\bblem</code><dd><a name="index-bblem-88"></a>The font used for printing the titles and other “emphasized” material. - - <br><dt><code>\bblsc</code><dd><a name="index-bblsc-89"></a>In some styles, authors' names are printed in a caps-and-small-caps +</p> +</dd> +<dt><code>\biblabelprecontents</code></dt> +<dt><code>\biblabelpostcontents</code></dt> +<dd><a name="index-biblabelprecontents"></a> +<a name="index-biblabelpostcontents"></a> +<p>Macros expanded before and after <code>\biblabelcontents</code>, +respectively. For example, to get left-justified numeric labels (they +are right-justified by default): +</p> +<div class="example"> +<pre class="example">\def\biblabelprecontents{\relax} +\def\biblabelpostcontents{\hss} +</pre></div> + +</dd> +<dt><code>\bblrm</code></dt> +<dd><a name="index-bblrm"></a> +<a name="index-bibliography-fonts"></a> +<p>The default font used for printing the bibliography. +</p> +</dd> +<dt><code>\bblem</code></dt> +<dd><a name="index-bblem"></a> +<p>The font used for printing the titles and other “emphasized” material. +</p> +</dd> +<dt><code>\bblemph</code></dt> +<dd><a name="index-bblemph"></a> +<a name="index-italic-correction"></a> +<p>Typesets its argument using <code>\bblem</code>, then inserts an italic correction. +</p> +</dd> +<dt><code>\bblsc</code></dt> +<dd><a name="index-bblsc"></a> +<p>In some styles, authors’ names are printed in a caps-and-small-caps font. In those cases, this font is used. - - <br><dt><code>\bblnewblock</code><dd><a name="index-bblnewblock-90"></a>This is invoked between each of the parts of a bibliography entry. The +</p> +</dd> +<dt><code>\bblnewblock</code></dt> +<dd><a name="index-bblnewblock"></a> +<p>This is invoked between each of the parts of a bibliography entry. The default is to leave some extra space between the parts; you could redefine it to start each part on a new line (for example). A part is simply a main element of the entry; for example, the author is a part. (It was LaTeX that introduced the (misleading, as far as I am -concerned) term `block' for this.) - - <br><dt><code>\biblabelextraspace</code><dd><a name="index-biblabelextraspace-91"></a>Bibliography entries are typeset with a hanging indentation of +concerned) term ‘block’ for this.) +</p> +</dd> +<dt><code>\biblabelextraspace</code></dt> +<dd><a name="index-biblabelextraspace"></a> +<p>Bibliography entries are typeset with a hanging indentation of <code>\biblabelwidth</code> plus this. The default is <code>.5em</code>, where the em width is taken from the <code>\bblrm</code> font. If you want to change this, you should do it inside <code>\bblhook</code>. - - <br><dt><code>\bblhook</code><dd><a name="index-bblhook-92"></a><a name="index-bibliography-items_002c-extra-space-between-93"></a>This is expanded before reading the <tt>.bbl</tt> file. By +</p> +</dd> +<dt><code>\bblhook</code></dt> +<dd><a name="index-bblhook"></a> +<a name="index-bibliography-items_002c-extra-space-between"></a> +<p>This is expanded before reading the <tt>.bbl</tt> file. By default, it does nothing. You could, for example, define it to set the bibliography fonts, or produce the heading for the references. Two spacing parameters must be changed inside <code>\bblhook</code>: <code>\parskip</code>, which produces extra space between the items; and -<code>\biblabelextraspace</code>, which is described above. -(By the way, <code>\hookappend</code> won't work with <code>\bblhook</code>, despite +<code>\biblabelextraspace</code>, which is described above. +(By the way, <code>\hookappend</code> won’t work with <code>\bblhook</code>, despite the names. Just use <code>\def</code>.) +</p> +</dd> +</dl> - </dl> +<p>If you are desperate, of course you can also hand-edit the <tt>.bbl</tt> +file that BibTeX produces to do anything you wish. +</p> - <p>If you are really desperate, you can also hand-edit the <tt>.bbl</tt> file -that BibTeX produces to do anything you wish. +<hr> +<a name="Commands-from-LaTeX"></a> +<div class="header"> +<p> +Previous: <a href="#Formatting-bibliographies" accesskey="p" rel="previous">Formatting bibliographies</a>, Up: <a href="#Citations" accesskey="u" rel="up">Citations</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> +</div> +<a name="Commands-from-LaTeX-1"></a> +<h4 class="subsection">4.3.3 Commands from LaTeX</h4> -<div class="node"> -<a name="Displays"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Time-of-day">Time of day</a>, -Previous: <a rel="previous" accesskey="p" href="#Citations">Citations</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> +<a name="index-LaTeX-commands_002c-in-btxmac_002etex"></a> +<p>Because of the historical connection between BibTeX and LaTeX, +in practice many bibliography styles and bibliographies use LaTeX +commmands that are not part of bibliography handling, per se. +</p> +<p>To support this, <samp>btxmac.tex</samp> (and thus Eplain) define the +following. In all cases, an existing definition (e.g., from +<samp>miniltx.tex</samp>, see <a href="#Loading-LaTeX-packages">Loading LaTeX +packages</a>) will not be overwritten. Here is the list: +</p> +<dl compact="compact"> +<dt><code>\newcommand</code></dt> +<dt><code>\renewcommand</code></dt> +<dt><code>\providecommand</code></dt> +<dd><a name="index-newcommand"></a> +<a name="index-renewcommand"></a> +<a name="index-providecommand"></a> +<a name="index-_002a_002dform-of-LaTeX-commands"></a> +<p>Defining new commands in various ways. The Eplain versions do not +support the *-form of these; use <samp>miniltx</samp> for that. +</p> +</dd> +<dt><code>\em</code></dt> +<dt><code>\emph</code></dt> +<dt><code>\sc</code></dt> +<dt><code>\textbf</code></dt> +<dd><a name="index-em"></a> +<a name="index-emph"></a> +<a name="index-sc"></a> +<a name="index-textbf"></a> +<p>Selecting fonts. +</p> +</dd> +<dt><code>\mbox</code></dt> +<dd><a name="index-mbox"></a> +<p>A horizontal box. +</p> +</dd> +<dt><code>\newblock</code></dt> +<dd><a name="index-newblock"></a> +<p>Starts elements of a bibliography entry. +</p></dd> +</dl> -</div> +<p>For full information about these, see the LaTeX manual and sources. +</p> +<hr> +<a name="Displays"></a> +<div class="header"> +<p> +Next: <a href="#Time-of-day" accesskey="n" rel="next">Time of day</a>, Previous: <a href="#Citations" accesskey="p" rel="previous">Citations</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> +</div> +<a name="Displays-1"></a> <h3 class="section">4.4 Displays</h3> -<p><a name="index-displays_002c-left_002djustifying-94"></a><a name="index-mathematics-displays_002c-formatting-95"></a><a name="index-left_002djustification-of-displays-96"></a><a name="index-equation-numbers_002c-left_002dalignment-97"></a><a name="index-left_002dalignment-of-equation-numbers-98"></a> -By default, TeX centers displayed material. (Displayed material is -just whatever you put between <code>$$</code>'s—it's not necessarily +<a name="index-displays_002c-left_002djustifying"></a> +<a name="index-mathematics-displays_002c-formatting"></a> +<a name="index-left_002djustification-of-displays"></a> +<a name="index-equation-numbers_002c-left_002dalignment"></a> +<a name="index-left_002dalignment-of-equation-numbers"></a> + +<p>By default, TeX centers displayed material. (Displayed material is +just whatever you put between <code>$$</code>’s—it’s not necessarily mathematics.) Many layouts would be better served if the displayed material was left-justified. Therefore, Eplain provides the command <code>\leftdisplays</code>, -<a name="index-leftdisplays-99"></a>which indents displayed material by <code>\parindent</code> plus -<code>\leftskip</code>, plus <code>\leftdisplayindent</code>. -<a name="index-leftdisplayindent-100"></a> -You can go back to centering displays with <code>\centereddisplays</code>. -<a name="index-centereddisplays-101"></a>(It is usually poor typography to have both centered and left-justified +<a name="index-leftdisplays"></a> +which indents displayed material by <code>\parindent</code> plus +<code>\leftskip</code>, plus <code>\leftdisplayindent</code>. +<a name="index-leftdisplayindent"></a> +</p> +<p>You can go back to centering displays with <code>\centereddisplays</code>. +<a name="index-centereddisplays"></a> +(It is usually poor typography to have both centered and left-justified displays in a single publication, though.) - - <p><code>\leftdisplays</code> also changes the plain TeX commands that deal +</p> +<p><code>\leftdisplays</code> also changes the plain TeX commands that deal with alignments inside math displays, <code>\displaylines</code>, -<a name="index-displaylines-102"></a><code>\eqalignno</code>, -<a name="index-eqalignno-103"></a>and <code>\leqalignno</code>, -<a name="index-leqalignno-104"></a>to produce left-justified text. You can still override this formatting +<a name="index-displaylines"></a> +<code>\eqalignno</code>, +<a name="index-eqalignno"></a> +and <code>\leqalignno</code>, +<a name="index-leqalignno"></a> +to produce left-justified text. You can still override this formatting by inserting <code>\hfill</code> glue, as explained in <cite>The TeXbook</cite>. - - <p><a name="index-lefteqnumbers-105"></a><a name="index-righteqnumbers-106"></a><a name="index-eqnum-107"></a><a name="index-eqalignnum-108"></a><a name="index-eqno-109"></a><a name="index-leqno-110"></a><a name="index-eqalignno-111"></a><a name="index-leqalignno-112"></a>Eplain defines <code>\eqnum</code> and <code>\eqalignnum</code> which can be set -up to produce either left-aligned or right-aligned equation numbers. +</p> +<a name="index-lefteqnumbers"></a> +<a name="index-righteqnumbers"></a> +<a name="index-eqnum"></a> +<a name="index-eqalignnum"></a> +<a name="index-eqno"></a> +<a name="index-leqno"></a> +<a name="index-eqalignno-1"></a> +<a name="index-leqalignno-1"></a> +<p>Eplain defines <code>\eqnum</code> and <code>\eqalignnum</code> which can be set +up to produce either left-aligned or right-aligned equation numbers. <code>\lefteqnumbers</code> (<code>\righteqnumbers</code>) will define <code>\eqnum</code> to expand to <code>\eqno</code> (<code>\leqno</code>), and <code>\eqalignnum</code> to expand to <code>\eqalignno</code> (<code>\leqalignno</code>). Default is <code>\righteqnumbers</code> (right-aligned equation numbers). +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Formatting-displays" accesskey="1">Formatting displays</a>:</td><td> </td><td align="left" valign="top">General formatting of displays. +</td></tr> +</table> -<ul class="menu"> -<li><a accesskey="1" href="#Formatting-displays">Formatting displays</a>: General formatting of displays. -</ul> -<div class="node"> +<hr> <a name="Formatting-displays"></a> -<p><hr> -Up: <a rel="up" accesskey="u" href="#Displays">Displays</a> - +<div class="header"> +<p> +Up: <a href="#Displays" accesskey="u" rel="up">Displays</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Formatting-displays-1"></a> <h4 class="subsection">4.4.1 Formatting displays</h4> <p>If you want some other kind of formatting, you can write a definition of your own, analogous to <code>\leftdisplays</code>. You need only make sure that <code>\leftdisplaysetup</code> -<a name="index-leftdisplaysetup-113"></a>is called at the beginning of every display (presumably by invoking it -in TeX's <code>\everydisplay</code> parameter). - - <p><code>\leftdisplays</code> expands the old value of <code>\everydisplay</code> +<a name="index-leftdisplaysetup"></a> +is called at the beginning of every display (presumably by invoking it +in TeX’s <code>\everydisplay</code> parameter). +</p> +<p><code>\leftdisplays</code> expands the old value of <code>\everydisplay</code> before calling <code>\leftdisplaysetup</code>, so that any changes you have made -to it won't be lost. That old token list as available as the value of -the token register <code>\previouseverydisplay</code>. -<a name="index-previouseverydisplay-114"></a> +to it won’t be lost. That old token list as available as the value of +the token register <code>\previouseverydisplay</code>. +<a name="index-previouseverydisplay"></a> +</p> -<div class="node"> +<hr> <a name="Time-of-day"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Lists">Lists</a>, -Previous: <a rel="previous" accesskey="p" href="#Displays">Displays</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Lists" accesskey="n" rel="next">Lists</a>, Previous: <a href="#Displays" accesskey="p" rel="previous">Displays</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Time-of-day-1"></a> <h3 class="section">4.5 Time of day</h3> -<p><a name="index-time-of-day-115"></a><a name="index-date-116"></a> -TeX provides the day, month, and year as numeric quantities (unless -your TeX implementation is woefully deficient). Eplain provides some -control sequences to make them a little more friendly to humans. - - <p><code>\monthname</code> -<a name="index-monthname-117"></a>produces the name of the current month, abbreviated to three letters. - - <p><code>\fullmonthname</code> -<a name="index-fullmonthname-118"></a>produces the name of the current month, unabbreviated (in English). - - <p><code>\timestring</code> -<a name="index-timestring-119"></a>produces the current time, as in `1:14 p.m.' +<a name="index-time-of-day"></a> +<a name="index-date"></a> - <p><code>\timestamp</code> -<a name="index-timestamp-120"></a>produces the current date and time, as in `23 Apr 64 1:14 p.m.'. +<p>TeX provides the day, month, and year as numeric quantities (unless +your TeX implementation is woefully deficient). Eplain provides some +control sequences to make them a little more friendly to humans. +</p> +<p><code>\monthname</code> +<a name="index-monthname"></a> +produces the name of the current month, abbreviated to three letters. +</p> +<p><code>\fullmonthname</code> +<a name="index-fullmonthname"></a> +produces the name of the current month, unabbreviated (in English). +</p> +<p><code>\timestring</code> +<a name="index-timestring"></a> +produces the current time, as in ‘1:14 p.m.’ +</p> +<p><code>\timestamp</code> +<a name="index-timestamp"></a> +produces the current date and time, as in ‘23 Apr 64 1:14 p.m.’. (Except the spacing is slightly different.) +</p> +<p><code>\today</code> +<a name="index-today"></a> +produces the current date, as in ‘23 April 1964’. +</p> - <p><code>\today</code> -<a name="index-today-121"></a>produces the current date, as in `23 April 1964'. - -<div class="node"> +<hr> <a name="Lists"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Verbatim-listing">Verbatim listing</a>, -Previous: <a rel="previous" accesskey="p" href="#Time-of-day">Time of day</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Verbatim-listing" accesskey="n" rel="next">Verbatim listing</a>, Previous: <a href="#Time-of-day" accesskey="p" rel="previous">Time of day</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Lists-1"></a> <h3 class="section">4.6 Lists</h3> -<p><a name="index-lists-122"></a><a name="index-numbered-lists-123"></a><a name="index-ordered-list-124"></a><a name="index-unordered-lists-125"></a> -Many documents require lists of items, either numbered or simply +<a name="index-lists"></a> +<a name="index-numbered-lists"></a> +<a name="index-ordered-list"></a> +<a name="index-unordered-lists"></a> + +<p>Many documents require lists of items, either numbered or simply enumerated. Plain TeX defines one macro to help with creating lists, <code>\item</code>, but that is insufficient in many cases. Therefore, Eplain provides two pairs of commands: - - <dl> -<dt><code>\numberedlist ... \endnumberedlist</code><br><dt><code>\orderedlist ... \endorderedlist</code><dd><a name="index-numberedlist-126"></a><a name="index-endnumberedlist-127"></a><a name="index-orderedlist-128"></a><a name="index-endorderedlist-129"></a>These commands (they are synonyms) produce a list with the items +</p> +<dl compact="compact"> +<dt><code>\numberedlist … \endnumberedlist</code></dt> +<dt><code>\orderedlist … \endorderedlist</code></dt> +<dd><a name="index-numberedlist"></a> +<a name="index-endnumberedlist"></a> +<a name="index-orderedlist"></a> +<a name="index-endorderedlist"></a> +<p>These commands (they are synonyms) produce a list with the items numbered sequentially, starting from one. A nested <code>\numberedlist</code> -labels the items with lowercase letters, starting with `a'. Another +labels the items with lowercase letters, starting with ‘a’. Another nested <code>\numberedlist</code> labels the items with roman numerals. Yet -more deeply nested numbered lists label items with ‘<samp><span class="samp">*</span></samp>’. - - <br><dt><code>\unorderedlist ... \endunorderedlist</code><dd><a name="index-unorderedlist-130"></a><a name="index-endunorderedlist-131"></a>This produces a list with the items labelled with small black boxes +more deeply nested numbered lists label items with ‘<samp>*</samp>’. +</p> +</dd> +<dt><code>\unorderedlist … \endunorderedlist</code></dt> +<dd><a name="index-unorderedlist"></a> +<a name="index-endunorderedlist"></a> +<p>This produces a list with the items labelled with small black boxes (“square bullets”). A nested <code>\unorderedlist</code> labels items with em-dashes. Doubly (and deeper) nested unordered lists label items with -`*'s. - - </dl> - - <p>The two kinds of lists can be nested within each other, as well. +‘*’s. +</p> +</dd> +</dl> - <p>In both kinds of lists, you begin an item with <code>\li</code>. -<a name="index-li-132"></a>An item may continue for several paragraphs. Each item starts a +<p>The two kinds of lists can be nested within each other, as well. +</p> +<p>In both kinds of lists, you begin an item with <code>\li</code>. +<a name="index-li"></a> +An item may continue for several paragraphs. Each item starts a paragraph. - - <p>You can give <code>\li</code> an optional argument, a cross-reference label. -It's defined to be the “marker” for the current item. This is useful +</p> +<p>You can give <code>\li</code> an optional argument, a cross-reference label. +It’s defined to be the “marker” for the current item. This is useful if the list items are numbered. You can produce the value of the label with <code>\xrefn</code>. See <a href="#Cross_002dreferences">Cross-references</a>. - - <p>Eplain can create hypertext links for the markers produced by +</p> +<p>Eplain can create hypertext links for the markers produced by <code>\xrefn</code> pointing to the relevant list item (see <a href="#List-hyperlinks">List hyperlinks</a>). - - <p>You can also say <code>\listcompact</code> -<a name="index-listcompact-133"></a>right after <code>\numberedlist</code> or <code>\unorderedlist</code>. The items in +</p> +<p>You can also say <code>\listcompact</code> +<a name="index-listcompact"></a> +right after <code>\numberedlist</code> or <code>\unorderedlist</code>. The items in the list will then not have any extra space between them (see <a href="#Formatting-lists">Formatting lists</a>). You might want to do this if the items in this particular list are short. +</p> +<p>Here is an example: +</p> +<div class="example"> +<pre class="example">\numberedlist\listcompact +\li The first item. +\li The second item. - <p>Here is an example: +The second paragraph of the second item. +\endnumberedlist +</pre></div> -<pre class="example"> \numberedlist\listcompact - \li The first item. - \li The second item. - - The second paragraph of the second item. - \endnumberedlist -</pre> - <ul class="menu"> -<li><a accesskey="1" href="#Formatting-lists">Formatting lists</a>: Changing how the lists look. -</ul> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Formatting-lists" accesskey="1">Formatting lists</a>:</td><td> </td><td align="left" valign="top">Changing how the lists look. +</td></tr> +</table> -<div class="node"> -<a name="Formatting-lists"></a> -<p><hr> -Up: <a rel="up" accesskey="u" href="#Lists">Lists</a> +<hr> +<a name="Formatting-lists"></a> +<div class="header"> +<p> +Up: <a href="#Lists" accesskey="u" rel="up">Lists</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Formatting-lists-1"></a> <h4 class="subsection">4.6.1 Formatting lists</h4> -<p><a name="index-lists_002c-formatting-134"></a> -Several registers define the spacing associated with lists. It is -likely that their default values won't suit your particular layout. +<a name="index-lists_002c-formatting"></a> - <dl> -<dt><code>\abovelistskipamount, \belowlistskipamount</code><dd><a name="index-abovelistskipamount-135"></a><a name="index-belowlistskipamount-136"></a>The vertical glue inserted before and after every list, respectively. - - <br><dt><code>\interitemskipamount</code><dd><a name="index-interitemskipamount-137"></a>The vertical glue inserted before each item except the first. +<p>Several registers define the spacing associated with lists. It is +likely that their default values won’t suit your particular layout. +</p> +<dl compact="compact"> +<dt><code>\abovelistskipamount, \belowlistskipamount</code></dt> +<dd><a name="index-abovelistskipamount"></a> +<a name="index-belowlistskipamount"></a> +<p>The vertical glue inserted before and after every list, respectively. +</p> +</dd> +<dt><code>\interitemskipamount</code></dt> +<dd><a name="index-interitemskipamount"></a> +<p>The vertical glue inserted before each item except the first. <code>\listcompact</code> resets this to zero, as mentioned above. - - <br><dt><code>\listleftindent, \listrightindent</code><dd><a name="index-listleftindent-138"></a><a name="index-listrightindent-139"></a><code>\listrightindent</code> is the amount of space by which the list is +</p> +</dd> +<dt><code>\listleftindent, \listrightindent</code></dt> +<dd><a name="index-listleftindent"></a> +<a name="index-listrightindent"></a> +<p><code>\listrightindent</code> is the amount of space by which the list is indented on the right; i.e., it is added to <code>\rightskip</code>. <code>\listleftindent</code> is the amount of space, <em>relative to</em> <code>\parindent</code>, by which the list is indented on the left. Why treat the two parameters differently? Because (a) it is more useful to make the list indentation depend on the paragraph indentation; -(b) footnotes aren't formatted right if <code>\parindent</code> is reset +(b) footnotes aren’t formatted right if <code>\parindent</code> is reset to zero. +</p> +</dd> +</dl> - </dl> - - <p>The three vertical glues are inserted by macros, and preceded by +<p>The three vertical glues are inserted by macros, and preceded by penalties: <code>\abovelistskip</code> -<a name="index-abovelistskip-140"></a>does <code>\vpenalty\abovelistpenalty</code> -<a name="index-abovelistpenalty-141"></a>and then <code>\vskip\abovelistskip</code>. <code>\belowlistskip</code> -<a name="index-belowlistskip-142"></a>and <code>\interitemskip</code> -<a name="index-interitemskip-143"></a>are analogous. - - <p>In addition, the macro <code>\listmarkerspace</code> -<a name="index-listmarkerspace-144"></a>is called to separate the item label from the item text. This is set to +<a name="index-abovelistskip"></a> +does <code>\vpenalty\abovelistpenalty</code> +<a name="index-abovelistpenalty"></a> +and then <code>\vskip\abovelistskip</code>. <code>\belowlistskip</code> +<a name="index-belowlistskip"></a> +and <code>\interitemskip</code> +<a name="index-interitemskip"></a> +are analogous. +</p> +<p>In addition, the macro <code>\listmarkerspace</code> +<a name="index-listmarkerspace"></a> +is called to separate the item label from the item text. This is set to <code>\enspace</code> by default. - - <p>If you want to change the labels on the items, you can redefine these +</p> +<p>If you want to change the labels on the items, you can redefine these macros: <code>\numberedmarker</code> -<a name="index-numberedmarker-145"></a>or <code>\unorderedmarker</code>. -<a name="index-unorderedmarker-146"></a>The following registers might be useful if you do: - - <dl> -<dt><code>\numberedlistdepth, \unorderedlistdepth</code><dd><a name="index-numberedlistdepth-147"></a><a name="index-unorderedlistdepth-148"></a>These keep track of the depth of nesting of the two kinds of lists. - - <br><dt><code>\itemnumber, \itemletter</code><dd><a name="index-itemnumber-149"></a><a name="index-itemletter-150"></a>These keep track of the number of items that have been seen in the current +<a name="index-numberedmarker"></a> +or <code>\unorderedmarker</code>. +<a name="index-unorderedmarker"></a> +The following registers might be useful if you do: +</p> +<dl compact="compact"> +<dt><code>\numberedlistdepth, \unorderedlistdepth</code></dt> +<dd><a name="index-numberedlistdepth"></a> +<a name="index-unorderedlistdepth"></a> +<p>These keep track of the depth of nesting of the two kinds of lists. +</p> +</dd> +<dt><code>\itemnumber, \itemletter</code></dt> +<dd><a name="index-itemnumber"></a> +<a name="index-itemletter"></a> +<p>These keep track of the number of items that have been seen in the current numbered list. They are both integer registers. The difference is that <code>\itemnumber</code> starts at one, and <code>\itemletter</code> starts at 97, -i.e., lowercase `a'. - - </dl> +i.e., lowercase ‘a’. +</p> +</dd> +</dl> - <p>You can also redefine the control sequences that are used internally, +<p>You can also redefine the control sequences that are used internally, if you want to do something radically different: <code>\beginlist</code> -<a name="index-beginlist-151"></a>is invoked to begin both kinds of lists; <code>\printitem</code> -<a name="index-printitem-152"></a>is invoked to print the label (and space following the label) for each +<a name="index-beginlist"></a> +is invoked to begin both kinds of lists; <code>\printitem</code> +<a name="index-printitem"></a> +is invoked to print the label (and space following the label) for each item; and <code>\endlist</code> -<a name="index-endlist-153"></a>is invoked to end both kinds of -lists. -<a name="index-item-labels_002c-changing-154"></a><a name="index-labels-on-items_002c-changing-155"></a> +<a name="index-endlist"></a> +is invoked to end both kinds of +lists. +<a name="index-item-labels_002c-changing"></a> +<a name="index-labels-on-items_002c-changing"></a> +</p> -<div class="node"> +<hr> <a name="Verbatim-listing"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Contents">Contents</a>, -Previous: <a rel="previous" accesskey="p" href="#Lists">Lists</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Contents" accesskey="n" rel="next">Contents</a>, Previous: <a href="#Lists" accesskey="p" rel="previous">Lists</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Verbatim-listing-1"></a> <h3 class="section">4.7 Verbatim listing</h3> -<p><a name="index-verbatim-listing-156"></a><a name="index-listing-files-157"></a><a name="index-files_002c-verbatim-listing-of-158"></a>It is sometimes useful to include a file verbatim in your document; -for example, part of a computer program. The <code>\listing</code> -<a name="index-listing-159"></a>command is given one argument, a filename, and produces the contents of +<a name="index-verbatim-listing"></a> +<a name="index-listing-files"></a> +<a name="index-files_002c-verbatim-listing-of"></a> +<p>It is sometimes useful to include a file verbatim in your document; +for example, part of a computer program. The <code>\listing</code> +<a name="index-listing"></a> +command is given one argument, a filename, and produces the contents of that file in your document. <code>\listing</code> expands <code>\listingfont</code> to set the current font. The default value of <code>\listingfont</code> -<a name="index-listingfont-160"></a>is <code>\tt</code>. - - <p>You can take arbitrary actions before reading the file by defining the macro -<code>\setuplistinghook</code>. -<a name="index-setuplistinghook-161"></a>This is expanded just before the file is input. - - <p>If you want to have line numbers on the output, you can say -<code>\let\setuplistinghook = \linenumberedlisting</code>. -<a name="index-linenumberedlisting-162"></a>The line numbers are stored in the count register <code>\lineno</code> while +<a name="index-listingfont"></a> +is <code>\tt</code>. +</p> +<p>You can take arbitrary actions before reading the file by defining the macro +<code>\setuplistinghook</code>. +<a name="index-setuplistinghook"></a> +This is expanded just before the file is input. +</p> +<p>If you want to have line numbers on the output, you can say +<code>\let\setuplistinghook = \linenumberedlisting</code>. +<a name="index-linenumberedlisting"></a> +The line numbers are stored in the count register <code>\lineno</code> while the file is being read. You can redefine the macro <code>\printlistinglineno</code> -<a name="index-printlistinglineno-163"></a>to change how they are printed. - - <p>Normally, the <code>\listing</code> command will add a final empty line at +<a name="index-printlistinglineno"></a> +to change how they are printed. +</p> +<p>Normally, the <code>\listing</code> command will add a final empty line at the end of the output, even if the file does not end in a newline. To suppress this final line, you can say -<code>\let\setuplistinghook = \nolastlinelisting</code>. -<a name="index-nolastlinelisting-164"></a>This also works with line numbers (say +<code>\let\setuplistinghook = \nolastlinelisting</code>. +<a name="index-nolastlinelisting"></a> +This also works with line numbers (say <code>\def\setuplistinghook{\linenumberedlisting \nolastlinelisting}</code>), but only if <code>\printlistinglineno</code> -<a name="index-printlistinglineno-165"></a>consists exclusively of boxes at the top level (i.e., any +<a name="index-printlistinglineno-1"></a> +consists exclusively of boxes at the top level (i.e., any <code>\kern</code>s or glue should be wrapped up in a box). - - <p><a name="index-form-feed-character_002c-and-verbatim-listing-166"></a><a name="index-g_t_0040kbd_007bCTRL_002dL_007d_002c-and-verbatim-listing-167"></a>You can use the form feed control character (<acronym>ASCII</acronym> +</p> +<a name="index-form-feed-character_002c-and-verbatim-listing"></a> +<a name="index-CTRL_002dL_002c-and-verbatim-listing"></a> +<p>You can use the form feed control character (<acronym>ASCII</acronym> code 12, typed as <kbd>CTRL-L</kbd>) in the file to force a page break in the output. - - <p>You can produce in-line verbatim text in your document with <code>\verbatim</code>. -<a name="index-verbatim-168"></a>End the text with <code>|endverbatim</code>. If you need a ‘<samp><span class="samp">|</span></samp>’ in the text, +</p> +<p>You can produce in-line verbatim text in your document with <code>\verbatim</code>. +<a name="index-verbatim"></a> +End the text with <code>|endverbatim</code>. If you need a ‘<samp>|</samp>’ in the text, double it. If the first character of the verbatim text is a space, use <code>| </code>. (<code>| </code> will work elsewhere in the argument, too, but -isn't necessary.) - - <p>For example: - -<pre class="example"> \verbatim| ||\#%&!|endverbatim -</pre> - <p class="noindent">produces <code> |\#%&!</code>. - - <p>Line breaks and spaces in the verbatim text are preserved. +isn’t necessary.) +</p> +<p>For example: +</p> +<div class="example"> +<pre class="example">\verbatim| ||\#%&!|endverbatim +</pre></div> - <p><a name="index-verbatimescapechar-169"></a><a name="index-escape-character_002c-changing-verbatim-170"></a>You can change the verbatim escape character from the default ‘<samp><span class="samp">|</span></samp>’ -with <code>\verbatimescapechar </code><var>char</var>; for example, this changes -it to ‘<samp><span class="samp">@</span></samp>’. +<p>produces <code> |\#%&!</code>. +</p> +<p>Line breaks and spaces in the verbatim text are preserved. +</p> +<a name="index-verbatimescapechar"></a> +<a name="index-escape-character_002c-changing-verbatim"></a> +<p>You can change the verbatim escape character from the default ‘<samp>|</samp>’ +with <code>\verbatimescapechar <var>char</var></code>; for example, this changes +it to ‘<samp>@</samp>’. +</p> +<div class="example"> +<pre class="example">\verbatimescapechar \@ +</pre></div> -<pre class="example"> \verbatimescapechar \@ -</pre> - <p class="noindent">The backslash is not necessary in some cases, but is in +<p>The backslash is not necessary in some cases, but is in others, depending on the catcode of the character. The argument to -<code>\verbatimescapechar</code> is used as <code>\catcode `</code><var>char</var>, so +<code>\verbatimescapechar</code> is used as <code>\catcode `<var>char</var></code>, so the exact rules follow that for <code>\catcode</code>. - - <p><a name="index-special-characters-171"></a><a name="index-characters_002c-special-172"></a><a name="index-uncatcodespecials-173"></a><a name="index-dospecials-174"></a>To reset the category code of all special characters to 12 +</p> +<a name="index-special-characters"></a> +<a name="index-characters_002c-special"></a> +<a name="index-uncatcodespecials"></a> +<a name="index-dospecials"></a> +<p>To reset the category code of all special characters to 12 (“other”), <code>\verbatim</code> uses <code>\uncatcodespecials</code> (see <a href="#Category-codes">Category codes</a>). If you make additional characters “special”, you should extend <code>\dospecials</code> to include those characters, lest they be given special treatment inside verbatim environments. For example, - -<pre class="example"> \catcode`\A=\active - % Try commenting out the following line. - \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\A} - \verbatimA#$%_^|endverbatim -</pre> - <p>Because <code>\verbatim</code> must change the category code of special +</p> +<div class="example"> +<pre class="example">\catcode`\A=\active +% Try commenting out the following line. +\expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\A} +\verbatimA#$%_^|endverbatim +</pre></div> + +<p>Because <code>\verbatim</code> must change the category code of special characters, calling inside a macro definition of your own does not work properly. For example: +</p> +<div class="example"> +<pre class="example">\def\mymacro{\verbatim &#%|endverbatim}% Doesn't work! +</pre></div> -<pre class="example"> \def\mymacro{\verbatim &#%|endverbatim}% Doesn't work! -</pre> - <p class="noindent">To accomplish this, you must change the category codes yourself before +<p>To accomplish this, you must change the category codes yourself before making the macro definition. Perhaps <code>\uncatcodespecials</code> will help you (see <a href="#Category-codes">Category codes</a>). +</p> -<div class="node"> +<hr> <a name="Contents"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Cross_002dreferences">Cross-references</a>, -Previous: <a rel="previous" accesskey="p" href="#Verbatim-listing">Verbatim listing</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Cross_002dreferences" accesskey="n" rel="next">Cross-references</a>, Previous: <a href="#Verbatim-listing" accesskey="p" rel="previous">Verbatim listing</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Contents-1"></a> <h3 class="section">4.8 Contents</h3> -<p><a name="index-table-of-contents-175"></a><a name="index-contents-176"></a>Producing a table of contents that is both useful and aesthetic is one +<a name="index-table-of-contents"></a> +<a name="index-contents"></a> +<p>Producing a table of contents that is both useful and aesthetic is one of the most difficult design problems in any work. Naturally, Eplain does not pretend to solve the design problem. Collecting the raw data for a table of contents, however, is much the same across documents. -Eplain uses an auxiliary file with extension <samp><span class="file">.toc</span></samp> -<a name="index-g_t_002etoc-_0040r_007bfile_007d-177"></a>(and the same root name as your document) to save the information. - -<ul class="menu"> -<li><a accesskey="1" href="#Writing-the-_002etoc-file">Writing the .toc file</a> -<li><a accesskey="2" href="#Reading-the-_002etoc-file">Reading the .toc file</a> -<li><a accesskey="3" href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a> -<li><a accesskey="4" href="#Alternative-contents-files">Alternative contents files</a> -</ul> - -<div class="node"> -<a name="Writing-the-.toc-file"></a> +Eplain uses an auxiliary file with extension <samp>.toc</samp> +<a name="index-_002etoc-file"></a> +(and the same root name as your document) to save the information. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Writing-the-_002etoc-file" accesskey="1">Writing the .toc file</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Reading-the-_002etoc-file" accesskey="2">Reading the .toc file</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Changing-the-_002etoc-file_0027s-root-name" accesskey="3">Changing the .toc file's root name</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Alternative-contents-files" accesskey="4">Alternative contents files</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="Writing-the-_002etoc-file"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Reading-the-_002etoc-file">Reading the .toc file</a>, -Up: <a rel="up" accesskey="u" href="#Contents">Contents</a> - +<div class="header"> +<p> +Next: <a href="#Reading-the-_002etoc-file" accesskey="n" rel="next">Reading the .toc file</a>, Up: <a href="#Contents" accesskey="u" rel="up">Contents</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Writing-the-_002etoc-file-1"></a> <h4 class="subsection">4.8.1 Writing the <tt>.toc</tt> file</h4> <p>To write an entry for the table of contents, you say -<code>\writetocentry{</code><var>part</var><code>}{</code><var>text</var><code>}</code>, -<a name="index-writetocentry-178"></a>where <var>part</var> is the type of part this entry is, e.g., -‘<samp><span class="samp">chapter</span></samp>’, and <var>text</var> is the text of the title. +<code>\writetocentry{<var>part</var>}{<var>text</var>}</code>, +<a name="index-writetocentry"></a> +where <var>part</var> is the type of part this entry is, e.g., +‘<samp>chapter</samp>’, and <var>text</var> is the text of the title. <code>\writetocentry</code> puts an entry into the <tt>.toc</tt> file that looks -<a name="index-toc_0040dots_007b_007dentry-179"></a>like <code>\toc</code><var>part</var><code>entry{</code><var>text</var><code>}{</code><var>page number</var><code>}</code> +<a name="index-toc_2026entry"></a> +like <code>\toc<var>part</var>entry{<var>text</var>}{<var>page number</var>}</code> (unless <var>part</var> is an integer, see below). The <var>text</var> is written unexpanded. - - <p><a name="index-writenumberedtocentry-180"></a>A related command, <code>\writenumberedtocentry</code>, takes one additional +</p> +<a name="index-writenumberedtocentry"></a> +<p>A related command, <code>\writenumberedtocentry</code>, takes one additional argument, the first token of which is expanded at the point of the <code>\writenumberedtocentry</code>, but the rest of the argument is not expanded. The usual application is when the parts of the document are numbered. On the other hand, the one-level expansion allows you to use -the argument for other things as well (author's names in a proceedings, +the argument for other things as well (author’s names in a proceedings, say), and not have accents or other control sequences expanded. The downside is that if you <em>want</em> full expansion of the third -argument, you don't get it—you must expand it yourself, before you +argument, you don’t get it—you must expand it yourself, before you call <code>\writenumberedtocentry</code>. +</p> +<p>For example: +</p> +<div class="example"> +<pre class="example">\writenumberedtocentry{chapter}{A $\sin$ wave}{\the\chapno} +\writetocentry{section}{A section title} +</pre></div> - <p>For example: - -<pre class="example"> \writenumberedtocentry{chapter}{A $\sin$ wave}{\the\chapno} - \writetocentry{section}{A section title} -</pre> - <p class="noindent">Supposing <code>\the\chapno</code> expanded to ‘<samp><span class="samp">3</span></samp>’ and that the -<code>\write</code>'s occurred on pages eight and nine, respectively, the +<p>Supposing <code>\the\chapno</code> expanded to ‘<samp>3</samp>’ and that the +<code>\write</code>’s occurred on pages eight and nine, respectively, the above writes the following to the <tt>.toc</tt> file: +</p> +<div class="example"> +<pre class="example">\tocchapterentry{A $\sin$ wave}{3}{8} +\tocsectionentry{A section title}{9} +</pre></div> -<pre class="example"> \tocchapterentry{A $\sin$ wave}{3}{8} - \tocsectionentry{A section title}{9} -</pre> - <p><a name="index-writenumberedtocline-181"></a>A variation on <code>\writenumberedtocentry</code> is +<a name="index-writenumberedtocline"></a> +<p>A variation on <code>\writenumberedtocentry</code> is <code>\writenumberedtocline</code>, differing only in the order of the -parameters it takes and writes for the <code>\toc</code><var>part</var><code>entry</code> +parameters it takes and writes for the <code>\toc<var>part</var>entry</code> control sequences. To continue the previous example: +</p> +<div class="example"> +<pre class="example">\writenumberedtocline{chapter}{\the\chapno}{A $\sin$ wave} +</pre></div> -<pre class="example"> \writenumberedtocline{chapter}{\the\chapno}{A $\sin$ wave} -</pre> - <p class="noindent">writes the following to the <tt>.toc</tt> file: +<p>writes the following to the <tt>.toc</tt> file: +</p> +<div class="example"> +<pre class="example">\tocchapterentry{3}{A $\sin$ wave}{8} +</pre></div> -<pre class="example"> \tocchapterentry{3}{A $\sin$ wave}{8} -</pre> - <p class="noindent">Such ordering of the parameters allows the -<code>\toc</code><var>part</var><code>entry</code> macros to typeset the text of the entry +<p>Such ordering of the parameters allows the +<code>\toc<var>part</var>entry</code> macros to typeset the text of the entry without actually reading it as an argument. This is required for entries which need to change character catcodes, e.g., to produce -<a name="index-table-of-contents_002c-and-verbatim-text-182"></a><a name="index-contents_002c-and-verbatim-text-183"></a><a name="index-verbatim-text_002c-in-table-of-contents-184"></a><a name="index-special-characters_002c-in-table-of-contents-185"></a>verbatim text (see <a href="#Verbatim-listing">Verbatim listing</a>). - - <p>Each of <code>\writetocentry</code>, <code>\writenumberedtocentry</code> and +<a name="index-table-of-contents_002c-and-verbatim-text"></a> +<a name="index-contents_002c-and-verbatim-text"></a> +<a name="index-verbatim-text_002c-in-table-of-contents"></a> +<a name="index-special-characters_002c-in-table-of-contents"></a> +verbatim text (see <a href="#Verbatim-listing">Verbatim listing</a>). +</p> +<p>Each of <code>\writetocentry</code>, <code>\writenumberedtocentry</code> and <code>\writenumberedtocline</code> processes a numeric <var>part</var> argument specially. If you pass <var>part</var> expanding to an integer, these macros write into the <tt>.toc</tt> file an entry that starts with -<a name="index-toc_0040dots_007b_007dentry-186"></a><code>\tocentry{</code><var>part</var><code>}</code>. Thus, you can define a single +<a name="index-toc_2026entry-1"></a> +<code>\tocentry{<var>part</var>}</code>. Thus, you can define a single <code>\tocentry</code> macro which formats all entries for a table of contents. To continue the previous examples: +</p> +<div class="example"> +<pre class="example">\writenumberedtocentry{1}{A $\sin$ wave}{\the\chapno} +\writenumberedtocline{1}{\the\chapno}{A $\sin$ wave} +\writetocentry{2}{A section title} +</pre></div> -<pre class="example"> \writenumberedtocentry{1}{A $\sin$ wave}{\the\chapno} - \writenumberedtocline{1}{\the\chapno}{A $\sin$ wave} - \writetocentry{2}{A section title} -</pre> - <p class="noindent">writes the following to the .toc file: +<p>writes the following to the .toc file: +</p> +<div class="example"> +<pre class="example">\tocentry{1}{A $\sin$ wave}{3}{8} +\tocentry{1}{3}{A $\sin$ wave}{8} +\tocentry{2}{A section title}{9} +</pre></div> -<pre class="example"> \tocentry{1}{A $\sin$ wave}{3}{8} - \tocentry{1}{3}{A $\sin$ wave}{8} - \tocentry{2}{A section title}{9} -</pre> - <div class="node"> -<a name="Reading-the-.toc-file"></a> -<a name="Reading-the-_002etoc-file"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a>, -Previous: <a rel="previous" accesskey="p" href="#Writing-the-_002etoc-file">Writing the .toc file</a>, -Up: <a rel="up" accesskey="u" href="#Contents">Contents</a> +<hr> +<a name="Reading-the-_002etoc-file"></a> +<div class="header"> +<p> +Next: <a href="#Changing-the-_002etoc-file_0027s-root-name" accesskey="n" rel="next">Changing the .toc file's root name</a>, Previous: <a href="#Writing-the-_002etoc-file" accesskey="p" rel="previous">Writing the .toc file</a>, Up: <a href="#Contents" accesskey="u" rel="up">Contents</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Reading-the-_002etoc-file-1"></a> <h4 class="subsection">4.8.2 Reading the <tt>.toc</tt> file</h4> -<p><a name="index-readtocfile-187"></a>You read the <tt>.toc</tt> file with the command <code>\readtocfile</code>. -Naturally, whatever <code>\toc... entry</code> commands that were written +<a name="index-readtocfile"></a> +<p>You read the <tt>.toc</tt> file with the command <code>\readtocfile</code>. +Naturally, whatever <code>\toc… entry</code> commands that were written to the file must be defined when <code>\readtocfile</code> is invoked. Eplain has minimal definitions for <code>\tocchapterentry</code>, <code>\tocsectionentry</code>, and <code>\tocsubsectionentry</code>, just to prevent -undefined control sequence errors in common cases. They aren't suitable +undefined control sequence errors in common cases. They aren’t suitable for anything but preliminary proofs. - - <p>Each of <code>\writetocentry</code>, <code>\writenumberedtocentry</code> and +</p> +<p>Each of <code>\writetocentry</code>, <code>\writenumberedtocentry</code> and <code>\writenumberedtocline</code> opens the <tt>.toc</tt> file for writing, thereby deleting the information from the previous run. You should therefore arrange that <code>\readtocfile</code> be -called <em>before</em> the first call to a <code>\writetoc...</code> macro. +called <em>before</em> the first call to a <code>\writetoc…</code> macro. <code>\readtocfile</code> does not itself delete the information from the <tt>.toc</tt> file, so that you can call it several times, e.g., to create both a short -<a name="index-table-of-contents_002c-short-188"></a>and normal table of contents. (To produce this in particular, define +<a name="index-table-of-contents_002c-short"></a> +and normal table of contents. (To produce this in particular, define <code>\tocsectionentry</code> to produce nothing while you are reading <tt>.toc</tt> file for a short table of contents (see <a href="#Macro-arguments">Macro arguments</a>).) - - <p>On the other hand, if you don't want to rewrite the <tt>.toc</tt> file at +</p> +<p>On the other hand, if you don’t want to rewrite the <tt>.toc</tt> file at all, perhaps because you are only running TeX on part of your -manuscript, you can set <code>\rewritetocfilefalse</code>. -<a name="index-ifrewritetocfile-189"></a><a name="index-rewritetocfile-_0040r_007b_0028conditional_0029_007d-190"></a> +manuscript, you can set <code>\rewritetocfilefalse</code>. +<a name="index-ifrewritetocfile"></a> +<a name="index-rewritetocfile-_0028conditional_0029"></a> +</p> -<div class="node"> -<a name="Changing-the-.toc-file's-root-name"></a> +<hr> <a name="Changing-the-_002etoc-file_0027s-root-name"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Alternative-contents-files">Alternative contents files</a>, -Previous: <a rel="previous" accesskey="p" href="#Reading-the-_002etoc-file">Reading the .toc file</a>, -Up: <a rel="up" accesskey="u" href="#Contents">Contents</a> - +<div class="header"> +<p> +Next: <a href="#Alternative-contents-files" accesskey="n" rel="next">Alternative contents files</a>, Previous: <a href="#Reading-the-_002etoc-file" accesskey="p" rel="previous">Reading the .toc file</a>, Up: <a href="#Contents" accesskey="u" rel="up">Contents</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> +<a name="Changing-the-_002etoc-file_0027s-root-name-1"></a> +<h4 class="subsection">4.8.3 Changing the <tt>.toc</tt> file’s root name</h4> -<h4 class="subsection">4.8.3 Changing the <tt>.toc</tt> file's root name</h4> - -<p>By default, the <samp><span class="file">.toc</span></samp> file has the root <code>\jobname</code>. If your +<p>By default, the <samp>.toc</samp> file has the root <code>\jobname</code>. If your document has more than one contents—for example, if it is a collection of papers, some of which have their own contents—you can tell Eplain to use a different root name by defining the control sequence -<code>\tocfilebasename</code>. -<a name="index-tocfilebasename-191"></a> -<a name="index-writing-several-_0040code_007btoc_007d-files-192"></a><a name="index-g_t_0040code_007btoc_007d-files_002c-writing-several-193"></a>Note that <code>\writetocentry</code>, <code>\writenumberedtocentry</code> and +<code>\tocfilebasename</code>. +<a name="index-tocfilebasename"></a> +</p> +<a name="index-writing-several-toc-files"></a> +<a name="index-toc-files_002c-writing-several"></a> +<p>Note that <code>\writetocentry</code>, <code>\writenumberedtocentry</code> and <code>\writenumberedtocline</code> will open the contents file for writing only at the first call, using the value of <code>\tocfilebasename</code> at that time. Changing the value of @@ -1633,205 +2101,255 @@ value of <code>\tocfilebasename</code> at that time. Changing the value of <code>\readcontentsfile</code>. In case you need to write several contents files from a single TeX job, use <code>\definecontentsfile</code> (see <a href="#Alternative-contents-files">Alternative contents files</a>). +</p> -<div class="node"> +<hr> <a name="Alternative-contents-files"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a>, -Up: <a rel="up" accesskey="u" href="#Contents">Contents</a> - +<div class="header"> +<p> +Previous: <a href="#Changing-the-_002etoc-file_0027s-root-name" accesskey="p" rel="previous">Changing the .toc file's root name</a>, Up: <a href="#Contents" accesskey="u" rel="up">Contents</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Alternative-contents-files-1"></a> <h4 class="subsection">4.8.4 Alternative contents files</h4> -<p><a name="index-list-of-figures-194"></a><a name="index-list-of-tables-195"></a><a name="index-definecontentsfile-196"></a>In addition to the usual table of contents, you may want to have a list +<a name="index-list-of-figures"></a> +<a name="index-list-of-tables"></a> +<a name="index-definecontentsfile"></a> +<p>In addition to the usual table of contents, you may want to have a list of figures, list of tables, or other such contents-like list. You can do -this with <code>\definecontentsfile{</code><var>abbrev</var><code>}</code>. All of the +this with <code>\definecontentsfile{<var>abbrev</var>}</code>. All of the above commands are actually a special case that Eplain predefines with +</p> +<div class="example"> +<pre class="example">\definecontentsfile{toc} +</pre></div> -<pre class="example"> \definecontentsfile{toc} -</pre> - <p class="noindent">The <var>abbrev</var> is used both for the file extension and in +<p>The <var>abbrev</var> is used both for the file extension and in the control sequence names. +</p> -<div class="node"> -<a name="Cross-references"></a> -<a name="Cross_002dreferences"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Page-references">Page references</a>, -Previous: <a rel="previous" accesskey="p" href="#Contents">Contents</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> +<hr> +<a name="Cross_002dreferences"></a> +<div class="header"> +<p> +Next: <a href="#Page-references" accesskey="n" rel="next">Page references</a>, Previous: <a href="#Contents" accesskey="p" rel="previous">Contents</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Cross_002dreferences-1"></a> <h3 class="section">4.9 Cross-references</h3> -<p><a name="index-cross_002dreferences-197"></a>It is often useful to refer the reader to other parts of your document; +<a name="index-cross_002dreferences"></a> +<p>It is often useful to refer the reader to other parts of your document; but putting literal page, section, equation, or whatever numbers in the text is certainly a bad thing. - - <p>Eplain therefore provides commands for symbolic cross-references. It +</p> +<p>Eplain therefore provides commands for symbolic cross-references. It uses an auxiliary file with extension <tt>.aux</tt> -<a name="index-g_t_002eaux-_0040r_007bfile_007d-198"></a>(and the same root name as your document) to keep track of the +<a name="index-_002eaux-file-1"></a> +(and the same root name as your document) to keep track of the information. Therefore, it takes two passes to get the cross-references right—one to write them out, and one to read them in. Eplain automatically reads the <tt>.aux</tt> file at the first reference; after reading it, Eplain reopens it for writing. - - <p>You can control whether or not Eplain warns you about undefined +</p> +<p>You can control whether or not Eplain warns you about undefined labels. See <a href="#Citations">Citations</a>. - - <p><a name="index-labels_002c-characters-valid-in-199"></a>Labels in Eplain's cross-reference commands can use characters of +</p> +<a name="index-labels_002c-characters-valid-in"></a> +<p>Labels in Eplain’s cross-reference commands can use characters of category code eleven (letter), twelve (other), ten (space), three (math -shift), four (alignment tab), seven (superscript), or eight (subscript). -For example, ‘<samp><span class="samp">(a1 $&^_</span></samp>’ is a valid label (assuming the category -codes of plain TeX), but ‘<samp><span class="samp">%#\{</span></samp>’ has no valid characters. - - <p>You can also do symbolic cross-references for bibliographic citations +shift), four (alignment tab), seven (superscript), or eight (subscript). +For example, ‘<samp>(a1 $&^_</samp>’ is a valid label (assuming the category +codes of plain TeX), but ‘<samp>%#\{</samp>’ has no valid characters. +</p> +<p>You can also do symbolic cross-references for bibliographic citations and list items. See <a href="#Citations">Citations</a>, and <a href="#Lists">Lists</a>. - - <p>Eplain can create hypertext links for the cross-references +</p> +<p>Eplain can create hypertext links for the cross-references (see <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a>). +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Defining-generic-references" accesskey="1">Defining generic references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Using-generic-references" accesskey="2">Using generic references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> -<ul class="menu"> -<li><a accesskey="1" href="#Defining-generic-references">Defining generic references</a> -<li><a accesskey="2" href="#Using-generic-references">Using generic references</a> -</ul> -<div class="node"> +<hr> <a name="Defining-generic-references"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Using-generic-references">Using generic references</a>, -Up: <a rel="up" accesskey="u" href="#Cross_002dreferences">Cross-references</a> - +<div class="header"> +<p> +Next: <a href="#Using-generic-references" accesskey="n" rel="next">Using generic references</a>, Up: <a href="#Cross_002dreferences" accesskey="u" rel="up">Cross-references</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Defining-generic-references-1"></a> <h4 class="subsection">4.9.1 Defining generic references</h4> -<p><a name="index-defining-general-references-200"></a><a name="index-references_002c-defining-general-201"></a><a name="index-cross_002dreferences_002c-defining-general-202"></a> -<a name="index-definexref-203"></a>Eplain provides the command <code>\definexref</code> for general +<a name="index-defining-general-references"></a> +<a name="index-references_002c-defining-general"></a> +<a name="index-cross_002dreferences_002c-defining-general"></a> + +<a name="index-definexref"></a> +<p>Eplain provides the command <code>\definexref</code> for general cross-references. It takes three arguments: the name of the label (see section above for valid label names), the value of the label (which can -be anything), and the “class” of the reference—whether it's a +be anything), and the “class” of the reference—whether it’s a section, or theorem, or what. For example: +</p> +<div class="example"> +<pre class="example">\definexref{sec-intro}{3.1}{section} +</pre></div> -<pre class="example"> \definexref{sec-intro}{3.1}{section} -</pre> - <p class="noindent">Of course, the label value is usually generated by another +<p>Of course, the label value is usually generated by another macro using TeX count registers or some such. - - <p><code>\definexref</code> doesn't actually define <var>label</var>; instead, it +</p> +<p><code>\definexref</code> doesn’t actually define <var>label</var>; instead, it writes out the definition to the <tt>.aux</tt> file, where Eplain will read it on the next TeX run. - - <p>The <var>class</var> argument is used by the <code>\ref</code> and <code>\refs</code> +</p> +<p>The <var>class</var> argument is used by the <code>\ref</code> and <code>\refs</code> commands. See the next section. +</p> -<div class="node"> +<hr> <a name="Using-generic-references"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Defining-generic-references">Defining generic references</a>, -Up: <a rel="up" accesskey="u" href="#Cross_002dreferences">Cross-references</a> - +<div class="header"> +<p> +Previous: <a href="#Defining-generic-references" accesskey="p" rel="previous">Defining generic references</a>, Up: <a href="#Cross_002dreferences" accesskey="u" rel="up">Cross-references</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Using-generic-references-1"></a> <h4 class="subsection">4.9.2 Using generic references</h4> -<p><a name="index-defining-general-references-204"></a><a name="index-references_002c-defining-general-205"></a><a name="index-cross_002dreferences_002c-defining-general-206"></a> -To retrieve the value of the label defined via <code>\definexref</code> (see -the previous section), Eplain provides the following macros: +<a name="index-defining-general-references-1"></a> +<a name="index-references_002c-defining-general-1"></a> +<a name="index-cross_002dreferences_002c-defining-general-1"></a> - -<a name="index-refn-207"></a> -<dl><dt><code>\refn{</code><var>label</var><code>}</code><dd><a name="index-xrefn-208"></a><br><dt><code>\xrefn{</code><var>label</var><code>}</code><dd><code>\refn</code> and <code>\xrefn</code> (they are synonyms) produce the bare -definition of <var>label</var>. If <var>label</var> isn't defined, issue a +<p>To retrieve the value of the label defined via <code>\definexref</code> (see +the previous section), Eplain provides the following macros: +</p> +<dl compact="compact"> +<dd> +<a name="index-refn"></a> +</dd> +<dt><code>\refn{<var>label</var>}</code></dt> +<dd><a name="index-xrefn"></a> +</dd> +<dt><code>\xrefn{<var>label</var>}</code></dt> +<dd><p><code>\refn</code> and <code>\xrefn</code> (they are synonyms) produce the bare +definition of <var>label</var>. If <var>label</var> isn’t defined, issue a warning, and produce <var>label</var> itself instead, in typewriter. (The -warning isn't given if <code>\xrefwarningfalse</code>.) -<a name="index-xrefwarning-_0040r_007bconditional_007d-209"></a> -<a name="index-ref-210"></a><br><dt><code>\ref{</code><var>label</var><code>}</code><dd>Given the class <var>c</var> for <var>label</var> (see the description of +warning isn’t given if <code>\xrefwarningfalse</code>.) +<a name="index-xrefwarning-conditional"></a> +</p> +<a name="index-ref"></a> +</dd> +<dt><code>\ref{<var>label</var>}</code></dt> +<dd><p>Given the class <var>c</var> for <var>label</var> (see the description of <code>\definexref</code> in the previous section), expand the control sequence -<code>\</code><var>c</var><code> word</code> (if it's defined) followed by a tie. Then call +<code>\<var>c</var> word</code> (if it’s defined) followed by a tie. Then call <code>\refn</code> on <var>label</var>. (Example below.) +</p> +<a name="index-refs"></a> +</dd> +<dt><code>\refs{<var>label</var>}</code></dt> +<dd><p>Like <code>\ref</code>, but append the letter ‘<samp>s</samp>’ to the +<code>\…word</code>. +</p> +</dd> +</dl> - <p><a name="index-refs-211"></a><br><dt><code>\refs{</code><var>label</var><code>}</code><dd>Like <code>\ref</code>, but append the letter ‘<samp><span class="samp">s</span></samp>’ to the -<code>\...word</code>. - - </dl> - - <p>The purpose of the <code>\...word</code> macro is to produce the word -`Section' or `Figure' or whatever that usually precedes the actual +<p>The purpose of the <code>\…word</code> macro is to produce the word +‘Section’ or ‘Figure’ or whatever that usually precedes the actual reference number. +</p> +<p>Here is an example: +</p> +<div class="example"> +<pre class="example">\def\sectionword{Section} +\definexref{sec-intro}{3.1}{section} +\definexref{sec-next}{3.2}{section} +See \refs{sec-intro} and \refn{sec-next} … +</pre></div> + +<p>This produces ‘See Sections 3.1 and 3.2 …’ +</p> - <p>Here is an example: - -<pre class="example"> \def\sectionword{Section} - \definexref{sec-intro}{3.1}{section} - \definexref{sec-next}{3.2}{section} - See \refs{sec-intro} and \refn{sec-next} ... -</pre> - <p class="noindent">This produces `See Sections 3.1 and 3.2 <small class="dots">...</small>' - -<div class="node"> +<hr> <a name="Page-references"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Equation-references">Equation references</a>, -Previous: <a rel="previous" accesskey="p" href="#Cross_002dreferences">Cross-references</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Equation-references" accesskey="n" rel="next">Equation references</a>, Previous: <a href="#Cross_002dreferences" accesskey="p" rel="previous">Cross-references</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Page-references-1"></a> <h3 class="section">4.10 Page references</h3> <p>Eplain provides two commands for handling references to page numbers, one for definition and one for use. - - <dl> -<dt><code>\xrdef{</code><var>label</var><code>}</code><dd><a name="index-xrdef-212"></a>Define <var>label</var> to be the current page number. This produces no +</p> +<dl compact="compact"> +<dt><code>\xrdef{<var>label</var>}</code></dt> +<dd><a name="index-xrdef"></a> +<p>Define <var>label</var> to be the current page number. This produces no printed output, and ignores following spaces. +</p> +</dd> +<dt><code>\xref{<var>label</var>}</code></dt> +<dd><a name="index-xref"></a> +<p>Produce the text ‘p. <var>pageno</var>’, which is the usual form for +cross-references. The <var>pageno</var> is actually <var>label</var>’s +definition; if <var>label</var> isn’t defined, the text of the label itself +is printed. The ‘p. ’ prefix is defined by <code>\xrefpageword</code>. +<a name="index-xrefpageword"></a> +Its default definition is <code>p.\thinspace</code>. +</p> +</dd> +</dl> - <br><dt><code>\xref{</code><var>label</var><code>}</code><dd><a name="index-xref-213"></a>Produce the text `p. <var>pageno</var>', which is the usual form for -cross-references. The <var>pageno</var> is actually <var>label</var>'s -definition; if <var>label</var> isn't defined, the text of the label itself -is printed. The `p. ' prefix is defined by <code>\xrefpageword</code>. -<a name="index-xrefpageword-214"></a>Its default definition is <code>p.\thinspace</code>. - - </dl> - - <p>Eplain can create hypertext links for the page references (see <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a>). +<p>Eplain can create hypertext links for the page references (see <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a>). +</p> -<div class="node"> +<hr> <a name="Equation-references"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Indexing">Indexing</a>, -Previous: <a rel="previous" accesskey="p" href="#Page-references">Page references</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Indexing" accesskey="n" rel="next">Indexing</a>, Previous: <a href="#Page-references" accesskey="p" rel="previous">Page references</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Equation-references-1"></a> <h3 class="section">4.11 Equation references</h3> -<p><a name="index-equations_002c-references-to-215"></a><a name="index-equations_002c-numbering-216"></a>Instead of referring to pages, it's most useful if equation labels +<a name="index-equations_002c-references-to"></a> +<a name="index-equations_002c-numbering"></a> +<p>Instead of referring to pages, it’s most useful if equation labels refer to equation numbers. Therefore, Eplain reserves a <code>\count</code> register, <code>\eqnumber</code>, -<a name="index-eqnumber-217"></a>for the current equation number, and increments it at each -numbered equation. - - <p>Here are the commands to define equation labels and then refer to them: - - <dl> -<dt><code>\eqdef{</code><var>label</var><code>}</code><dd><a name="index-eqdef-218"></a><a name="index-eqnum-219"></a>This defines <var>label</var> to be the current value of <code>\eqnumber</code>, +<a name="index-eqnumber"></a> +for the current equation number, and increments it at each +numbered equation. +</p> +<p>Here are the commands to define equation labels and then refer to them: +</p> +<dl compact="compact"> +<dt><code>\eqdef{<var>label</var>}</code></dt> +<dd><a name="index-eqdef"></a> +<a name="index-eqnum-1"></a> +<p>This defines <var>label</var> to be the current value of <code>\eqnumber</code>, and, if the current context is not inner, then produces a <code>\eqnum</code> command (see <a href="#Displays">Displays</a>). (The condition makes it possible to use <code>\eqdef</code> in an <code>\eqalignno</code> construction, for example.) The text of the equation number is produced using <code>\eqprint</code>. See <a href="#Formatting-equation-references">Formatting equation references</a>. - - <p><a name="index-empty-equation-labels-220"></a><a name="index-labels_002c-empty-equation-221"></a><a name="index-equations_002c-giving-numbers-to-all-222"></a>If <var>label</var> is empty, you still get an equation number (although -naturally you can't reliably refer to it). This is useful if you want -to put numbers on all equations in your document, and you don't want to +</p> +<a name="index-empty-equation-labels"></a> +<a name="index-labels_002c-empty-equation"></a> +<a name="index-equations_002c-giving-numbers-to-all"></a> +<p>If <var>label</var> is empty, you still get an equation number (although +naturally you can’t reliably refer to it). This is useful if you want +to put numbers on all equations in your document, and you don’t want to think up unique labels. - - <p><a name="index-empty-equation-labels_002c-referring-to-223"></a><a name="index-labels_002c-empty-equation_002c-referring-to-224"></a>To refer to the last equation with the empty label, you just use the +</p> +<a name="index-empty-equation-labels_002c-referring-to"></a> +<a name="index-labels_002c-empty-equation_002c-referring-to"></a> +<p>To refer to the last equation with the empty label, you just use the empty label in one of the equation reference macros (see below). This can be handy when you want to refer to an equation shortly after its definition, say, in the sentence following the displayed equation, and @@ -1839,671 +2357,859 @@ do not intend to refer to the equation later. But use this trick with extreme caution: if later you change the text and insert another empty definition between the original definition and the reference, the reference will start to refer to the new empty-labeled equation. - - <br><dt><code>\eqdefn{</code><var>label</var><code>}</code><dd><a name="index-eqdefn-225"></a><a name="index-eqnum-226"></a>This is like <code>\eqdef</code>, except it always omits the <code>\eqnum</code> -command. It can therefore be used in places where <code>\eqdef</code> can't; +</p> +</dd> +<dt><code>\eqdefn{<var>label</var>}</code></dt> +<dd><a name="index-eqdefn"></a> +<a name="index-eqnum-2"></a> +<p>This is like <code>\eqdef</code>, except it always omits the <code>\eqnum</code> +command. It can therefore be used in places where <code>\eqdef</code> can’t; for example, in a non-displayed equation. The text of the equation number is not produced, so you can also use it in the (admittedly unusual) circumstance when you want to define an equation label but not print that label. - - <br><dt><code>\eqref{</code><var>label</var><code>}</code><dd><a name="index-eqref-227"></a>This produces a formatted reference to <var>label</var>. If <var>label</var> is +</p> +</dd> +<dt><code>\eqref{<var>label</var>}</code></dt> +<dd><a name="index-eqref"></a> +<p>This produces a formatted reference to <var>label</var>. If <var>label</var> is undefined (perhaps because it is a forward reference), it just produces the text of the label itself. Otherwise, it calls <code>\eqprint</code>. +</p> +</dd> +<dt><code>\eqrefn{<var>label</var>}</code></dt> +<dd><a name="index-eqrefn"></a> +<p>This produces the cross-reference text for <var>label</var>. That is, it +is like <code>\eqref</code>, except it doesn’t call <code>\eqprint</code>. +</p> +</dd> +</dl> - <br><dt><code>\eqrefn{</code><var>label</var><code>}</code><dd><a name="index-eqrefn-228"></a>This produces the cross-reference text for <var>label</var>. That is, it -is like <code>\eqref</code>, except it doesn't call <code>\eqprint</code>. - - </dl> - - <p><a name="index-equation-labels_002c-characters-valid-in-229"></a>Equation labels can contain the same characters that are valid in +<a name="index-equation-labels_002c-characters-valid-in"></a> +<p>Equation labels can contain the same characters that are valid in general cross-references. - - <p>Eplain can create hypertext links for the equation references +</p> +<p>Eplain can create hypertext links for the equation references (see <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a>). +</p> -<ul class="menu"> -<li><a accesskey="1" href="#Formatting-equation-references">Formatting equation references</a> -<li><a accesskey="2" href="#Subequation-references">Subequation references</a> -</ul> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Formatting-equation-references" accesskey="1">Formatting equation references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Subequation-references" accesskey="2">Subequation references</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> -<div class="node"> -<a name="Formatting-equation-references"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Subequation-references">Subequation references</a>, -Up: <a rel="up" accesskey="u" href="#Equation-references">Equation references</a> +<hr> +<a name="Formatting-equation-references"></a> +<div class="header"> +<p> +Next: <a href="#Subequation-references" accesskey="n" rel="next">Subequation references</a>, Up: <a href="#Equation-references" accesskey="u" rel="up">Equation references</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Formatting-equation-references-1"></a> <h4 class="subsection">4.11.1 Formatting equation references</h4> -<p><a name="index-equation-numbers_002c-formatting-of-230"></a>Both defining an equation label and referring to it should usually +<a name="index-equation-numbers_002c-formatting-of"></a> +<p>Both defining an equation label and referring to it should usually produce output. This output is produced with the <code>\eqprint</code> macro, which takes one argument, the equation number being defined or referred -to. By default, this just produces ‘<samp><span class="samp">(</span><var>number</var><span class="samp">)</span></samp>’, where +to. By default, this just produces ‘<samp>(<var>number</var>)</samp>’, where <var>number</var> is the equation number. To produce the equation number in a different font, or with different surrounding symbols, or whatever, -you can redefine <code>\eqprint</code>. -<a name="index-eqprint-231"></a>For example, the following definition would print all equation numbers +you can redefine <code>\eqprint</code>. +<a name="index-eqprint"></a> +For example, the following definition would print all equation numbers in italics. (The extra braces define a group, to keep the font change from affecting surrounding text.) +</p> +<div class="example"> +<pre class="example">\def\eqprint#1{{\it (#1)}} +</pre></div> -<pre class="example"> \def\eqprint#1{{\it (#1)}} -</pre> - <p>In addition to changing the formatting of equation numbers, you might want +<p>In addition to changing the formatting of equation numbers, you might want to add more structure to the equation number; for example, you might want to include the chapter number, to get equation numbers like -`(1.2)'. To achieve this, you redefine <code>\eqconstruct</code>. -<a name="index-eqconstruct-232"></a>For example: +‘(1.2)’. To achieve this, you redefine <code>\eqconstruct</code>. +<a name="index-eqconstruct"></a> +For example: +</p> +<div class="example"> +<pre class="example">\def\eqconstruct#1{\the\chapternumber.#1} +</pre></div> -<pre class="example"> \def\eqconstruct#1{\the\chapternumber.#1} -</pre> - <p class="noindent">(If you are keeping the chapter number in a count register named +<p>(If you are keeping the chapter number in a count register named <code>\chapternumber</code>, naturally.) - - <p>The reason for having both <code>\eqconstruct</code> and <code>\eqprint</code> may +</p> +<p>The reason for having both <code>\eqconstruct</code> and <code>\eqprint</code> may not be immediately apparent. The difference is that <code>\eqconstruct</code> affects the text that cross-reference label is defined to be, while <code>\eqprint</code> affects only what is typeset on the page. The example just below might help. - - <p>Usually, you want equation labels to refer to equation numbers. But +</p> +<p>Usually, you want equation labels to refer to equation numbers. But sometimes you might want a more complicated text. For example, you -might have an equation `(1)', and then have a variation several pages -later which you want to refer to as `(1*)'. - - <p>Therefore, Eplain allows you to give an optional argument (i.e., +might have an equation ‘(1)’, and then have a variation several pages +later which you want to refer to as ‘(1*)’. +</p> +<p>Therefore, Eplain allows you to give an optional argument (i.e., arbitrary text in square brackets) before the cross-reference label to <code>\eqdef</code>. Then, when you refer to the equation, that text is -produced. Here's how to get the example just mentioned: - -<pre class="example"> $$...\eqdef{a-eq}$$ - ... - $$...\eqdef[\eqrefn{a-eq}*]{a-eq-var}$$ - In \eqref{a-eq-var}, we expand on \eqref{a-eq}, ... -</pre> - <p class="noindent">We use <code>\eqrefn</code> in the cross-reference text, not +produced. Here’s how to get the example just mentioned: +</p> +<div class="example"> +<pre class="example">$$…\eqdef{a-eq}$$ +… +$$…\eqdef[\eqrefn{a-eq}*]{a-eq-var}$$ +In \eqref{a-eq-var}, we expand on \eqref{a-eq}, … +</pre></div> + +<p>We use <code>\eqrefn</code> in the cross-reference text, not <code>\eqref</code>, so that <code>\eqprint</code> is called only once. - - <p>As another example, consider the following requirement: we want to +</p> +<p>As another example, consider the following requirement: we want to include chapter number in all equation references, and additionally we want to include the part number when referencing an equation from any part other than the one where the equation appears. For example, references to the third equation in chapter 2 of part 1 -should be typeset as `(2.3)' throughout part 1, but as `(I.2.3)' -in any other part. Let's assume we have the current chapter and part +should be typeset as ‘(2.3)’ throughout part 1, but as ‘(I.2.3)’ +in any other part. Let’s assume we have the current chapter and part numbers in count registers <code>\chapnum</code> and <code>\partnum</code>, respectively. - - <p>The idea is to have <code>\eqconstruct</code> store the part number of the +</p> +<p>The idea is to have <code>\eqconstruct</code> store the part number of the equation (that is, the part number <em>at the time of definition</em>), so that later <code>\eqprint</code> can compare the stored number with the current part number (that is, the part number <em>at the time of reference</em>). The complicating factor is that internally, the result of <code>\eqconstruct</code> is both expanded and written out to the -<samp><span class="file">.aux</span></samp> file, <em>and</em> used to typeset the equation number, so +<samp>.aux</samp> file, <em>and</em> used to typeset the equation number, so the commands that store the part number should behave correctly in both situations. This is difficult to achieve with expandable commands; therefore, to avoid expansion problems, we are going to use only TeX primitives, which are non-expandable: +</p> +<div class="example"> +<pre class="example">\newcount\eqpartnum -<pre class="example"> \newcount\eqpartnum - - \def\eqconstruct#1{% - \global\eqpartnum=\the\partnum\relax - \number\chapnum.#1% - } - - \def\eqprint#1{% - \setbox0=\hbox{#1}% - (\ifnum\partnum=\eqpartnum \else - \uppercase\expandafter{\romannumeral\eqpartnum}.% - \fi - \box0)% - }% -</pre> - <p class="noindent">In <code>\eqconstruct</code>, besides constructing the base equation number -(e.g., `1.2'), we also store the part number of the equation in the +\def\eqconstruct#1{% + \global\eqpartnum=\the\partnum\relax + \number\chapnum.#1% +} + +\def\eqprint#1{% + \setbox0=\hbox{#1}% + (\ifnum\partnum=\eqpartnum \else + \uppercase\expandafter{\romannumeral\eqpartnum}.% + \fi + \box0)% +}% +</pre></div> + +<p>In <code>\eqconstruct</code>, besides constructing the base equation number +(e.g., ‘1.2’), we also store the part number of the equation in the count register <code>\eqpartnum</code> (<code>\the\partnum</code> is expanded when -the equation number is written to the <samp><span class="file">.aux</span></samp> file, so the -equation label definition in the <samp><span class="file">.aux</span></samp> file will contain the +the equation number is written to the <samp>.aux</samp> file, so the +equation label definition in the <samp>.aux</samp> file will contain the actual part number). In <code>\eqprint</code>, we need to know the -equation's part number before we typeset the base equation number, +equation’s part number before we typeset the base equation number, therefore we first put the argument in a box, thus causing <code>\eqpartnum</code> to be set. +</p> -<div class="node"> +<hr> <a name="Subequation-references"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Formatting-equation-references">Formatting equation references</a>, -Up: <a rel="up" accesskey="u" href="#Equation-references">Equation references</a> - +<div class="header"> +<p> +Previous: <a href="#Formatting-equation-references" accesskey="p" rel="previous">Formatting equation references</a>, Up: <a href="#Equation-references" accesskey="u" rel="up">Equation references</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Subequation-references-1"></a> <h4 class="subsection">4.11.2 Subequation references</h4> -<p><a name="index-equations_002c-groups-of-233"></a><a name="index-subequations_002c-referring-to-234"></a>Eplain also provides for one level of substructure for equations. That +<a name="index-equations_002c-groups-of"></a> +<a name="index-subequations_002c-referring-to"></a> +<p>Eplain also provides for one level of substructure for equations. That is, you might want to define a related group of equations with numbers -like `2.1' and `2.2', and then be able to refer to the group as a whole: -“<small class="dots">...</small> in the system of equations (2)<small class="dots">...</small>”. - - <p>The commands to do this are <code>\eqsubdef</code> and -<a name="index-eqsubdef-235"></a><code>\eqsubdefn</code>. -<a name="index-eqsubdefn-236"></a>They take one <var>label</var> argument like their counterparts above, +like ‘2.1’ and ‘2.2’, and then be able to refer to the group as a whole: +“… in the system of equations (2)…”. +</p> +<p>The commands to do this are <code>\eqsubdef</code> and +<a name="index-eqsubdef"></a> +<code>\eqsubdefn</code>. +<a name="index-eqsubdefn"></a> +They take one <var>label</var> argument like their counterparts above, and generally behave in the same way. The difference is in how they construct the equation number: instead of using just <code>\eqnumber</code>, -they also use another counter, <code>\subeqnumber</code>. -<a name="index-subeqnumber-237"></a>This counter is advanced by one at every <code>\eqsubdef</code> or +they also use another counter, <code>\subeqnumber</code>. +<a name="index-subeqnumber"></a> +This counter is advanced by one at every <code>\eqsubdef</code> or <code>\eqsubdefn</code>, and reset to zero at every <code>\eqdef</code> or <code>\eqdefn</code>. - - <p>You use <code>\eqref</code> to refer to subequations as well as main +</p> +<p>You use <code>\eqref</code> to refer to subequations as well as main equations. - - <p>To put the two together to construct the text that the label will -produce, they use a macro <code>\eqsubreftext</code>. -<a name="index-eqsubreftext-238"></a>This macros takes two arguments, the “main” equation number (which, +</p> +<p>To put the two together to construct the text that the label will +produce, they use a macro <code>\eqsubreftext</code>. +<a name="index-eqsubreftext"></a> +This macros takes two arguments, the “main” equation number (which, because the equation label can be defined as arbitrary text, as described in the previous section, might be anything at all) and the -“sub” equation number (which is always just a number). Eplain's +“sub” equation number (which is always just a number). Eplain’s default definition just puts a period between them: +</p> +<div class="example"> +<pre class="example">\def\eqsubreftext#1#2{#1.#2}% +</pre></div> -<pre class="example"> \def\eqsubreftext#1#2{#1.#2}% -</pre> - <p class="noindent">You can redefine <code>\eqsubreftext</code> to print however you -like. For example, this definition makes the labels print as `2a', -`2b', and so on. - -<pre class="example"> \newcount\subref - \def\eqsubreftext#1#2{% - \subref = #2 % The space stops a <number>. - \advance\subref by 96 % `a' is character code 97. - #1\char\subref - } -</pre> - <p class="noindent">Sadly, we must define a new count register, <code>\subref</code>, +<p>You can redefine <code>\eqsubreftext</code> to print however you +like. For example, this definition makes the labels print as ‘2a’, +‘2b’, and so on. +</p> +<div class="example"> +<pre class="example">\newcount\subref +\def\eqsubreftext#1#2{% + \subref = #2 % The space stops a <number>. + \advance\subref by 96 % `a' is character code 97. + #1\char\subref +} +</pre></div> + +<p>Sadly, we must define a new count register, <code>\subref</code>, instead of using the scratch count register <code>\count255</code>, because -‘<samp><span class="samp">#1</span></samp>’ might include other macro calls which use <code>\count255</code>. +‘<samp>#1</samp>’ might include other macro calls which use <code>\count255</code>. +</p> -<div class="node"> +<hr> <a name="Indexing"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Justification">Justification</a>, -Previous: <a rel="previous" accesskey="p" href="#Equation-references">Equation references</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Justification" accesskey="n" rel="next">Justification</a>, Previous: <a href="#Equation-references" accesskey="p" rel="previous">Equation references</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Indexing-1"></a> <h3 class="section">4.12 Indexing</h3> -<p><a name="index-indexing-239"></a><a name="index-sorting-an-index-240"></a> -Eplain provides support for generating raw material for an index, and +<a name="index-indexing"></a> +<a name="index-sorting-an-index"></a> + +<p>Eplain provides support for generating raw material for an index, and for typesetting a sorted index. A separate program must do the actual collection and sorting of terms, because TeX itself has no support for sorting. - - <p>Eplain can create hypertext links pointing from the index to the index +</p> +<p>Eplain can create hypertext links pointing from the index to the index terms (see <a href="#Index-hyperlinks">Index hyperlinks</a>). - - <p><a name="index-g_t_0040acronym_007bURL_007d-for-MakeIndex-241"></a><a name="index-makeindex-242"></a>Eplain's indexing commands were designed to work with the program +</p> +<a name="index-URL-for-MakeIndex"></a> +<a name="index-makeindex-1"></a> +<p>Eplain’s indexing commands were designed to work with the program MakeIndex, available from CTAN hosts in -<samp><span class="file">tex-archive/indexing/makeindex</span></samp>; MakeIndex is also commonly +<samp>tex-archive/indexing/makeindex</samp>; MakeIndex is also commonly included in prepackaged TeX distributions. It is beyond the scope of this manual to explain how to run MakeIndex, and all of its many options. See <a href="http://www.ctan.org/tex-archive/indexing/makeindex">http://www.ctan.org/tex-archive/indexing/makeindex</a>. +</p> +<p>The basic strategy for indexing works like this: +</p> +<ol> +<li> <a name="index-_002eidx-files"></a> +For a document <samp>foo.tex</samp>, Eplain’s indexing commands (e.g., +<code>\idx</code>; see the section ‘Indexing terms’ below) write the raw index +material to <samp>foo.idx</samp>. - <p>The basic strategy for indexing works like this: - - <ol type=1 start=1> - - <p><a name="index-g_t_002eidx-_0040r_007bfiles_007d-243"></a><li>For a document <samp><span class="file">foo.tex</span></samp>, Eplain's indexing commands (e.g., -<code>\idx</code>; see the section `Indexing terms' below) write the raw index -material to <samp><span class="file">foo.idx</span></samp>. - - <p><a name="index-g_t_002eind-_0040r_007bfiles_007d-244"></a><li>MakeIndex reads <samp><span class="file">foo.idx</span></samp>, collects and sorts the index, and -writes the result to <samp><span class="file">foo.ind</span></samp>. +</li><li> <a name="index-_002eind-files"></a> +MakeIndex reads <samp>foo.idx</samp>, collects and sorts the index, and +writes the result to <samp>foo.ind</samp>. - <li>Eplain reads and typesets <samp><span class="file">foo.ind</span></samp> on a subsequent run of -TeX. See the section `Typesetting an index' below. +</li><li> Eplain reads and typesets <samp>foo.ind</samp> on a subsequent run of +TeX. See the section ‘Typesetting an index’ below. - </ol> +</li></ol> - <p><a name="index-texi2dvi-245"></a>The <samp><span class="command">texi2dvi</span></samp> program can help you automate this +<a name="index-texi2dvi-2"></a> +<p>The <code>texi2dvi</code> program can help you automate this process (see <a href="#Invoking-Eplain">Invoking Eplain</a>). - - <p><a name="index-multiple-indexes-246"></a><a name="index-indexes_002c-multiple-247"></a><a name="index-defineindex-248"></a>If your document needs more than one index, each must have its own +</p> +<a name="index-multiple-indexes"></a> +<a name="index-indexes_002c-multiple"></a> +<a name="index-defineindex"></a> +<p>If your document needs more than one index, each must have its own file. Therefore, Eplain provides the command <code>\defineindex</code>, which -takes an argument that is a single letter, which replaces ‘<samp><span class="samp">i</span></samp>’ in +takes an argument that is a single letter, which replaces ‘<samp>i</samp>’ in the filenames and in the indexing command names described below. For example, +</p> +<div class="example"> +<pre class="example">\defineindex{m} +</pre></div> -<pre class="example"> \defineindex{m} -</pre> - <p class="noindent">defines the command <code>\mdx</code> to write to the file -<samp><span class="file">foo.mdx</span></samp>. Eplain simply does <code>\defineindex{i}</code> to define +<p>defines the command <code>\mdx</code> to write to the file +<samp>foo.mdx</samp>. Eplain simply does <code>\defineindex{i}</code> to define the default commands. - - <p>Note that MakeIndex does not use the above naming scheme for multiple +</p> +<p>Note that MakeIndex does not use the above naming scheme for multiple indexes. Unless instructed otherwise, MakeIndex always writes its -output to a file with extension <samp><span class="file">.ind</span></samp>. For example, if you +output to a file with extension <samp>.ind</samp>. For example, if you define an additional index with the command <code>\defineindex{j}</code>, -you'll need to run MakeIndex like this: - -<pre class="example"> $ makeindex book.jdx -o book.jnd -</pre> - <p><a name="index-indexes_002c-disabling-249"></a><a name="index-disabling-indexes-250"></a><a name="index-ifidx-251"></a>For each index defined with <code>\defineindex{</code><var>n</var><code>}</code>, Eplain -provides a switch <code>\if</code><var>n</var><code>dx</code> which controls whether indexing +you’ll need to run MakeIndex like this: +</p> +<div class="example"> +<pre class="example">$ makeindex book.jdx -o book.jnd +</pre></div> + +<a name="index-indexes_002c-disabling"></a> +<a name="index-disabling-indexes"></a> +<a name="index-ifidx"></a> +<p>For each index defined with <code>\defineindex{<var>n</var>}</code>, Eplain +provides a switch <code>\if<var>n</var>dx</code> which controls whether indexing commands write index entries to the corresponding index file. However, even when index term writing is disabled, indexing commands still do all other processing of their arguments, including typesetting of proof index terms (see <a href="#Proofing-index-terms">Proofing index terms</a>. - - <p>For example, if you write <code>\idxfalse</code> near the beginning of a -document <samp><span class="file">foo.tex</span></samp> (before the first indexing command), Eplain -will not open the default index file (<samp><span class="file">foo.idx</span></samp>) and the -corresponding indexing commands (<code>\idx</code>, <code>\sidx</code>, etc.) +</p> +<p>For example, if you write <code>\idxfalse</code> near the beginning of a +document <samp>foo.tex</samp> (before the first indexing command), Eplain +will not open the default index file (<samp>foo.idx</samp>) and the +corresponding indexing commands (<code>\idx</code>, <code>\sidx</code>, etc.) will not write index entries there. This may be useful for draft compilations of a manuscript, e.g., to avoid the overhead of index file input/output. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Indexing-terms" accesskey="1">Indexing terms</a>:</td><td> </td><td align="left" valign="top">Specifying what to index. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Typesetting-an-index" accesskey="2">Typesetting an index</a>:</td><td> </td><td align="left" valign="top">Printing the sorted output. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Customizing-indexing" accesskey="3">Customizing indexing</a>:</td><td> </td><td align="left" valign="top">Creating commands and specifying extra actions. +</td></tr> +</table> -<ul class="menu"> -<li><a accesskey="1" href="#Indexing-terms">Indexing terms</a>: Specifying what to index. -<li><a accesskey="2" href="#Typesetting-an-index">Typesetting an index</a>: Printing the sorted output. -<li><a accesskey="3" href="#Customizing-indexing">Customizing indexing</a>: Creating commands and specifying extra actions. -</ul> -<div class="node"> +<hr> <a name="Indexing-terms"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Typesetting-an-index">Typesetting an index</a>, -Up: <a rel="up" accesskey="u" href="#Indexing">Indexing</a> - +<div class="header"> +<p> +Next: <a href="#Typesetting-an-index" accesskey="n" rel="next">Typesetting an index</a>, Up: <a href="#Indexing" accesskey="u" rel="up">Indexing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Indexing-terms-1"></a> <h4 class="subsection">4.12.1 Indexing terms</h4> -<p><a name="index-indexing-terms-252"></a><a name="index-silent-indexing-253"></a> -Indexing commands in Eplain come in pairs: one command that only -writes the index entry to the ‘<samp><span class="samp">.idx</span></samp>’ file (see above section), and +<a name="index-indexing-terms"></a> +<a name="index-silent-indexing"></a> + +<p>Indexing commands in Eplain come in pairs: one command that only +writes the index entry to the ‘<samp>.idx</samp>’ file (see above section), and one that also typesets the term being indexed. The former always starts -with ‘<samp><span class="samp">s</span></samp>’ (for “silent”). In either case, the name always includes -‘<samp><var>I</var><span class="samp">dx</span></samp>’, where <var>I</var> is the index letter, also described -above. Eplain defines the index ‘<samp><span class="samp">i</span></samp>’ itself, so that's what we'll +with ‘<samp>s</samp>’ (for “silent”). In either case, the name always includes +‘<samp><var>I</var>dx</samp>’, where <var>I</var> is the index letter, also described +above. Eplain defines the index ‘<samp>i</samp>’ itself, so that’s what we’ll use in the names below. - - <p><a name="index-subterm-in-indexing-254"></a>The silent form of the commands take a subterm as a trailing optional +</p> +<a name="index-subterm-in-indexing"></a> +<p>The silent form of the commands take a subterm as a trailing optional argument. For example, <code>\sidx{truth}[definition of]</code> on page 75 makes an index entry that will eventually be typeset (by default) as - -<pre class="display"> truth - definition of, 75 -</pre> - <p><a name="index-trailing-spaces-and-indexing-commands-255"></a><a name="index-spaces_002c-trailing-and-indexing-commands-256"></a><a name="index-indexing-and-trailing-spaces-257"></a>Also, the silent commands ignore trailing spaces. The non-silent ones do not. - -<ul class="menu"> -<li><a accesskey="1" href="#Indexing-commands">Indexing commands</a>: Making index entries. -<li><a accesskey="2" href="#Modifying-index-entries">Modifying index entries</a>: Ranges, see/see also, page number typesetting. -<li><a accesskey="3" href="#Index-entries-with-special-characters">Index entries with special characters</a> -<li><a accesskey="4" href="#Proofing-index-terms">Proofing index terms</a>: Noting index entries in the margins. -</ul> - -<div class="node"> +</p> +<div class="display"> +<pre class="display">truth + definition of, 75 +</pre></div> + +<a name="index-trailing-spaces-and-indexing-commands"></a> +<a name="index-spaces_002c-trailing-and-indexing-commands"></a> +<a name="index-indexing-and-trailing-spaces"></a> +<p>Also, the silent commands ignore trailing spaces. The non-silent ones do not. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Indexing-commands" accesskey="1">Indexing commands</a>:</td><td> </td><td align="left" valign="top">Making index entries. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Modifying-index-entries" accesskey="2">Modifying index entries</a>:</td><td> </td><td align="left" valign="top">Ranges, see/see also, page number typesetting. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Index-entries-with-special-characters" accesskey="3">Index entries with special characters</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Proofing-index-terms" accesskey="4">Proofing index terms</a>:</td><td> </td><td align="left" valign="top">Noting index entries in the margins. +</td></tr> +</table> + + +<hr> <a name="Indexing-commands"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Modifying-index-entries">Modifying index entries</a>, -Up: <a rel="up" accesskey="u" href="#Indexing-terms">Indexing terms</a> - +<div class="header"> +<p> +Next: <a href="#Modifying-index-entries" accesskey="n" rel="next">Modifying index entries</a>, Up: <a href="#Indexing-terms" accesskey="u" rel="up">Indexing terms</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> +<a name="Indexing-commands-1"></a> +<h4 class="subsubsection">4.12.1.1 Indexing commands</h4> -<h5 class="subsubsection">4.12.1.1 Indexing commands</h5> - -<p><a name="index-indexing-commands-258"></a>Here are the commands. - - <ul> -<li><a name="index-sidx-259"></a><a name="index-idx-260"></a><code>\sidx{</code><var>term</var><code>}[</code><var>subterm</var><code>]</code> makes an index entry for -<var>term</var>, optionally with subterm <var>subterm</var>. -<code>\idx{</code><var>term</var><code>}</code> also produces <var>term</var> as output. Example: - - <pre class="example"> \sidx{truth}[beauty of] - The beauty of truth is \idx{death}. -</pre> - <p>Subterms at the second and further levels can also be +<a name="index-indexing-commands"></a> +<p>Here are the commands. +</p> +<ul> +<li> <a name="index-sidx"></a> +<a name="index-idx"></a> +<code>\sidx{<var>term</var>}[<var>subterm</var>]</code> makes an index entry for +<var>term</var>, optionally with subterm <var>subterm</var>. +<code>\idx{<var>term</var>}</code> also produces <var>term</var> as output. Example: + +<div class="example"> +<pre class="example">\sidx{truth}[beauty of] +The beauty of truth is \idx{death}. +</pre></div> + +<p>Subterms at the second and further levels can also be specified in <var>subterm</var>, using the <code>\idxsubentryseparator</code> character to separate -them. This character is by default ‘<samp><span class="samp">!</span></samp>’. - - <li><a name="index-sidxname-261"></a><a name="index-idxnameseparator-262"></a><a name="index-idxname-263"></a><code>\sidxname{</code><var>First M.</var><code>}{</code><var>von Last</var><code>}[</code><var>subterm</var><code>]</code> -makes an index -entry for ‘<samp><var>von Last</var><span class="samp">, </span><var>First M.</var></samp>’. You can change the -‘<samp><span class="samp">, </span></samp>’ by redefining <code>\idxnameseparator</code>. -<code>\idxname{</code><var>First M.</var><code>}{</code><var>von Last</var><code>}</code> also produces <var>First M. von +them. This character is by default ‘<samp>!</samp>’. +</p> +</li><li> <a name="index-sidxname"></a> +<a name="index-idxnameseparator"></a> +<a name="index-idxname"></a> +<code>\sidxname{<var>First M.</var>}{<var>von Last</var>}[<var>subterm</var>]</code> +makes an index +entry for ‘<samp><var>von Last</var>, <var>First M.</var></samp>’. You can change the +‘<samp>, </samp>’ by redefining <code>\idxnameseparator</code>. +<code>\idxname{<var>First M.</var>}{<var>von Last</var>}</code> also produces <var>First M. von Last</var> as output. (These commands are useful special cases of <code>\idx</code> and <code>\sidx</code>.) Example: - <pre class="example"> \sidxname{Richard}{Stark} - \idxname{Donald}{Westlake} has written many kinds of novels, under - almost as many names. -</pre> - <li><a name="index-sidxmarked-264"></a><a name="index-idxmarked-265"></a><code>\sidxmarked\</code><var>cs</var><code>{</code><var>term</var><code>}[</code><var>subterm</var><code>]</code> makes an index -entry for <var>term</var><code>[</code><var>subterm</var><code>]</code>, but <var>term</var> will be put -in the index as <code>\</code><var>cs</var><code>{term}</code>, but still sorted as just -<var>term</var>. <code>\idxmarked\</code><var>cs</var><code>{</code><var>term</var><code>}</code> also typesets -<code>\</code><var>cs</var><code>{term}</code>. This provides for the usual ways of changing +<div class="example"> +<pre class="example">\sidxname{Richard}{Stark} +\idxname{Donald}{Westlake} has written many kinds of novels, under +almost as many names. +</pre></div> + +</li><li> <a name="index-sidxmarked"></a> +<a name="index-idxmarked"></a> +<code>\sidxmarked\<var>cs</var>{<var>term</var>}[<var>subterm</var>]</code> makes an index +entry for <code><var>term</var>[<var>subterm</var>]</code>, but <var>term</var> will be put +in the index as <code>\<var>cs</var>{term}</code>, but still sorted as just +<var>term</var>. <code>\idxmarked\<var>cs</var>{<var>term</var>}</code> also typesets +<code>\<var>cs</var>{term}</code>. This provides for the usual ways of changing the typesetting of index entries. Example: - <pre class="example"> \def\article#1{``#1''} - \sidxmarked\article{Miss Elsa and Aunt Sophie} - Peter Drucker's \idxmarked\article{The Polanyis} is a remarkable - essay about a remarkable family. -</pre> - <li><a name="index-idxsubmarked-266"></a><a name="index-sidxsubmarked-267"></a><code>\sidxsubmarked{</code><var>term</var><code>}\</code><var>cs</var><code>{subterm}</code> makes an index +<div class="example"> +<pre class="example">\def\article#1{``#1''} +\sidxmarked\article{Miss Elsa and Aunt Sophie} +Peter Drucker's \idxmarked\article{The Polanyis} is a remarkable +essay about a remarkable family. +</pre></div> + +</li><li> <a name="index-idxsubmarked"></a> +<a name="index-sidxsubmarked"></a> +<code>\sidxsubmarked{<var>term</var>}\<var>cs</var>{subterm}</code> makes an index entry for <var>term</var>, <var>subterm</var> as usual, but also puts <var>subterm</var> in -the index as <code>\</code><var>cs</var><code>{term}</code>. -<code>\idxsubmarked{</code><var>term</var><code>}\</code><var>cs</var><code>{subterm}</code> also typesets -<var>term</var><code> \</code><var>cs</var><code>{subterm}</code>, in the unlikely event that your +the index as <code>\<var>cs</var>{term}</code>. +<code>\idxsubmarked{<var>term</var>}\<var>cs</var>{subterm}</code> also typesets +<code><var>term</var> \<var>cs</var>{subterm}</code>, in the unlikely event that your syntax is convoluted enough to make this useful. Example: - <pre class="example"> \def\title#1{{\sl #1}} - \sidxsubmarked{Anderson, Laurie}\title{Strange Angels} - The \idxsubmarked{Anderson}\title{Carmen} is a strange twist. -</pre> - </ul> +<div class="example"> +<pre class="example">\def\title#1{{\sl #1}} +\sidxsubmarked{Anderson, Laurie}\title{Strange Angels} +The \idxsubmarked{Anderson}\title{Carmen} is a strange twist. +</pre></div> + +</li></ul> - <p><a name="index-index-entry-general-sorting-268"></a><a name="index-sorting-of-index-entries-269"></a>The commands above rely on MakeIndex's feature for separating sorting of -an index entry's from its typesetting. You can use this directly by -specifying an index entry as <var>sort</var><code>@</code><var>typeset</var>. For +<a name="index-index-entry-general-sorting"></a> +<a name="index-sorting-of-index-entries"></a> +<p>The commands above rely on MakeIndex’s feature for separating sorting of +an index entry’s from its typesetting. You can use this directly by +specifying an index entry as <code><var>sort</var>@<var>typeset</var></code>. For example: +</p> +<div class="example"> +<pre class="example">\sidx{Ap-weight@$A_\pi$-weight} +</pre></div> -<pre class="example"> \sidx{Ap-weight@$A_\pi$-weight} -</pre> - <p class="noindent">will sort as <code>Ap-weight</code>, but print with the proper math. -The <code>@</code> here is MakeIndex's default character for this purpose. +<p>will sort as <code>Ap-weight</code>, but print with the proper math. +The <code>@</code> here is MakeIndex’s default character for this purpose. See <a href="http://www.ctan.org/tex-archive/indexing/makeindex">http://www.ctan.org/tex-archive/indexing/makeindex</a>. To make an index entry with an <code>@</code> in it, you have to escape it with a backslash; Eplain provides no macros for doing this. - - <p><a name="index-afterindexterm-_0040r_007bhook_007d-270"></a><a name="index-whatsits-made-by-index-entries-271"></a>After any index command, Eplain runs +</p> +<a name="index-afterindexterm-hook"></a> +<a name="index-whatsits-made-by-index-entries"></a> +<p>After any index command, Eplain runs <code>\hookaction{afterindexterm}</code>. Because the index commands always add a whatsit item to the current list, you may wish to preserve a penalty or space past the new item. For example, given a conditional -<code>\if@aftersctnhead</code> set true when you're at a section heading, you +<code>\if@aftersctnhead</code> set true when you’re at a section heading, you could do: +</p> +<div class="example"> +<pre class="example">\hookaction{afterindexterm}{\if@aftersctnhead \nobreak \fi} +</pre></div> -<pre class="example"> \hookaction{afterindexterm}{\if@aftersctnhead \nobreak \fi} -</pre> - <div class="node"> -<a name="Modifying-index-entries"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Index-entries-with-special-characters">Index entries with special characters</a>, -Previous: <a rel="previous" accesskey="p" href="#Indexing-commands">Indexing commands</a>, -Up: <a rel="up" accesskey="u" href="#Indexing-terms">Indexing terms</a> +<hr> +<a name="Modifying-index-entries"></a> +<div class="header"> +<p> +Next: <a href="#Index-entries-with-special-characters" accesskey="n" rel="next">Index entries with special characters</a>, Previous: <a href="#Indexing-commands" accesskey="p" rel="previous">Indexing commands</a>, Up: <a href="#Indexing-terms" accesskey="u" rel="up">Indexing terms</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> +<a name="Modifying-index-entries-1"></a> +<h4 class="subsubsection">4.12.1.2 Modifying index entries</h4> -<h5 class="subsubsection">4.12.1.2 Modifying index entries</h5> +<a name="index-modifying-index-entries_0027-page-numbers"></a> +<a name="index-index-entries_0027-page-numbers_002c-modifying"></a> -<p><a name="index-modifying-index-entries_0027-page-numbers-272"></a><a name="index-index-entries_0027-page-numbers_002c-modifying-273"></a> -All the index commands described in the previous section take an initial -optional argument before the index term, which modify the index entry's +<p>All the index commands described in the previous section take an initial +optional argument before the index term, which modify the index entry’s meaning in various ways. You can specify only one of the following in any given command, except that <code>begin</code> and <code>end</code> can be -specified together with <code>pagemarkup=</code><var>cs</var> (separate them with +specified together with <code>pagemarkup=<var>cs</var></code> (separate them with a comma without a following space, like this: <code>[begin,pagemarkup=defn]</code>). - - <p>These work via MakeIndex's “encapsulation” feature. See <a href="#Customizing-indexing">Customizing indexing</a>, if you're not using the default characters for the +</p> +<p>These work via MakeIndex’s “encapsulation” feature. See <a href="#Customizing-indexing">Customizing indexing</a>, if you’re not using the default characters for the MakeIndex operators. The other optional argument (specifying a subterm) is independent of these. - - <p>Here are the possibilities: - - <dl> -<dt><code>begin</code><dt><code>end</code><dd><a name="index-begin-_0040r_007bfor-index-entries_007d-274"></a><a name="index-end-_0040r_007bfor-index-entries_007d-275"></a><a name="index-index-entries-and-ranges-276"></a><a name="index-ranges-and-index-entry-277"></a>These mark an index entry as the beginning or end of a range. The index -entries must match exactly for MakeIndex to recognize them. +</p> +<p>Here are the possibilities: +</p> +<dl compact="compact"> +<dt><code>begin</code></dt> +<dt><code>end</code></dt> +<dd><a name="index-begin-for-index-entries"></a> +<a name="index-end-for-index-entries"></a> +<a name="index-index-entries-and-ranges"></a> +<a name="index-ranges-and-index-entry"></a> +<p>These mark an index entry as the beginning or end of a range. The index +entries must match exactly for MakeIndex to recognize them. Example: +</p> +<div class="example"> +<pre class="example">\sidx[begin]{future}[Cohen, Leonard] +… +\sidx[end]{future}[Cohen, Leonard] +</pre></div> - <pre class="example"> \sidx[begin]{future}[Cohen, Leonard] - ... - \sidx[end]{future}[Cohen, Leonard] -</pre> - <p class="noindent">will typeset as something like - - <pre class="display"> future, - Cohen, Leonard, 65–94 -</pre> - <br><dt><code>see</code><dd><a name="index-see-_0040r_007bfor-index-entries_007d-278"></a><a name="index-see_002c-and-index-entries-279"></a><a name="index-cross_002dreferencing-index-entries-280"></a><a name="index-index-entries_002c-and-cross_002dreferencing-281"></a>This marks an index entry as pointing to another; the real index term is +<p>will typeset as something like +</p> +<div class="display"> +<pre class="display">future, + Cohen, Leonard, 65–94 +</pre></div> + +</dd> +<dt><code>see</code></dt> +<dd><a name="index-see-for-index-entries"></a> +<a name="index-see_002c-and-index-entries"></a> +<a name="index-cross_002dreferencing-index-entries"></a> +<a name="index-index-entries_002c-and-cross_002dreferencing"></a> +<p>This marks an index entry as pointing to another; the real index term is an additional (non-optional) argument to the command. Thus you can anticipate a term readers may wish to look up, yet which you have decided not to index. Example: +</p> +<div class="example"> +<pre class="example">\sidx[see]{analysis}[archetypal]{archetypal criticism} +</pre></div> - <pre class="example"> \sidx[see]{analysis}[archetypal]{archetypal criticism} -</pre> - <p class="noindent">becomes - - <pre class="display"> analysis, - archetypal, <i>see</i> archetypal criticism -</pre> - <br><dt><code>seealso</code><dd><a name="index-seealso-_0040r_007bfor-index-entries_007d-282"></a>Similar to <code>see</code> (the previous item), but also allows for normal +<p>becomes +</p> +<div class="display"> +<pre class="display">analysis, + archetypal, <i>see</i> archetypal criticism +</pre></div> + +</dd> +<dt><code>seealso</code></dt> +<dd><a name="index-seealso-for-index-entries"></a> +<p>Similar to <code>see</code> (the previous item), but also allows for normal index entries of the referencing term. The normal index entries have to be created separately—<code>seealso</code> does <em>not</em> contribute a page number to the index entry. For example, if you have indexed a term on pages 75, 97 and 114, and then add a <code>seealso</code> entry for the term: +</p> +<div class="example"> +<pre class="example">\sidx[seealso]{archetypal criticism}[elements of]{dichotomies} +</pre></div> - <pre class="example"> \sidx[seealso]{archetypal criticism}[elements of]{dichotomies} -</pre> - <p class="noindent">the index will contain +<p>the index will contain +</p> +<div class="display"> +<pre class="display">archetypal criticism, + elements of, 75, 97, 114, <i>see also</i> dichotomies +</pre></div> - <pre class="display"> archetypal criticism, - elements of, 75, 97, 114, <i>see also</i> dichotomies -</pre> - <p>(Aside for the academically curious: The archetypally critical book I -took these dichotomous examples from is Laurence Berman's <cite>The +<p>(Aside for the academically curious: The archetypally critical book I +took these dichotomous examples from is Laurence Berman’s <cite>The Musical Image</cite>, which I happened to co-design and typeset.) - - <br><dt><code>pagemarkup=</code><var>cs</var><dd>This puts <code>\</code><var>cs</var> before the page number in the typeset index, +</p> +</dd> +<dt><code>pagemarkup=<var>cs</var></code></dt> +<dd><p>This puts <code>\<var>cs</var></code> before the page number in the typeset index, thus allowing you to underline definitive entries, italicize examples, and the like. You do <em>not</em> precede the control sequence <var>cs</var> with a backslash. (That just leads to expansive difficulties.) Naturally it is up to you to define the control sequences you want to use. Example: +</p> +<div class="example"> +<pre class="example">\def\defn#1{{\sl #1}} +\sidx[pagemarkeup=defn]{indexing} +</pre></div> - <pre class="example"> \def\defn#1{{\sl #1}} - \sidx[pagemarkeup=defn]{indexing} -</pre> - <p class="noindent">becomes something like +<p>becomes something like +</p> +<div class="example"> +<pre class="example">indexing, <code>\defn{75}</code> +</pre></div> - <pre class="example"> indexing, <code>\defn{75}</code> -</pre> - </dl> +</dd> +</dl> -<div class="node"> -<a name="Index-entries-with-special-characters"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Proofing-index-terms">Proofing index terms</a>, -Previous: <a rel="previous" accesskey="p" href="#Modifying-index-entries">Modifying index entries</a>, -Up: <a rel="up" accesskey="u" href="#Indexing-terms">Indexing terms</a> +<hr> +<a name="Index-entries-with-special-characters"></a> +<div class="header"> +<p> +Next: <a href="#Proofing-index-terms" accesskey="n" rel="next">Proofing index terms</a>, Previous: <a href="#Modifying-index-entries" accesskey="p" rel="previous">Modifying index entries</a>, Up: <a href="#Indexing-terms" accesskey="u" rel="up">Indexing terms</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> +<a name="Index-entries-with-special-characters-1"></a> +<h4 class="subsubsection">4.12.1.3 Index entries with special characters</h4> -<h5 class="subsubsection">4.12.1.3 Index entries with special characters</h5> +<a name="index-special-characters_002c-in-index-entries"></a> +<a name="index-index-entries-with-special-characters"></a> -<p><a name="index-special-characters_002c-in-index-entries-283"></a><a name="index-index-entries-with-special-characters-284"></a> -Indexing terms with special characters can become quite cumbersome +<p>Indexing terms with special characters can become quite cumbersome because you have to keep both TeX and MakeIndex happy at the same -time. For example, while ‘<samp><span class="samp">!</span></samp>’ has no special meaning for TeX, -it is a subentry separator for MakeIndex, therefore you'd have to -escape occurrences of literal ‘<samp><span class="samp">!</span></samp>’ in index terms. Things get +time. For example, while ‘<samp>!</samp>’ has no special meaning for TeX, +it is a subentry separator for MakeIndex, therefore you’d have to +escape occurrences of literal ‘<samp>!</samp>’ in index terms. Things get even more interesting with characters which are special in both TeX and MakeIndex. - - <p>This in turn has some implications for the non-silent forms of the +</p> +<p>This in turn has some implications for the non-silent forms of the indexing commands (see <a href="#Indexing-terms">Indexing terms</a>), since TeX and MakeIndex use different conventions for escaping characters. For example, this will not typeset the exclamation point correctly within the text, while it will come out right inside the index, after MakeIndex strips -the quoting character (‘<samp><span class="samp">"</span></samp>’): +the quoting character (‘<samp>"</samp>’): +</p> +<div class="example"> +<pre class="example">\idx{"!} +</pre></div> -<pre class="example"> \idx{"!} -</pre> - <p class="noindent">This would have to be rewritten using the silent command: +<p>This would have to be rewritten using the silent command: +</p> +<div class="example"> +<pre class="example">!\sidx{"!} +</pre></div> -<pre class="example"> !\sidx{"!} -</pre> - <p class="noindent">In general, it is a good idea to eschew the non-silent +<p>In general, it is a good idea to eschew the non-silent commands whenever index term contains anything unusual. - - <p>To understand this keep in mind that indexing commands read the terms -verbatim so that the terms can embed almost any character, and that's -what gets written into the <samp><span class="file">.idx</span></samp> file. The non-silent forms +</p> +<p>To understand this keep in mind that indexing commands read the terms +verbatim so that the terms can embed almost any character, and that’s +what gets written into the <samp>.idx</samp> file. The non-silent forms then typeset the term by rescanning the verbatim copy, hence for the non-silent commands the term, besides being a valid MakeIndex input, must also represent a valid TeX input. The silent commands -don't have this restriction—their terms only need to become valid -TeX input <em>after</em> MakeIndex processes the <samp><span class="file">.idx</span></samp> file and -writes the <samp><span class="file">.ind</span></samp> file. This is what makes the non-silent +don’t have this restriction—their terms only need to become valid +TeX input <em>after</em> MakeIndex processes the <samp>.idx</samp> file and +writes the <samp>.ind</samp> file. This is what makes the non-silent commands less powerful and more troublesome when dealing with special characters. - - <p><a name="index-index-entries_002c-with-verbatim-text-285"></a><a name="index-index_002c-and-verbatim-text-286"></a><a name="index-verbatim-text_002c-in-index-287"></a>Here's an example showing that terms for the silent commands can +</p> +<a name="index-index-entries_002c-with-verbatim-text"></a> +<a name="index-index_002c-and-verbatim-text"></a> +<a name="index-verbatim-text_002c-in-index"></a> +<p>Here’s an example showing that terms for the silent commands can contain almost any character: +</p> +<div class="example"> +<pre class="example">\sidx[see]{comments}[with %@with \verbatim %"|endverbatim] + {commenting with \verbatim %"|endverbatim} +</pre></div> -<pre class="example"> \sidx[see]{comments}[with %@with \verbatim %"|endverbatim] - {commenting with \verbatim %"|endverbatim} -</pre> - <p class="noindent">We didn't have to escape ‘<samp><span class="samp">%</span></samp>’ in the sort string for +<p>We didn’t have to escape ‘<samp>%</samp>’ in the sort string for MakeIndex, while we had to put it inside the verbatim environment (see <a href="#Verbatim-listing">Verbatim listing</a>) in the part which MakeIndex will pass back -to TeX. Also, we had to escape the ‘<samp><span class="samp">|</span></samp>’ character because it +to TeX. Also, we had to escape the ‘<samp>|</samp>’ character because it is special for MakeIndex. If you have trouble understanding the reasons for the different types of escaping used, it is best to -examine the <samp><span class="file">.idx</span></samp> and <samp><span class="file">.ind</span></samp> files resulting from +examine the <samp>.idx</samp> and <samp>.ind</samp> files resulting from processing the above input. - - <p>As was mentioned, index terms can embed “almost any character”, so -now we'll describe the exceptions. - - <p>The following characters are reset to their usual meanings because +</p> +<p>As was mentioned, index terms can embed “almost any character”, so +now we’ll describe the exceptions. +</p> +<p>The following characters are reset to their usual meanings because they are not useful verbatim: multiple consequent spaces are converted into a single space; <acronym>ASCII</acronym> tab characters are treated as spaces; <acronym>ASCII</acronym> return is treated as end-of-line (this means, among other things, that long terms can be broken across several lines). - - <p><a name="index-braces_002c-inside-index-entries-288"></a><a name="index-index-entries-containing-braces-289"></a>You have to be careful with the begin- and end-group characters -(‘<samp><span class="samp">{</span></samp>’ and ‘<samp><span class="samp">}</span></samp>’ by default). If they are matched, you don't +</p> +<a name="index-braces_002c-inside-index-entries"></a> +<a name="index-index-entries-containing-braces"></a> +<p>You have to be careful with the begin- and end-group characters +(‘<samp>{</samp>’ and ‘<samp>}</samp>’ by default). If they are matched, you don’t have to do anything special. For example: +</p> +<div class="example"> +<pre class="example">\sidx {braces {, }@braces + \verbatim {"|endverbatim, \verbatim }"|endverbatim} +</pre></div> -<pre class="example"> \sidx {braces {, }@braces - \verbatim {"|endverbatim, \verbatim }"|endverbatim} -</pre> - <p class="noindent">However, if they are not matched you have two problems on +<p>However, if they are not matched you have two problems on hand. The first one is TeX—you have to instruct TeX to use something else as begin- and/or end-group characters. Eplain provides an easy way to do this: just define -<a name="index-idxargopen-290"></a><code>\idxargopen</code> and/or -<a name="index-idxargclose-291"></a><code>\idxargclose</code> to the begin- and end-group characters you are +<a name="index-idxargopen"></a> +<code>\idxargopen</code> and/or +<a name="index-idxargclose"></a> +<code>\idxargclose</code> to the begin- and end-group characters you are going to use with indexing macros, and use braces inside index terms -without any restrictions. Here's an example: - -<pre class="example"> \def\idxargopen{`\<} - \def\idxargclose{`\>} - \sidx <left brace "{@left brace \verbatim "{"|endverbatim> -</pre> - <p class="noindent">In this example we've also dealt with the second -problem—braces are MakeIndex's grouping characters as well (by -default), so we have escaped unmatched braces with ‘<samp><span class="samp">"</span></samp>’. - - <p><a name="index-brackets_002c-inside-index-entries-292"></a><a name="index-index-entries-containing-brackets-293"></a>And the final note: if you need a subentry containing brackets -(‘<samp><span class="samp">[</span></samp>’ and ‘<samp><span class="samp">]</span></samp>’), avoid the optional argument of <code>\sidx</code> -and friends, and use instead MakeIndex's subentry separator to create +without any restrictions. Here’s an example: +</p> +<div class="example"> +<pre class="example">\def\idxargopen{`\<} +\def\idxargclose{`\>} +\sidx <left brace "{@left brace \verbatim "{"|endverbatim> +</pre></div> + +<p>In this example we’ve also dealt with the second +problem—braces are MakeIndex’s grouping characters as well (by +default), so we have escaped unmatched braces with ‘<samp>"</samp>’. +</p> +<a name="index-brackets_002c-inside-index-entries"></a> +<a name="index-index-entries-containing-brackets"></a> +<p>And the final note: if you need a subentry containing brackets +(‘<samp>[</samp>’ and ‘<samp>]</samp>’), avoid the optional argument of <code>\sidx</code> +and friends, and use instead MakeIndex’s subentry separator to create the subentry with the brackets in it: +</p> +<div class="example"> +<pre class="example">\sidx{entry!subentry with a bracket [} +</pre></div> -<pre class="example"> \sidx{entry!subentry with a bracket [} -</pre> - <div class="node"> -<a name="Proofing-index-terms"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Index-entries-with-special-characters">Index entries with special characters</a>, -Up: <a rel="up" accesskey="u" href="#Indexing-terms">Indexing terms</a> +<hr> +<a name="Proofing-index-terms"></a> +<div class="header"> +<p> +Previous: <a href="#Index-entries-with-special-characters" accesskey="p" rel="previous">Index entries with special characters</a>, Up: <a href="#Indexing-terms" accesskey="u" rel="up">Indexing terms</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> +<a name="Proofing-index-terms-1"></a> +<h4 class="subsubsection">4.12.1.4 Proofing index terms</h4> -<h5 class="subsubsection">4.12.1.4 Proofing index terms</h5> +<a name="index-proofing-index-terms"></a> +<a name="index-index-entries_002c-proofing"></a> +<a name="index-margins_002c-index-terms-in"></a> -<p><a name="index-proofing-index-terms-294"></a><a name="index-index-entries_002c-proofing-295"></a><a name="index-margins_002c-index-terms-in-296"></a> -As you are reading through a manuscript, it is helpful to see what terms +<p>As you are reading through a manuscript, it is helpful to see what terms have been indexed, so you can add others, catch miscellaneous errors, etc. (Speaking from bitter experience, I can say it is extremely error-prone to leave all indexing to the end of the writing, since it involves adding many TeX commands to the source files.) - - <p><a name="index-ifindexproofing-297"></a><a name="index-indexproofingtrue-298"></a><a name="index-indexproofingfalse-299"></a><a name="index-indexproofterm-300"></a><a name="index-indexprooffont-301"></a><a name="index-cmtt8-302"></a>So Eplain puts index terms in the margin of each page, if you +</p> +<a name="index-ifindexproofing"></a> +<a name="index-indexproofingtrue"></a> +<a name="index-indexproofingfalse"></a> +<a name="index-indexproofterm"></a> +<a name="index-indexprooffont"></a> +<a name="index-cmtt8"></a> +<p>So Eplain puts index terms in the margin of each page, if you set <code>\indexproofingtrue</code>. It is <code>false</code> by default. The terms are typeset by the macro <code>\indexproofterm</code>, which takes a single -argument, the term to be typeset. Eplain's definition of +argument, the term to be typeset. Eplain’s definition of <code>\indexproofterm</code> just puts it into an <code>\hbox</code>, first doing <code>\indexprooffont</code>, which Eplain defines to select the font <code>cmtt8</code>. With this definition long terms run off the page, but since this is just for proofreading anyway, it seems acceptable. - - <p><a name="index-pageno-303"></a><a name="index-insidemargin-304"></a><a name="index-hoffset-305"></a><a name="index-outsidemargin-306"></a><a name="index-indexsetmargins-307"></a>On the other hand, we certainly don't want the index term to run into +</p> +<a name="index-pageno"></a> +<a name="index-insidemargin"></a> +<a name="index-hoffset"></a> +<a name="index-outsidemargin"></a> +<a name="index-indexsetmargins"></a> +<p>On the other hand, we certainly don’t want the index term to run into the text of the page, so Eplain uses the right-hand side of the page rather than the left-hand page (assuming a language read left to right here). So <code>\ifodd\pageno</code>, Eplain kerns by <code>\outsidemargin</code>, otherwise by <code>\insidemargin</code>. If those macros are undefined, <code>\indexsetmargins</code> defines them to be one inch plus <code>\hoffset</code>. - - <p><a name="index-g_t_0040_0040indexproof-_0040r_007binsertion-class_007d-308"></a><a name="index-indexproofunbox-309"></a><a name="index-makeheadline-310"></a><a name="index-output-routine-and-index-proofing-311"></a>To get the proofing index entries on the proper page, Eplain defines a new +</p> +<a name="index-_0040indexproof-insertion-class"></a> +<a name="index-indexproofunbox"></a> +<a name="index-makeheadline"></a> +<a name="index-output-routine-and-index-proofing"></a> +<p>To get the proofing index entries on the proper page, Eplain defines a new insertion class <code>\@indexproof</code>. To unbox any index proofing material, Eplain redefines <code>\makeheadline</code> to call <code>\indexproofunbox</code> before the original <code>\makeheadline</code>. Thus, -if you have your own output routine, that redefines or doesn't use -<code>\makeheadline</code>, it's up to you to call <code>\indexproofunbox</code> at +if you have your own output routine, that redefines or doesn’t use +<code>\makeheadline</code>, it’s up to you to call <code>\indexproofunbox</code> at the appropriate time. +</p> -<div class="node"> +<hr> <a name="Typesetting-an-index"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Customizing-indexing">Customizing indexing</a>, -Previous: <a rel="previous" accesskey="p" href="#Indexing-terms">Indexing terms</a>, -Up: <a rel="up" accesskey="u" href="#Indexing">Indexing</a> - +<div class="header"> +<p> +Next: <a href="#Customizing-indexing" accesskey="n" rel="next">Customizing indexing</a>, Previous: <a href="#Indexing-terms" accesskey="p" rel="previous">Indexing terms</a>, Up: <a href="#Indexing" accesskey="u" rel="up">Indexing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Typesetting-an-index-1"></a> <h4 class="subsection">4.12.2 Typesetting an index</h4> -<p><a name="index-typesetting-an-index-312"></a><a name="index-index-typesetting-313"></a><a name="index-readindexfile-314"></a> -The command <code>\readindexfile{i}</code> reads and typesets the -<samp><span class="file">.ind</span></samp> file that MakeIndex outputs (from the <samp><span class="file">.idx</span></samp> file which +<a name="index-typesetting-an-index"></a> +<a name="index-index-typesetting"></a> +<a name="index-readindexfile"></a> + +<p>The command <code>\readindexfile{i}</code> reads and typesets the +<samp>.ind</samp> file that MakeIndex outputs (from the <samp>.idx</samp> file which the indexing commands in the previous sections write). Eplain defines a number of commands that support the default MakeIndex output. - - <p><a name="index-indexfilebasename-315"></a><a name="index-jobname-316"></a>More precisely, <code>\readindexfile</code> reads -<code>\indexfilebasename.</code><var>index-letter</var><code>nd</code>, where the +</p> +<a name="index-indexfilebasename"></a> +<a name="index-jobname-1"></a> +<p>More precisely, <code>\readindexfile</code> reads +<code>\indexfilebasename.<var>index-letter</var>nd</code>, where the <var>index-letter</var> is the argument. <code>\indexfilebasename</code> is <code>\jobname</code> by default, but if you have different indexes in different parts of a book, you may wish to change it, just as with bibliographies (see <a href="#Citations">Citations</a>). - - <p><a name="index-begin_0040_007btheindex_0040_007d-317"></a><a name="index-end_0040_007btheindex_0040_007d-318"></a>MakeIndex was designed to work with LaTeX; therefore, by default the -<samp><span class="file">.ind</span></samp> file starts with <code>\begin{theindex}</code> and ends with +</p> +<a name="index-begin_007btheindex_007d"></a> +<a name="index-end_007btheindex_007d"></a> +<p>MakeIndex was designed to work with LaTeX; therefore, by default the +<samp>.ind</samp> file starts with <code>\begin{theindex}</code> and ends with <code>\end{theindex}</code>. If no <code>\begin</code> has been defined, Eplain defines one to ignore its argument and set up for typesetting the index (see below), and also defines a <code>\end</code> to ignore its argument. (In a group, naturally, since there is a primitive <code>\end</code>). - - <p><a name="index-parindent-_0040r_007bin-indexes_007d-319"></a><a name="index-index-fonts-320"></a><a name="index-indexfonts-321"></a><a name="index-double-columns-in-indexes-322"></a>Eplain calls <code>\indexfonts</code>, sets <code>\parindent = 0pt</code>, and does +</p> +<a name="index-parindent-in-indexes"></a> +<a name="index-index-fonts"></a> +<a name="index-indexfonts"></a> +<a name="index-double-columns-in-indexes"></a> +<p>Eplain calls <code>\indexfonts</code>, sets <code>\parindent = 0pt</code>, and does <code>\doublecolumns</code> (see <a href="#Multiple-columns">Multiple columns</a>) at the <code>\begin{theindex}</code>. <code>\indexfonts</code> does nothing by default; -it's just there for you to override. (Indexes are usually typeset in +it’s just there for you to override. (Indexes are usually typeset in smaller type than the main text.) - - <p><a name="index-beginindex-_0040r_007bhook_007d-323"></a>It ends the setup with <code>\hookrun{beginindex}</code>, so you can +</p> +<a name="index-beginindex-hook"></a> +<p>It ends the setup with <code>\hookrun{beginindex}</code>, so you can override anything you like in that hook (see <a href="#Hooks">Hooks</a>). For example: - -<pre class="example"> \hookaction{beginindex}{\triplecolumns} -</pre> - <p><a name="index-item-_0040r_007bin-indexes_007d-324"></a><a name="index-subitem-_0040r_007bin-indexes_007d-325"></a><a name="index-subsubitem-_0040r_007bin-indexes_007d-326"></a><a name="index-index-entry-formatting-327"></a><a name="index-formatting-index-entries-328"></a><a name="index-space-above-index-entries-329"></a><a name="index-continued-index-entries-330"></a><a name="index-index-entry-continuations-331"></a>MakeIndex turns each main index entry into an <code>\item</code>, subentries +</p> +<div class="example"> +<pre class="example">\hookaction{beginindex}{\triplecolumns} +</pre></div> + +<a name="index-item-in-indexes"></a> +<a name="index-subitem-in-indexes"></a> +<a name="index-subsubitem-in-indexes"></a> +<a name="index-index-entry-formatting"></a> +<a name="index-formatting-index-entries"></a> +<a name="index-space-above-index-entries"></a> +<a name="index-continued-index-entries"></a> +<a name="index-index-entry-continuations"></a> +<p>MakeIndex turns each main index entry into an <code>\item</code>, subentries into <code>\subitem</code>, and subsubentries into <code>\subsubitem</code>. By default, the first line of main entries are not indented, and subentries are indented 1em per level. Main entries are preceded by a <code>\vskip</code> @@ -2511,1023 +3217,1361 @@ of <code>\aboveitemskipamount</code>, <code>0pt plus2pt</code> by default. Page breaks are encouraged before main entries (<code>\penalty -100</code>), but prohibited afterwards—Eplain has no provision for “continued” index entries. - - <p>All levels do the following: - - <p><a name="index-hangindent-_0040r_007bfor-index-entries_007d-332"></a><a name="index-raggedright-_0040r_007bfor-index-entries_007d-333"></a><a name="index-hyphenpenalty-_0040r_007bfor-index-entries_007d-334"></a> -<pre class="example"> \hangindent = 1em - \raggedright - \hyphenpenalty = 10000 -</pre> - <p><a name="index-indexitem-_0040r_007bhook_007d-335"></a>Each entry ends with <code>\hookrun{indexitem}</code>, so you can change any +</p> +<p>All levels do the following: +</p> +<a name="index-hangindent-for-index-entries"></a> +<a name="index-raggedright-for-index-entries"></a> +<a name="index-hyphenpenalty-for-index-entries"></a> +<div class="example"> +<pre class="example">\hangindent = 1em +\raggedright +\hyphenpenalty = 10000 +</pre></div> + +<a name="index-indexitem-hook"></a> +<p>Each entry ends with <code>\hookrun{indexitem}</code>, so you can change any of this. For example, to increase the allowable rag: - -<pre class="example"> \hookaction{indexitem}{\advance\rightskip by 2em} -</pre> - <p><a name="index-indexspace-336"></a><a name="index-index-groupings-337"></a>Finally, MakeIndex outputs <code>\indexspace</code> between each group of -entries in the <samp><span class="file">.ind</span></samp> file. Eplain makes this equivalent to +</p> +<div class="example"> +<pre class="example">\hookaction{indexitem}{\advance\rightskip by 2em} +</pre></div> + +<a name="index-indexspace"></a> +<a name="index-index-groupings"></a> +<p>Finally, MakeIndex outputs <code>\indexspace</code> between each group of +entries in the <samp>.ind</samp> file. Eplain makes this equivalent to <code>\bigbreak</code>. +</p> -<div class="node"> +<hr> <a name="Customizing-indexing"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Typesetting-an-index">Typesetting an index</a>, -Up: <a rel="up" accesskey="u" href="#Indexing">Indexing</a> - +<div class="header"> +<p> +Previous: <a href="#Typesetting-an-index" accesskey="p" rel="previous">Typesetting an index</a>, Up: <a href="#Indexing" accesskey="u" rel="up">Indexing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Customizing-indexing-1"></a> <h4 class="subsection">4.12.3 Customizing indexing</h4> -<p><a name="index-customizing-indexing-338"></a> -<a name="index-afterindexterm-339"></a><a name="index-commas-after-index-terms-340"></a><a name="index-after-index-terms-341"></a>By default, MakeIndex outputs ‘<samp><span class="samp">, </span></samp>’ after each term in the index. To +<a name="index-customizing-indexing"></a> + +<a name="index-afterindexterm"></a> +<a name="index-commas-after-index-terms"></a> +<a name="index-after-index-terms"></a> +<p>By default, MakeIndex outputs ‘<samp>, </samp>’ after each term in the index. To change this, you can add the following to your MakeIndex style -(<samp><span class="file">.ist</span></samp>) file: +(<samp>.ist</samp>) file: +</p> +<div class="example"> +<pre class="example">delim_0 "\\afterindexterm " +delim_1 "\\afterindexterm " +delim_2 "\\afterindexterm " +</pre></div> -<pre class="example"> delim_0 "\\afterindexterm " - delim_1 "\\afterindexterm " - delim_2 "\\afterindexterm " -</pre> - <p class="noindent">Eplain makes <code>\afterindexterm</code> equivalent to +<p>Eplain makes <code>\afterindexterm</code> equivalent to <code>\quad</code>. +</p> +<p>You can also change the keywords Eplain recognizes (see <a href="#Modifying-index-entries">Modifying index entries</a>): +</p> +<dl compact="compact"> +<dt><code>\idxrangebeginword</code></dt> +<dd><a name="index-idxrangebeginword"></a> +<p>‘begin’ +</p> +</dd> +<dt><code>\idxrangeendword</code></dt> +<dd><a name="index-idxrangeendword"></a> +<p>‘end’ +</p> +</dd> +<dt><code>\idxseecmdword</code></dt> +<dd><a name="index-idxseecmdword"></a> +<p>‘see’ +</p> +</dd> +<dt><code>\idxseealsocmdword</code></dt> +<dd><a name="index-idxseealsocmdword"></a> +<p>‘seealso’ +</p> +</dd> +</dl> - <p>You can also change the keywords Eplain recognizes (see <a href="#Modifying-index-entries">Modifying index entries</a>): - - <dl> -<dt><code>\idxrangebeginword</code><dd><a name="index-idxrangebeginword-342"></a>`begin' - - <br><dt><code>\idxrangeendword</code><dd><a name="index-idxrangeendword-343"></a>`end' - - <br><dt><code>\idxseecmdword</code><dd><a name="index-idxseecmdword-344"></a>`see' - - <br><dt><code>\idxseealsocmdword</code><dd><a name="index-idxseealsocmdword-345"></a>`seealso' - - </dl> - - <p>You can also change the magic characters Eplain puts into the -<samp><span class="file">.idx</span></samp> file, in case you've changed them in the <code>.ist</code> file: - - <dl> -<dt><code>\idxsubentryseparator</code><dd><a name="index-idxsubentryseparator-346"></a>‘<samp><span class="samp">!</span></samp>’ - - <br><dt><code>\idxencapoperator</code><dd><a name="index-idxencapoperator-347"></a>‘<samp><span class="samp">|</span></samp>’ - - <br><dt><code>\idxbeginrangemark</code><dd><a name="index-idxbeginrangemark-348"></a>‘<samp><span class="samp">(</span></samp>’ - - <br><dt><code>\idxendrangemark</code><dd><a name="index-idxendrangemark-349"></a>‘<samp><span class="samp">)</span></samp>’ - - </dl> - - <p>There is no macro for the <code>actual</code> (‘<samp><span class="samp">@</span></samp>’ by default) -character, because it's impossible to make it expand properly. +<p>You can also change the magic characters Eplain puts into the +<samp>.idx</samp> file, in case you’ve changed them in the <code>.ist</code> file: +</p> +<dl compact="compact"> +<dt><code>\idxsubentryseparator</code></dt> +<dd><a name="index-idxsubentryseparator"></a> +<p>‘<samp>!</samp>’ +</p> +</dd> +<dt><code>\idxencapoperator</code></dt> +<dd><a name="index-idxencapoperator"></a> +<p>‘<samp>|</samp>’ +</p> +</dd> +<dt><code>\idxbeginrangemark</code></dt> +<dd><a name="index-idxbeginrangemark"></a> +<p>‘<samp>(</samp>’ +</p> +</dd> +<dt><code>\idxendrangemark</code></dt> +<dd><a name="index-idxendrangemark"></a> +<p>‘<samp>)</samp>’ +</p> +</dd> +</dl> - <p><a name="index-idxpagenum-350"></a><a name="index-see-also-index-entries-and-sorting-351"></a>You can change the (imaginary) page number that “see also” +<p>There is no macro for the <code>actual</code> (‘<samp>@</samp>’ by default) +character, because it’s impossible to make it expand properly. +</p> +<a name="index-idxpagenum"></a> +<a name="index-see-also-index-entries-and-sorting"></a> +<p>You can change the (imaginary) page number that “see also” entries sort as by redefining <code>\idxmaxpagenum</code>. This is 99999 by default, which is one digit too many for old versions of MakeIndex. - - <p><a name="index-indexseeword-352"></a><a name="index-indexseealsowords-353"></a><a name="index-seevariant-354"></a><a name="index-indexsee-355"></a><a name="index-indexseealso-356"></a>The words output by Eplain for “see” and “see also” index entries +</p> +<a name="index-indexseeword"></a> +<a name="index-indexseealsowords"></a> +<a name="index-seevariant"></a> +<a name="index-indexsee"></a> +<a name="index-indexseealso"></a> +<p>The words output by Eplain for “see” and “see also” index entries are defined by <code>\indexseeword</code> and <code>\indexseealsowords</code> respectively. You can change the typeface used for these words by redefining <code>\seevariant</code>. And finally, the macros <code>\indexsee</code> and <code>\indexseealso</code> actually produce the “see -<small class="dots">...</small>” entries, so you can redefine them if you want something +…” entries, so you can redefine them if you want something entirely different. If you do redefine them, make them take two parameters, the term being referenced and the <code>\idxmaxpagenum</code> (the latter should normally be ignored). See the example below. - - <p><a name="index-see-_0040r_007bfor-index-entries_007d-357"></a><a name="index-see_002c-and-index-entries-358"></a><a name="index-cross_002dreferencing-index-entries-359"></a><a name="index-index-entries_002c-and-cross_002dreferencing-360"></a><a name="index-commas-in-cross_002dreferencing-index-entries-361"></a>Unfortunately, it is impossible to reliably control the commas -produced by MakeIndex in front of “see <small class="dots">...</small>” entries in the -<samp><span class="file">.ind</span></samp> file, either at MakeIndex level or at Eplain level. +</p> +<a name="index-see-for-index-entries-1"></a> +<a name="index-see_002c-and-index-entries-1"></a> +<a name="index-cross_002dreferencing-index-entries-1"></a> +<a name="index-index-entries_002c-and-cross_002dreferencing-1"></a> +<a name="index-commas-in-cross_002dreferencing-index-entries"></a> +<p>Unfortunately, it is impossible to reliably control the commas +produced by MakeIndex in front of “see …” entries in the +<samp>.ind</samp> file, either at MakeIndex level or at Eplain level. However, the -<a name="index-sed-362"></a><samp><span class="command">sed</span></samp> script contained in <samp><span class="command">trimsee</span></samp> -<a name="index-trimsee-363"></a>distributed with Eplain in the <samp><span class="file">util</span></samp> directory can be used to +<a name="index-sed"></a> +<code>sed</code> script contained in <code>trimsee</code> +<a name="index-trimsee"></a> +distributed with Eplain in the <samp>util</samp> directory can be used to filter out these commas from the output of MakeIndex. For example, -suppose you want the following style for your “see <small class="dots">...</small>” entries: - -<pre class="display"> analysis, - archetypal (<i>see</i> archetypal criticism) - archetypal criticism, - elements of, 75, 97, 114 (<i>see also</i> dichotomies) -</pre> - <p class="noindent">You would need to redefine these macros in your TeX +suppose you want the following style for your “see …” entries: +</p> +<div class="display"> +<pre class="display">analysis, + archetypal (<i>see</i> archetypal criticism) +archetypal criticism, + elements of, 75, 97, 114 (<i>see also</i> dichotomies) +</pre></div> + +<p>You would need to redefine these macros in your TeX file: +</p> +<div class="example"> +<pre class="example">\def\indexsee#1#2{({\seevariant \indexseeword\/ }#1)} +\def\indexseealso#1#2{({\seevariant \indexseealsowords\/ }#1)} +</pre></div> + +<p>and then filter out the commas in front of the “see …” +entries by running the following command to produce the <samp>.ind</samp> +file (assuming the name of the <samp>.idx</samp> file is <samp>myfile.idx</samp> +and the <samp>trimsee</samp> script is placed in the current directory): +</p> +<div class="example"> +<pre class="example">prompt$ cat myfile.idx | makeindex | ./trimsee > myfile.ind +</pre></div> -<pre class="example"> \def\indexsee#1#2{({\seevariant \indexseeword\/ }#1)} - \def\indexseealso#1#2{({\seevariant \indexseealsowords\/ }#1)} -</pre> - <p class="noindent">and then filter out the commas in front of the “see <small class="dots">...</small>” -entries by running the following command to produce the <samp><span class="file">.ind</span></samp> -file (assuming the name of the <samp><span class="file">.idx</span></samp> file is <samp><span class="file">myfile.idx</span></samp> -and the <samp><span class="file">trimsee</span></samp> script is placed in the current directory): - -<pre class="example"> prompt$ cat myfile.idx | makeindex | ./trimsee > myfile.ind -</pre> - <p>By default, <samp><span class="file">trimsee</span></samp> uses default page list separators and -default “see <small class="dots">...</small>” command names. If you set up MakeIndex to use +<p>By default, <samp>trimsee</samp> uses default page list separators and +default “see …” command names. If you set up MakeIndex to use different page list separator or change the names of <code>\indexsee</code> and <code>\indexseealso</code> commands, it is possible to adjust the -<samp><span class="file">trimsee</span></samp> script through its command line options, which are the +<samp>trimsee</samp> script through its command line options, which are the following: - - <dl> -<dt><samp><span class="option">-i </span><var>is</var></samp><dd>Use <var>is</var> as a regular expression matching separator before “see -<small class="dots">...</small>” commands in the input (default: ‘<samp><span class="samp">, \+</span></samp>’). - - <br><dt><samp><span class="option">-o </span><var>os</var></samp><dd>Use <var>os</var> as a separator to replace <var>is</var> before “see <small class="dots">...</small>” +</p> +<dl compact="compact"> +<dt><samp>-i <var>is</var></samp></dt> +<dd><p>Use <var>is</var> as a regular expression matching separator before “see +…” commands in the input (default: ‘<samp>, \+</samp>’). +</p> +</dd> +<dt><samp>-o <var>os</var></samp></dt> +<dd><p>Use <var>os</var> as a separator to replace <var>is</var> before “see …” commands (default: ‘<samp> </samp>’). - - <br><dt><samp><span class="option">-s </span><var>see</var></samp><dd>Use <var>see</var> as a regular expression matching “see <small class="dots">...</small>” -commands (default: ‘<samp><span class="samp">\\indexsee</span></samp>’). - - <br><dt><samp><span class="option">-h</span></samp><dt><samp><span class="option">--help</span></samp><dd>Print a usage message. - - <br><dt><samp><span class="option">-v</span></samp><dt><samp><span class="option">--version</span></samp><dd>Print version. +</p> +</dd> +<dt><samp>-s <var>see</var></samp></dt> +<dd><p>Use <var>see</var> as a regular expression matching “see …” +commands (default: ‘<samp>\\indexsee</samp>’). +</p> +</dd> +<dt><samp>-h</samp></dt> +<dt><samp>--help</samp></dt> +<dd><p>Print a usage message. +</p> +</dd> +<dt><samp>-v</samp></dt> +<dt><samp>--version</samp></dt> +<dd><p>Print version. +</p></dd> </dl> - <p><samp><span class="file">trimsee</span></samp> reads input from the standard input, and directs its +<p><samp>trimsee</samp> reads input from the standard input, and directs its output to the standard output. +</p> -<div class="node"> +<hr> <a name="Justification"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Tables">Tables</a>, -Previous: <a rel="previous" accesskey="p" href="#Indexing">Indexing</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Tables" accesskey="n" rel="next">Tables</a>, Previous: <a href="#Indexing" accesskey="p" rel="previous">Indexing</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Justification-1"></a> <h3 class="section">4.13 Justification</h3> -<p><a name="index-centering-364"></a><a name="index-left_002djustification-365"></a><a name="index-right_002djustification-366"></a><a name="index-justification-367"></a>Eplain defines three commands to conveniently justify multiple +<a name="index-centering"></a> +<a name="index-left_002djustification"></a> +<a name="index-right_002djustification"></a> +<a name="index-justification"></a> +<p>Eplain defines three commands to conveniently justify multiple lines of text: <code>\flushright</code>, <code>\flushleft</code>, and -<code>\center</code>. -<a name="index-flushright-368"></a><a name="index-flushleft-369"></a><a name="index-center-370"></a> -They all work in the same way; let's take <code>\center</code> as the +<code>\center</code>. +<a name="index-flushright"></a> +<a name="index-flushleft"></a> +<a name="index-center"></a> +</p> +<p>They all work in the same way; let’s take <code>\center</code> as the example. To start centering lines, you say <code>\center</code> inside a group; to stop, you end the group. Between the two commands, each end-of-line in the input file also starts a new line in the output file. - - <p>The entire block of text is broken into paragraphs at blank lines, -so all the TeX paragraph-shaping parameters apply in the usual way. -This is convenient, but it implies something else that isn't so +</p> +<p>The entire block of text is broken into paragraphs at blank lines, +so all the TeX paragraph-shaping parameters apply in the usual way. +This is convenient, but it implies something else that isn’t so convenient: changes to any linespacing parameters, such as <code>\baselineskip</code>, will have <em>no effect</em> on the paragraph in which they are changed. TeX does not handle linespacing changes -within a paragraph (because it doesn't know where the line breaks are +within a paragraph (because it doesn’t know where the line breaks are until the end of the paragraph). - - <p>The space between paragraphs is by default one blank line's worth. +</p> +<p>The space between paragraphs is by default one blank line’s worth. You can adjust this space by assigning to <code>\blanklineskipamount</code>; -<a name="index-blanklineskipamount-_0040r_007bin-justified-text_007d-371"></a>this (vertical) glue is inserted after each blank line. - - <p>Here is an example: - -<pre class="example"> {\center First line. - - Second line, with a blank line before. - } -</pre> - <p class="noindent">This produces: +<a name="index-blanklineskipamount-in-justified-text"></a> +this (vertical) glue is inserted after each blank line. +</p> +<p>Here is an example: +</p> +<div class="example"> +<pre class="example">{\center First line. -<div align="center">First line.</div> -<div align="center"></div> -<div align="center">Second line, with a blank line before.</div> + Second line, with a blank line before. +} +</pre></div> - <p>You may wish to use the justification macros inside of your own +<p>This produces: +</p> +<div align="center">First line. +</div><div align="center"><!-- /@w --> +</div><div align="center">Second line, with a blank line before. +</div> +<p>You may wish to use the justification macros inside of your own macros. Just be sure to put them in a group. For example, here is how a title macro might be defined: +</p> +<div class="example"> +<pre class="example">\def\title{\begingroup\titlefont\center} +\def\endtitle{\endgroup} +</pre></div> -<pre class="example"> \def\title{\begingroup\titlefont\center} - \def\endtitle{\endgroup} -</pre> - <div class="node"> -<a name="Tables"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Margins">Margins</a>, -Previous: <a rel="previous" accesskey="p" href="#Justification">Justification</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> +<hr> +<a name="Tables"></a> +<div class="header"> +<p> +Next: <a href="#Margins" accesskey="n" rel="next">Margins</a>, Previous: <a href="#Justification" accesskey="p" rel="previous">Justification</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Tables-1"></a> <h3 class="section">4.14 Tables</h3> -<p><a name="index-tables-372"></a><a name="index-alignments-373"></a>Eplain provides a single command, <code>\makecolumns</code>, -<a name="index-makecolumns-374"></a>to make generating one particular kind of table easier. More +<a name="index-tables"></a> +<a name="index-alignments"></a> +<p>Eplain provides a single command, <code>\makecolumns</code>, +<a name="index-makecolumns"></a> +to make generating one particular kind of table easier. More ambitious LaTeX styles and macro packages tackle more difficult applications. The <code>autorows</code> feature of the Memoir package provides similar functionality to this. - - <p>Many tables are homogenous, i.e., all the entries are semantically the +</p> +<p>Many tables are homogenous, i.e., all the entries are semantically the same. The arrangement into columns is to save space on the page, not to encode different meanings. In this kind of the table, it is useful to have the column breaks chosen automatically, so that you can add or delete entries without worrying about the column breaks. - - <p><code>\makecolumns</code> takes two arguments: the number of entries in the +</p> +<p><code>\makecolumns</code> takes two arguments: the number of entries in the table, and the number of columns to break them into. As you can see from the example below, the first argument is delimited by a slash, and the second by a colon and a space (or end-of-line). The entries for the table then follow, one per line (not including the line with the <code>\makecolumns</code> command itself). - - <p><code>\parindent</code> defines the space to the left of the -table. <code>\hsize</code> defines the width of the table. +</p> +<p><code>\parindent</code> defines the space to the left of the +table. <code>\hsize</code> defines the width of the table. So you can adjust the position of the table on the page by assignments to these parameters, probably inside a group. - - <p>You can also control the penalty at a page break before the +</p> +<p>You can also control the penalty at a page break before the <code>\makecolumns</code> by setting the parameter -<code>\abovecolumnspenalty</code>. -<a name="index-abovecolumnspenalty-375"></a>Usually, the table is preceded by some explanatory text. You wouldn't +<code>\abovecolumnspenalty</code>. +<a name="index-abovecolumnspenalty"></a> +Usually, the table is preceded by some explanatory text. You wouldn’t want a page break to occur after the text and before the table, so Eplain sets it to <code>10000</code>. But if the table produced by <code>\makecolumns</code> is standing on its own, <code>\abovecolumnspenalty</code> should be decreased. - - <p>If you happen to give <code>\makecolumns</code> a smaller number of entries +</p> +<p>If you happen to give <code>\makecolumns</code> a smaller number of entries than you really have, some text beyond the (intended) end of the table will be incorporated into the table, probably producing an error message, or at least some strange looking entries. And if you give <code>\makecolumns</code> a larger number of entries than you really have, some of the entries will be typeset as straight text, probably also looking somewhat out of place. +</p> +<p>Here is an example: +</p> +<div class="example"> +<pre class="example">% Arrange 6 entries into 2 columns: +\makecolumns 6/2: % This line doesn't have an entry. +one +two +three +four +five +six +Text after the table. +</pre></div> + +<p>This produces ‘one’, ‘two’, and ‘three’ in the first column, and +‘four’, ‘five’, and ‘six’ in the second. +</p> - <p>Here is an example: - -<pre class="example"> % Arrange 6 entries into 2 columns: - \makecolumns 6/2: % This line doesn't have an entry. - one - two - three - four - five - six - Text after the table. -</pre> - <p class="noindent">This produces `one', `two', and `three' in the first column, and -`four', `five', and `six' in the second. - -<div class="node"> +<hr> <a name="Margins"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Multiple-columns">Multiple columns</a>, -Previous: <a rel="previous" accesskey="p" href="#Tables">Tables</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Multiple-columns" accesskey="n" rel="next">Multiple columns</a>, Previous: <a href="#Tables" accesskey="p" rel="previous">Tables</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Margins-1"></a> <h3 class="section">4.15 Margins</h3> -<p><a name="index-margins_002c-changing-376"></a>TeX's primitives describe the type area in terms of an offset from +<a name="index-margins_002c-changing"></a> +<p>TeX’s primitives describe the type area in terms of an offset from the upper left corner, and the width and height of the type. Some -people prefer to think in terms of the <dfn>margins</dfn> at the top, bottom, +people prefer to think in terms of the <em>margins</em> at the top, bottom, left, and right of the page, and most composition systems other than TeX conceive of the page laid out in this way. Therefore, Eplain provides commands to directly assign and increment the margins. - - <dl> -<dt><code>\topmargin = </code><var>dimen</var><dt><code>\bottommargin = </code><var>dimen</var><dt><code>\leftmargin = </code><var>dimen</var><br><dt><code>\rightmargin = </code><var>dimen</var><dd><a name="index-topmargin-377"></a><a name="index-bottommargin-378"></a><a name="index-leftmargin-379"></a><a name="index-rightmargin-380"></a>These commands set the specified margin to the <var>dimen</var> given. +</p> +<dl compact="compact"> +<dt><code>\topmargin = <var>dimen</var></code></dt> +<dt><code>\bottommargin = <var>dimen</var></code></dt> +<dt><code>\leftmargin = <var>dimen</var></code></dt> +<dt><code>\rightmargin = <var>dimen</var></code></dt> +<dd><a name="index-topmargin"></a> +<a name="index-bottommargin"></a> +<a name="index-leftmargin"></a> +<a name="index-rightmargin"></a> +<p>These commands set the specified margin to the <var>dimen</var> given. The <code>=</code> and the spaces around it are optional. The control sequences here are not TeX registers, despite appearances; therefore, commands like <code>\showthe\topmargin</code> will not do what you expect. - - <dt><code>\advancetopmargin by </code><var>dimen</var><dt><code>\advancebottommargin by </code><var>dimen</var><dt><code>\advanceleftmargin by </code><var>dimen</var><br><dt><code>\advancerightmargin by </code><var>dimen</var><dd><a name="index-advancetopmargin-381"></a><a name="index-advancebottommargin-382"></a><a name="index-advanceleftmargin-383"></a><a name="index-advancerightmargin-384"></a>These commands change the specified margin by the <var>dimen</var> given. +</p> +</dd> +<dt><code>\advancetopmargin by <var>dimen</var></code></dt> +<dt><code>\advancebottommargin by <var>dimen</var></code></dt> +<dt><code>\advanceleftmargin by <var>dimen</var></code></dt> +<dt><code>\advancerightmargin by <var>dimen</var></code></dt> +<dd><a name="index-advancetopmargin"></a> +<a name="index-advancebottommargin"></a> +<a name="index-advanceleftmargin"></a> +<a name="index-advancerightmargin"></a> +<p>These commands change the specified margin by the <var>dimen</var> given. +</p></dd> </dl> - <p>Regardless of whether you use the assignment or the advance commands, -Eplain always changes the type area in response, not the other margins. +<p>Regardless of whether you use the assignment or the advance commands, +Eplain always changes the type area in response, not the other margins. For example, when TeX starts, the left and right margins are both one inch. If you then say <code>\leftmargin = 2in</code>, the right margin will remain at one inch, and the width of the lines (i.e., <code>\hsize</code>) -<a name="index-hsize-385"></a>will decrease by one inch. - - <p>When you use any of these commands, Eplain computes the old value of +<a name="index-hsize"></a> +will decrease by one inch. +</p> +<p>When you use any of these commands, Eplain computes the old value of the particular margin, by how much you want to change it, and then -resets the values of TeX's primitive parameters to correspond. +resets the values of TeX’s primitive parameters to correspond. Unfortunately, Eplain cannot compute the right or bottom margin without help: you must tell it the full width and height of the final output page. It defines two new parameters for this: - - <dl> -<dt><code>\paperheight</code><dd><a name="index-paperheight-386"></a>The height of the output page; default is 11truein. - - <br><dt><code>\paperwidth</code><dd><a name="index-paperwidth-387"></a>The width of the output page; default is 8.5truein. +</p> +<dl compact="compact"> +<dt><code>\paperheight</code></dt> +<dd><a name="index-paperheight"></a> +<p>The height of the output page; default is 11truein. +</p> +</dd> +<dt><code>\paperwidth</code></dt> +<dd><a name="index-paperwidth"></a> +<p>The width of the output page; default is 8.5truein. +</p></dd> </dl> - <p>If your output page has different dimensions than this, you must +<p>If your output page has different dimensions than this, you must reassign to these parameters, as in +</p> +<div class="example"> +<pre class="example">\paperheight = 11truein +\paperwidth = 17truein +</pre></div> -<pre class="example"> \paperheight = 11truein - \paperwidth = 17truein -</pre> - <div class="node"> -<a name="Multiple-columns"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Footnotes">Footnotes</a>, -Previous: <a rel="previous" accesskey="p" href="#Margins">Margins</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> +<hr> +<a name="Multiple-columns"></a> +<div class="header"> +<p> +Next: <a href="#Footnotes" accesskey="n" rel="next">Footnotes</a>, Previous: <a href="#Margins" accesskey="p" rel="previous">Margins</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Multiple-columns-1"></a> <h3 class="section">4.16 Multiple columns</h3> -<p><a name="index-double-column-output-388"></a><a name="index-triple-column-output-389"></a><a name="index-quadruple-column-output-390"></a><a name="index-multiple-column-output-391"></a>Eplain provides for double, triple, and quadruple column output: say +<a name="index-double-column-output"></a> +<a name="index-triple-column-output"></a> +<a name="index-quadruple-column-output"></a> +<a name="index-multiple-column-output"></a> +<p>Eplain provides for double, triple, and quadruple column output: say <code>\doublecolumns</code>, -<a name="index-doublecolumns-392"></a><code>\triplecolumns</code>, -<a name="index-triplecolumns-393"></a>or <code>\quadcolumns</code>, -<a name="index-quadcolumns-394"></a>and from that point on, the manuscript will be +<a name="index-doublecolumns"></a> +<code>\triplecolumns</code>, +<a name="index-triplecolumns"></a> +or <code>\quadcolumns</code>, +<a name="index-quadcolumns"></a> +and from that point on, the manuscript will be set in columns. To go back to one column, say -<code>\singlecolumn</code>. -<a name="index-singlecolumn-395"></a> -<a name="index-column-balancing-with-_0040code_007b_005csinglecolumn_007d-396"></a><a name="index-balancing-of-columns-with-_0040code_007b_005csinglecolumn_007d-397"></a>You may need to invoke <code>\singlecolumn</code> to balance the columns +<code>\singlecolumn</code>. +<a name="index-singlecolumn"></a> +</p> +<a name="index-column-balancing-with-_005csinglecolumn"></a> +<a name="index-balancing-of-columns-with-_005csinglecolumn"></a> +<p>You may need to invoke <code>\singlecolumn</code> to balance the columns on the last page of output. - - <p><a name="index-columnfill-398"></a><a name="index-column-eject-399"></a><a name="index-eject-in-multicolumns-400"></a><a name="index-pagetotal-401"></a>To do a “column eject”, i.e., move to the top of the next column, do +</p> +<a name="index-columnfill"></a> +<a name="index-column-eject"></a> +<a name="index-eject-in-multicolumns"></a> +<a name="index-pagetotal"></a> +<p>To do a “column eject”, i.e., move to the top of the next column, do <code>\columnfill</code>. This does not actually force an eject, however: it -merely inserts a kern of size <code>\@normalvsize</code> minus -<code>\pagetotal</code> (<code>\@normalvsize</code> being the usual height of the -page; to implement multicolumns, Eplain multiplies <code>\vsize</code> itself -by the number of columns). In most circumstances, a column break will be -forced after this kern (during the column splitting operation when the -whole page is output), as desired. - - <p><a name="index-gutter-402"></a>The columns are separated by the value of the dimen parameter -<code>\gutter</code>. Default value is two picas. -<a name="index-gutterbox-403"></a>If you want to add vertical material between the columns, use +merely inserts an unbreakable space of (essentially) size +<code>\@normalvsize</code> minus <code>\pagetotal</code> (where +<code>\@normalvsize</code> is the usual height of the page; to implement +multicolumns, Eplain multiplies <code>\vsize</code> itself by the number of +columns). In most circumstances, a column break will be forced after +this space (during the column splitting operation when the whole page +is output). Bugs are easily possible, unfortunately. +</p> +<a name="index-gutter"></a> +<p>The columns are separated by the value of the dimen parameter +<code>\gutter</code>. Default value is two picas. +<a name="index-gutterbox"></a> +If you want to add vertical material between the columns, use <code>\gutterbox</code>. For example, to put a vertical line between columns, define <code>\gutterbox</code> as +</p> +<div class="example"> +<pre class="example">\def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}% +</pre></div> -<pre class="example"> \def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}% -</pre> - <p class="noindent">The dimension counter +<p>The dimension counter <code>\dimen0</code> contains the height of the column. - - <p>All the <code>\...columns</code> macros insert the value of the glue parameter +</p> +<p>All the <code>\…columns</code> macros insert the value of the glue parameter <code>\abovecolumnskip</code> -<a name="index-abovecolumnskip-404"></a>before the multicolumn text, and the value of the glue parameter +<a name="index-abovecolumnskip"></a> +before the multicolumn text, and the value of the glue parameter <code>\belowcolumnskip</code> -<a name="index-belowcolumnskip-405"></a>after it. The default value for both of these parameters is +<a name="index-belowcolumnskip"></a> +after it. The default value for both of these parameters is <code>\bigskipamount</code>, i.e., one linespace in plain TeX. - - <p>The macros take into account only the insertion classes -<a name="index-insertion-classes-406"></a>defined by plain TeX; namely, footnotes and <code>\topinsert</code>s. If +</p> +<p>The macros take into account only the insertion classes +<a name="index-insertion-classes"></a> +defined by plain TeX; namely, footnotes and <code>\topinsert</code>s. If you have additional insertion classes, you will need to change the implementation. - - <p>Also, Eplain makes insertions the full page width. There is no +</p> +<p>Also, Eplain makes insertions the full page width. There is no provision for column-width insertions. +</p> -<div class="node"> +<hr> <a name="Footnotes"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Fractions">Fractions</a>, -Previous: <a rel="previous" accesskey="p" href="#Multiple-columns">Multiple columns</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Fractions" accesskey="n" rel="next">Fractions</a>, Previous: <a href="#Multiple-columns" accesskey="p" rel="previous">Multiple columns</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Footnotes-1"></a> <h3 class="section">4.17 Footnotes</h3> -<p><a name="index-footnotes_002c-numbered-407"></a>The most common reference mark for footnotes is a raised number, +<a name="index-footnotes_002c-numbered"></a> +<p>The most common reference mark for footnotes is a raised number, incremented on each footnote. The <code>\numberedfootnote</code> -<a name="index-numberedfootnote-408"></a>macro provides this. It takes one argument, the footnote text. - - <p>If your document uses only numbered footnotes, you could make typing +<a name="index-numberedfootnote"></a> +macro provides this. It takes one argument, the footnote text. +</p> +<p>If your document uses only numbered footnotes, you could make typing <code>\numberedfootnote</code> more convenient with a command such as: +</p> +<div class="example"> +<pre class="example">\let\footnote = \numberedfootnote +</pre></div> -<pre class="example"> \let\footnote = \numberedfootnote -</pre> - <p class="noindent">After doing this, you can type your footnotes as -<code>\footnote{</code><var>footnote text</var><code>}</code>, instead of as -<code>\numberedfootnote{</code><var>footnote text</var><code>}</code>. - - <p>Eplain keeps the current footnote number in the count register +<p>After doing this, you can type your footnotes as +<code>\footnote{<var>footnote text</var>}</code>, instead of as +<code>\numberedfootnote{<var>footnote text</var>}</code>. +</p> +<p>Eplain keeps the current footnote number in the count register <code>\footnotenumber</code>. So, to reset the footnote number to zero, as you might want to do at, for example, the beginning of a chapter, you could say <code>\footnotenumber=0</code>. - - <p>Plain TeX separates the footnote marker from the footnote text by +</p> +<p>Plain TeX separates the footnote marker from the footnote text by an en space (it uses the <code>\textindent</code> macro). In Eplain, you can change this space by setting the dimension register -<code>\footnotemarkseparation</code>. -<a name="index-footnotemarkseparation-409"></a>The default is still an en. - - <p>You can produce a space between footenotes by setting the glue -register <code>\interfootnoteskip</code>. -<a name="index-interfootnoteskip-410"></a>The default is zero. - - <p><code>\parskip</code> is also set to zero by default before the beginning of +<code>\footnotemarkseparation</code>. +<a name="index-footnotemarkseparation"></a> +The default is still an en. +</p> +<p>You can produce a space between footenotes by setting the glue +register <code>\interfootnoteskip</code>. +<a name="index-interfootnoteskip"></a> +The default is zero. +</p> +<p><code>\parskip</code> is also set to zero by default before the beginning of each footnote (but not for the text of the footnote). - - <p>You can also control footnote formatting in a more general way: +</p> +<p>You can also control footnote formatting in a more general way: Eplain expands the token register <code>\everyfootnote</code> -<a name="index-everyfootnote-411"></a>before a footnote is typeset, but after the default values for all the +<a name="index-everyfootnote"></a> +before a footnote is typeset, but after the default values for all the parameters have been established. For example, if you want your footnotes to be printed in seven-point type, indented by one inch, you could say: +</p> +<div class="example"> +<pre class="example">\everyfootnote = {\sevenrm \leftskip = 1in} +</pre></div> -<pre class="example"> \everyfootnote = {\sevenrm \leftskip = 1in} -</pre> - <p>By default, an <code>\hrule</code> is typeset above each group of footnotes +<p>By default, an <code>\hrule</code> is typeset above each group of footnotes on a page. You can control the dimensions of this rule by setting the dimension registers <code>\footnoterulewidth</code> -<a name="index-footnoterulewidth-412"></a>and <code>\footnoteruleheight</code>. -<a name="index-footnoteruleheight-413"></a>The space between the rule and the first footnote on the page is -determined by the dimension register <code>\belowfootnoterulespace</code>. -<a name="index-belowfootnoterulespace-414"></a>If you don't want any rule at all, set <code>\footenoteruleheight=0pt</code>, +<a name="index-footnoterulewidth"></a> +and <code>\footnoteruleheight</code>. +<a name="index-footnoteruleheight"></a> +The space between the rule and the first footnote on the page is +determined by the dimension register <code>\belowfootnoterulespace</code>. +<a name="index-belowfootnoterulespace"></a> +If you don’t want any rule at all, set <code>\footenoteruleheight=0pt</code>, and, most likely, <code>\belowfootnoterulespace=0pt</code>. The defaults for these parameters typeset the rule in the same way as plain TeX: the rule is 0.4 points high, 2 true inches wide, with 2.6 points below it. - - <p>The space above the rule and below the text on the page is controlled +</p> +<p>The space above the rule and below the text on the page is controlled by the glue register <code>\skip\footins</code>. The default is a plain TeX <code>\bigskip</code>. +</p> +<p>Eplain can create hypertext links for the footnote marks (see <a href="#Footnote-hyperlinks">Footnote hyperlinks</a>). +</p> - <p>Eplain can create hypertext links for the footnote marks (see <a href="#Footnote-hyperlinks">Footnote hyperlinks</a>). -<div class="node"> +<hr> <a name="Fractions"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Paths">Paths</a>, -Previous: <a rel="previous" accesskey="p" href="#Footnotes">Footnotes</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Paths" accesskey="n" rel="next">Paths</a>, Previous: <a href="#Footnotes" accesskey="p" rel="previous">Footnotes</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Fractions-1"></a> <h3 class="section">4.18 Fractions</h3> -<p><a name="index-fractions-415"></a>Exercise 11.6 of <cite>The TeXbook</cite> describes a macro <code>\frac</code> -<a name="index-frac-416"></a>for setting fractions, but <code>\frac</code> never made it into plain TeX. +<a name="index-fractions"></a> +<p>Exercise 11.6 of <cite>The TeXbook</cite> describes a macro <code>\frac</code> +<a name="index-frac"></a> +for setting fractions, but <code>\frac</code> never made it into plain TeX. So Eplain includes it. - - <p><code>\frac</code> typesets the numerator and denominator in +</p> +<p><code>\frac</code> typesets the numerator and denominator in <code>\scriptfont0</code>, slightly raised and lowered. The numerator and denominator are separated by a slash. The denominator must be enclosed -in braces if it's more than one token long, but the numerator need not +in braces if it’s more than one token long, but the numerator need not be. (This is a consequence of <code>\frac</code> taking delimited arguments; see page 203 of <cite>The TeXbook</cite> for an explanation of delimited macro arguments.) - - <p>For example, <code>\frac 23/{64}</code> turns `23/64' into +</p> +<p>For example, <code>\frac 23/{64}</code> turns ‘23/64’ into . +</p> -<div class="node"> +<hr> <a name="Paths"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Logos">Logos</a>, -Previous: <a rel="previous" accesskey="p" href="#Fractions">Fractions</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Logos" accesskey="n" rel="next">Logos</a>, Previous: <a href="#Fractions" accesskey="p" rel="previous">Fractions</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Paths-1"></a> <h3 class="section">4.19 Paths</h3> -<p><a name="index-pathnames_002c-breaking-417"></a><a name="index-filenames_002c-breaking-418"></a><a name="index-electronic-mail-addresses_002c-breaking-419"></a> -When you typeset long pathnames, electronic mail addresses, or other +<a name="index-pathnames_002c-breaking"></a> +<a name="index-filenames_002c-breaking"></a> +<a name="index-electronic-mail-addresses_002c-breaking"></a> + +<p>When you typeset long pathnames, electronic mail addresses, or other such “computer” names, you would like TeX to break lines at punctuation characters within the name, rather than trying to find hyphenation points within the words. For example, it would be better to break the email address <code>letters@alpha.gnu.ai.mit.edu</code> at the -‘<samp><span class="samp">@</span></samp>’ or a ‘<samp><span class="samp">.</span></samp>’, rather than at the hyphenation points in -‘<samp><span class="samp">letters</span></samp>’ and ‘<samp><span class="samp">alpha</span></samp>’. - - <p><a name="index-path-420"></a>If you use the <code>\path</code> macro to typeset the names, TeX will find +‘<samp>@</samp>’ or a ‘<samp>.</samp>’, rather than at the hyphenation points in +‘<samp>letters</samp>’ and ‘<samp>alpha</samp>’. +</p> +<a name="index-path"></a> +<p>If you use the <code>\path</code> macro to typeset the names, TeX will find these good breakpoints. The argument to <code>\path</code> is delimited by -any character other other than ‘<samp><span class="samp">\</span></samp>’ which does not appear in the +any character other other than ‘<samp>\</samp>’ which does not appear in the name itself. -‘<samp><span class="samp">|</span></samp>’ is often a good choice, as in: +‘<samp>|</samp>’ is often a good choice, as in: +</p> +<div class="example"> +<pre class="example">\path|letters@alpha.gnu.ai.mit.edu| +</pre></div> -<pre class="example"> \path|letters@alpha.gnu.ai.mit.edu| -</pre> - <p><a name="index-discretionaries-421"></a>You can control the exact set of characters at which breakpoints will be +<a name="index-discretionaries"></a> +<p>You can control the exact set of characters at which breakpoints will be allowed by calling <code>\discretionaries</code>. This takes the same sort of delimited argument; any character in the argument will henceforth be a valid breakpoint within <code>\path</code>. The default set is essentially all the punctuation characters: +</p> +<div class="example"> +<pre class="example">\discretionaries |~!@$%^&*()_+`-=#{}[]:";'<>,.?\/| +</pre></div> -<pre class="example"> \discretionaries |~!@$%^&*()_+`-=#{}[]:";'<>,.?\/| -</pre> - <p><a name="index-specialpathdelimiters-_0040r_007b_0028conditional_0029_007d-422"></a>If for some reason you absolutely must use <code>\</code> as the delimiter +<a name="index-specialpathdelimiters-_0028conditional_0029"></a> +<p>If for some reason you absolutely must use <code>\</code> as the delimiter character for <code>\path</code>, you can set <code>\specialpathdelimiterstrue</code>. (Other delimiter characters can still be used.) TeX then processes the <code>\path</code> argument about four times more slowly. - - <p><a name="index-g_t_0040acronym_007bURL_007d-for-_0040file_007bpath_002esty_007d-423"></a>The <code>\path</code> macro comes from <samp><span class="file">path.sty</span></samp>, written by Nelson +</p> +<a name="index-URL-for-path_002esty"></a> +<p>The <code>\path</code> macro comes from <samp>path.sty</samp>, written by Nelson Beebe and Philip Taylor and available at <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/misc/path.sty">http://www.ctan.org/tex-archive/macros/latex/contrib/misc/path.sty</a>. +</p> -<div class="node"> +<hr> <a name="Logos"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Boxes">Boxes</a>, -Previous: <a rel="previous" accesskey="p" href="#Paths">Paths</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Boxes" accesskey="n" rel="next">Boxes</a>, Previous: <a href="#Paths" accesskey="p" rel="previous">Paths</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Logos-1"></a> <h3 class="section">4.20 Logos</h3> -<p><a name="index-logos-424"></a><a name="index-names_002c-of-_0040TeX_007b_007d-variants-425"></a> -Eplain redefines the <code>\TeX</code> -<a name="index-TeX-426"></a>macro of plain TeX to end with <code>\null</code>, so that the proper -spacing is produced when <code>\TeX</code> is used at the end of a sentence. -The other <small class="dots">...</small>TeX macros listed here do this, also. +<a name="index-logos"></a> +<a name="index-names_002c-of-TeX-variants"></a> - <p>Eplain defines +<p>Eplain redefines the <code>\TeX</code> +<a name="index-TeX"></a> +macro of plain TeX to end with <code>\null</code>, so that the proper +spacing is produced when <code>\TeX</code> is used at the end of a sentence. +The other …TeX macros listed here do this, also. +</p> +<p>Eplain defines <code>\AMSLaTeX</code>, -<a name="index-AMS_0040LaTeX_007b_007d-427"></a><a name="index-AMSLaTeX-428"></a><code>\AMSTeX</code>, -<a name="index-AMS_0040TeX_007b_007d-429"></a><a name="index-AMSTeX-430"></a><code>\BibTeX</code> -<a name="index-Bib_0040TeX_007b_007d-431"></a><a name="index-BibTeX-432"></a><code>\eTeX</code>, -<a name="index-e_0040TeX_007b_007d-433"></a><a name="index-eTeX-434"></a><code>\ExTeX</code>, -<a name="index-Ex_0040TeX_007b_007d-435"></a><a name="index-ExTeX-436"></a><code>\LAMSTeX</code>, -<a name="index-LAMS_0040TeX_007b_007d-437"></a><a name="index-LAMSTeX-438"></a><code>\LaTeX</code>, -<a name="index-g_t_0040LaTeX_007b_007d-439"></a><a name="index-LaTeX-440"></a><code>\MF</code>, -<a name="index-Metafont-441"></a><a name="index-MF-442"></a><code>\SLiTeX</code>, -<a name="index-SLi_0040TeX_007b_007d-443"></a><a name="index-SLiTeX-444"></a><code>\XeLaTeX</code>, -<a name="index-XeLa_0040TeX_007b_007d-445"></a><a name="index-XeLaTeX-446"></a>and <code>\XeTeX</code> -<a name="index-Xe_0040TeX_007b_007d-447"></a><a name="index-XeTeX-448"></a>to produce their respective logos. (Sorry, the logos are not shown +<a name="index-AMSLaTeX"></a> +<a name="index-AMSLaTeX-1"></a> +<code>\AMSTeX</code>, +<a name="index-AMSTeX"></a> +<a name="index-AMSTeX-1"></a> +<code>\BibTeX</code> +<a name="index-BibTeX-1"></a> +<a name="index-BibTeX-2"></a> +<code>\eTeX</code>, +<a name="index-eTeX"></a> +<a name="index-eTeX-1"></a> +<code>\ExTeX</code>, +<a name="index-ExTeX"></a> +<a name="index-ExTeX-1"></a> +<code>\LAMSTeX</code>, +<a name="index-LAMSTeX"></a> +<a name="index-LAMSTeX-1"></a> +<code>\LaTeX</code>, +<a name="index-LaTeX-2"></a> +<a name="index-LaTeX-4"></a> +<code>\MF</code>, +<a name="index-Metafont"></a> +<a name="index-MF"></a> +<code>\SLiTeX</code>, +<a name="index-SLiTeX"></a> +<a name="index-SLiTeX-1"></a> +<code>\XeLaTeX</code>, +<a name="index-XeLaTeX"></a> +<a name="index-XeLaTeX-1"></a> +and <code>\XeTeX</code> +<a name="index-XeTeX"></a> +<a name="index-XeTeX-1"></a> +to produce their respective logos. (Sorry, the logos are not shown here.) Some spelling variants of these are also supported. - - <p><a name="index-g_t_0040acronym_007bURL_007d-for-_0040file_007btexnames_002esty_007d-449"></a>Most of these macros come from <samp><span class="file">texnames.sty</span></samp>, compiled by Nelson +</p> +<a name="index-URL-for-texnames_002esty"></a> +<p>Most of these macros come from <samp>texnames.sty</samp>, compiled by Nelson Beebe and available at <a href="http://www.ctan.org/tex-archive/info/biblio/texnames.sty">http://www.ctan.org/tex-archive/info/biblio/texnames.sty</a>. +</p> -<div class="node"> +<hr> <a name="Boxes"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Checking-for-PDF-output">Checking for PDF output</a>, -Previous: <a rel="previous" accesskey="p" href="#Logos">Logos</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Checking-for-PDF-output" accesskey="n" rel="next">Checking for PDF output</a>, Previous: <a href="#Logos" accesskey="p" rel="previous">Logos</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Boxes-1"></a> <h3 class="section">4.21 Boxes</h3> -<p><a name="index-black-boxes-450"></a><a name="index-rectangles-451"></a>The solid rectangle that Eplain uses as a marker in unordered lists -(see <a href="#Lists">Lists</a>) is available by itself: just say <code>\blackbox</code>. -<a name="index-blackbox-452"></a> -You can create black boxes of arbitrary size with <code>\hrule</code> or +<a name="index-black-boxes"></a> +<a name="index-rectangles"></a> +<p>The solid rectangle that Eplain uses as a marker in unordered lists +(see <a href="#Lists">Lists</a>) is available by itself: just say <code>\blackbox</code>. +<a name="index-blackbox"></a> +</p> +<p>You can create black boxes of arbitrary size with <code>\hrule</code> or <code>\vrule</code>. - - <p><a name="index-open-boxes-453"></a><a name="index-boxes_002c-open-454"></a>You can also get unfilled rectangles with <code>\makeblankbox</code>. -<a name="index-makeblankbox-455"></a>This takes two explicit arguments: the height and depth of the rules that +</p> +<a name="index-open-boxes"></a> +<a name="index-boxes_002c-open"></a> +<p>You can also get unfilled rectangles with <code>\makeblankbox</code>. +<a name="index-makeblankbox"></a> +This takes two explicit arguments: the height and depth of the rules that define the top and bottom of the rectangle. (The two arguments are added to get the width of the left and right borders, so that the thickness of the border is the same on all four sides.) It also uses, as implicit arguments, the dimensions of <code>\box0</code> to define the dimensions of the rectangle it produces. (The contents of <code>\box0</code> are ignored.) - - <p>Here is an example. This small raised open box is suitable for +</p> +<p>Here is an example. This small raised open box is suitable for putting next to numbers in, e.g., a table of contents. +</p> +<div class="example"> +<pre class="example">\def\openbox{% + \ht0 = 1.75pt \dp0 = 1.75pt \wd0 = 3.5pt + \raise 2.75pt \makeblankbox{.2pt}{.2pt} +} +</pre></div> -<pre class="example"> \def\openbox{% - \ht0 = 1.75pt \dp0 = 1.75pt \wd0 = 3.5pt - \raise 2.75pt \makeblankbox{.2pt}{.2pt} - } -</pre> - <p>Finally, you can put a box around arbitrary text with <code>\boxit</code>. -<a name="index-boxit-456"></a>This takes one argument, which must itself be a (TeX) box, and puts a +<p>Finally, you can put a box around arbitrary text with <code>\boxit</code>. +<a name="index-boxit"></a> +This takes one argument, which must itself be a (TeX) box, and puts a printed box around it, separated by <code>\boxitspace</code> -<a name="index-boxitspace-457"></a>white space (3 points by default) on all four sides. For example: +<a name="index-boxitspace"></a> +white space (3 points by default) on all four sides. For example: +</p> +<div class="example"> +<pre class="example">\boxit{\hbox{This text is boxed.}} +</pre></div> -<pre class="example"> \boxit{\hbox{This text is boxed.}} -</pre> - <p>The reason that the argument must be a box is that when the text is +<p>The reason that the argument must be a box is that when the text is more than one line long, TeX cannot figure out the line length for itself. Eplain does set <code>\parindent</code> to zero inside <code>\boxit</code>, since it is very unlikely you would want indentation there. (If you do, you can always reset it yourself.) - - <p><code>\boxit</code> uses <code>\ehrule</code> and <code>\evrule</code> so that you can +</p> +<p><code>\boxit</code> uses <code>\ehrule</code> and <code>\evrule</code> so that you can easily adjust the thicknesses of the box rules. See <a href="#Rules">Rules</a>. +</p> -<div class="node"> +<hr> <a name="Checking-for-PDF-output"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Loading-LaTeX-packages">Loading LaTeX packages</a>, -Previous: <a rel="previous" accesskey="p" href="#Boxes">Boxes</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Next: <a href="#Loading-LaTeX-packages" accesskey="n" rel="next">Loading LaTeX packages</a>, Previous: <a href="#Boxes" accesskey="p" rel="previous">Boxes</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Checking-for-PDF-output-1"></a> <h3 class="section">4.22 Checking for PDF output</h3> -<p><a name="index-g_t_0040acronym_007bURL_007d-for-pdf_0040TeX_007b_007d-458"></a><a name="index-g_t_0040acronym_007bPDF_007d-output-459"></a><a name="index-pdftex-460"></a><a name="index-g_t_002epdf-_0040r_007bfiles_007d-461"></a>pdfTeX is a TeX variant that can output both <samp><span class="file">.dvi</span></samp> and -<samp><span class="file">.pdf</span></samp> (Adobe's Portable Document Format) files (see +<a name="index-URL-for-pdfTeX"></a> +<a name="index-PDF-output"></a> +<a name="index-pdftex-1"></a> +<a name="index-_002epdf-files"></a> +<p>pdfTeX is a TeX variant that can output both <samp>.dvi</samp> and +<samp>.pdf</samp> (Adobe’s Portable Document Format) files (see <a href="http://www.ctan.org/tex-archive/systems/pdftex">http://www.ctan.org/tex-archive/systems/pdftex</a>). You might -sometimes want to know whether the target format is <samp><span class="file">.pdf</span></samp> or -<samp><span class="file">.dvi</span></samp>. The <code>\ifpdf</code> -<a name="index-ifpdf-462"></a>switch can be used to detect pdfTeX in <acronym>PDF</acronym> mode: - -<pre class="example"> \ifpdf - This text is produced when pdfTeX is in PDF mode. - \else - This text is produced when pdfTeX is in DVI mode, - or when some program other than pdfTeX is used. - \fi -</pre> - <p>Keep in mind that <code>\ifpdf</code> is set based on the value of the +sometimes want to know whether the target format is <samp>.pdf</samp> or +<samp>.dvi</samp>. The <code>\ifpdf</code> +<a name="index-ifpdf"></a> +switch can be used to detect pdfTeX in <acronym>PDF</acronym> mode: +</p> +<div class="example"> +<pre class="example">\ifpdf + This text is produced when pdfTeX is in PDF mode. +\else + This text is produced when pdfTeX is in DVI mode, + or when some program other than pdfTeX is used. +\fi +</pre></div> + +<p>Keep in mind that <code>\ifpdf</code> is set based on the value of the <code>\pdfoutput</code> -<a name="index-pdfoutput-463"></a>primitive of pdfTeX at the time Eplain is loaded. If you change +<a name="index-pdfoutput"></a> +primitive of pdfTeX at the time Eplain is loaded. If you change the value of <code>\pdfoutput</code> after you load Eplain, <code>\ifpdf</code> will not reflect the change. - - <p><a name="index-g_t_0040acronym_007bURL_007d-for-_0040file_007bifpdf_002esty_007d-464"></a><a name="index-Oberdiek_002c-Heiko-465"></a>Eplain defines <code>\ifpdf</code> by incorporating Heiko Oberdiek's -<samp><span class="file">ifpdf.sty</span></samp>, which is available at +</p> +<a name="index-URL-for-ifpdf_002esty"></a> +<a name="index-Oberdiek_002c-Heiko"></a> +<p>Eplain defines <code>\ifpdf</code> by incorporating Heiko Oberdiek’s +<samp>ifpdf.sty</samp>, which is available at <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifpdf.sty">http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifpdf.sty</a>. +</p> -<div class="node"> +<hr> <a name="Loading-LaTeX-packages"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Checking-for-PDF-output">Checking for PDF output</a>, -Up: <a rel="up" accesskey="u" href="#User-definitions">User definitions</a> - +<div class="header"> +<p> +Previous: <a href="#Checking-for-PDF-output" accesskey="p" rel="previous">Checking for PDF output</a>, Up: <a href="#User-definitions" accesskey="u" rel="up">User definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Loading-LaTeX-packages-1"></a> <h3 class="section">4.23 Loading LaTeX packages</h3> -<p><a name="index-g_t_0040LaTeX_007b_007d-packages-466"></a><a name="index-packages_002c-_0040LaTeX_007b_007d-467"></a><a name="index-g_t_002esty-_0040r_007bfiles_007d-468"></a><a name="index-g_t_002ecls-_0040r_007bfiles_007d-469"></a>Eplain provides a limited support for loading LaTeX packages -(<samp><span class="file">.sty</span></samp> files—not <samp><span class="file">.cls</span></samp>). This will mostly work for +<a name="index-LaTeX-packages"></a> +<a name="index-packages_002c-LaTeX"></a> +<a name="index-_002esty-files"></a> +<a name="index-_002ecls-files"></a> + +<p>Eplain provides a limited support for loading LaTeX packages +(<samp>.sty</samp> files—not <samp>.cls</samp>). This will mostly work for packages which were designed with plain TeX compatibility in mind, which means that most LaTeX packages cannot be loaded. The packages which are known to work are listed below (see <a href="#Packages-known-to-work">Packages known to work</a>). If you discover a working package which is not in the list, please report it to the Eplain mailing list (see <a href="#Introduction">Introduction</a>). - - <p><a name="index-graphics-collection_002c-_0040LaTeX_007b_007d-470"></a><a name="index-g_t_0040LaTeX_007b_007d-graphics-collection-471"></a><a name="index-miniltx_002etex-472"></a><a name="index-Carlisle_002c-David-473"></a><a name="index-Rahtz_002c-Sebastian-474"></a>To set up a pseudo-LaTeX environment for the packages, Eplain uses -<samp><span class="file">miniltx.tex</span></samp> +</p> +<a name="index-graphics-collection_002c-LaTeX"></a> +<a name="index-LaTeX-graphics-collection"></a> +<a name="index-miniltx_002etex"></a> +<a name="index-Carlisle_002c-David"></a> +<a name="index-Rahtz_002c-Sebastian"></a> +<p>To set up a pseudo-LaTeX environment for the packages, Eplain uses +<samp>miniltx.tex</samp> (<a href="http://www.ctan.org/tex-archive/macros/plain/graphics/miniltx.tex">http://www.ctan.org/tex-archive/macros/plain/graphics/miniltx.tex</a>) from the LaTeX graphics collection, written by David Carlisle and Sebastian Rahtz (the collection is available at -<a href="http://www.ctan.org/tex-archive/macros/latex/required/graphics">http://www.ctan.org/tex-archive/macros/latex/required/graphics</a>). -Eplain extends <samp><span class="file">miniltx.tex</span></samp> to provide some additional features, +<a href="http://www.ctan.org/tex-archive/macros/latex/required/graphics">http://www.ctan.org/tex-archive/macros/latex/required/graphics</a>). +Eplain extends <samp>miniltx.tex</samp> to provide some additional features, e.g., support for package options. - -<ul class="menu"> -<li><a accesskey="1" href="#The-_005cusepackage-command">The \usepackage command</a>: Command to load packages. -<li><a accesskey="2" href="#Environment-for-loading-packages">Environment for loading packages</a>: Environment for the \usepackage commands. -<li><a accesskey="3" href="#Packages-known-to-work">Packages known to work</a>: Supported packages. -<li><a accesskey="4" href="#Packages-known-not-to-work">Packages known not to work</a>: Packages known not to work with Eplain. -</ul> - -<div class="node"> -<a name="The-%5cusepackage-command"></a> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#The-_005cusepackage-command" accesskey="1">The \usepackage command</a>:</td><td> </td><td align="left" valign="top">Command to load packages. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Environment-for-loading-packages" accesskey="2">Environment for loading packages</a>:</td><td> </td><td align="left" valign="top">Environment for the \usepackage commands. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Packages-known-to-work" accesskey="3">Packages known to work</a>:</td><td> </td><td align="left" valign="top">Packages supported with Eplain. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Packages-known-not-to-work" accesskey="4">Packages known not to work</a>:</td><td> </td><td align="left" valign="top">Packages known not to work with Eplain. +</td></tr> +</table> + +<hr> <a name="The-_005cusepackage-command"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Environment-for-loading-packages">Environment for loading packages</a>, -Up: <a rel="up" accesskey="u" href="#Loading-LaTeX-packages">Loading LaTeX packages</a> - +<div class="header"> +<p> +Next: <a href="#Environment-for-loading-packages" accesskey="n" rel="next">Environment for loading packages</a>, Up: <a href="#Loading-LaTeX-packages" accesskey="u" rel="up">Loading LaTeX packages</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="The-_005cusepackage-command-1"></a> <h4 class="subsection">4.23.1 The <code>\usepackage</code> command</h4> -<p><a name="index-usepackage-475"></a><code>\usepackage</code> loads a LaTeX package. Its syntax is similar to -that of LaTeX's <code>\usepackage</code> command: +<a name="index-usepackage"></a> +<p><code>\usepackage</code> loads a LaTeX package. Its syntax is similar to +that of LaTeX’s <code>\usepackage</code> command: +</p> +<div class="example"> +<pre class="example">\usepackage[<var>options</var>]{<var>packages</var>}[<var>version</var>] +</pre></div> -<pre class="example"> \usepackage[<var>options</var>]{<var>packages</var>}[<var>version</var>] -</pre> - <p class="noindent">where <var>options</var> is a comma-separated list of package +<p>where <var>options</var> is a comma-separated list of package options, <var>packages</var> is a comma-separated list of packages to load -(without the <samp><span class="file">.sty</span></samp> suffix), and <var>version</var> is a package -version number given as a date in the format ‘<samp><span class="samp">YYYY/MM/DD</span></samp>’. If an +(without the <samp>.sty</samp> suffix), and <var>version</var> is a package +version number given as a date in the format ‘<samp>YYYY/MM/DD</samp>’. If an older version of the package is found, a warning is issued. If several packages are loaded within a single <code>\usepackage</code> -command, the <var>options</var> will be applied to each of the packages. +command, the <var>options</var> will be applied to each of the packages. As usual, parameters in square brackets are optional and can be omitted (together with the square brackets). +</p> +<p>For example: +</p> +<div class="example"> +<pre class="example">\usepackage[foo,bar]{pack1,pack2}[2005/08/29] +</pre></div> - <p>For example: - -<pre class="example"> \usepackage[foo,bar]{pack1,pack2}[2005/08/29] -</pre> - <p class="noindent">will load packages ‘<samp><span class="samp">pack1</span></samp>’ and ‘<samp><span class="samp">pack2</span></samp>’, each with -the options ‘<samp><span class="samp">foo</span></samp>’ and ‘<samp><span class="samp">bar</span></samp>’, and will check that each of the +<p>will load packages ‘<samp>pack1</samp>’ and ‘<samp>pack2</samp>’, each with +the options ‘<samp>foo</samp>’ and ‘<samp>bar</samp>’, and will check that each of the packages are dated 2005/08/29 or newer. +</p> -<div class="node"> +<hr> <a name="Environment-for-loading-packages"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Packages-known-to-work">Packages known to work</a>, -Previous: <a rel="previous" accesskey="p" href="#The-_005cusepackage-command">The \usepackage command</a>, -Up: <a rel="up" accesskey="u" href="#Loading-LaTeX-packages">Loading LaTeX packages</a> - +<div class="header"> +<p> +Next: <a href="#Packages-known-to-work" accesskey="n" rel="next">Packages known to work</a>, Previous: <a href="#The-_005cusepackage-command" accesskey="p" rel="previous">The \usepackage command</a>, Up: <a href="#Loading-LaTeX-packages" accesskey="u" rel="up">Loading LaTeX packages</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Environment-for-loading-packages-1"></a> <h4 class="subsection">4.23.2 Environment for loading packages</h4> -<p><a name="index-beginpackages-476"></a><a name="index-endpackages-477"></a>Some packages request that certain commands are executed after all +<a name="index-loading-packages_002c-environment-for"></a> + +<a name="index-beginpackages"></a> +<a name="index-endpackages"></a> +<p>Some packages request that certain commands are executed after all packages have been loaded. In LaTeX, this means that the commands are executed at the beginning of the document, after the so-called -<dfn>preamble</dfn>. Neither plain TeX nor Eplain have any kind of +<em>preamble</em>. Neither plain TeX nor Eplain have a concept of preamble; therefore, Eplain requires that all packages be loaded inside -a <code>\beginpackages...\endpackages</code> block, for example: +a <code>\beginpackages...\endpackages</code> block. For example: +</p> +<div class="example"> +<pre class="example">\beginpackages + \usepackage[foo,bar]{pack1} + \usepackage{pack2} +\endpackages +</pre></div> -<pre class="example"> \beginpackages - \usepackage[foo,bar]{pack1} - \usepackage{pack2} - \endpackages -</pre> - <p class="noindent">This requirement enables Eplain to execute the “delayed” +<p>This requirement enables Eplain to execute the “delayed” commands at the end of the <code>\beginpackages...\endpackages</code> block. - - <p>For the same reason, it is advisable to specify only one such block +</p> +<p>For the same reason, it is advisable to specify only one such block per document, just like there is only one preamble in LaTeX. - - <p><a name="index-input-478"></a><a name="index-g_t_0040LaTeX_007b_007d-packages_002c-restoring-_0040code_007b_005cinput_007d-479"></a><a name="index-restoring-_0040code_007b_005cinput_007d_002c-_0040LaTeX_007b_007d-packages-480"></a>Some packages (and the pseudo-LaTeX environment, <samp><span class="file">miniltx.tex</span></samp>) -redefine TeX's primitive <code>\input</code> to be a macro. Non-primitive -<code>\input</code> is probably not what the user expects under -plain TeX. Therefore, at the beginning of the +</p> +<a name="index-input"></a> +<a name="index-eplaininput"></a> +<a name="index-LaTeX-packages_002c-restoring-_005cinput"></a> +<a name="index-restoring-_005cinput_002c-LaTeX-packages"></a> +<p>Both the <samp>miniltx.tex</samp> file used by Eplain and some LaTeX +packages redefine TeX’s primitive <code>\input</code> to be a macro. +Under plain TeX, users probably expect the primitive +<code>\input</code>. Therefore, at the beginning of the <code>\beginpackages...\endpackages</code> block Eplain saves the meaning of -<code>\input</code> as -<a name="index-eplaininput-481"></a><code>\eplaininput</code> and restores the original <code>\input</code> at the end -of the block. This usually means that the primitive <code>\input</code> is -restored, unless you (or some other macro package you've loaded -directly) have redefined it before calling <code>\beginpackages</code>. In -case you need to access the package-provided <code>\input</code>, Eplain saves -it as <code>\packageinput</code>. - - <p><a name="index-hanging-on-_0040code_007b_005cinput_007d-482"></a><a name="index-error-on-_0040code_007b_005cinput_007d-483"></a>Sometimes you may encounter packages which make conflicting +<code>\input</code> as <code>\eplaininput</code> and restores the original +<code>\input</code> at the end of the block. This usually means that the +primitive <code>\input</code> is restored, unless you (or some other macro +package you’ve loaded directly) have redefined it before calling +<code>\beginpackages</code>. In case you need to access the +package-provided <code>\input</code>, Eplain saves it as +<code>\packageinput</code>. +</p> +<a name="index-resetatcatcode"></a> +<a name="index-catcode-of-_0040"></a> +<p>Along the same lines, Eplain restores the catcode of ‘<samp>@</samp>’ at +<code>\endpackages</code> to whatever it was before (using +<code>\resetatcatcode</code>, as defined by <samp>miniltx.tex</samp>). This is +needed because <samp>miniltx.tex</samp>, read by <code>\beginpackages</code>, does +not restore the catcode of ‘<samp>@</samp>’, but leaves it as 11 (letter). +</p> +<a name="index-hanging-on-_005cinput"></a> +<a name="index-error-on-_005cinput"></a> +<p>Sometimes you may encounter packages which make conflicting redefinitions of <code>\input</code>. Common symptoms are TeX spewing incomprehensible error messages or hanging in a loop at a call to -<code>\input</code>. This sometimes can be cured by restoring <code>\input</code> +<code>\input</code>. This sometimes cna be cured by restoring <code>\input</code> to <code>\eplaininput</code> before loading each package. For example: +</p> +<div class="example"> +<pre class="example">\beginpackages + \usepackage{pack1} + \let\input\eplaininput + \usepackage{pack2} +\endpackages +</pre></div> -<pre class="example"> \beginpackages - \usepackage{pack1} - \let\input\eplaininput - \usepackage{pack2} - \endpackages -</pre> - <div class="node"> -<a name="Packages-known-to-work"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Packages-known-not-to-work">Packages known not to work</a>, -Previous: <a rel="previous" accesskey="p" href="#Environment-for-loading-packages">Environment for loading packages</a>, -Up: <a rel="up" accesskey="u" href="#Loading-LaTeX-packages">Loading LaTeX packages</a> +<hr> +<a name="Packages-known-to-work"></a> +<div class="header"> +<p> +Next: <a href="#Packages-known-not-to-work" accesskey="n" rel="next">Packages known not to work</a>, Previous: <a href="#Environment-for-loading-packages" accesskey="p" rel="previous">Environment for loading packages</a>, Up: <a href="#Loading-LaTeX-packages" accesskey="u" rel="up">Loading LaTeX packages</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Packages-known-to-work-1"></a> <h4 class="subsection">4.23.3 Packages known to work</h4> -<p><a name="index-g_t_0040LaTeX_007b_007d-packages-484"></a><a name="index-packages_002c-_0040LaTeX_007b_007d-485"></a>The following table lists packages that had been tested and are known +<a name="index-LaTeX-packages-1"></a> +<a name="index-packages_002c-LaTeX-1"></a> +<p>The following table lists packages that had been tested and are known to work with Eplain, and locations where you can find manuals for these packages. Some of the short descriptions of the packages were taken from the documentation for those packages. - - <dl> -<dt>autopict (‘<samp><span class="samp">2001/06/04 v1.1j Picture mode autoload file</span></samp>’)<dd><a name="index-autopict_002esty-486"></a><a href="http://tug.org/eplain/misc/ltpictur.pdf">http://tug.org/eplain/misc/ltpictur.pdf</a> - - <p><a name="index-picture-mode-487"></a><a name="index-begin_0040_007bpicture_0040_007d-488"></a><a name="index-end_0040_007bpicture_0040_007d-489"></a>This is the LaTeX “picture mode”, started by +</p> +<dl compact="compact"> +<dt>autopict (‘<samp>2001/06/04 v1.1j Picture mode autoload file</samp>’)</dt> +<dd><a name="index-autopict_002esty"></a> +<p><a href="http://tug.org/eplain/misc/ltpictur.pdf">http://tug.org/eplain/misc/ltpictur.pdf</a> +</p> +<a name="index-picture-mode"></a> +<a name="index-begin_007bpicture_007d"></a> +<a name="index-end_007bpicture_007d"></a> +<p>This is the LaTeX “picture mode”, started by <code>\begin{picture}</code> and ended by <code>\end{picture}</code> (in LaTeX, this package is not explicitly loaded since it is part of the LaTeX kernel). It provides commands to draw simple figures inside your document without resorting to any external tools. - - <br><dt>color (‘<samp><span class="samp">1999/02/16 v1.0i Standard LaTeX Color (DPC)</span></samp>’)<dd><a name="index-color_002esty-490"></a><dt>graphics (‘<samp><span class="samp">2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)</span></samp>’)<dd><a name="index-graphics_002esty-491"></a><dt>graphicx (‘<samp><span class="samp">1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)</span></samp>’)<dd><a name="index-graphicx_002esty-492"></a><a href="http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf">http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf</a> - - <p><a name="index-graphics-collection_002c-_0040LaTeX_007b_007d-493"></a><a name="index-g_t_0040LaTeX_007b_007d-graphics-collection-494"></a><a name="index-color-495"></a><a name="index-rotation-496"></a><a name="index-scaling-497"></a>These packages are from the LaTeX graphics collection. They +</p> +</dd> +<dt>color (‘<samp>1999/02/16 v1.0i Standard LaTeX Color (DPC)</samp>’)</dt> +<dd><a name="index-color_002esty"></a> +</dd> +<dt>graphics (‘<samp>2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)</samp>’)</dt> +<dd><a name="index-graphics_002esty"></a> +</dd> +<dt>graphicx (‘<samp>1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)</samp>’)</dt> +<dd><a name="index-graphicx_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf">http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf</a> +</p> +<a name="index-graphics-collection_002c-LaTeX-1"></a> +<a name="index-LaTeX-graphics-collection-1"></a> +<a name="index-color"></a> +<a name="index-rotation"></a> +<a name="index-scaling"></a> +<p>These packages are from the LaTeX graphics collection. They provide commands for changing text/page colors, text rotation and scaling, and much more. - - <p><a name="index-color_002c-problems-with-pdf_0040TeX_007b_007d-498"></a><a name="index-graphics_002c-problems-with-pdf_0040TeX_007b_007d-499"></a><a name="index-pdf_0040TeX_007b_007d_002c-problems-using-color-and-graphics-500"></a><a name="index-pdf_0040TeX_007b_007d_002c-problems-with-_0040file_007bsupp_002dmis_002etex_007d-501"></a><a name="index-Con_0040TeX_007b_007dt-502"></a><a name="index-supp_002dmis_002etex_0040r_007b_002c-problems-with-pdf_0040TeX_007b_007d_007d-503"></a><a name="index-supp_002dpdf_002etex-504"></a><strong>Warning 1:</strong> If you encounter problems loading one of +</p> +<a name="index-color_002c-problems-with-pdfTeX"></a> +<a name="index-graphics_002c-problems-with-pdfTeX"></a> +<a name="index-pdfTeX_002c-problems-using-color-and-graphics"></a> +<a name="index-pdfTeX_002c-problems-with-supp_002dmis_002etex"></a> +<a name="index-ConTeXt"></a> +<a name="index-supp_002dmis_002etex_002c-problems-with-pdfTeX"></a> +<a name="index-supp_002dpdf_002etex"></a> +<p><strong>Warning 1:</strong> If you encounter problems loading one of these packages under pdfTeX (more specifically, when pdfTeX -reads <samp><span class="file">supp-mis.tex</span></samp>), the cause may be an outdated -<samp><span class="file">supp-mis.tex</span></samp> (part of ConTeXt, a typesetting system for +reads <samp>supp-mis.tex</samp>), the cause may be an outdated +<samp>supp-mis.tex</samp> (part of ConTeXt, a typesetting system for TeX) installed on your system. The problem was fixed in -<samp><span class="file">supp-mis.tex</span></samp> version 2004.10.26. You can obtain -up-to-date versions of <samp><span class="file">supp-mis.tex</span></samp> and the accompanying -<samp><span class="file">supp-pdf.tex</span></samp> from -<a href="http://www.ctan.org/tex-archive/macros/pdftex/graphics">http://www.ctan.org/tex-archive/macros/pdftex/graphics</a>. +<samp>supp-mis.tex</samp> version 2004.10.26. You can obtain +up-to-date versions of <samp>supp-mis.tex</samp> and the accompanying +<samp>supp-pdf.tex</samp> from +<a href="http://www.ctan.org/tex-archive/macros/pdftex/graphics">http://www.ctan.org/tex-archive/macros/pdftex/graphics</a>. To convince TeX to use the new files, you have the following options in the decreasing order of preference: +</p> +<ol> +<li> put the new files in the same directory with your document; - <ol type=1 start=1> -<li>put the new files in the same directory with your document; - - <li>overwrite the outdated files installed by your TeX distribution; +</li><li> overwrite the outdated files installed by your TeX distribution; - <li>install the new <samp><span class="file">supp-mis.tex</span></samp> and <samp><span class="file">supp-pdf.tex</span></samp> files in -the relevant subdirectory of your local <samp><span class="file">texmf</span></samp> tree (for info on +</li><li> install the new <samp>supp-mis.tex</samp> and <samp>supp-pdf.tex</samp> files in +the relevant subdirectory of your local <samp>texmf</samp> tree (for info on TeX directory structure see <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds</a>); - <li>upgrade your ConTeXt installation. - </ol> +</li><li> upgrade your ConTeXt installation. +</li></ol> - <p class="noindent">Note that option 1 is the safest but provides the fix +<p>Note that option 1 is the safest but provides the fix only for your current document. Options 2 and 3 will usually suffice for Eplain but may break ConTeXt. Option 4 is the most general but is more complicated than the first three. Be sure to backup any files you overwrite. Also keep in mind that upgrading your TeX distribution may overwrite files you install in -the system <samp><span class="file">texmf</span></samp> tree.<br> <strong>End of warning 1.</strong> - - <p><strong>Warning 2:</strong> If you encounter problems using the -<code>\pagecolor</code> command from the <samp><span class="file">color.sty</span></samp> package under +the system <samp>texmf</samp> tree.<br> <strong>End of warning 1.</strong> +</p> +<p><strong>Warning 2:</strong> If you encounter problems using the +<code>\pagecolor</code> command from the <samp>color.sty</samp> package under pdfTeX, the cause may be an outdated pdfTeX color and graphics -driver <samp><span class="file">pdftex.def</span></samp>. The problem was fixed in <samp><span class="file">pdftex.def</span></samp> +driver <samp>pdftex.def</samp>. The problem was fixed in <samp>pdftex.def</samp> version 0.03p. You can obtain an up-to-date version from <a href="http://www.ctan.org/tex-archive/graphics/pdftex/pdftex.def">http://www.ctan.org/tex-archive/graphics/pdftex/pdftex.def</a>.<br> <strong>End of warning 2.</strong> - - <p><a name="index-omitting-typesetting-of-graphics-505"></a><a name="index-graphics_002c-omitting-typesetting-of-506"></a>The <samp><span class="file">graphics</span></samp>/<samp><span class="file">graphicx</span></samp> packages have the option -<a name="index-g_t_0040code_007bdraft_007d_002c-option-for-_0040file_007bgraphics_002esty_007d-507"></a><code>draft</code> which instructs <code>\includegraphics</code> not to include the +</p> +<a name="index-omitting-typesetting-of-graphics"></a> +<a name="index-graphics_002c-omitting-typesetting-of"></a> +<p>The <samp>graphics</samp>/<samp>graphicx</samp> packages have the option +<a name="index-draft_002c-option-for-graphics_002esty"></a> +<code>draft</code> which instructs <code>\includegraphics</code> not to include the graphics but instead typeset a box with the dimensions of the graphics and the name of the graphics file in typewriter type at the center of the box. These packages expect the LaTeX-provided command -<a name="index-ttfamily-508"></a><code>\ttfamily</code> to switch to the typewrite type. This command is not -defined by <samp><span class="file">miniltx.tex</span></samp>, therefore Eplain defines it and makes it -equivalent to plain TeX's -<a name="index-tt-509"></a><code>\tt</code>. - - <p>See <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>, for the demonstration of text rotation and -graphics inclusion using the <samp><span class="file">graphicx</span></samp> package, and using the -<samp><span class="file">color</span></samp> package to colorize hypertext links. - - <p><a name="index-H_0040_0022oppner_002c-Klaus-510"></a>Klaus Höppner has written a nice introduction to the LaTeX graphics +<a name="index-ttfamily"></a> +<code>\ttfamily</code> to switch to the typewrite type. This command is not +defined by <samp>miniltx.tex</samp>, therefore Eplain defines it and makes it +equivalent to plain TeX’s +<a name="index-tt"></a> +<code>\tt</code>. +</p> +<p>See <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>, for the demonstration of text rotation and +graphics inclusion using the <samp>graphicx</samp> package, and using the +<samp>color</samp> package to colorize hypertext links. +</p> +<a name="index-Hoppner_002c-Klaus"></a> +<p>Klaus Höppner has written a nice introduction to the LaTeX graphics packages and different graphics formats. You can download it from - <pre class="display"> <a href="http://www.tug.org/pracjourn/2005-3/hoeppner">http://www.tug.org/pracjourn/2005-3/hoeppner</a> -</pre> - <br><dt>epstopdf (‘<samp><span class="samp">2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)</span></samp>’)<dd><a name="index-epstopdf_002esty-511"></a><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek">http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek</a> - - <p><a name="index-Encapsulated-PostScript-512"></a><a name="index-g_t_0040acronym_007bEPS_007d-513"></a><a name="index-g_t_002eeps-_0040r_007bfiles_007d-514"></a><a name="index-Portable-Document-Format-515"></a><a name="index-g_t_0040acronym_007bPDF_007d-516"></a><a name="index-g_t_002epdf-_0040r_007bfiles_007d-517"></a><a name="index-epstopdf-518"></a>This package does on-the-fly conversion of Encapsulated PostScript +</p><div class="display"> +<pre class="display"><a href="http://www.tug.org/pracjourn/2005-3/hoeppner">http://www.tug.org/pracjourn/2005-3/hoeppner</a> +</pre></div> + +</dd> +<dt>epstopdf (‘<samp>2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)</samp>’)</dt> +<dd><a name="index-epstopdf_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek">http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek</a> +</p> +<a name="index-Encapsulated-PostScript"></a> +<a name="index-EPS"></a> +<a name="index-_002eeps-files"></a> +<a name="index-Portable-Document-Format"></a> +<a name="index-PDF"></a> +<a name="index-_002epdf-files-1"></a> +<a name="index-epstopdf"></a> +<p>This package does on-the-fly conversion of Encapsulated PostScript (<acronym>EPS</acronym>) graphics into Portable Document Format (<acronym>PDF</acronym>) graphics for inclusion with the <code>\includegraphics</code> command from -the <samp><span class="file">graphics</span></samp>/<samp><span class="file">graphicx</span></samp> packages, so that you do not have -to explicitly call the <samp><span class="file">epstopdf</span></samp> script. - - <br><dt>psfrag (‘<samp><span class="samp">1998/04/11 v3.04 PSfrag (MCG)</span></samp>’)<dd><a name="index-psfrag_002esty-519"></a><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf">http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf</a> - - <p><a name="index-Encapsulated-PostScript-520"></a><a name="index-g_t_0040acronym_007bEPS_007d-521"></a><a name="index-g_t_002eeps-_0040r_007bfiles_007d-522"></a>PSfrag allows the user to precisely overlay Encapsulated PostScript +the <samp>graphics</samp>/<samp>graphicx</samp> packages, so that you do not have +to explicitly call the <samp>epstopdf</samp> script. +</p> +</dd> +<dt>psfrag (‘<samp>1998/04/11 v3.04 PSfrag (MCG)</samp>’)</dt> +<dd><a name="index-psfrag_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf">http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf</a> +</p> +<a name="index-Encapsulated-PostScript-1"></a> +<a name="index-EPS-1"></a> +<a name="index-_002eeps-files-1"></a> +<p>PSfrag allows the user to precisely overlay Encapsulated PostScript (<acronym>EPS</acronym>) files with arbitrary (La)TeX constructions. In order to accomplish this, the user places a simple text “tag” in the graphics file, as a “position marker” of sorts. Then, using simple (La)TeX commands, the user instructs PSfrag to remove that tag from the figure, and replace it with a properly sized, aligned, and rotated (La)TeX equation. - - <br><dt>soul (‘<samp><span class="samp">2003/11/17 v2.4 letterspacing/underlining (mf)</span></samp>’)<dd><a name="index-soul_002esty-523"></a><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/soul">http://www.ctan.org/tex-archive/macros/latex/contrib/soul</a> - - <p><a name="index-letterspacing-524"></a><a name="index-spacing-out-525"></a><a name="index-underlining-526"></a><a name="index-striking-out-527"></a><a name="index-overstriking-528"></a><a name="index-highlighting-529"></a>This package provides hyphenatable letterspacing (spacing out), +</p> +</dd> +<dt>soul (‘<samp>2003/11/17 v2.4 letterspacing/underlining (mf)</samp>’)</dt> +<dd><a name="index-soul_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/soul">http://www.ctan.org/tex-archive/macros/latex/contrib/soul</a> +</p> +<a name="index-letterspacing"></a> +<a name="index-spacing-out"></a> +<a name="index-underlining"></a> +<a name="index-striking-out"></a> +<a name="index-overstriking"></a> +<a name="index-highlighting"></a> +<p>This package provides hyphenatable letterspacing (spacing out), underlining, and some derivatives. The package is optimized for -LaTeX, but works with plain TeX—you don't actually need to +LaTeX, but works with plain TeX—you don’t actually need to load it with the <code>\usepackage</code> command, just say <code>\input soul.sty</code>. If you intend to use the highlighting macros of -<samp><span class="file">soul</span></samp>, don't forget to load the <samp><span class="file">color</span></samp> package. - - <br><dt>url (‘<samp><span class="samp">2005/06/27 ver 3.2 Verb mode for urls, etc.</span></samp>’)<dd><a name="index-url_002esty-530"></a><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty">http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty</a> - - <p><a name="index-pathnames_002c-breaking-531"></a><a name="index-filenames_002c-breaking-532"></a><a name="index-electronic-mail-addresses_002c-breaking-533"></a>This package provides a form of <code>\verbatim</code> that allows +<samp>soul</samp>, don’t forget to load the <samp>color</samp> package. +</p> +</dd> +<dt>url (‘<samp>2005/06/27 ver 3.2 Verb mode for urls, etc.</samp>’)</dt> +<dd><a name="index-url_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty">http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty</a> +</p> +<a name="index-pathnames_002c-breaking-1"></a> +<a name="index-filenames_002c-breaking-1"></a> +<a name="index-electronic-mail-addresses_002c-breaking-1"></a> +<p>This package provides a form of <code>\verbatim</code> that allows line breaks at certain characters or combinations of characters, accepts reconfiguration, and can usually be used in the argument to another command. It is intended for email addresses, hypertext links, directories/paths, etc., which normally have no spaces. - - <p>Eplain can create hypertext links with the <code>\url</code> command +</p> +<p>Eplain can create hypertext links with the <code>\url</code> command (see <a href="#URL-hyperlinks">URL hyperlinks</a>). - - <p>Be sure to get a version dated at least 2005/06/27, as older versions -have problems in plain TeX. +</p> +<p>Be sure to get a version dated at least 2005/06/27, as older versions +have problems in plain TeX. +</p></dd> </dl> -<div class="node"> -<a name="Packages-known-not-to-work"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Packages-known-to-work">Packages known to work</a>, -Up: <a rel="up" accesskey="u" href="#Loading-LaTeX-packages">Loading LaTeX packages</a> +<hr> +<a name="Packages-known-not-to-work"></a> +<div class="header"> +<p> +Previous: <a href="#Packages-known-to-work" accesskey="p" rel="previous">Packages known to work</a>, Up: <a href="#Loading-LaTeX-packages" accesskey="u" rel="up">Loading LaTeX packages</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Packages-known-not-to-work-1"></a> <h4 class="subsection">4.23.4 Packages known not to work</h4> -<p><a name="index-g_t_0040LaTeX_007b_007d-packages-534"></a><a name="index-packages_002c-_0040LaTeX_007b_007d-535"></a>The following packages are known not to work with Eplain: - - <dl> -<dt>hyperref<dd><a name="index-hyperref_002esty-536"></a><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref">http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref</a> - - <p>This package depends heavily on LaTeX, so that it is mostly +<a name="index-LaTeX-packages-2"></a> +<a name="index-packages_002c-LaTeX-2"></a> +<p>The following packages are known not to work with Eplain: +</p> +<dl compact="compact"> +<dt>hyperref</dt> +<dd><a name="index-hyperref_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref">http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref</a> +</p> +<p>This package depends heavily on LaTeX, so that it is mostly unusable outside of LaTeX. Eplain provides its own macros for creating hyperlinks, see <a href="#Hyperlinks">Hyperlinks</a>. - - <br><dt>pict2e (‘<samp><span class="samp">2005/07/15 v0.2r Improved picture commands (HjG,RN)</span></samp>’)<dd><a name="index-pict2e_002esty-537"></a><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e">http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e</a> - - <br><dt>xcolor (‘<samp><span class="samp">2005/06/06 v2.03 LaTeX color extensions (UK)</span></samp>’)<dd><a name="index-xcolor_002esty-538"></a><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor">http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor</a> +</p> +</dd> +<dt>pict2e (‘<samp>2005/07/15 v0.2r Improved picture commands (HjG,RN)</samp>’)</dt> +<dd><a name="index-pict2e_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e">http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e</a> +</p> +</dd> +<dt>xcolor (‘<samp>2005/06/06 v2.03 LaTeX color extensions (UK)</samp>’)</dt> +<dd><a name="index-xcolor_002esty"></a> +<p><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor">http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor</a> +</p></dd> </dl> -<!-- This is part of the Eplain manual. Public domain. --> -<div class="node"> +<hr> <a name="Hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Arrow-theoretic-diagrams">Arrow theoretic diagrams</a>, -Previous: <a rel="previous" accesskey="p" href="#User-definitions">User definitions</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#Arrow-theoretic-diagrams" accesskey="n" rel="next">Arrow theoretic diagrams</a>, Previous: <a href="#User-definitions" accesskey="p" rel="previous">User definitions</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Hyperlinks-1"></a> <h2 class="chapter">5 Hyperlinks</h2> -<p><a name="index-links_002c-hypertext-539"></a><a name="index-hypertext-links-540"></a>This chapter describes the support which Eplain provides for hypertext -links (<dfn>hyperlinks</dfn> for short). Hyperlinks can be created +<a name="index-links_002c-hypertext"></a> +<a name="index-hypertext-links"></a> +<p>This chapter describes the support which Eplain provides for hypertext +links (<em>hyperlinks</em> for short). Hyperlinks can be created implicitly by the cross-reference, indexing and other macros in Eplain. Macros for constructing explicit hyperlinks are also provided. - -<ul class="menu"> -<li><a accesskey="1" href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a> -<li><a accesskey="2" href="#Explicit-hyperlinks">Explicit hyperlinks</a> -<li><a accesskey="3" href="#Implicit-hyperlinks">Implicit hyperlinks</a> -<li><a accesskey="4" href="#Hyperlink-drivers">Hyperlink drivers</a> -<li><a accesskey="5" href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a> -<li><a accesskey="6" href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Introduction-to-hyperlinks" accesskey="1">Introduction to hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Explicit-hyperlinks" accesskey="2">Explicit hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Implicit-hyperlinks" accesskey="3">Implicit hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-drivers" accesskey="4">Hyperlink drivers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Setting-hyperlink-types-and-options" accesskey="5">Setting hyperlink types and options</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Turning-hyperlinks-on_002foff" accesskey="6">Turning hyperlinks on/off</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="Introduction-to-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Explicit-hyperlinks">Explicit hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlinks">Hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Explicit-hyperlinks" accesskey="n" rel="next">Explicit hyperlinks</a>, Up: <a href="#Hyperlinks" accesskey="u" rel="up">Hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Introduction-to-hyperlinks-1"></a> <h3 class="section">5.1 Introduction to hyperlinks</h3> -<p><a name="index-hyperlink-drivers-541"></a><a name="index-drivers_002c-hyperlink-542"></a>The original TeX engine has no built-in support for hyperlinks -(a.k.a. hypertext links). +<a name="index-hyperlink-drivers"></a> +<a name="index-drivers_002c-hyperlink"></a> +<p>The original TeX engine has no built-in support for hyperlinks +(a.k.a. hypertext links). Many of the present-day file formats with hyperlinking capabilities -did not even exist at the time TeX was written. However, TeX's -<a name="index-special-543"></a><code>\special</code> primitive can be used to instruct TeX to write -special directives into its <samp><span class="file">.dvi</span></samp> output file. These directives +did not even exist at the time TeX was written. However, TeX’s +<a name="index-special"></a> +<code>\special</code> primitive can be used to instruct TeX to write +special directives into its <samp>.dvi</samp> output file. These directives are not interpreted by TeX in any way; they are intended for programs -which process the <samp><span class="file">.dvi</span></samp> files produced by TeX, be it printing +which process the <samp>.dvi</samp> files produced by TeX, be it printing or converting to other formats, such as -<a name="index-g_t_002eps-_0040r_007bfiles_007d-544"></a><a name="index-g_t_002epdf-_0040r_007bfiles_007d-545"></a><samp><span class="file">.ps</span></samp> or <samp><span class="file">.pdf</span></samp>. - - <p>Another approach is to extend the original TeX engine with the -ability to generate one of the hyperlinking formats; TeX's set of +<a name="index-_002eps-files"></a> +<a name="index-_002epdf-files-2"></a> +<samp>.ps</samp> or <samp>.pdf</samp>. +</p> +<p>Another approach is to extend the original TeX engine with the +ability to generate one of the hyperlinking formats; TeX’s set of primitives can be extended to include hyperlink commands. This is the approach used by the pdfTeX engine, which is capable of producing -<samp><span class="file">.pdf</span></samp> files directly from the TeX source, skipping the -<samp><span class="file">.dvi</span></samp> generation and processing step. - - <p>It turns out that the sets of commands for different formats are mostly +<samp>.pdf</samp> files directly from the TeX source, skipping the +<samp>.dvi</samp> generation and processing step. +</p> +<p>It turns out that the sets of commands for different formats are mostly not interchangeable, as each of the file formats has its own quirks and -capabilities. And this is where Eplain <dfn>hyperlink drivers</dfn> come +capabilities. And this is where Eplain <em>hyperlink drivers</em> come into play. - - <p>In order for Eplain to generate proper commands, Eplain has to know -two things: which engine or <samp><span class="file">.dvi</span></samp> processor you are using, and +</p> +<p>In order for Eplain to generate proper commands, Eplain has to know +two things: which engine or <samp>.dvi</samp> processor you are using, and the set of commands it understands. - - <p>The knowledge about the commands that the various processors -understand is programmed into Eplain's hyperlink drivers. Eplain +</p> +<p>The knowledge about the commands that the various processors +understand is programmed into Eplain’s hyperlink drivers. Eplain provides three drivers: <code>hypertex</code> (implementation of the HyperTeX standard, see <a href="http://arxiv.org/hypertex">http://arxiv.org/hypertex</a>), and <code>pdftex</code> and <code>dvipdfm</code> (named after the programs which process the hyperlink commands, -<a name="index-pdftex-546"></a>pdfTeX and -<a name="index-dvipdfm-547"></a>dvipdfm). Therefore, Eplain can only produce HyperTeX commands and +<a name="index-pdftex-2"></a> +pdfTeX and +<a name="index-dvipdfm"></a> +dvipdfm). Therefore, Eplain can only produce HyperTeX commands and hyperlink commands for one of these two programs—except that the extended <code>dvipdfmx</code> program can be used as well as the original <code>dvipdfm</code>, since they are compatible. - - <p>To tell Eplain which <samp><span class="file">.dvi</span></samp> processor or extended TeX engine you +</p> +<p>To tell Eplain which <samp>.dvi</samp> processor or extended TeX engine you are using, use the command -<a name="index-enablehyperlinks-548"></a><code>\enablehyperlinks</code>. - - <p>For example: +<a name="index-enablehyperlinks"></a> +<code>\enablehyperlinks</code>. +</p> +<p>For example: +</p> +<div class="example"> +<pre class="example">\enablehyperlinks +</pre></div> -<pre class="example"> \enablehyperlinks -</pre> - <p class="noindent">instructs Eplain to attempt to automatically detect which +<p>instructs Eplain to attempt to automatically detect which driver to use, as follows: if it detects pdfTeX in <acronym>PDF</acronym> mode, it loads the <code>pdftex</code> driver. If it does not detect -pdfTeX in <acronym>PDF</acronym> mode, the <code>hypertex</code> driver is loaded. +pdfTeX in <acronym>PDF</acronym> mode, the <code>hypertex</code> driver is loaded. The detection is based on the -<a name="index-ifpdf-549"></a><code>\ifpdf</code> switch (see <a href="#Checking-for-PDF-output">Checking for PDF output</a>). - - <p>If necessary, you can explicitly specify the driver name: +<a name="index-ifpdf-1"></a> +<code>\ifpdf</code> switch (see <a href="#Checking-for-PDF-output">Checking for PDF output</a>). +</p> +<p>If necessary, you can explicitly specify the driver name: +</p> +<div class="example"> +<pre class="example">\enablehyperlinks[pdftex] +</pre></div> -<pre class="example"> \enablehyperlinks[pdftex] -</pre> - <p class="noindent">will start producing hyperlinks under the assumption that +<p>will start producing hyperlinks under the assumption that you are using pdfTeX. - - <p>Eplain does not produce any hyperlinks until you explicitly enable +</p> +<p>Eplain does not produce any hyperlinks until you explicitly enable them with <code>\enablehyperlinks</code>. For one thing, this keeps Eplain -backward-compatible with previous releases without hyperlink support. +backward-compatible with previous releases without hyperlink support. For another, you may be using a program other than pdfTeX or <code>dvipdfm</code>, which does not understand their hyperlink commands or the HyperTeX commands. - +</p> +<a name="Concepts-and-Terminology"></a> <h4 class="subheading">Concepts and Terminology</h4> <p>In general, hyperlinks work as follows. You mark some place in your -document as a hyperlink destination, associating a <dfn>hyperlink -label</dfn> with that destination. Next, somewhere within your document, +document as a hyperlink destination, associating a <em>hyperlink +label</em> with that destination. Next, somewhere within your document, you create a hyperlink, using a label to identify the destination you want this link to point to. A hyperlink is a region in the document (which can take many forms, for example, text or a picture); when a @@ -3536,519 +4580,671 @@ document marked by the corresponding destination. The following two sections (<a href="#Explicit-hyperlinks">Explicit hyperlinks</a>, and <a href="#Implicit-hyperlinks">Implicit hyperlinks</a>) describe the macros you can use to define destinations and create links pointing to those destinations. - - <p>In the rest of this chapter, we will often need to refer to links and +</p> +<p>In the rest of this chapter, we will often need to refer to links and destinations jointly, in which case we will use the term -<dfn>hyperlinks</dfn>. We will use the terms <dfn>links</dfn> and -<dfn>destinations</dfn> in cases when we need to refer specifically to +<em>hyperlinks</em>. We will use the terms <em>links</em> and +<em>destinations</em> in cases when we need to refer specifically to links or destinations. - - <p><a name="index-link-type-550"></a><a name="index-destination-type-551"></a><a name="index-type_002c-link-and-destination-552"></a>Hyperlink drivers provide several kinds of links and destinations. We -will refer to them as <dfn>link types</dfn> and <dfn>destination types</dfn>. - - <p>For example, one of the destination types that the <code>pdftex</code> -driver provides is the ‘<samp><span class="samp">xyz</span></samp>’ type; when the user follows a link -pointing to an ‘<samp><span class="samp">xyz</span></samp>’ destination, the exact location marked by +</p> +<a name="index-link-type"></a> +<a name="index-destination-type"></a> +<a name="index-type_002c-link-and-destination"></a> +<p>Hyperlink drivers provide several kinds of links and destinations. We +will refer to them as <em>link types</em> and <em>destination types</em>. +</p> +<p>For example, one of the destination types that the <code>pdftex</code> +driver provides is the ‘<samp>xyz</samp>’ type; when the user follows a link +pointing to an ‘<samp>xyz</samp>’ destination, the exact location marked by that destination is displayed. Another destination type provided by -the <code>pdftex</code> driver is the ‘<samp><span class="samp">fit</span></samp>’ type; when the user follows -a link pointing to a ‘<samp><span class="samp">fit</span></samp>’ destination, the page containing that +the <code>pdftex</code> driver is the ‘<samp>fit</samp>’ type; when the user follows +a link pointing to a ‘<samp>fit</samp>’ destination, the page containing that destination is zoomed to fit into the window in which the document is displayed. - - <p>Similarly, drivers support various link types. For example, with the +</p> +<p>Similarly, drivers support various link types. For example, with the <code>pdftex</code> driver, the usual link type used to refer to -destinations in the current document is called ‘<samp><span class="samp">name</span></samp>’. You can +destinations in the current document is called ‘<samp>name</samp>’. You can also create a link pointing to another local document (by using the -‘<samp><span class="samp">filename</span></samp>’ link type) or to a <acronym>URL</acronym> (by using the -‘<samp><span class="samp">url</span></samp>’ link type). - - <p><a name="index-link-options-553"></a><a name="index-destination-options-554"></a><a name="index-options_002c-link-and-destination-555"></a>In addition, each hyperlink driver supports a number of destination and -link <dfn>options</dfn>. By setting these options you can customize +‘<samp>filename</samp>’ link type) or to a <acronym>URL</acronym> (by using the +‘<samp>url</samp>’ link type). +</p> +<a name="index-link-options"></a> +<a name="index-destination-options"></a> +<a name="index-options_002c-link-and-destination"></a> +<p>In addition, each hyperlink driver supports a number of destination and +link <em>options</em>. By setting these options you can customize hyperlink parameters (e.g., the thickness of the border drawn around a hyperlink) or pass information to hyperlinks (for example, file name of a document, for a link pointing to a destination in another document). - - <p>See <a href="#Hyperlink-drivers">Hyperlink drivers</a>, for the description of hyperlink types and +</p> +<p>See <a href="#Hyperlink-drivers">Hyperlink drivers</a>, for the description of hyperlink types and options supported by the drivers. See <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>, for the information on how to set hyperlink options. +</p> -<div class="node"> +<hr> <a name="Explicit-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Implicit-hyperlinks">Implicit hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlinks">Hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Implicit-hyperlinks" accesskey="n" rel="next">Implicit hyperlinks</a>, Previous: <a href="#Introduction-to-hyperlinks" accesskey="p" rel="previous">Introduction to hyperlinks</a>, Up: <a href="#Hyperlinks" accesskey="u" rel="up">Hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Explicit-hyperlinks-1"></a> <h3 class="section">5.2 Explicit hyperlinks</h3> -<p><a name="index-explicit-hyperlinks-556"></a><a name="index-hyperlinks_002c-explicit-557"></a><a name="index-hldest-558"></a>Explicit hyperlinks are created by you, in the source of your +<a name="index-explicit-hyperlinks"></a> +<a name="index-hyperlinks_002c-explicit"></a> +<a name="index-hldest"></a> +<p>Explicit hyperlinks are created by you, in the source of your document. The simplest command is <code>\hldest</code>, which marks the current position in your document as a destination: +</p> +<div class="example"> +<pre class="example">\hldest{<var>type</var>}{<var>options</var>}{<var>label</var>} +</pre></div> -<pre class="example"> \hldest{<var>type</var>}{<var>options</var>}{<var>label</var>} -</pre> - <p class="noindent">Here <var>type</var> is one of the destination types supported by +<p>Here <var>type</var> is one of the destination types supported by the hyperlink driver (see <a href="#Hyperlink-drivers">Hyperlink drivers</a>), <var>options</var> is a comma-separated list of option assignments, and <var>label</var> is the hyperlink label to associate with this destination. This label will identify the destination when creating links pointing to this destination. For example, with the <code>pdftex</code> driver, the command +</p> +<div class="example"> +<pre class="example">\hldest{xyz}{zoom=2000}{index} +</pre></div> -<pre class="example"> \hldest{xyz}{zoom=2000}{index} -</pre> - <p class="noindent">creates a destination of type ‘<samp><span class="samp">xyz</span></samp>’ (“the current +<p>creates a destination of type ‘<samp>xyz</samp>’ (“the current position”), sets the magnification ratio for this destination to be 200%, and associates the label <code>index</code> with the destination. - - <p><a name="index-hlstart-559"></a><a name="index-hlend-560"></a>Another command, <code>\hlstart</code>, paired with <code>\hlend</code>, turns all +</p> +<a name="index-hlstart"></a> +<a name="index-hlend"></a> +<p>Another command, <code>\hlstart</code>, paired with <code>\hlend</code>, turns all intervening material into a link: +</p> +<div class="example"> +<pre class="example">\hlstart{<var>type</var>}{<var>options</var>}{<var>label</var>} … \hlend +</pre></div> -<pre class="example"> \hlstart{<var>type</var>}{<var>options</var>}{<var>label</var>} ... \hlend -</pre> - <p class="noindent">Here <var>type</var>, <var>options</var> and <var>label</var> have the same +<p>Here <var>type</var>, <var>options</var> and <var>label</var> have the same meaning as for <code>\hldest</code>. Continuing the previous example, +</p> +<div class="example"> +<pre class="example">\hlstart{name}{bstyle=U,bwidth=2}{index} Index\hlend +</pre></div> -<pre class="example"> \hlstart{name}{bstyle=U,bwidth=2}{index} Index\hlend -</pre> - <p class="noindent">typesets the word `Index' as a link with underline border of +<p>typesets the word ‘Index’ as a link with underline border of width 2 PostScript points, pointing to the named destination <code>index</code> defined in the previous example. (The other options, like highlight mode and border color, are determined by the defaults, see <a href="#Setting-default-types-and-options">Setting default types and options</a>). - - <p>The <var>label</var> argument of both <code>\hldest</code> and <code>\hlstart</code> -can contain special characters (such as ‘<samp><span class="samp">#</span></samp>’, ‘<samp><span class="samp">%</span></samp>’, ‘<samp><span class="samp">&</span></samp>’, -‘<samp><span class="samp">~</span></samp>’, etc.) without any escaping. This is especially important +</p> +<p>The <var>label</var> argument of both <code>\hldest</code> and <code>\hlstart</code> +can contain special characters (such as ‘<samp>#</samp>’, ‘<samp>%</samp>’, ‘<samp>&</samp>’, +‘<samp>~</samp>’, etc.) without any escaping. This is especially important for <acronym>URL</acronym> links supported by some drivers (see <a href="#Hyperlink-drivers">Hyperlink drivers</a>). - - <p>Both <code>\hldest</code> and <code>\hlstart</code> ignore following spaces. - - <p>Both <code>\hldest</code> and <code>\hlstart</code> expand the first token of +</p> +<p>Both <code>\hldest</code> and <code>\hlstart</code> ignore following spaces. +</p> +<p>Both <code>\hldest</code> and <code>\hlstart</code> expand the first token of <var>options</var> once, so you can save a list of options in a macro and pass it for the <var>options</var>. For example: +</p> +<div class="example"> +<pre class="example">\def\linkopts{bstyle=U,bwidth=2} +\hlstart{name}{\linkopts}{index}Index\hlend +</pre></div> -<pre class="example"> \def\linkopts{bstyle=U,bwidth=2} - \hlstart{name}{\linkopts}{index}Index\hlend -</pre> - <p class="noindent">is functionally equivalent to the previous example. - - <p>See <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>, for a demonstration of the usage of +<p>is functionally equivalent to the previous example. +</p> +<p>See <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>, for a demonstration of the usage of explicit hyperlinks. +</p> -<div class="node"> +<hr> <a name="Implicit-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Hyperlink-drivers">Hyperlink drivers</a>, -Previous: <a rel="previous" accesskey="p" href="#Explicit-hyperlinks">Explicit hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlinks">Hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Hyperlink-drivers" accesskey="n" rel="next">Hyperlink drivers</a>, Previous: <a href="#Explicit-hyperlinks" accesskey="p" rel="previous">Explicit hyperlinks</a>, Up: <a href="#Hyperlinks" accesskey="u" rel="up">Hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Implicit-hyperlinks-1"></a> <h3 class="section">5.3 Implicit hyperlinks</h3> -<p><a name="index-implicit-hyperlinks-561"></a><a name="index-hyperlinks_002c-implicit-562"></a><dfn>Implicit hyperlinks</dfn> are hyperlinks created implicitly by various +<a name="index-implicit-hyperlinks"></a> +<a name="index-hyperlinks_002c-implicit"></a> +<p><em>Implicit hyperlinks</em> are hyperlinks created implicitly by various Eplain macros, such as the macros for citations, cross-references, indexing, etc. - - <p><a name="index-link-group-563"></a><a name="index-linkgroup-564"></a><a name="index-group_002c-link-565"></a><a name="index-destination-group-566"></a><a name="index-destgroup-567"></a><a name="index-group_002c-destination-568"></a>All such macros are divided into <dfn>link groups</dfn> and -<dfn>destination groups</dfn> (or <dfn>linkgroups</dfn> and <dfn>destgroups</dfn> for +</p> +<a name="index-link-group"></a> +<a name="index-linkgroup"></a> +<a name="index-group_002c-link"></a> +<a name="index-destination-group"></a> +<a name="index-destgroup"></a> +<a name="index-group_002c-destination"></a> +<p>All such macros are divided into <em>link groups</em> and +<em>destination groups</em> (or <em>linkgroups</em> and <em>destgroups</em> for short) so that parameters can be set individually for each group. For example, all equation macros which define a destination are assigned -to the `eq' destgroup; equation macros which create a link are -assigned to the `eq' linkgroup. By setting parameters for the `eq' +to the ‘eq’ destgroup; equation macros which create a link are +assigned to the ‘eq’ linkgroup. By setting parameters for the ‘eq’ linkgroup (destgroup), you can uniformly customize all links (destinations) related to equation references, without interfering with settings for the other groups. - - <p>See <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>, for information on how to +</p> +<p>See <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>, for information on how to set parameters for a group. +</p> +<p>Here is the list of the linkgroups: +</p> +<div class="display"> +<pre class="display">hrefint, hrefext, url, cite, ref, xref, eq, idx, foot, footback. +</pre></div> - <p>Here is the list of the linkgroups: - -<pre class="display"> hrefint, hrefext, url, cite, ref, xref, eq, idx, foot, footback. -</pre> - <p>And here are the destgroups: +<p>And here are the destgroups: +</p> +<div class="display"> +<pre class="display">bib, li, definexref, xrdef, eq, idx, foot, footback. +</pre></div> -<pre class="display"> bib, li, definexref, xrdef, eq, idx, foot, footback. -</pre> - <p>See <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>, for a demonstration of the usage of +<p>See <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>, for a demonstration of the usage of implicit hyperlinks. - - <p>The following subsections describe each of the linkgroups and destgroups +</p> +<p>The following subsections describe each of the linkgroups and destgroups and the hyperlink support provided. - -<ul class="menu"> -<li><a accesskey="1" href="#General-hyperlinks">General hyperlinks</a>: hrefint, hrefext -<li><a accesskey="2" href="#URL-hyperlinks">URL hyperlinks</a>: url -<li><a accesskey="3" href="#Citation-hyperlinks">Citation hyperlinks</a>: cite, bib -<li><a accesskey="4" href="#List-hyperlinks">List hyperlinks</a>: li -<li><a accesskey="5" href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a>: definexref, ref -<li><a accesskey="6" href="#Page-reference-hyperlinks">Page reference hyperlinks</a>: xrdef, xref -<li><a accesskey="7" href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a>: eq -<li><a accesskey="8" href="#Index-hyperlinks">Index hyperlinks</a>: idx -<li><a accesskey="9" href="#Footnote-hyperlinks">Footnote hyperlinks</a>: foot, footback -<li><a href="#Contents-hyperlinks">Contents hyperlinks</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#General-hyperlinks" accesskey="1">General hyperlinks</a>:</td><td> </td><td align="left" valign="top">hrefint, hrefext +</td></tr> +<tr><td align="left" valign="top">• <a href="#URL-hyperlinks" accesskey="2">URL hyperlinks</a>:</td><td> </td><td align="left" valign="top">url +</td></tr> +<tr><td align="left" valign="top">• <a href="#Citation-hyperlinks" accesskey="3">Citation hyperlinks</a>:</td><td> </td><td align="left" valign="top">cite, bib +</td></tr> +<tr><td align="left" valign="top">• <a href="#List-hyperlinks" accesskey="4">List hyperlinks</a>:</td><td> </td><td align="left" valign="top">li +</td></tr> +<tr><td align="left" valign="top">• <a href="#Cross_002dreference-hyperlinks" accesskey="5">Cross-reference hyperlinks</a>:</td><td> </td><td align="left" valign="top">definexref, ref +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-reference-hyperlinks" accesskey="6">Page reference hyperlinks</a>:</td><td> </td><td align="left" valign="top">xrdef, xref +</td></tr> +<tr><td align="left" valign="top">• <a href="#Equation-reference-hyperlinks" accesskey="7">Equation reference hyperlinks</a>:</td><td> </td><td align="left" valign="top">eq +</td></tr> +<tr><td align="left" valign="top">• <a href="#Index-hyperlinks" accesskey="8">Index hyperlinks</a>:</td><td> </td><td align="left" valign="top">idx +</td></tr> +<tr><td align="left" valign="top">• <a href="#Footnote-hyperlinks" accesskey="9">Footnote hyperlinks</a>:</td><td> </td><td align="left" valign="top">foot, footback +</td></tr> +<tr><td align="left" valign="top">• <a href="#Contents-hyperlinks">Contents hyperlinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="General-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#URL-hyperlinks">URL hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#URL-hyperlinks" accesskey="n" rel="next">URL hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="General-hyperlinks_003a-hrefint_002c-hrefext"></a> <h4 class="subsection">5.3.1 General hyperlinks: hrefint, hrefext</h4> -<p><a name="index-href-569"></a><code>\href{</code><var>url</var><code>}{</code><var>text</var><code>}</code> typesets <var>text</var> as a link +<a name="index-href"></a> +<p><code>\href{<var>url</var>}{<var>text</var>}</code> typesets <var>text</var> as a link to <var>url</var>. It basically does what the explicit hyperlink macros do (see <a href="#Explicit-hyperlinks">Explicit hyperlinks</a>), but is more convenient (at the expense of flexibility). - - <p>If <var>url</var> starts with ‘<samp><span class="samp">#</span></samp>’, the rest of <var>url</var> is assumed to +</p> +<p>If <var>url</var> starts with ‘<samp>#</samp>’, the rest of <var>url</var> is assumed to be a local hyperlink destination name (destination within the same document). Parameters for these links can be set by customizing the -<a name="index-group-_0060hrefint_0027-570"></a><a name="index-linkgroup-_0060hrefint_0027-571"></a>`hrefint' linkgroup. For example: +<a name="index-group-_0060hrefint_0027"></a> +<a name="index-linkgroup-_0060hrefint_0027"></a> +‘hrefint’ linkgroup. For example: +</p> +<div class="example"> +<pre class="example">See \href{#intro}{Introduction} +</pre></div> -<pre class="example"> See \href{#intro}{Introduction} -</pre> - <p class="noindent">will make `Introduction' into an internal link, which might +<p>will make ‘Introduction’ into an internal link, which might have been created, e.g., with <code>\xrdef{intro}</code>. - - <p><a name="index-g_t_0040acronym_007bURL_007d-hyperlink-572"></a><a name="index-hyperlinks_002c-_0040acronym_007bURL_007d-573"></a>If <var>url</var> does not start with ‘<samp><span class="samp">#</span></samp>’, it is assumed to be a +</p> +<a name="index-URL-hyperlink"></a> +<a name="index-hyperlinks_002c-URL"></a> +<p>If <var>url</var> does not start with ‘<samp>#</samp>’, it is assumed to be a <acronym>URL</acronym> link. Parameters for these links can be set by customizing the -<a name="index-group-_0060hrefext_0027-574"></a><a name="index-linkgroup-_0060hrefext_0027-575"></a>`hrefext' linkgroup. The special characters (such as ‘<samp><span class="samp">#</span></samp>’ and -‘<samp><span class="samp">~</span></samp>’) in the <acronym>URL</acronym> don't need to be escaped. For example: +<a name="index-group-_0060hrefext_0027"></a> +<a name="index-linkgroup-_0060hrefext_0027"></a> +‘hrefext’ linkgroup. The special characters (such as ‘<samp>#</samp>’ and +‘<samp>~</samp>’) in the <acronym>URL</acronym> don’t need to be escaped. For example: +</p> +<div class="example"> +<pre class="example">\href{http://tug.org/eplain/doc/eplain.html#Hyperlinks}{Hyperlinks + in Eplain} +\href{mailto:tex-eplain@tug.org}{Eplain mailing list} +</pre></div> -<pre class="example"> \href{http://tug.org/eplain/doc/eplain.html#Hyperlinks}{Hyperlinks - in Eplain} - \href{mailto:tex-eplain@tug.org}{Eplain mailing list} -</pre> - <p class="noindent">See <a href="#URL-hyperlinks">URL hyperlinks</a>, for another way to create +<p>See <a href="#URL-hyperlinks">URL hyperlinks</a>, for another way to create <acronym>URL</acronym> hyperlinks. - - <p>The <var>text</var> argument of <code>\href</code> can contain verbatim text +</p> +<p>The <var>text</var> argument of <code>\href</code> can contain verbatim text (see <a href="#Verbatim-listing">Verbatim listing</a>) or other macros which manipulate character catcodes. For example: +</p> +<div class="example"> +<pre class="example">\href{#WeirdChars}{The weird chars \verbatim #&%$~|endverbatim} +</pre></div> + +<p><code>\href</code> does not currently handle other link types, such as +<a name="index-file_003a-links"></a> +‘<samp>file:</samp>’ and +<a name="index-run_003a-links"></a> +‘<samp>run:</samp>’ links. +</p> -<pre class="example"> \href{#WeirdChars}{The weird chars \verbatim #&%$~|endverbatim} -</pre> - <p><code>\href</code> does not currently handle other link types, such as -<a name="index-g_t_0040samp_007bfile_003a_007d-links-576"></a>‘<samp><span class="samp">file:</span></samp>’ and -<a name="index-g_t_0040samp_007brun_003a_007d-links-577"></a>‘<samp><span class="samp">run:</span></samp>’ links. - -<div class="node"> +<hr> <a name="URL-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Citation-hyperlinks">Citation hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#General-hyperlinks">General hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Citation-hyperlinks" accesskey="n" rel="next">Citation hyperlinks</a>, Previous: <a href="#General-hyperlinks" accesskey="p" rel="previous">General hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="URL-hyperlinks_003a-url"></a> <h4 class="subsection">5.3.2 URL hyperlinks: url</h4> -<p><a name="index-g_t_0040acronym_007bURL_007d-hyperlink-578"></a><a name="index-hyperlinks_002c-_0040acronym_007bURL_007d-579"></a><a name="index-group-_0060url_0027-580"></a><a name="index-linkgroup-_0060url_0027-581"></a>The `url' linkgroup covers the -<a name="index-url-_0040r_007b_0028hyperlinks_0029_007d-582"></a><code>\url</code> command from the LaTeX package -<a name="index-url_002esty-583"></a><samp><span class="file">url</span></samp> (see <a href="#Packages-known-to-work">Packages known to work</a>), as well as any new +<a name="index-URL-hyperlink-1"></a> +<a name="index-hyperlinks_002c-URL-1"></a> +<a name="index-group-_0060url_0027"></a> +<a name="index-linkgroup-_0060url_0027"></a> +<p>The ‘url’ linkgroup covers the +<a name="index-url-_0028hyperlinks_0029"></a> +<code>\url</code> command from the LaTeX package +<a name="index-url_002esty-1"></a> +<samp>url</samp> (see <a href="#Packages-known-to-work">Packages known to work</a>), as well as any new <code>\url</code>-like commands you define. The type for this linkgroup is -set to ‘<samp><span class="samp">url</span></samp>’ by the drivers which support this link type. -‘<samp><span class="samp">url</span></samp>’ links use the parameter to the <code>\url</code> command as the +set to ‘<samp>url</samp>’ by the drivers which support this link type. +‘<samp>url</samp>’ links use the parameter to the <code>\url</code> command as the <acronym>URL</acronym> to point to. - - <p>You may be using the <code>\url</code> command to typeset something other than +</p> +<p>You may be using the <code>\url</code> command to typeset something other than a <acronym>URL</acronym>, e.g., a path, for which you do not want a link to be -created; in that case, you can disable the `url' linkgroup with the +created; in that case, you can disable the ‘url’ linkgroup with the command <code>\hloff[url]</code> (see <a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a>). - - <p><a name="index-boxed-links_002c-avoiding-584"></a><a name="index-avoiding-boxed-links-585"></a><a name="index-color_002c-hyperlinks-586"></a><a name="index-colored-links-587"></a><a name="index-hyperlink-color-588"></a>By default, <acronym>URL</acronym> (and other types of) links are boxed, so +</p> +<a name="index-boxed-links_002c-avoiding"></a> +<a name="index-avoiding-boxed-links"></a> +<a name="index-color_002c-hyperlinks"></a> +<a name="index-colored-links"></a> +<a name="index-hyperlink-color"></a> +<p>By default, <acronym>URL</acronym> (and other types of) links are boxed, so that they are visually marked even if you do not load the LaTeX -<a name="index-color_002esty-589"></a>`color' package (see <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>) and therefore link text +<a name="index-color_002esty-1"></a> +‘color’ package (see <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>) and therefore link text is not colored. You can see the effect by compiling the following code -snippet (be sure to get a modern <samp><span class="file">url.sty</span></samp>, older versions do not +snippet (be sure to get a modern <samp>url.sty</samp>, older versions do not work in plain TeX; see <a href="#Packages-known-to-work">Packages known to work</a>): +</p> +<div class="example"> +<pre class="example">\input eplain +\beginpackages + \usepackage{url} +\endpackages -<pre class="example"> \input eplain - \beginpackages - \usepackage{url} - \endpackages - - \enablehyperlinks - - \url{http://foo/bar} - - \url{mailto:foobar@example.org} - - \bye -</pre> - <p>If the hyperlink driver you use supports the link option <code>bwidth</code> +\enablehyperlinks + +\url{http://foo/bar} + +\url{mailto:foobar@example.org} + +\bye +</pre></div> + +<p>If the hyperlink driver you use supports the link option <code>bwidth</code> (see <a href="#Hyperlink-drivers">Hyperlink drivers</a>), you can produce colored links with no border around them. Try this: +</p> +<div class="example"> +<pre class="example">\input eplain +\beginpackages + \usepackage{url} + \usepackage{color} +\endpackages -<pre class="example"> \input eplain - \beginpackages - \usepackage{url} - \usepackage{color} - \endpackages - - \enablehyperlinks - \hlopts{bwidth=0} - - \url{http://foo/bar} - - \url{mailto:foobar@example.org} - - \bye -</pre> - <p class="noindent">The command <code>\hlopts{bwidth=0}</code> sets border width to -zero as the default for all links, and loading the <samp><span class="file">color</span></samp> package +\enablehyperlinks +\hlopts{bwidth=0} + +\url{http://foo/bar} + +\url{mailto:foobar@example.org} + +\bye +</pre></div> + +<p>The command <code>\hlopts{bwidth=0}</code> sets border width to +zero as the default for all links, and loading the <samp>color</samp> package automatically colors links using the default color (see <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a>). If you want the border width setting to apply to <acronym>URL</acronym> links only, say <code>\hlopts[url]{bwidth=0}</code> (see <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>). +</p> -<div class="node"> +<hr> <a name="Citation-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#List-hyperlinks">List hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#URL-hyperlinks">URL hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#List-hyperlinks" accesskey="n" rel="next">List hyperlinks</a>, Previous: <a href="#URL-hyperlinks" accesskey="p" rel="previous">URL hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Citation-hyperlinks_003a-cite_002c-bib"></a> <h4 class="subsection">5.3.3 Citation hyperlinks: cite, bib</h4> -<p><a name="index-citations_002c-hyperlinks-590"></a><a name="index-hyperlinks_002c-citations-591"></a><a name="index-group-_0060cite_0027-592"></a><a name="index-linkgroup-_0060cite_0027-593"></a><a name="index-cite-_0040r_007b_0028hyperlinks_0029_007d-594"></a>The `cite' linkgroup includes only the <code>\cite</code> command +<a name="index-citations_002c-hyperlinks"></a> +<a name="index-hyperlinks_002c-citations"></a> +<a name="index-group-_0060cite_0027"></a> +<a name="index-linkgroup-_0060cite_0027"></a> +<a name="index-cite-_0028hyperlinks_0029"></a> +<p>The ‘cite’ linkgroup includes only the <code>\cite</code> command (see <a href="#Citations">Citations</a>). <code>\cite</code> turns each of the references in the list into a link pointing to the respective bibliography entry produced by the <code>\bibliography</code> command. - - <p><a name="index-bibliography_002c-hyperlinks-595"></a><a name="index-hyperlinks_002c-bibliography-596"></a><a name="index-group-_0060bib_0027-597"></a><a name="index-destgroup-_0060bib_0027-598"></a><a name="index-bibliography-_0040r_007b_0028hyperlinks_0029_007d-599"></a>The `bib' destgroup includes the macros related to the +</p> +<a name="index-bibliography_002c-hyperlinks"></a> +<a name="index-hyperlinks_002c-bibliography"></a> +<a name="index-group-_0060bib_0027"></a> +<a name="index-destgroup-_0060bib_0027"></a> +<a name="index-bibliography-_0028hyperlinks_0029"></a> +<p>The ‘bib’ destgroup includes the macros related to the <code>\bibliography</code> command (see <a href="#Citations">Citations</a>). <code>\bibliography</code> -inputs a <samp><span class="file">.bbl</span></samp> file, which contains a list of bibliography +inputs a <samp>.bbl</samp> file, which contains a list of bibliography entries. For each of the entries, a destination is defined. +</p> +<p>Both commands use the citation label as the hyperlink label. +</p> - <p>Both commands use the citation label as the hyperlink label. - -<div class="node"> +<hr> <a name="List-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Citation-hyperlinks">Citation hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Cross_002dreference-hyperlinks" accesskey="n" rel="next">Cross-reference hyperlinks</a>, Previous: <a href="#Citation-hyperlinks" accesskey="p" rel="previous">Citation hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="List-hyperlinks_003a-li"></a> <h4 class="subsection">5.3.4 List hyperlinks: li</h4> -<p><a name="index-lists_002c-hyperlinks-600"></a><a name="index-hyperlinks_002c-lists-601"></a><a name="index-li-_0040r_007b_0028hyperlinks_0029_007d-602"></a><a name="index-group-_0060li_0027-603"></a><a name="index-destgroup-_0060li_0027-604"></a>The `li' destgroup consists of the <code>\li</code> command (see <a href="#Lists">Lists</a>), +<a name="index-lists_002c-hyperlinks"></a> +<a name="index-hyperlinks_002c-lists"></a> +<a name="index-li-_0028hyperlinks_0029"></a> +<a name="index-group-_0060li_0027"></a> +<a name="index-destgroup-_0060li_0027"></a> +<p>The ‘li’ destgroup consists of the <code>\li</code> command (see <a href="#Lists">Lists</a>), which defines a destination if you supply the optional argument (cross-reference label). This label is also used as the hyperlink label. +</p> -<div class="node"> -<a name="Cross-reference-hyperlinks"></a> +<hr> <a name="Cross_002dreference-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Page-reference-hyperlinks">Page reference hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#List-hyperlinks">List hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Page-reference-hyperlinks" accesskey="n" rel="next">Page reference hyperlinks</a>, Previous: <a href="#List-hyperlinks" accesskey="p" rel="previous">List hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Cross_002dreference-hyperlinks_003a-definexref_002c-ref"></a> <h4 class="subsection">5.3.5 Cross-reference hyperlinks: definexref, ref</h4> -<p><a name="index-definexref-_0040r_007b_0028hyperlinks_0029_007d-605"></a><a name="index-cross_002dreferences_002c-hyperlinks-606"></a><a name="index-hyperlinks_002c-cross_002dreferences-607"></a><a name="index-group-_0060definexref_0027-608"></a><a name="index-destgroup-_0060definexref_0027-609"></a>The `definexref' destgroup is for the <code>\definexref</code> command +<a name="index-definexref-_0028hyperlinks_0029"></a> +<a name="index-cross_002dreferences_002c-hyperlinks"></a> +<a name="index-hyperlinks_002c-cross_002dreferences"></a> +<a name="index-group-_0060definexref_0027"></a> +<a name="index-destgroup-_0060definexref_0027"></a> +<p>The ‘definexref’ destgroup is for the <code>\definexref</code> command (see <a href="#Defining-generic-references">Defining generic references</a>). <code>\definexref</code> defines a destination using the cross-reference label (the first argument) as the hyperlink label. - - <p><a name="index-group-_0060ref_0027-610"></a><a name="index-linkgroup-_0060ref_0027-611"></a>The `ref' linkgroup includes <code>\refn</code> and <code>\xrefn</code> (they are +</p> +<a name="index-group-_0060ref_0027"></a> +<a name="index-linkgroup-_0060ref_0027"></a> +<p>The ‘ref’ linkgroup includes <code>\refn</code> and <code>\xrefn</code> (they are synonyms), <code>\ref</code>, and <code>\refs</code> (see <a href="#Using-generic-references">Using generic references</a>). - - <p><a name="index-refn-_0040r_007b_0028hyperlinks_0029_007d-612"></a><a name="index-xrefn-_0040r_007b_0028hyperlinks_0029_007d-613"></a><code>\refn</code> turns the cross-reference it produces into a link, using +</p> +<a name="index-refn-_0028hyperlinks_0029"></a> +<a name="index-xrefn-_0028hyperlinks_0029"></a> +<p><code>\refn</code> turns the cross-reference it produces into a link, using the cross-reference label as the hyperlink label. If an optional argument is present, it is tied by -<a name="index-reftie-614"></a><code>\reftie</code> to the reference and become part of the link. - - <p><a name="index-ref-_0040r_007b_0028hyperlinks_0029_007d-615"></a><code>\ref</code> works similarly to <code>\refn</code>. It takes an optional +<a name="index-reftie"></a> +<code>\reftie</code> to the reference and become part of the link. +</p> +<a name="index-ref-_0028hyperlinks_0029"></a> +<p><code>\ref</code> works similarly to <code>\refn</code>. It takes an optional argument, which is treated the same way as the optional argument to -<code>\refn</code>. In addition, <code>\ref</code> can produce a “class word”. +<code>\refn</code>. In addition, <code>\ref</code> can produce a “class word”. Both the optional argument and the class word become part of the link, when present. The cross-reference is tied by -<a name="index-reftie-616"></a><code>\reftie</code> to the preceding word. The optional argument is +<a name="index-reftie-1"></a> +<code>\reftie</code> to the preceding word. The optional argument is separated from the class word by -<a name="index-refspace-617"></a><code>\refspace</code>. - - <p><a name="index-refs-_0040r_007b_0028hyperlinks_0029_007d-618"></a>Unlike <code>\ref</code>, <code>\refs</code> does not take an optional argument and +<a name="index-refspace"></a> +<code>\refspace</code>. +</p> +<a name="index-refs-_0028hyperlinks_0029"></a> +<p>Unlike <code>\ref</code>, <code>\refs</code> does not take an optional argument and does not make the class word part of the link, which is appropriate for its intended use. +</p> -<div class="node"> +<hr> <a name="Page-reference-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Equation-reference-hyperlinks" accesskey="n" rel="next">Equation reference hyperlinks</a>, Previous: <a href="#Cross_002dreference-hyperlinks" accesskey="p" rel="previous">Cross-reference hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Page-reference-hyperlinks_003a-xrdef_002c-xref"></a> <h4 class="subsection">5.3.6 Page reference hyperlinks: xrdef, xref</h4> -<p><a name="index-xrdef-_0040r_007b_0028hyperlinks_0029_007d-619"></a><a name="index-page-reference-hyperlink-620"></a><a name="index-hyperlinks_002c-page-references-621"></a><a name="index-group-_0060xrdef_0027-622"></a><a name="index-destgroup-_0060xrdef_0027-623"></a>The `xrdef' destgroup is for <code>\xrdef</code> (see <a href="#Page-references">Page references</a>). +<a name="index-xrdef-_0028hyperlinks_0029"></a> +<a name="index-page-reference-hyperlink"></a> +<a name="index-hyperlinks_002c-page-references"></a> +<a name="index-group-_0060xrdef_0027"></a> +<a name="index-destgroup-_0060xrdef_0027"></a> +<p>The ‘xrdef’ destgroup is for <code>\xrdef</code> (see <a href="#Page-references">Page references</a>). <code>\xrdef</code> defines a destination using cross-reference label as the hyperlink label. - - <p><a name="index-xref-_0040r_007b_0028hyperlinks_0029_007d-624"></a><a name="index-refspace-625"></a><a name="index-xrefpageword-626"></a><a name="index-group-_0060xref_0027-627"></a><a name="index-linkgroup-_0060xref_0027-628"></a>The `xref' linkgroup includes the <code>\xref</code> command (see <a href="#Page-references">Page references</a>). <code>\xref</code> turns its optional argument (followed by +</p> +<a name="index-xref-_0028hyperlinks_0029"></a> +<a name="index-refspace-1"></a> +<a name="index-xrefpageword-1"></a> +<a name="index-group-_0060xref_0027"></a> +<a name="index-linkgroup-_0060xref_0027"></a> +<p>The ‘xref’ linkgroup includes the <code>\xref</code> command (see <a href="#Page-references">Page references</a>). <code>\xref</code> turns its optional argument (followed by <code>\refspace</code>), <code>\xrefpageword</code> and the cross-reference (page number) into a link, using the cross-reference label as the hyperlink label. +</p> -<div class="node"> +<hr> <a name="Equation-reference-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Index-hyperlinks">Index hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Page-reference-hyperlinks">Page reference hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Index-hyperlinks" accesskey="n" rel="next">Index hyperlinks</a>, Previous: <a href="#Page-reference-hyperlinks" accesskey="p" rel="previous">Page reference hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Equation-reference-hyperlinks_003a-eq"></a> <h4 class="subsection">5.3.7 Equation reference hyperlinks: eq</h4> -<p><a name="index-eqdef-_0040r_007b_0028hyperlinks_0029_007d-629"></a><a name="index-eqdefn-_0040r_007b_0028hyperlinks_0029_007d-630"></a><a name="index-eqsubdef-_0040r_007b_0028hyperlinks_0029_007d-631"></a><a name="index-eqsubdefn-_0040r_007b_0028hyperlinks_0029_007d-632"></a><a name="index-equations_002c-hyperlinks-633"></a><a name="index-hyperlinks_002c-equations-634"></a><a name="index-group-_0060eq_0027-635"></a><a name="index-destgroup-_0060eq_0027-636"></a>All commands that define equation labels are part of the `eq' destgroup. +<a name="index-eqdef-_0028hyperlinks_0029"></a> +<a name="index-eqdefn-_0028hyperlinks_0029"></a> +<a name="index-eqsubdef-_0028hyperlinks_0029"></a> +<a name="index-eqsubdefn-_0028hyperlinks_0029"></a> +<a name="index-equations_002c-hyperlinks"></a> +<a name="index-hyperlinks_002c-equations"></a> +<a name="index-group-_0060eq_0027"></a> +<a name="index-destgroup-_0060eq_0027"></a> +<p>All commands that define equation labels are part of the ‘eq’ destgroup. These are <code>\eqdef</code>, <code>\eqdefn</code>, <code>\eqsubdef</code> and <code>\eqsubdefn</code> (see <a href="#Equation-references">Equation references</a>). All these commands use the equation label as the hyperlink label. However, if the equation label is empty, they make up a (hopefully) unique hyperlink label for the destination. This label will be used for the link when you refer to this empty-labeled equation with one of the equation reference macros. - - <p><a name="index-phantomeqlabel-637"></a><a name="index-phantomeqnumber-638"></a>The command <code>\phantomeqlabel</code> is called to generate hyperlink +</p> +<a name="index-phantomeqlabel"></a> +<a name="index-phantomeqnumber"></a> +<p>The command <code>\phantomeqlabel</code> is called to generate hyperlink labels for the empty-labeled equations. By default, it produces the -labels in the format ‘<samp><span class="samp">PHEQ</span><var>number</var></samp>’, where <var>number</var> comes +labels in the format ‘<samp>PHEQ<var>number</var></samp>’, where <var>number</var> comes from the count register <code>\phantomeqnumber</code>; this count register is incremented at every empty-labeled equation definition. - - <p><a name="index-eqref-639"></a><a name="index-eqrefn-640"></a><a name="index-reftie-641"></a><a name="index-group-_0060eq_0027-642"></a><a name="index-linkgroup-_0060eq_0027-643"></a>The commands <code>\eqref</code> and <code>\eqrefn</code> (see <a href="#Equation-references">Equation references</a>) form the `eq' linkgroup. These commands take an optional +</p> +<a name="index-eqref-1"></a> +<a name="index-eqrefn-1"></a> +<a name="index-reftie-2"></a> +<a name="index-group-_0060eq_0027-1"></a> +<a name="index-linkgroup-_0060eq_0027"></a> +<p>The commands <code>\eqref</code> and <code>\eqrefn</code> (see <a href="#Equation-references">Equation references</a>) form the ‘eq’ linkgroup. These commands take an optional argument, which, when present, is tied with <code>\reftie</code> to the equation reference and becomes part of the link. The equation label is used for the hyperlink label; if the label is empty, the link is for the label generated for the last empty-labeled equation. +</p> -<div class="node"> +<hr> <a name="Index-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Footnote-hyperlinks">Footnote hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Footnote-hyperlinks" accesskey="n" rel="next">Footnote hyperlinks</a>, Previous: <a href="#Equation-reference-hyperlinks" accesskey="p" rel="previous">Equation reference hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Index-hyperlinks_003a-idx"></a> <h4 class="subsection">5.3.8 Index hyperlinks: idx</h4> -<p><a name="index-idx-_0040r_007b_0028hyperlinks_0029_007d-644"></a><a name="index-idxname-_0040r_007b_0028hyperlinks_0029_007d-645"></a><a name="index-idxmarked-_0040r_007b_0028hyperlinks_0029_007d-646"></a><a name="index-idxsubmarked-_0040r_007b_0028hyperlinks_0029_007d-647"></a><a name="index-index-hyperlink-648"></a><a name="index-hyperlinks_002c-index-649"></a><a name="index-group-_0060idx_0027-650"></a><a name="index-linkgroup-_0060idx_0027-651"></a><a name="index-destgroup-_0060idx_0027-652"></a>All indexing commands (<code>\idx</code>, <code>\idxname</code>, <code>\idxmarked</code>, -<code>\idxsubmarked</code> and their silent equivalents, see <a href="#Indexing-commands">Indexing commands</a>) form the `idx' destgroup. The `idx' linkgroup consists of +<a name="index-idx-_0028hyperlinks_0029"></a> +<a name="index-idxname-_0028hyperlinks_0029"></a> +<a name="index-idxmarked-_0028hyperlinks_0029"></a> +<a name="index-idxsubmarked-_0028hyperlinks_0029"></a> +<a name="index-index-hyperlink"></a> +<a name="index-hyperlinks_002c-index"></a> +<a name="index-group-_0060idx_0027"></a> +<a name="index-linkgroup-_0060idx_0027"></a> +<a name="index-destgroup-_0060idx_0027"></a> +<p>All indexing commands (<code>\idx</code>, <code>\idxname</code>, <code>\idxmarked</code>, +<code>\idxsubmarked</code> and their silent equivalents, see <a href="#Indexing-commands">Indexing commands</a>) form the ‘idx’ destgroup. The ‘idx’ linkgroup consists of the macros which are used to typeset the index when you say -<a name="index-readindexfile-_0040r_007b_0028hyperlinks_0029_007d-653"></a><code>\readindexfile{</code><var>index-letter</var><code>}</code> (see <a href="#Typesetting-an-index">Typesetting an index</a>). - - <p><a name="index-makeindex-654"></a>To create the links in index entries, Eplain uses MakeIndex's +<a name="index-readindexfile-_0028hyperlinks_0029"></a> +<code>\readindexfile{<var>index-letter</var>}</code> (see <a href="#Typesetting-an-index">Typesetting an index</a>). +</p> +<a name="index-makeindex-2"></a> +<p>To create the links in index entries, Eplain uses MakeIndex’s “encapsulation” feature. When you use an indexing macro to mark an index term, Eplain writes out a line to the -<a name="index-g_t_002eidx-_0040r_007bfiles_007d-655"></a><samp><span class="file">.idx</span></samp> file of the following general form: +<a name="index-_002eidx-files-1"></a> +<samp>.idx</samp> file of the following general form: +</p> +<div class="example"> +<pre class="example">\indexentry{<var>entry</var>|<var>pagemarkup</var>}{<var>pageno</var>} +</pre></div> -<pre class="example"> \indexentry{<var>entry</var>|<var>pagemarkup</var>}{<var>pageno</var>} -</pre> - <p class="noindent">where <var>entry</var> is the index entry (converted into the +<p>where <var>entry</var> is the index entry (converted into the internal format that MakeIndex understands), <var>cs</var> is the markup -command you specified with the <code>pagemarkup=</code><var>cs</var> optional +command you specified with the <code>pagemarkup=<var>cs</var></code> optional argument to the indexing commands (see <a href="#Modifying-index-entries">Modifying index entries</a>), and <var>pageno</var> is the page number on which the term appeared. When -processing the <samp><span class="file">.idx</span></samp> file, MakeIndex makes the page number an +processing the <samp>.idx</samp> file, MakeIndex makes the page number an argument to the page markup command (“encapsulates” the page number), so the page number in the -<a name="index-g_t_002eind-_0040r_007bfiles_007d-656"></a><samp><span class="file">.ind</span></samp> file appears as <code>\</code><var>cs</var><code>{</code><var>pageno</var><code>}</code>. Eplain +<a name="index-_002eind-files-1"></a> +<samp>.ind</samp> file appears as <code>\<var>cs</var>{<var>pageno</var>}</code>. Eplain internally replaces the <var>cs</var> command name with its own command, -which, in addition to calling the original <code>\</code><var>cs</var> +which, in addition to calling the original <code>\<var>cs</var></code> encapsulator, turns the page number into a link. - - <p>Eplain provides two approaches to linking page numbers in the index to +</p> +<p>Eplain provides two approaches to linking page numbers in the index to locations of index terms in the text. - -<ul class="menu"> -<li><a accesskey="1" href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a> -<li><a accesskey="2" href="#Page-destinations-for-index-terms">Page destinations for index terms</a> -<li><a accesskey="3" href="#Choosing-destination-placement">Choosing destination placement</a> -<li><a accesskey="4" href="#Index-page-list-and-page-range-parsers">Index page list and page range parsers</a> -<li><a accesskey="5" href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Exact-destinations-for-index-terms" accesskey="1">Exact destinations for index terms</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-destinations-for-index-terms" accesskey="2">Page destinations for index terms</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Choosing-destination-placement" accesskey="3">Choosing destination placement</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Index-page-list-and-page-range-parsers" accesskey="4">Index page list and page range parsers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlinks-in-see-and-see-also-entries" accesskey="5">Hyperlinks in see and see also entries</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="Exact-destinations-for-index-terms"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Page-destinations-for-index-terms">Page destinations for index terms</a>, -Up: <a rel="up" accesskey="u" href="#Index-hyperlinks">Index hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Page-destinations-for-index-terms" accesskey="n" rel="next">Page destinations for index terms</a>, Up: <a href="#Index-hyperlinks" accesskey="u" rel="up">Index hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.3.8.1 Exact destinations for index terms</h5> +<a name="Exact-destinations-for-index-terms-1"></a> +<h4 class="subsubsection">5.3.8.1 Exact destinations for index terms</h4> <p>In this approach, each command that marks an index term defines a unique -destination and passes its label on to the <samp><span class="file">.idx</span></samp> file as part of +destination and passes its label on to the <samp>.idx</samp> file as part of the <code>\indexentry</code> command. The <code>\indexentry</code> line that Eplain -writes to the <samp><span class="file">.idx</span></samp> file becomes +writes to the <samp>.idx</samp> file becomes +</p> +<div class="example"> +<pre class="example">\indexentry{<var>entry</var>|hlidx{<var>label</var>}{<var>cs</var>}}{<var>pageno}</var> +</pre></div> -<pre class="example"> \indexentry{<var>entry</var>|hlidx{<var>label</var>}{<var>cs</var>}}{<var>pageno}</var> -</pre> - <p><a name="index-hlidx-657"></a>where <code>\hlidx</code> is the command that is defined by Eplain +<a name="index-hlidx"></a> +<p>where <code>\hlidx</code> is the command that is defined by Eplain to take three arguments: a hyperlink label (<var>label</var>), a name of -page number encapsulator (<var>cs</var>) and a page number (<var>pageno</var>). -In the <samp><span class="file">.ind</span></samp> file that MakeIndex will generate, the page number +page number encapsulator (<var>cs</var>) and a page number (<var>pageno</var>). +In the <samp>.ind</samp> file that MakeIndex will generate, the page number will now appear as +</p> +<div class="example"> +<pre class="example">\hlidx{<var>label</var>}{<var>cs</var>}{<var>pageno</var>} +</pre></div> -<pre class="example"> \hlidx{<var>label</var>}{<var>cs</var>}{<var>pageno</var>} -</pre> - <p class="noindent">The result of this command is -<code>\</code><var>cs</var><code>{</code><var>pageno</var><code>}</code>, wrapped up into a link pointing to +<p>The result of this command is +<code>\<var>cs</var>{<var>pageno</var>}</code>, wrapped up into a link pointing to <var>label</var> destination. - - <p>The hyperlink labels for the index terms are generated by the -<a name="index-hlidxlabel-658"></a><code>\hlidxlabel</code> command, by default in the format -‘<samp><span class="samp">IDX</span><var>number</var></samp>’, where <var>number</var> is the value of the count +</p> +<p>The hyperlink labels for the index terms are generated by the +<a name="index-hlidxlabel"></a> +<code>\hlidxlabel</code> command, by default in the format +‘<samp>IDX<var>number</var></samp>’, where <var>number</var> is the value of the count register -<a name="index-hlidxlabelnumber-659"></a><code>\hlidxlabelnumber</code>. This count register is incremented at each +<a name="index-hlidxlabelnumber"></a> +<code>\hlidxlabelnumber</code>. This count register is incremented at each index term. - - <p><a name="index-exact-index-hyperlinks-660"></a><a name="index-index_002c-exact-hyperlinks-661"></a><a name="index-hyperlinks_002c-index_002c-exact-662"></a>The advantage of this approach, as compared to the second approach +</p> +<a name="index-exact-index-hyperlinks"></a> +<a name="index-index_002c-exact-hyperlinks"></a> +<a name="index-hyperlinks_002c-index_002c-exact"></a> +<p>The advantage of this approach, as compared to the second approach described below, is that links in the index point to exact locations of the indexed terms on the page. The disadvantage of this approach is that MakeIndex will regard <em>all</em> index entries as distinct, because each one contains a (unique) hyperlink label. This disadvantage can be partially overcome by the script -<a name="index-idxuniq-663"></a><a name="index-filtering-index-entries-with-hyperlinks-664"></a><a name="index-hyperlinks_002c-filtering-index-entries-665"></a><samp><span class="file">idxuniq</span></samp> distributed with Eplain in the <samp><span class="file">util</span></samp> directory. +<a name="index-idxuniq"></a> +<a name="index-filtering-index-entries-with-hyperlinks"></a> +<a name="index-hyperlinks_002c-filtering-index-entries"></a> +<samp>idxuniq</samp> distributed with Eplain in the <samp>util</samp> directory. This script filters out <code>\indexentry</code> lines differing only in the hyperlink label but identical otherwise. You should process the -<samp><span class="file">.idx</span></samp> with this script before passing it on to MakeIndex. For +<samp>.idx</samp> with this script before passing it on to MakeIndex. For example: +</p> +<div class="example"> +<pre class="example">prompt$ ./idxuniq file.idx | makeindex > file.ind +</pre></div> -<pre class="example"> prompt$ ./idxuniq file.idx | makeindex > file.ind -</pre> - <p class="noindent">Still, this solution is not ideal, as the page-range formation +<p>Still, this solution is not ideal, as the page-range formation ability of MakeIndex will not work, and there will be problems of apparently identical index entries clashing (e.g., when a range-end entry appears on the same page as another entry with the same -definition; <samp><span class="file">idxuniq</span></samp> will not filter out the second entry). +definition; <samp>idxuniq</samp> will not filter out the second entry). +</p> -<div class="node"> +<hr> <a name="Page-destinations-for-index-terms"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Choosing-destination-placement">Choosing destination placement</a>, -Previous: <a rel="previous" accesskey="p" href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a>, -Up: <a rel="up" accesskey="u" href="#Index-hyperlinks">Index hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Choosing-destination-placement" accesskey="n" rel="next">Choosing destination placement</a>, Previous: <a href="#Exact-destinations-for-index-terms" accesskey="p" rel="previous">Exact destinations for index terms</a>, Up: <a href="#Index-hyperlinks" accesskey="u" rel="up">Index hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.3.8.2 Page destinations for index terms</h5> +<a name="Page-destinations-for-index-terms-1"></a> +<h4 class="subsubsection">5.3.8.2 Page destinations for index terms</h4> <p>In the second approach, Eplain does not write out any destination labels for the index terms. Instead, Eplain writes out a wrapper for page @@ -4056,323 +5252,421 @@ number encapsulator which can parse the page number and generate a link pointing to the <em>page</em> on which the term appeared. On top of each page containing an index term, Eplain defines a destination with label produced by -<a name="index-hlidxpagelabel-666"></a><code>\hlidxpagelabel</code>. The <code>\hlidxpagelabel</code> command takes a +<a name="index-hlidxpagelabel"></a> +<code>\hlidxpagelabel</code>. The <code>\hlidxpagelabel</code> command takes a single argument (page number <var>number</var>) and by default produces the -label in the format ‘<samp><span class="samp">IDXPG</span><var>number</var></samp>’. - - <p>With this approach, the <code>\indexentry</code> line which Eplain writes to +label in the format ‘<samp>IDXPG<var>number</var></samp>’. +</p> +<p>With this approach, the <code>\indexentry</code> line which Eplain writes to the <code>.idx</code> file looks like this: +</p> +<div class="example"> +<pre class="example">\indexentry{<var>entry</var>|hlidxpage{<var>cs</var>}}{<var>pageno}</var> +</pre></div> -<pre class="example"> \indexentry{<var>entry</var>|hlidxpage{<var>cs</var>}}{<var>pageno}</var> -</pre> - <p><a name="index-hlidxpage-667"></a>where <code>\hlidxpage</code> is the command that is defined by Eplain +<a name="index-hlidxpage"></a> +<p>where <code>\hlidxpage</code> is the command that is defined by Eplain to take two arguments: a name of page number encapsulator (<var>cs</var>) -and a page number (<var>pageno</var>). In the <samp><span class="file">.ind</span></samp> file that +and a page number (<var>pageno</var>). In the <samp>.ind</samp> file that MakeIndex will generate, the page number will appear as +</p> +<div class="example"> +<pre class="example">\hlidxpage{<var>cs</var>}{<var>pageno</var>} +</pre></div> -<pre class="example"> \hlidxpage{<var>cs</var>}{<var>pageno</var>} -</pre> - <p>The advantage of this approach is that all features of MakeIndex are +<p>The advantage of this approach is that all features of MakeIndex are intact. The drawback is that links in the index do not point to exact locations of indexed terms on a page, but to the top of a page on which the term appears. - - <p><a name="index-index_002c-parsing-page-numbers-668"></a><a name="index-page-range_002c-parsing-669"></a><a name="index-page-list_002c-parsing-670"></a><a name="index-parsing-page-numbers-671"></a>Another disadvantage is that this approach depends on the page range and -page list separators which MakeIndex was configured to output. +</p> +<a name="index-index_002c-parsing-page-numbers"></a> +<a name="index-page-range_002c-parsing"></a> +<a name="index-page-list_002c-parsing"></a> +<a name="index-parsing-page-numbers"></a> +<p>Another disadvantage is that this approach depends on the page range and +page list separators which MakeIndex was configured to output. <code>\hlidxpage</code> must be able to parse the first page number in a page -range like ‘<samp><span class="samp">1--4</span></samp>’. In addition, page list parsing is needed +range like ‘<samp>1--4</samp>’. In addition, page list parsing is needed because MakeIndex combines two consecutive page numbers in one call to the page number encapsulator, so <code>\hlidxpage</code> can be passed, e.g., -‘<samp><span class="samp">1, 2</span></samp>’ for the <var>pageno</var>. In this last case, <code>\hlidxpage</code> -splits the two page numbers, applies <code>\</code><var>cs</var> to each of them, +‘<samp>1, 2</samp>’ for the <var>pageno</var>. In this last case, <code>\hlidxpage</code> +splits the two page numbers, applies <code>\<var>cs</var></code> to each of them, and makes each of the page numbers a link to the appropriate page. Note that this will alter typesetting slightly, because now the page list separator (a comma followed by a space, by default) is not typeset using -the page number encapsulator (<code>\</code><var>cs</var>). - - <p>Eplain's defaults for the page list and page number delimiters are the -same as those in MakeIndex, a comma followed by a space (‘<samp><span class="samp">, </span></samp>’) and -two dashes (‘<samp><span class="samp">--</span></samp>’), respectively. If you customize MakeIndex to use +the page number encapsulator (<code>\<var>cs</var></code>). +</p> +<p>Eplain’s defaults for the page list and page number delimiters are the +same as those in MakeIndex, a comma followed by a space (‘<samp>, </samp>’) and +two dashes (‘<samp>--</samp>’), respectively. If you customize MakeIndex to use different delimiters, you must not forget to let Eplain know about them with the commands +</p> +<div class="example"> +<pre class="example">\setidxpagelistdelimiter{<var>list-delim</var>} +\setidxpagerangedelimiter{<var>page-delim</var>} +</pre></div> -<pre class="example"> \setidxpagelistdelimiter{<var>list-delim</var>} - \setidxpagerangedelimiter{<var>page-delim</var>} -</pre> - <p class="noindent">(see <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a>). +<p>(see <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a>). +</p> -<div class="node"> +<hr> <a name="Choosing-destination-placement"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Index-page-list-and-page-range-parsers">Index page list and page range parsers</a>, -Previous: <a rel="previous" accesskey="p" href="#Page-destinations-for-index-terms">Page destinations for index terms</a>, -Up: <a rel="up" accesskey="u" href="#Index-hyperlinks">Index hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Index-page-list-and-page-range-parsers" accesskey="n" rel="next">Index page list and page range parsers</a>, Previous: <a href="#Page-destinations-for-index-terms" accesskey="p" rel="previous">Page destinations for index terms</a>, Up: <a href="#Index-hyperlinks" accesskey="u" rel="up">Index hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.3.8.3 Choosing destination placement</h5> - -<p><a name="index-index_002c-placement-of-destinations-672"></a><a name="index-index_002c-destination-placement-673"></a><a name="index-index_002c-selecting-destination-placement-674"></a><a name="index-index_002c-choosing-destination-placement-675"></a><a name="index-hyperlinks_002c-index-destination-placement-676"></a>The approach that Eplain should use for the index terms can be +<a name="Choosing-destination-placement-1"></a> +<h4 class="subsubsection">5.3.8.3 Choosing destination placement</h4> + +<a name="index-index_002c-placement-of-destinations"></a> +<a name="index-index_002c-destination-placement"></a> +<a name="index-index_002c-selecting-destination-placement"></a> +<a name="index-index_002c-choosing-destination-placement"></a> +<a name="index-hyperlinks_002c-index-destination-placement"></a> +<p>The approach that Eplain should use for the index terms can be selected in the -<a name="index-enablehyperlinks-677"></a><code>\enablehyperlinks</code> command. The optional argument it accepts is +<a name="index-enablehyperlinks-1"></a> +<code>\enablehyperlinks</code> command. The optional argument it accepts is a comma-separated list of options. The -<a name="index-idxexact-678"></a><code>idxexact</code> option selects the first approach, -<a name="index-idxpage-679"></a><code>idxpage</code> the second, and -<a name="index-idxnone-680"></a><code>idxnone</code> disables hyperlink support for the index terms +<a name="index-idxexact"></a> +<code>idxexact</code> option selects the first approach, +<a name="index-idxpage"></a> +<code>idxpage</code> the second, and +<a name="index-idxnone"></a> +<code>idxnone</code> disables hyperlink support for the index terms altogether, in case you want to stop Eplain from writing its link -wrappers into the <samp><span class="file">.idx</span></samp> file. The default is <code>idxpage</code>. - - <p>For example: +wrappers into the <samp>.idx</samp> file. The default is <code>idxpage</code>. +</p> +<p>For example: +</p> +<div class="example"> +<pre class="example">\enablehyperlinks[idxexact] +</pre></div> -<pre class="example"> \enablehyperlinks[idxexact] -</pre> - <p class="noindent">selects the first approach (“exact index links”). +<p>selects the first approach (“exact index links”). +</p> -<div class="node"> +<hr> <a name="Index-page-list-and-page-range-parsers"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a>, -Previous: <a rel="previous" accesskey="p" href="#Choosing-destination-placement">Choosing destination placement</a>, -Up: <a rel="up" accesskey="u" href="#Index-hyperlinks">Index hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Hyperlinks-in-see-and-see-also-entries" accesskey="n" rel="next">Hyperlinks in see and see also entries</a>, Previous: <a href="#Choosing-destination-placement" accesskey="p" rel="previous">Choosing destination placement</a>, Up: <a href="#Index-hyperlinks" accesskey="u" rel="up">Index hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.3.8.4 Index page list and page range parsers</h5> +<a name="Index-page-list-and-page-range-parsers-1"></a> +<h4 class="subsubsection">5.3.8.4 Index page list and page range parsers</h4> <p>The macros that Eplain uses to parse page lists and page ranges, <code>\idxparselist</code> and <code>\idxparserange</code>, can sometimes be useful when defining page number encapsulators. See <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a>, for the description of these commands and an example of their usage. +</p> -<div class="node"> +<hr> <a name="Hyperlinks-in-see-and-see-also-entries"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Index-page-list-and-page-range-parsers">Index page list and page range parsers</a>, -Up: <a rel="up" accesskey="u" href="#Index-hyperlinks">Index hyperlinks</a> - +<div class="header"> +<p> +Previous: <a href="#Index-page-list-and-page-range-parsers" accesskey="p" rel="previous">Index page list and page range parsers</a>, Up: <a href="#Index-hyperlinks" accesskey="u" rel="up">Index hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.3.8.5 Hyperlinks in see and see also entries</h5> - -<p><a name="index-hyperlinks_002c-see-and-see-also-index-entries-681"></a><a name="index-index_002c-hyperlinks-in-see-and-see-also-entries-682"></a><a name="index-see-also-index-entries-and-hyperlinks-683"></a><a name="index-see_002c-and-index-entries_002c-hyperlinks-684"></a>There is no automatic support for hyperlinks with “see” and “see +<a name="Hyperlinks-in-see-and-see-also-entries-1"></a> +<h4 class="subsubsection">5.3.8.5 Hyperlinks in see and see also entries</h4> + +<a name="index-hyperlinks_002c-see-and-see-also-index-entries"></a> +<a name="index-index_002c-hyperlinks-in-see-and-see-also-entries"></a> +<a name="index-see-also-index-entries-and-hyperlinks"></a> +<a name="index-see_002c-and-index-entries_002c-hyperlinks"></a> +<p>There is no automatic support for hyperlinks with “see” and “see also” index entries, as there is not enough information to trace the parameters of -<a name="index-indexsee-685"></a><code>\indexsee</code> and -<a name="index-indexseealso-686"></a><code>\indexseealso</code> to corresponding index entries. But if desired, +<a name="index-indexsee-1"></a> +<code>\indexsee</code> and +<a name="index-indexseealso-1"></a> +<code>\indexseealso</code> to corresponding index entries. But if desired, this can be implemented with <code>\hldest</code> and <code>\hlstart</code> (see <a href="#Explicit-hyperlinks">Explicit hyperlinks</a>); for example: +</p> +<div class="example"> +<pre class="example">\sidx{semantic theory of truth@% + \leavevmode\hldest{}{}{idx:theo truth}semantic theory of truth} +… +\sidx[seealso]{truth}[definition of]% + {\hlstart{}{}{idx:theo truth}semantic theory of truth\hlend} +</pre></div> -<pre class="example"> \sidx{semantic theory of truth@% - \leavevmode\hldest{}{}{idx:theo truth}semantic theory of truth} - ... - \sidx[seealso]{truth}[definition of]% - {\hlstart{}{}{idx:theo truth}semantic theory of truth\hlend} -</pre> - <div class="node"> -<a name="Footnote-hyperlinks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Contents-hyperlinks">Contents hyperlinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Index-hyperlinks">Index hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> +<hr> +<a name="Footnote-hyperlinks"></a> +<div class="header"> +<p> +Next: <a href="#Contents-hyperlinks" accesskey="n" rel="next">Contents hyperlinks</a>, Previous: <a href="#Index-hyperlinks" accesskey="p" rel="previous">Index hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Footnote-hyperlinks_003a-foot_002c-footback"></a> <h4 class="subsection">5.3.9 Footnote hyperlinks: foot, footback</h4> -<p><a name="index-footnotes_002c-hyperlinks-687"></a><a name="index-hyperlinks_002c-footnotes-688"></a><a name="index-group-_0060foot_0027-689"></a><a name="index-group-_0060footback_0027-690"></a><a name="index-linkgroup-_0060foot_0027-691"></a><a name="index-linkgroup-_0060footback_0027-692"></a><a name="index-destgroup-_0060foot_0027-693"></a><a name="index-destgroup-_0060footback_0027-694"></a>The `foot' link and destination groups include the -<a name="index-numberedfootnote-_0040r_007b_0028hyperlinks_0029_007d-695"></a><code>\numberedfootnote</code> and -<a name="index-footnote-_0040r_007b_0028hyperlinks_0029_007d-696"></a><code>\footnote</code> macros (see <a href="#Footnotes">Footnotes</a>). The `footback' groups +<a name="index-footnotes_002c-hyperlinks"></a> +<a name="index-hyperlinks_002c-footnotes"></a> +<a name="index-group-_0060foot_0027"></a> +<a name="index-group-_0060footback_0027"></a> +<a name="index-linkgroup-_0060foot_0027"></a> +<a name="index-linkgroup-_0060footback_0027"></a> +<a name="index-destgroup-_0060foot_0027"></a> +<a name="index-destgroup-_0060footback_0027"></a> +<p>The ‘foot’ link and destination groups include the +<a name="index-numberedfootnote-_0028hyperlinks_0029"></a> +<code>\numberedfootnote</code> and +<a name="index-footnote-_0028hyperlinks_0029"></a> +<code>\footnote</code> macros (see <a href="#Footnotes">Footnotes</a>). The ‘footback’ groups include the same macros, but control parameters for links and destinations created inside the footnote to point back to the footnote mark within the text body. - - <p>The macros use hyperlink labels generated by -<a name="index-hlfootlabel-697"></a><code>\hlfootlabel</code> and -<a name="index-hlfootbacklabel-698"></a><code>\hlfootbacklabel</code>. The default formats for the labels are -‘<samp><span class="samp">FOOT</span><var>number</var></samp>’ and ‘<samp><span class="samp">FOOTB</span><var>number</var></samp>’, respectively, +</p> +<p>The macros use hyperlink labels generated by +<a name="index-hlfootlabel"></a> +<code>\hlfootlabel</code> and +<a name="index-hlfootbacklabel"></a> +<code>\hlfootbacklabel</code>. The default formats for the labels are +‘<samp>FOOT<var>number</var></samp>’ and ‘<samp>FOOTB<var>number</var></samp>’, respectively, where <var>number</var> is the value of the count register -<a name="index-hlfootlabelnumber-699"></a><code>\hlfootlabelnumber</code>. This register is incremented at every +<a name="index-hlfootlabelnumber"></a> +<code>\hlfootlabelnumber</code>. This register is incremented at every footnote. - - <p>Generally, footnote hyperlinks are not of much use, because the -footnotes are usually placed on the same page as the footnote mark. +</p> +<p>Generally, footnote hyperlinks are not of much use, because the +footnotes are usually placed on the same page as the footnote mark. Therefore, footnote hyperlinks are disabled by default. Here is how you can turn them on selectively, without affecting the other kinds of hyperlinks (see <a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a>): +</p> +<div class="example"> +<pre class="example">\hldeston[foot,footback] +\hlon[foot,footback] +</pre></div> -<pre class="example"> \hldeston[foot,footback] - \hlon[foot,footback] -</pre> - <div class="node"> -<a name="Contents-hyperlinks"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Footnote-hyperlinks">Footnote hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Implicit-hyperlinks">Implicit hyperlinks</a> +<hr> +<a name="Contents-hyperlinks"></a> +<div class="header"> +<p> +Previous: <a href="#Footnote-hyperlinks" accesskey="p" rel="previous">Footnote hyperlinks</a>, Up: <a href="#Implicit-hyperlinks" accesskey="u" rel="up">Implicit hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Contents-hyperlinks-1"></a> <h4 class="subsection">5.3.10 Contents hyperlinks</h4> -<p><a name="index-table-of-contents_002c-hyperlinks-700"></a><a name="index-contents_002c-hyperlinks-701"></a><a name="index-hyperlinks_002c-table-of-contents-702"></a>There is currently no special support for hyperlinks in the table of +<a name="index-table-of-contents_002c-hyperlinks"></a> +<a name="index-contents_002c-hyperlinks"></a> +<a name="index-hyperlinks_002c-table-of-contents"></a> +<p>There is currently no special support for hyperlinks in the table of contents (see <a href="#Contents">Contents</a>), but implementing them with the -<code>\hldest</code> and <code>\hlstart ... \hlend</code> commands +<code>\hldest</code> and <code>\hlstart … \hlend</code> commands (see <a href="#Explicit-hyperlinks">Explicit hyperlinks</a>) should be possible. +</p> -<div class="node"> +<hr> <a name="Hyperlink-drivers"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>, -Previous: <a rel="previous" accesskey="p" href="#Implicit-hyperlinks">Implicit hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlinks">Hyperlinks</a> - +<div class="header"> +<p> +Next: <a href="#Setting-hyperlink-types-and-options" accesskey="n" rel="next">Setting hyperlink types and options</a>, Previous: <a href="#Implicit-hyperlinks" accesskey="p" rel="previous">Implicit hyperlinks</a>, Up: <a href="#Hyperlinks" accesskey="u" rel="up">Hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Hyperlink-drivers-1"></a> <h3 class="section">5.4 Hyperlink drivers</h3> <p>This section describes the hyperlink drivers: the types of hyperlinks they support, and the options they accept. During the first reading, you may only want to skim through this section. - - <p>Some of the descriptions below come from <cite>Portable Document Format +</p> +<p>Some of the descriptions below come from <cite>Portable Document Format Reference Manual Version 1.3</cite>, March 11, 1999. - -<ul class="menu"> -<li><a accesskey="1" href="#Options-supported-by-all-drivers">Options supported by all drivers</a> -<li><a accesskey="2" href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a> -<li><a accesskey="3" href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a> -<li><a accesskey="4" href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Options-supported-by-all-drivers" accesskey="1">Options supported by all drivers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-driver-hypertex" accesskey="2">Hyperlink driver hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-drivers-pdftex-and-dvipdfm" accesskey="3">Hyperlink drivers pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hyperlink-driver-nolinks" accesskey="4">Hyperlink driver nolinks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="Options-supported-by-all-drivers"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers">Hyperlink drivers</a> - +<div class="header"> +<p> +Next: <a href="#Hyperlink-driver-hypertex" accesskey="n" rel="next">Hyperlink driver hypertex</a>, Up: <a href="#Hyperlink-drivers" accesskey="u" rel="up">Hyperlink drivers</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Options-supported-by-all-drivers-1"></a> <h4 class="subsection">5.4.1 Options supported by all drivers</h4> -<p><a name="index-hyperlink-options_002c-common-703"></a>This subsection describes the destination and link options which are +<a name="index-hyperlink-options_002c-common"></a> +<p>This subsection describes the destination and link options which are supported by all hyperlink drivers. +</p> -<h5 class="subsubheading">Destination options supported by all drivers</h5> - -<p><a name="index-destination-options_002c-common-704"></a><a name="index-options_002c-destination_002c-common-705"></a> - <dl> -<dt><code>raise</code><dd><a name="index-raise-_0040r_007b_0028hyperlink-option_0029_007d-706"></a><a name="index-raising-hyperlink-destinations-707"></a><a name="index-hyperlink-destination_002c-raising-708"></a><a name="index-destinations_002c-raising-709"></a>Specifies how much to raise destinations above the baseline. When set +<a name="Destination-options-supported-by-all-drivers"></a> +<h4 class="subsubheading">Destination options supported by all drivers</h4> + +<a name="index-destination-options_002c-common"></a> +<a name="index-options_002c-destination_002c-common"></a> +<dl compact="compact"> +<dt><code>raise</code></dt> +<dd><a name="index-raise-_0028hyperlink-option_0029"></a> +<a name="index-raising-hyperlink-destinations"></a> +<a name="index-hyperlink-destination_002c-raising"></a> +<a name="index-destinations_002c-raising"></a> +<p>Specifies how much to raise destinations above the baseline. When set to zero or empty, destinations are placed at the baseline. - - <p>It is usually convenient to set this option to some variable parameter, +</p> +<p>It is usually convenient to set this option to some variable parameter, so that the height to which destinations are raised is automatically adjusted according to the current context. For example, setting it to -<a name="index-normalbaselineskip-710"></a><code>\normalbaselineskip</code> (or some fraction of it, like +<a name="index-normalbaselineskip"></a> +<code>\normalbaselineskip</code> (or some fraction of it, like <code>1.7\normalbaselineskip</code>) makes the setting appropriate for different point sizes, in case your document uses more than one. - - <p>The default setting is <code>\normalbaselineskip</code>. Initially, the +</p> +<p>The default setting is <code>\normalbaselineskip</code>. Initially, the destgroups do not define this option, so they fall back on the default, -except for the `eq' destgroup, for which this option is set to +except for the ‘eq’ destgroup, for which this option is set to <code>1.7\normalbaselineskip</code>, -<a name="index-mathematics-displays_002c-hyperlinks-711"></a><a name="index-displayed-math-and-hyperlinks-712"></a><a name="index-large-operators-and-hyperlinks-713"></a><a name="index-hyperlinks_002c-large-operators-714"></a><a name="index-destinations_002c-large-operators-715"></a>to accommodate the usual cases of large operators in displayed math. - - <p>Example: <code>\hldestopts[eq]{raise=2.5\normalbaselineskip}</code> +<a name="index-mathematics-displays_002c-hyperlinks"></a> +<a name="index-displayed-math-and-hyperlinks"></a> +<a name="index-large-operators-and-hyperlinks"></a> +<a name="index-hyperlinks_002c-large-operators"></a> +<a name="index-destinations_002c-large-operators"></a> +to accommodate the usual cases of large operators in displayed math. +</p> +<p>Example: <code>\hldestopts[eq]{raise=2.5\normalbaselineskip}</code> +</p></dd> </dl> -<h5 class="subsubheading">Link options supported by all drivers</h5> -<p><a name="index-link-options_002c-common-716"></a><a name="index-options_002c-link_002c-common-717"></a> - <dl> -<dt><code>colormodel</code><dt><code>color</code><dd><a name="index-colormodel-_0040r_007b_0028hyperlink-option_0029_007d-718"></a><a name="index-color-_0040r_007b_0028hyperlink-option_0029_007d-719"></a><a name="index-color_002c-hyperlinks-720"></a><a name="index-colored-links-721"></a><a name="index-hyperlink-color-722"></a>These two options define the color to be used for rendering the link +<a name="Link-options-supported-by-all-drivers"></a> +<h4 class="subsubheading">Link options supported by all drivers</h4> +<a name="index-link-options_002c-common"></a> +<a name="index-options_002c-link_002c-common"></a> + +<dl compact="compact"> +<dt><code>colormodel</code></dt> +<dt><code>color</code></dt> +<dd><a name="index-colormodel-_0028hyperlink-option_0029"></a> +<a name="index-color-_0028hyperlink-option_0029"></a> +<a name="index-color_002c-hyperlinks-1"></a> +<a name="index-colored-links-1"></a> +<a name="index-hyperlink-color-1"></a> +<p>These two options define the color to be used for rendering the link text. The colors are used only when a <code>\color</code> command is defined, -e.g., by loading the LaTeX `color' package (see <a href="#Packages-known-to-work">Packages known to work</a>). The <code>\color</code> command is called as -<code>\color[</code><var>colormodel</var><code>]{</code><var>color</var><code>}</code>, where <var>colormodel</var> +e.g., by loading the LaTeX ‘color’ package (see <a href="#Packages-known-to-work">Packages known to work</a>). The <code>\color</code> command is called as +<code>\color[<var>colormodel</var>]{<var>color</var>}</code>, where <var>colormodel</var> and <var>color</var> are the definitions of the <code>colormodel</code> and <code>color</code> options, respectively. However, if <var>colormodel</var> is empty, the optional argument to <code>\color</code> is omitted; and if -<var>color</var> is empty, the <code>\color</code> command is omitted altogether. -The default setting is <var>colormodel</var><code>=cmyk</code> and -<var>color</var><code>=0.28,1,1,0.35</code>. - - <p>When specifying colors with several components delimited by commas -(e.g., RGB and CMYK colors in the LaTeX `color' package), it is not +<var>color</var> is empty, the <code>\color</code> command is omitted altogether. +The default setting is <code><var>colormodel</var>=cmyk</code> and +<code><var>color</var>=0.28,1,1,0.35</code>. +</p> +<p>When specifying colors with several components delimited by commas +(e.g., RGB and CMYK colors in the LaTeX ‘color’ package), it is not possible to specify the components directly in the option list of <code>\hlopts</code>, because comma is the option list delimiter. With the -`color' package, it is possible to specify such colors by defining a +‘color’ package, it is possible to specify such colors by defining a custom color with <code>\definecolor</code> and using the new color name with an empty <var>colormodel</var> (see examples below). +</p> +<p>Examples: +</p> +<div class="example"> +<pre class="example">\hlopts{colormodel=,color=blue}% predefined color +\definecolor{mycolor}{rgb}{.3,.8,.95} +\hlopts{colormodel=,color=mycolor}% custom color +\hlopts{colormodel=gray,color=.4} +</pre></div> +</dd> +</dl> - <p>Examples: - <pre class="example"> \hlopts{colormodel=,color=blue}% predefined color - \definecolor{mycolor}{rgb}{.3,.8,.95} - \hlopts{colormodel=,color=mycolor}% custom color - \hlopts{colormodel=gray,color=.4} -</pre> - </dl> - -<div class="node"> +<hr> <a name="Hyperlink-driver-hypertex"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a>, -Previous: <a rel="previous" accesskey="p" href="#Options-supported-by-all-drivers">Options supported by all drivers</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers">Hyperlink drivers</a> - +<div class="header"> +<p> +Next: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm" accesskey="n" rel="next">Hyperlink drivers pdftex and dvipdfm</a>, Previous: <a href="#Options-supported-by-all-drivers" accesskey="p" rel="previous">Options supported by all drivers</a>, Up: <a href="#Hyperlink-drivers" accesskey="u" rel="up">Hyperlink drivers</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Hyperlink-driver-hypertex-1"></a> <h4 class="subsection">5.4.2 Hyperlink driver <code>hypertex</code></h4> -<p><a name="index-hypertex-_0040r_007b_0028hyperlink-driver_0029_007d-723"></a><a name="index-g_t_0040code_007bhypertex_007d_002c-hyperlink-driver-724"></a><a name="index-driver-_0040code_007bhypertex_007d-725"></a><a name="index-hyperlink-driver-_0040code_007bhypertex_007d-726"></a>HyperTeX is a standard for inclusion of hyperlink information in -TeX (and LaTeX) documents (see <a href="http://arxiv.org/hypertex">http://arxiv.org/hypertex</a>). +<a name="index-hypertex-_0028hyperlink-driver_0029"></a> +<a name="index-hypertex_002c-hyperlink-driver"></a> +<a name="index-driver-hypertex"></a> +<a name="index-hyperlink-driver-hypertex"></a> +<p>HyperTeX is a standard for inclusion of hyperlink information in +TeX (and LaTeX) documents (see <a href="http://arxiv.org/hypertex">http://arxiv.org/hypertex</a>). This standard defines a set of hyperlink tags implemented as <code>\special</code> commands written into the <acronym>DVI</acronym> file. The -major advantage of such standard is that a single <samp><span class="file">.dvi</span></samp> file +major advantage of such standard is that a single <samp>.dvi</samp> file containing HyperTeX commands can be viewed by any HyperTeX-enabled viewer (e.g., any more or less modern version of -<a name="index-xdvi-727"></a><code>xdvi</code>) or converted to other file formats (e.g., <acronym>PDF</acronym>) +<a name="index-xdvi"></a> +<code>xdvi</code>) or converted to other file formats (e.g., <acronym>PDF</acronym>) by any HyperTeX-enabled <acronym>DVI</acronym> converter (e.g., -<a name="index-dvipdfm-728"></a><code>dvipdfmx</code> or -<a name="index-dvips-729"></a><code>dvips</code> with -<a name="index-g_t_0040r_007bGhostscript_007d-730"></a>Ghostscript's -<a name="index-ps2pdf-731"></a><code>ps2pdf</code> script). - - <p>The downside to the standard is that it is by design “the common +<a name="index-dvipdfm-1"></a> +<code>dvipdfmx</code> or +<a name="index-dvips"></a> +<code>dvips</code> with +<a name="index-Ghostscript"></a> +Ghostscript’s +<a name="index-ps2pdf"></a> +<code>ps2pdf</code> script). +</p> +<p>The downside to the standard is that it is by design “the common factor” of other formats supporting hyperlinks, so many features of a particular file format cannot be supported by HyperTeX. Therefore, if you need to use special features of a particular format, HyperTeX is not a good choice. For the <acronym>PDF</acronym> file format, Eplain provides the <code>pdftex</code> and <code>dvipdfm</code> drivers which provide fine control over the <acronym>PDF</acronym> options (see <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a>). - - <p>For more information on programs which support the HyperTeX standard, +</p> +<p>For more information on programs which support the HyperTeX standard, please see +</p> +<div class="display"> +<pre class="display"><a href="http://arxiv.org/hypertex">http://arxiv.org/hypertex</a> +<a href="http://www.tug.org/tex-archive/support/hypertex/hypertex">http://www.tug.org/tex-archive/support/hypertex/hypertex</a> +</pre></div> -<pre class="display"> <a href="http://arxiv.org/hypertex">http://arxiv.org/hypertex</a> - <a href="http://www.tug.org/tex-archive/support/hypertex/hypertex">http://www.tug.org/tex-archive/support/hypertex/hypertex</a> -</pre> - <p class="noindent">For convenience, we list a few HyperTeX-enabled converters: - - -<a name="index-dvips-732"></a> -<dl><dt><code>dvips</code><dd>Note that you need to pass the <samp><span class="option">-z</span></samp> option to <code>dvips</code> to +<p>For convenience, we list a few HyperTeX-enabled converters: +</p> +<dl compact="compact"> +<dd><a name="index-dvips-1"></a> +</dd> +<dt><code>dvips</code></dt> +<dd><p>Note that you need to pass the <samp>-z</samp> option to <code>dvips</code> to tell it to preserve the information about the hyperlinks. To generate a -<samp><span class="file">.pdf</span></samp> file with hyperlinks, you can use the -<a name="index-ps2pdf-733"></a><samp><span class="file">ps2pdf</span></samp> script of -<a name="index-g_t_0040r_007bGhostscript_007d-734"></a>Ghostscript. For example, if <samp><span class="file">foo.tex</span></samp> is a TeX file using +<samp>.pdf</samp> file with hyperlinks, you can use the +<a name="index-ps2pdf-1"></a> +<samp>ps2pdf</samp> script of +<a name="index-Ghostscript-1"></a> +Ghostscript. For example, if <samp>foo.tex</samp> is a TeX file using HyperTeX commands, then +</p> +<div class="example"> +<pre class="example">prompt$ tex foo.tex +prompt$ dvips -z foo.dvi -o +prompt$ ps2pdf foo.ps +</pre></div> - <pre class="example"> prompt$ tex foo.tex - prompt$ dvips -z foo.dvi -o - prompt$ ps2pdf foo.ps -</pre> - <p class="noindent">will produce <samp><span class="file">foo.pdf</span></samp> with hyperlinks. - - <br><dt><code>dvipdfm</code><dt><code>dvipdfmx</code><dd><a name="index-dvipdfm-735"></a>No special command line arguments are required, these programs +<p>will produce <samp>foo.pdf</samp> with hyperlinks. +</p> +</dd> +<dt><code>dvipdfm</code></dt> +<dt><code>dvipdfmx</code></dt> +<dd><a name="index-dvipdfm-2"></a> +<p>No special command line arguments are required, these programs automatically detect the HyperTeX commands. +</p> +</dd> +</dl> - </dl> - - <p>One more note is in place: support for the HyperTeX commands varies +<p>One more note is in place: support for the HyperTeX commands varies from one previewer/converter to another, so you might need to experiment to see if what you need is supported by the program(s) you intend to use. For example, dvips(k) as of version 5.92b converts all @@ -4383,996 +5677,1478 @@ in later versions of dvips(k)); dvipdfm as of version 0.13.2c and dvipdfmx as of version 20040411 do not correctly parse links to external local files, and produce a <acronym>URL</acronym> link instead of a file link. - -<ul class="menu"> -<li><a accesskey="1" href="#Destination-types-for-hypertex">Destination types for hypertex</a> -<li><a accesskey="2" href="#Destination-options-for-hypertex">Destination options for hypertex</a> -<li><a accesskey="3" href="#Link-types-for-hypertex">Link types for hypertex</a> -<li><a accesskey="4" href="#Link-options-for-hypertex">Link options for hypertex</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Destination-types-for-hypertex" accesskey="1">Destination types for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Destination-options-for-hypertex" accesskey="2">Destination options for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-types-for-hypertex" accesskey="3">Link types for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-options-for-hypertex" accesskey="4">Link options for hypertex</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="Destination-types-for-hypertex"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Destination-options-for-hypertex">Destination options for hypertex</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a> - +<div class="header"> +<p> +Next: <a href="#Destination-options-for-hypertex" accesskey="n" rel="next">Destination options for hypertex</a>, Up: <a href="#Hyperlink-driver-hypertex" accesskey="u" rel="up">Hyperlink driver hypertex</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.2.1 Destination types for <code>hypertex</code></h5> - -<p><a name="index-destination-types_002c-_0040code_007bhypertex_007d-736"></a><a name="index-types_002c-destination_002c-_0040code_007bhypertex_007d-737"></a><a name="index-g_t_0040code_007bhypertex_007d_002c-destination-types-738"></a> - <dl> -<dt><code>xyz</code><dd><a name="index-xyz-_0040r_007b_0028destination-type_0029_007d-739"></a>“Current position”. This is the default type. - - <p>Example: <code>\hldest{xyz}{}{dest123}</code> - - <br><dt><code>raw</code><dd><a name="index-raw-_0040r_007b_0028destination-type_0029_007d-740"></a>The destination specification (in the form of a HyperTeX -<code>\special</code>) is taken from the command sequence <code>\</code><var>cs</var>, +<a name="Destination-types-for-hypertex-1"></a> +<h4 class="subsubsection">5.4.2.1 Destination types for <code>hypertex</code></h4> + +<a name="index-destination-types_002c-hypertex"></a> +<a name="index-types_002c-destination_002c-hypertex"></a> +<a name="index-hypertex_002c-destination-types"></a> +<dl compact="compact"> +<dt><code>xyz</code></dt> +<dd><a name="index-xyz-_0028destination-type_0029"></a> +<p>“Current position”. This is the default type. +</p> +<p>Example: <code>\hldest{xyz}{}{dest123}</code> +</p> +</dd> +<dt><code>raw</code></dt> +<dd><a name="index-raw-_0028destination-type_0029"></a> +<p>The destination specification (in the form of a HyperTeX +<code>\special</code>) is taken from the command sequence <code>\<var>cs</var></code>, where <var>cs</var> is the value of the -<a name="index-cmd-_0040r_007b_0028destination-option_0029_007d-741"></a><code>cmd</code> option. In the definition of <code>\</code><var>cs</var>, use -<a name="index-g_t_0040_0040hllabel-742"></a><code>\@hllabel</code> to refer to the hyperlink label. This option is +<a name="index-cmd-_0028destination-option_0029"></a> +<code>cmd</code> option. In the definition of <code>\<var>cs</var></code>, use +<a name="index-_0040hllabel"></a> +<code>\@hllabel</code> to refer to the hyperlink label. This option is intended to be used with destgroups (see <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>), as it does not make sense in a direct call to -<a name="index-hldest-743"></a><code>\hldest</code>—you can just call the raw command. - - <p>Example: +<a name="index-hldest-1"></a> +<code>\hldest</code>—you can just call the raw command. +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\makeatletter +\def\mydest{\special{html:<a name="\@hllabel">}% + \special{html:</a>}} +\resetatcatcode +\indent\hldest{raw}{cmd=mydest}{SpecialDest} + Special destination. +</pre></div> + +</dd> +</dl> - <pre class="example"> \makeatletter - \def\mydest{\special{html:<a name="\@hllabel">}% - \special{html:</a>}} - \resetatcatcode - \indent\hldest{raw}{cmd=mydest}{SpecialDest} - Special destination. -</pre> - </dl> -<div class="node"> +<hr> <a name="Destination-options-for-hypertex"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Link-types-for-hypertex">Link types for hypertex</a>, -Previous: <a rel="previous" accesskey="p" href="#Destination-types-for-hypertex">Destination types for hypertex</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a> - +<div class="header"> +<p> +Next: <a href="#Link-types-for-hypertex" accesskey="n" rel="next">Link types for hypertex</a>, Previous: <a href="#Destination-types-for-hypertex" accesskey="p" rel="previous">Destination types for hypertex</a>, Up: <a href="#Hyperlink-driver-hypertex" accesskey="u" rel="up">Hyperlink driver hypertex</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.2.2 Destination options for <code>hypertex</code></h5> - -<p><a name="index-destination-options_002c-_0040code_007bhypertex_007d-744"></a><a name="index-options_002c-destination_002c-_0040code_007bhypertex_007d-745"></a><a name="index-g_t_0040code_007bhypertex_007d_002c-destination-options-746"></a> - <dl> -<dt><code>cmd</code><dd><a name="index-cmd-_0040r_007b_0028destination-option_0029_007d-747"></a>Name of the macro (without the leading ‘<samp><span class="samp">\</span></samp>’) containing a +<a name="Destination-options-for-hypertex-1"></a> +<h4 class="subsubsection">5.4.2.2 Destination options for <code>hypertex</code></h4> + +<a name="index-destination-options_002c-hypertex"></a> +<a name="index-options_002c-destination_002c-hypertex"></a> +<a name="index-hypertex_002c-destination-options"></a> +<dl compact="compact"> +<dt><code>cmd</code></dt> +<dd><a name="index-cmd-_0028destination-option_0029-1"></a> +<p>Name of the macro (without the leading ‘<samp>\</samp>’) containing a HyperTeX <code>\special</code> for the <code>raw</code> destination. - - <p>See <a href="#Destination-types-for-hypertex">Destination types for hypertex</a>, the description of the <code>raw</code> -destination, for an example. +</p> +<p>See <a href="#Destination-types-for-hypertex">Destination types for hypertex</a>, the description of the <code>raw</code> +destination, for an example. +</p></dd> </dl> -<div class="node"> -<a name="Link-types-for-hypertex"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Link-options-for-hypertex">Link options for hypertex</a>, -Previous: <a rel="previous" accesskey="p" href="#Destination-options-for-hypertex">Destination options for hypertex</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a> +<hr> +<a name="Link-types-for-hypertex"></a> +<div class="header"> +<p> +Next: <a href="#Link-options-for-hypertex" accesskey="n" rel="next">Link options for hypertex</a>, Previous: <a href="#Destination-options-for-hypertex" accesskey="p" rel="previous">Destination options for hypertex</a>, Up: <a href="#Hyperlink-driver-hypertex" accesskey="u" rel="up">Hyperlink driver hypertex</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.2.3 Link types for <code>hypertex</code></h5> - -<p><a name="index-link-types_002c-_0040code_007bhypertex_007d-748"></a><a name="index-types_002c-link_002c-_0040code_007bhypertex_007d-749"></a><a name="index-g_t_0040code_007bhypertex_007d_002c-link-types-750"></a> - <dl> -<dt><code>name</code><dd><a name="index-name-_0040r_007b_0028hyperlink-type_0029_007d-751"></a><a name="index-named-destination-752"></a><a name="index-destinations_002c-named-753"></a><a name="index-hyperlink-destination_002c-named-754"></a>Go to a “named destination”. The label is the destination name. All +<a name="Link-types-for-hypertex-1"></a> +<h4 class="subsubsection">5.4.2.3 Link types for <code>hypertex</code></h4> + +<a name="index-link-types_002c-hypertex"></a> +<a name="index-types_002c-link_002c-hypertex"></a> +<a name="index-hypertex_002c-link-types"></a> +<dl compact="compact"> +<dt><code>name</code></dt> +<dd><a name="index-name-_0028hyperlink-type_0029"></a> +<a name="index-named-destination"></a> +<a name="index-destinations_002c-named"></a> +<a name="index-hyperlink-destination_002c-named"></a> +<p>Go to a “named destination”. The label is the destination name. All destinations in HyperTeX are named destinations. This is the default type. - - <p>Example: <code>\hlstart{name}{}{dest123}Link to dest123\hlend</code> - - <br><dt><code>url</code><dd><a name="index-url-_0040r_007b_0028hyperlink-type_0029_007d-755"></a><a name="index-g_t_0040acronym_007bURL_007d-hyperlink-756"></a><a name="index-destinations_002c-_0040acronym_007bURL_007d-757"></a><a name="index-hyperlinks_002c-_0040acronym_007bURL_007d-758"></a>Go to a <acronym>URL</acronym>. The label is the <acronym>URL</acronym>. - - <p>Example: - - <pre class="example"> <code>\hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend</code> -</pre> - <br><dt><code>filename</code><dd><a name="index-filename-_0040r_007b_0028hyperlink-type_0029_007d-759"></a><a name="index-file_002c-hyperlink-to-760"></a><a name="index-destinations_002c-in-another-file-761"></a><a name="index-hyperlinks_002c-to-another-file-762"></a>Go to a named destination in another file. The label is the +</p> +<p>Example: <code>\hlstart{name}{}{dest123}Link to dest123\hlend</code> +</p> +</dd> +<dt><code>url</code></dt> +<dd><a name="index-url-_0028hyperlink-type_0029"></a> +<a name="index-URL-hyperlink-2"></a> +<a name="index-destinations_002c-URL"></a> +<a name="index-hyperlinks_002c-URL-2"></a> +<p>Go to a <acronym>URL</acronym>. The label is the <acronym>URL</acronym>. +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example"><code>\hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend</code> +</pre></div> + +</dd> +<dt><code>filename</code></dt> +<dd><a name="index-filename-_0028hyperlink-type_0029"></a> +<a name="index-file_002c-hyperlink-to"></a> +<a name="index-destinations_002c-in-another-file"></a> +<a name="index-hyperlinks_002c-to-another-file"></a> +<p>Go to a named destination in another file. The label is the destination name. The file name is specified by the -<a name="index-file-_0040r_007b_0028hyperlink-option_0029_007d-763"></a><code>file</code> option. The file name extension can be specified separately +<a name="index-file-_0028hyperlink-option_0029"></a> +<code>file</code> option. The file name extension can be specified separately by the -<a name="index-ext-_0040r_007b_0028hyperlink-option_0029_007d-764"></a><code>ext</code> option. The idea is to set the <code>ext</code> option globally at +<a name="index-ext-_0028hyperlink-option_0029"></a> +<code>ext</code> option. The idea is to set the <code>ext</code> option globally at the beginning of the document to avoid hard-coding the extension together with the file name within each link—HyperTeX is not restricted to any single output format, it can be <acronym>DVI</acronym>, <acronym>PDF</acronym>, possibly other formats. - - <p>Example: - - <pre class="example"> \hlopts{ext=.pdf} - \hlstart{filename}{file=book}{dest123} - Link to dest123 in file `book.pdf'\hlend -</pre> - <br><dt><code>raw</code><dd><a name="index-raw-_0040r_007b_0028hyperlink-type_0029_007d-765"></a>The link specification (in the form of a HyperTeX <code>\special</code>) is -taken from the command sequence <code>\</code><var>cs</var>, where <var>cs</var> is the +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\hlopts{ext=.pdf} +\hlstart{filename}{file=book}{dest123} + Link to dest123 in file `book.pdf'\hlend +</pre></div> + +</dd> +<dt><code>raw</code></dt> +<dd><a name="index-raw-_0028hyperlink-type_0029"></a> +<p>The link specification (in the form of a HyperTeX <code>\special</code>) is +taken from the command sequence <code>\<var>cs</var></code>, where <var>cs</var> is the value of the -<a name="index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-766"></a><code>cmd</code> option. In the definition of <code>\</code><var>cs</var>, use -<a name="index-g_t_0040_0040hllabel-767"></a><code>\@hllabel</code> to refer to the hyperlink label. Use the predefined +<a name="index-cmd-_0028hyperlink-option_0029"></a> +<code>cmd</code> option. In the definition of <code>\<var>cs</var></code>, use +<a name="index-_0040hllabel-1"></a> +<code>\@hllabel</code> to refer to the hyperlink label. Use the predefined command -<a name="index-hlhash-768"></a><code>\hlhash</code> to insert the <code>#</code> characters. This option is +<a name="index-hlhash"></a> +<code>\hlhash</code> to insert the <code>#</code> characters. This option is intended to be used with linkgroups (see <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>), as it does not make sense in a direct call to -<a name="index-hlstart-769"></a><code>\hlstart</code>—you can just call the raw command. +<a name="index-hlstart-1"></a> +<code>\hlstart</code>—you can just call the raw command. +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\makeatletter +\def\mylink{\special{html:<a href="\hlhash\@hllabel">}} +\resetatcatcode +\hlstart{raw}{cmd=mylink}{SpecialDest} + Link to the special destination.\hlend +</pre></div> + +</dd> +</dl> - <p>Example: - <pre class="example"> \makeatletter - \def\mylink{\special{html:<a href="\hlhash\@hllabel">}} - \resetatcatcode - \hlstart{raw}{cmd=mylink}{SpecialDest} - Link to the special destination.\hlend -</pre> - </dl> - -<div class="node"> +<hr> <a name="Link-options-for-hypertex"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Link-types-for-hypertex">Link types for hypertex</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a> - +<div class="header"> +<p> +Previous: <a href="#Link-types-for-hypertex" accesskey="p" rel="previous">Link types for hypertex</a>, Up: <a href="#Hyperlink-driver-hypertex" accesskey="u" rel="up">Hyperlink driver hypertex</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.2.4 Link options for <code>hypertex</code></h5> - -<p><a name="index-link-options_002c-_0040code_007bhypertex_007d-770"></a><a name="index-options_002c-link_002c-_0040code_007bhypertex_007d-771"></a><a name="index-g_t_0040code_007bhypertex_007d_002c-link-options-772"></a> - <dl> -<dt><code>cmd</code><dd><a name="index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-773"></a>Name of the macro (without the leading ‘<samp><span class="samp">\</span></samp>’) containing a +<a name="Link-options-for-hypertex-1"></a> +<h4 class="subsubsection">5.4.2.4 Link options for <code>hypertex</code></h4> + +<a name="index-link-options_002c-hypertex"></a> +<a name="index-options_002c-link_002c-hypertex"></a> +<a name="index-hypertex_002c-link-options"></a> +<dl compact="compact"> +<dt><code>cmd</code></dt> +<dd><a name="index-cmd-_0028hyperlink-option_0029-1"></a> +<p>Name of the macro (without the leading ‘<samp>\</samp>’) containing a HyperTeX <code>\special</code> for the <code>raw</code> link. - - <p>See <a href="#Link-types-for-hypertex">Link types for hypertex</a>, the description of the <code>raw</code> link, +</p> +<p>See <a href="#Link-types-for-hypertex">Link types for hypertex</a>, the description of the <code>raw</code> link, for an example. - - <br><dt><code>file</code><dd><a name="index-file-_0040r_007b_0028hyperlink-option_0029_007d-774"></a>File name for the <code>filename</code> link type. See also the <code>ext</code> +</p> +</dd> +<dt><code>file</code></dt> +<dd><a name="index-file-_0028hyperlink-option_0029-1"></a> +<p>File name for the <code>filename</code> link type. See also the <code>ext</code> option. - - <p>See <a href="#Link-types-for-hypertex">Link types for hypertex</a>, the description of the <code>filename</code> +</p> +<p>See <a href="#Link-types-for-hypertex">Link types for hypertex</a>, the description of the <code>filename</code> link, for an example. - - <br><dt><code>ext</code><dd><a name="index-ext-_0040r_007b_0028hyperlink-option_0029_007d-775"></a>File name extension for the <code>filename</code> link type. The idea is to +</p> +</dd> +<dt><code>ext</code></dt> +<dd><a name="index-ext-_0028hyperlink-option_0029-1"></a> +<p>File name extension for the <code>filename</code> link type. The idea is to set the <code>ext</code> option globally at the beginning of the document to avoid hard-coding the extension together with the file name within each link—HyperTeX is not restricted to any single output format, it can be <acronym>DVI</acronym>, <acronym>PDF</acronym>, possibly other formats. - - <p>See <a href="#Link-types-for-hypertex">Link types for hypertex</a>, the description of the <code>filename</code> -link, for an example. +</p> +<p>See <a href="#Link-types-for-hypertex">Link types for hypertex</a>, the description of the <code>filename</code> +link, for an example. +</p></dd> </dl> -<div class="node"> -<a name="Hyperlink-drivers-pdftex-and-dvipdfm"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a>, -Previous: <a rel="previous" accesskey="p" href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers">Hyperlink drivers</a> +<hr> +<a name="Hyperlink-drivers-pdftex-and-dvipdfm"></a> +<div class="header"> +<p> +Next: <a href="#Hyperlink-driver-nolinks" accesskey="n" rel="next">Hyperlink driver nolinks</a>, Previous: <a href="#Hyperlink-driver-hypertex" accesskey="p" rel="previous">Hyperlink driver hypertex</a>, Up: <a href="#Hyperlink-drivers" accesskey="u" rel="up">Hyperlink drivers</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Hyperlink-drivers-pdftex-and-dvipdfm-1"></a> <h4 class="subsection">5.4.3 Hyperlink drivers <code>pdftex</code> and <code>dvipdfm</code></h4> -<p><a name="index-pdftex-_0040r_007b_0028hyperlink-driver_0029_007d-776"></a><a name="index-dvipdfm-_0040r_007b_0028hyperlink-driver_0029_007d-777"></a><a name="index-g_t_0040code_007bpdftex_007d_002c-hyperlink-driver-778"></a><a name="index-g_t_0040code_007bdvipdfm_007d_002c-hyperlink-driver-779"></a><a name="index-driver-_0040code_007bpdftex_007d-780"></a><a name="index-driver-_0040code_007bdvipdfm_007d-781"></a><a name="index-hyperlink-driver-_0040code_007bpdftex_007d-782"></a><a name="index-hyperlink-driver-_0040code_007bdvipdfm_007d-783"></a>This subsection describes link and destination types and options +<a name="index-pdftex-_0028hyperlink-driver_0029"></a> +<a name="index-dvipdfm-_0028hyperlink-driver_0029"></a> +<a name="index-pdftex_002c-hyperlink-driver"></a> +<a name="index-dvipdfm_002c-hyperlink-driver"></a> +<a name="index-driver-pdftex"></a> +<a name="index-driver-dvipdfm"></a> +<a name="index-hyperlink-driver-pdftex"></a> +<a name="index-hyperlink-driver-dvipdfm"></a> +<p>This subsection describes link and destination types and options supported by the <code>pdftex</code> and <code>dvipdfm</code> drivers. Many of the hyperlink types and options are common to both drivers, so we describe them together. - -<ul class="menu"> -<li><a accesskey="1" href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a> -<li><a accesskey="2" href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a> -<li><a accesskey="3" href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a> -<li><a accesskey="4" href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Destination-types-for-pdftex-and-dvipdfm" accesskey="1">Destination types for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Destination-options-for-pdftex-and-dvipdfm" accesskey="2">Destination options for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-types-for-pdftex-and-dvipdfm" accesskey="3">Link types for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Link-options-for-pdftex-and-dvipdfm" accesskey="4">Link options for pdftex and dvipdfm</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="Destination-types-for-pdftex-and-dvipdfm"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a> - +<div class="header"> +<p> +Next: <a href="#Destination-options-for-pdftex-and-dvipdfm" accesskey="n" rel="next">Destination options for pdftex and dvipdfm</a>, Up: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm" accesskey="u" rel="up">Hyperlink drivers pdftex and dvipdfm</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.3.1 Destination types for <code>pdftex</code> and <code>dvipdfm</code></h5> - -<p><a name="index-destination-types_002c-_0040code_007bpdftex_007d-784"></a><a name="index-destination-types_002c-_0040code_007bdvipdfm_007d-785"></a><a name="index-types_002c-destination_002c-_0040code_007bpdftex_007d-786"></a><a name="index-types_002c-destination_002c-_0040code_007bdvipdfm_007d-787"></a><a name="index-g_t_0040code_007bpdftex_007d_002c-destination-types-788"></a><a name="index-g_t_0040code_007bdvipdfm_007d_002c-destination-types-789"></a> - <dl> -<dt><code>xyz</code><dd><a name="index-xyz-_0040r_007b_0028destination-type_0029_007d-790"></a>“Current position”. The option -<a name="index-zoom-_0040r_007b_0028destination-option_0029_007d-791"></a><code>zoom</code> specifies magnification to use (zero or empty means leave +<a name="Destination-types-for-pdftex-and-dvipdfm-1"></a> +<h4 class="subsubsection">5.4.3.1 Destination types for <code>pdftex</code> and <code>dvipdfm</code></h4> + +<a name="index-destination-types_002c-pdftex"></a> +<a name="index-destination-types_002c-dvipdfm"></a> +<a name="index-types_002c-destination_002c-pdftex"></a> +<a name="index-types_002c-destination_002c-dvipdfm"></a> +<a name="index-pdftex_002c-destination-types"></a> +<a name="index-dvipdfm_002c-destination-types"></a> +<dl compact="compact"> +<dt><code>xyz</code></dt> +<dd><a name="index-xyz-_0028destination-type_0029-1"></a> +<p>“Current position”. The option +<a name="index-zoom-_0028destination-option_0029"></a> +<code>zoom</code> specifies magnification to use (zero or empty means leave magnification unchanged, which is the default). This is the default type. - - <p>For <code>dvipdfm</code>: the options -<a name="index-left-_0040r_007b_0028destination-option_0029_007d-792"></a><code>left</code> and -<a name="index-top-_0040r_007b_0028destination-option_0029_007d-793"></a><code>top</code> specify position coordinates to use (empty options mean +</p> +<p>For <code>dvipdfm</code>: the options +<a name="index-left-_0028destination-option_0029"></a> +<code>left</code> and +<a name="index-top-_0028destination-option_0029"></a> +<code>top</code> specify position coordinates to use (empty options mean current position coordinate, which is the default). - - <p>Example: <code>\hldest{xyz}{zoom=2000}{dest123}</code> - - <br><dt><code>fit</code><dd><a name="index-fit-_0040r_007b_0028destination-type_0029_007d-794"></a>Fit the page to the window. - - <p>Example: <code>\hldest{fit}{}{dest123}</code> - - <br><dt><code>fith</code><dd><a name="index-fith-_0040r_007b_0028destination-type_0029_007d-795"></a>Fit the width of the page to the window. - - <p>For <code>dvipdfm</code>: the -<a name="index-top-_0040r_007b_0028destination-option_0029_007d-796"></a><code>top</code> option specifies vertical position (default is empty, meaning +</p> +<p>Example: <code>\hldest{xyz}{zoom=2000}{dest123}</code> +</p> +</dd> +<dt><code>fit</code></dt> +<dd><a name="index-fit-_0028destination-type_0029"></a> +<p>Fit the page to the window. +</p> +<p>Example: <code>\hldest{fit}{}{dest123}</code> +</p> +</dd> +<dt><code>fith</code></dt> +<dd><a name="index-fith-_0028destination-type_0029"></a> +<p>Fit the width of the page to the window. +</p> +<p>For <code>dvipdfm</code>: the +<a name="index-top-_0028destination-option_0029-1"></a> +<code>top</code> option specifies vertical position (default is empty, meaning current position). - - <p>Example: <code>\hldest{fith}{}{dest123}</code> - - <br><dt><code>fitv</code><dd><a name="index-fitv-_0040r_007b_0028destination-type_0029_007d-797"></a>Fit the height of the page to the window. - - <p>For <code>dvipdfm</code>: The option -<a name="index-left-_0040r_007b_0028destination-option_0029_007d-798"></a><code>left</code> specifies horizontal position (default is empty, meaning +</p> +<p>Example: <code>\hldest{fith}{}{dest123}</code> +</p> +</dd> +<dt><code>fitv</code></dt> +<dd><a name="index-fitv-_0028destination-type_0029"></a> +<p>Fit the height of the page to the window. +</p> +<p>For <code>dvipdfm</code>: The option +<a name="index-left-_0028destination-option_0029-1"></a> +<code>left</code> specifies horizontal position (default is empty, meaning current position). - - <p>Example: <code>\hldest{fitv}{}{dest123}</code> - - <br><dt><code>fitb</code><dd><a name="index-fitb-_0040r_007b_0028destination-type_0029_007d-799"></a>Fit the page's bounding box to the window. - - <p>Example: <code>\hldest{fitb}{}{dest123}</code> - - <br><dt><code>fitbh</code><dd><a name="index-fitbh-_0040r_007b_0028destination-type_0029_007d-800"></a>Fit the width of the page's bounding box to the window. - - <p>For <code>dvipdfm</code>: the option -<a name="index-top-_0040r_007b_0028destination-option_0029_007d-801"></a><code>top</code> specifies vertical position (default is empty, meaning +</p> +<p>Example: <code>\hldest{fitv}{}{dest123}</code> +</p> +</dd> +<dt><code>fitb</code></dt> +<dd><a name="index-fitb-_0028destination-type_0029"></a> +<p>Fit the page’s bounding box to the window. +</p> +<p>Example: <code>\hldest{fitb}{}{dest123}</code> +</p> +</dd> +<dt><code>fitbh</code></dt> +<dd><a name="index-fitbh-_0028destination-type_0029"></a> +<p>Fit the width of the page’s bounding box to the window. +</p> +<p>For <code>dvipdfm</code>: the option +<a name="index-top-_0028destination-option_0029-2"></a> +<code>top</code> specifies vertical position (default is empty, meaning current position). - - <p>Example: <code>\hldest{fitbh}{}{dest123}</code> - - <br><dt><code>fitbv</code><dd><a name="index-fitbv-_0040r_007b_0028destination-type_0029_007d-802"></a>Fit the height of the page's bounding box to the window. - - <p>For <code>dvipdfm</code>: the option -<a name="index-left-_0040r_007b_0028destination-option_0029_007d-803"></a><code>left</code> specifies horizontal position (default is empty, meaning +</p> +<p>Example: <code>\hldest{fitbh}{}{dest123}</code> +</p> +</dd> +<dt><code>fitbv</code></dt> +<dd><a name="index-fitbv-_0028destination-type_0029"></a> +<p>Fit the height of the page’s bounding box to the window. +</p> +<p>For <code>dvipdfm</code>: the option +<a name="index-left-_0028destination-option_0029-2"></a> +<code>left</code> specifies horizontal position (default is empty, meaning current position). - - <p>Example: <code>\hldest{fitbv}{}{dest123}</code> - - <br><dt><code>fitr</code><dd><a name="index-fitr-_0040r_007b_0028destination-type_0029_007d-804"></a>For <code>pdftex</code>: fit the rectangle specified by the options -<a name="index-width-_0040r_007b_0028destination-option_0029_007d-805"></a><code>width</code>, -<a name="index-height-_0040r_007b_0028destination-option_0029_007d-806"></a><code>height</code> and -<a name="index-depth-_0040r_007b_0028destination-option_0029_007d-807"></a><code>depth</code> (as a TeX rule specification) in the window. For +</p> +<p>Example: <code>\hldest{fitbv}{}{dest123}</code> +</p> +</dd> +<dt><code>fitr</code></dt> +<dd><a name="index-fitr-_0028destination-type_0029"></a> +<p>For <code>pdftex</code>: fit the rectangle specified by the options +<a name="index-width-_0028destination-option_0029"></a> +<code>width</code>, +<a name="index-height-_0028destination-option_0029"></a> +<code>height</code> and +<a name="index-depth-_0028destination-option_0029"></a> +<code>depth</code> (as a TeX rule specification) in the window. For dimensions set to empty, the corresponding value of the parent box is used (these are the defaults). - - <p>For <code>dvipdfm</code>: fit the rectangle specified by the options -<a name="index-left-_0040r_007b_0028destination-option_0029_007d-808"></a><code>left</code>, -<a name="index-bottom-_0040r_007b_0028destination-option_0029_007d-809"></a><code>bottom</code>, -<a name="index-right-_0040r_007b_0028destination-option_0029_007d-810"></a><code>right</code> and -<a name="index-top-_0040r_007b_0028destination-option_0029_007d-811"></a><code>top</code> (in -<a name="index-PostScript-point-812"></a>PostScript points, 72 points per inch) in the window. For +</p> +<p>For <code>dvipdfm</code>: fit the rectangle specified by the options +<a name="index-left-_0028destination-option_0029-3"></a> +<code>left</code>, +<a name="index-bottom-_0028destination-option_0029"></a> +<code>bottom</code>, +<a name="index-right-_0028destination-option_0029"></a> +<code>right</code> and +<a name="index-top-_0028destination-option_0029-3"></a> +<code>top</code> (in +<a name="index-PostScript-point"></a> +PostScript points, 72 points per inch) in the window. For dimensions set to empty, current position coordinate is substituted (these are the defaults). +</p> +<p>Example for <code>pdftex</code>: +</p> +<div class="example"> +<pre class="example">\hldest{fitr}{width=\hsize, + height=.5\vsize,depth=0pt}{dest123} +</pre></div> - <p>Example for <code>pdftex</code>: - - <pre class="example"> \hldest{fitr}{width=\hsize, - height=.5\vsize,depth=0pt}{dest123} -</pre> - <p>Example for <code>dvipdfm</code>: - - <pre class="example"> \hldest{fitr}{left=72,bottom=72, - right=720,top=360}{dest123} -</pre> - <br><dt><code>raw</code><dd><a name="index-raw-_0040r_007b_0028destination-type_0029_007d-813"></a>The destination specification (in the form of a pdfTeX command or a +<p>Example for <code>dvipdfm</code>: +</p> +<div class="example"> +<pre class="example">\hldest{fitr}{left=72,bottom=72, + right=720,top=360}{dest123} +</pre></div> + +</dd> +<dt><code>raw</code></dt> +<dd><a name="index-raw-_0028destination-type_0029-1"></a> +<p>The destination specification (in the form of a pdfTeX command or a dvipdfm <code>\special</code>) is taken from the command sequence -<code>\</code><var>cs</var>, where <var>cs</var> is the value of the -<a name="index-cmd-_0040r_007b_0028destination-option_0029_007d-814"></a><code>cmd</code> option. In the definition of <code>\</code><var>cs</var>, use -<a name="index-g_t_0040_0040hllabel-815"></a><code>\@hllabel</code> to refer to the hyperlink label. This option is +<code>\<var>cs</var></code>, where <var>cs</var> is the value of the +<a name="index-cmd-_0028destination-option_0029-2"></a> +<code>cmd</code> option. In the definition of <code>\<var>cs</var></code>, use +<a name="index-_0040hllabel-2"></a> +<code>\@hllabel</code> to refer to the hyperlink label. This option is intended to be used with destgroups (see <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>), as it does not make sense in a direct call to -<a name="index-hldest-816"></a><code>\hldest</code>—you can just call the raw command. +<a name="index-hldest-2"></a> +<code>\hldest</code>—you can just call the raw command. +</p> +<p>Example for <code>pdftex</code>: +</p> +<div class="example"> +<pre class="example">\makeatletter +\def\mydest{\pdfdest name{\@hllabel} xyz} +\resetatcatcode +\hldesttype{raw} +\hldestopts{cmd=mydest} +</pre></div> + +<p>Example for <code>dvipdfm</code>: +</p> +<div class="example"> +<pre class="example">\makeatletter +\def\mydest{\special{pdf: dest (\@hllabel) + [@thispage /XYZ @xpos @ypos 0]}} +\resetatcatcode +\hldesttype{raw} +\hldestopts{cmd=mydest} +</pre></div> +</dd> +</dl> - <p>Example for <code>pdftex</code>: - <pre class="example"> \makeatletter - \def\mydest{\pdfdest name{\@hllabel} xyz} - \resetatcatcode - \hldesttype{raw} - \hldestopts{cmd=mydest} -</pre> - <p>Example for <code>dvipdfm</code>: - - <pre class="example"> \makeatletter - \def\mydest{\special{pdf: dest (\@hllabel) - [@thispage /XYZ @xpos @ypos 0]}} - \resetatcatcode - \hldesttype{raw} - \hldestopts{cmd=mydest} -</pre> - </dl> - -<div class="node"> +<hr> <a name="Destination-options-for-pdftex-and-dvipdfm"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, -Previous: <a rel="previous" accesskey="p" href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a> - +<div class="header"> +<p> +Next: <a href="#Link-types-for-pdftex-and-dvipdfm" accesskey="n" rel="next">Link types for pdftex and dvipdfm</a>, Previous: <a href="#Destination-types-for-pdftex-and-dvipdfm" accesskey="p" rel="previous">Destination types for pdftex and dvipdfm</a>, Up: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm" accesskey="u" rel="up">Hyperlink drivers pdftex and dvipdfm</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.3.2 Destination options for <code>pdftex</code> and <code>dvipdfm</code></h5> - -<p><a name="index-destination-options_002c-_0040code_007bpdftex_007d-817"></a><a name="index-destination-options_002c-_0040code_007bdvipdfm_007d-818"></a><a name="index-options_002c-destination_002c-_0040code_007bpdftex_007d-819"></a><a name="index-options_002c-destination_002c-_0040code_007bdvipdfm_007d-820"></a><a name="index-g_t_0040code_007bpdftex_007d_002c-destination-options-821"></a><a name="index-g_t_0040code_007bdvipdfm_007d_002c-destination-options-822"></a>With respect to the destination options, the <code>pdftex</code> and +<a name="Destination-options-for-pdftex-and-dvipdfm-1"></a> +<h4 class="subsubsection">5.4.3.2 Destination options for <code>pdftex</code> and <code>dvipdfm</code></h4> + +<a name="index-destination-options_002c-pdftex"></a> +<a name="index-destination-options_002c-dvipdfm"></a> +<a name="index-options_002c-destination_002c-pdftex"></a> +<a name="index-options_002c-destination_002c-dvipdfm"></a> +<a name="index-pdftex_002c-destination-options"></a> +<a name="index-dvipdfm_002c-destination-options"></a> +<p>With respect to the destination options, the <code>pdftex</code> and <code>dvipdfm</code> differ in the way the fit rectangle is specified (relative coordinates for <code>pdftex</code>, absolute coordinates for <code>dvipdfm</code>). +</p> -<h5 class="subsubheading">Common destination options</h5> +<a name="Common-destination-options"></a> +<h4 class="subsubheading">Common destination options</h4> - <dl> -<dt><code>cmd</code><dd><a name="index-cmd-_0040r_007b_0028destination-option_0029_007d-823"></a>Name of the macro (without the leading ‘<samp><span class="samp">\</span></samp>’) containing a +<dl compact="compact"> +<dt><code>cmd</code></dt> +<dd><a name="index-cmd-_0028destination-option_0029-3"></a> +<p>Name of the macro (without the leading ‘<samp>\</samp>’) containing a pdfTeX command or a dvipdfm <code>\special</code> for the <code>raw</code> destination. - - <p>See <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a>, the description of the +</p> +<p>See <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a>, the description of the <code>raw</code> destination, for an example. - - <br><dt><code>zoom</code><dd><a name="index-zoom-_0040r_007b_0028destination-option_0029_007d-824"></a><a name="index-destinations_002c-magnification-825"></a><a name="index-hyperlink-destination_002c-magnification-826"></a><a name="index-magnification_002c-hyperlink-destination-827"></a><a name="index-zooming_002c-hyperlink-destination-828"></a>Magnification ratio times 1000 (like TeX's scale factor). +</p> +</dd> +<dt><code>zoom</code></dt> +<dd><a name="index-zoom-_0028destination-option_0029-1"></a> +<a name="index-destinations_002c-magnification"></a> +<a name="index-hyperlink-destination_002c-magnification"></a> +<a name="index-magnification_002c-hyperlink-destination"></a> +<a name="index-zooming_002c-hyperlink-destination"></a> +<p>Magnification ratio times 1000 (like TeX’s scale factor). Zero or empty means leave magnification unchanged, which is the default. - - <p>Example: <code>\hldest{xyz}{zoom=2000}{dest123}</code> +</p> +<p>Example: <code>\hldest{xyz}{zoom=2000}{dest123}</code> +</p></dd> </dl> -<h5 class="subsubheading"><code>pdftex</code>-specific destination options</h5> + +<a name="pdftex_002dspecific-destination-options"></a> +<h4 class="subsubheading"><code>pdftex</code>-specific destination options</h4> <p>The dimension options below must be specified as a TeX rule specification. When set to empty, the corresponding value of the parent box is used (this is the default for all dimension options). +</p> +<dl compact="compact"> +<dt><code>depth</code></dt> +<dd><a name="index-depth-_0028destination-option_0029-1"></a> +<a name="index-destinations_002c-dimensions"></a> +<a name="index-hyperlink-destination_002c-dimensions"></a> +<a name="index-dimensions_002c-hyperlink-destination"></a> +<p>Depth of the fit rectangle for the <code>fitr</code> destination. +</p> +</dd> +<dt><code>height</code></dt> +<dd><a name="index-height-_0028destination-option_0029-1"></a> +<a name="index-destinations_002c-dimensions-1"></a> +<a name="index-hyperlink-destination_002c-dimensions-1"></a> +<a name="index-dimensions_002c-hyperlink-destination-1"></a> +<p>Height of the fit rectangle for the <code>fitr</code> destination. +</p> +</dd> +<dt><code>width</code></dt> +<dd><a name="index-width-_0028destination-option_0029-1"></a> +<a name="index-destinations_002c-dimensions-2"></a> +<a name="index-hyperlink-destination_002c-dimensions-2"></a> +<a name="index-dimensions_002c-hyperlink-destination-2"></a> +<p>Width of the fit rectangle for the <code>fitr</code> destination. +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\hldest{fitr}{width=\hsize, + height=.5\vsize,depth=0pt}{dest123} +</pre></div> +</dd> +</dl> - <dl> -<dt><code>depth</code><dd><a name="index-depth-_0040r_007b_0028destination-option_0029_007d-829"></a><a name="index-destinations_002c-dimensions-830"></a><a name="index-hyperlink-destination_002c-dimensions-831"></a><a name="index-dimensions_002c-hyperlink-destination-832"></a>Depth of the fit rectangle for the <code>fitr</code> destination. - - <br><dt><code>height</code><dd><a name="index-height-_0040r_007b_0028destination-option_0029_007d-833"></a><a name="index-destinations_002c-dimensions-834"></a><a name="index-hyperlink-destination_002c-dimensions-835"></a><a name="index-dimensions_002c-hyperlink-destination-836"></a>Height of the fit rectangle for the <code>fitr</code> destination. - - <br><dt><code>width</code><dd><a name="index-width-_0040r_007b_0028destination-option_0029_007d-837"></a><a name="index-destinations_002c-dimensions-838"></a><a name="index-hyperlink-destination_002c-dimensions-839"></a><a name="index-dimensions_002c-hyperlink-destination-840"></a>Width of the fit rectangle for the <code>fitr</code> destination. - - <p>Example: - - <pre class="example"> \hldest{fitr}{width=\hsize, - height=.5\vsize,depth=0pt}{dest123} -</pre> - </dl> -<h5 class="subsubheading"><code>dvipdfm</code>-specific destination options</h5> +<a name="dvipdfm_002dspecific-destination-options"></a> +<h4 class="subsubheading"><code>dvipdfm</code>-specific destination options</h4> <p>The dimension options below must be specified in -<a name="index-PostScript-point-841"></a>PostScript points (72 points per inch), as a number without the -‘<samp><span class="samp">bp</span></samp>’ unit name. When set to empty, the current position +<a name="index-PostScript-point-1"></a> +PostScript points (72 points per inch), as a number without the +‘<samp>bp</samp>’ unit name. When set to empty, the current position coordinate is used (this is the default for all dimension options). - - <dl> -<dt><code>bottom</code><dd><a name="index-bottom-_0040r_007b_0028destination-option_0029_007d-842"></a><a name="index-destinations_002c-dimensions-843"></a><a name="index-hyperlink-destination_002c-dimensions-844"></a><a name="index-dimensions_002c-hyperlink-destination-845"></a>Bottom position coordinate of a box specification for the various +</p> +<dl compact="compact"> +<dt><code>bottom</code></dt> +<dd><a name="index-bottom-_0028destination-option_0029-1"></a> +<a name="index-destinations_002c-dimensions-3"></a> +<a name="index-hyperlink-destination_002c-dimensions-3"></a> +<a name="index-dimensions_002c-hyperlink-destination-3"></a> +<p>Bottom position coordinate of a box specification for the various destination types. - - <br><dt><code>left</code><dd><a name="index-left-_0040r_007b_0028destination-option_0029_007d-846"></a><a name="index-destinations_002c-dimensions-847"></a><a name="index-hyperlink-destination_002c-dimensions-848"></a><a name="index-dimensions_002c-hyperlink-destination-849"></a>Left position coordinate of a box specification for the various +</p> +</dd> +<dt><code>left</code></dt> +<dd><a name="index-left-_0028destination-option_0029-4"></a> +<a name="index-destinations_002c-dimensions-4"></a> +<a name="index-hyperlink-destination_002c-dimensions-4"></a> +<a name="index-dimensions_002c-hyperlink-destination-4"></a> +<p>Left position coordinate of a box specification for the various destination types. - - <br><dt><code>right</code><dd><a name="index-right-_0040r_007b_0028destination-option_0029_007d-850"></a><a name="index-destinations_002c-dimensions-851"></a><a name="index-hyperlink-destination_002c-dimensions-852"></a><a name="index-dimensions_002c-hyperlink-destination-853"></a>Right position coordinate of a box specification for the various +</p> +</dd> +<dt><code>right</code></dt> +<dd><a name="index-right-_0028destination-option_0029-1"></a> +<a name="index-destinations_002c-dimensions-5"></a> +<a name="index-hyperlink-destination_002c-dimensions-5"></a> +<a name="index-dimensions_002c-hyperlink-destination-5"></a> +<p>Right position coordinate of a box specification for the various destination types. - - <br><dt><code>top</code><dd><a name="index-top-_0040r_007b_0028destination-option_0029_007d-854"></a><a name="index-destinations_002c-dimensions-855"></a><a name="index-hyperlink-destination_002c-dimensions-856"></a><a name="index-dimensions_002c-hyperlink-destination-857"></a>Top position coordinate of a box specification for the various +</p> +</dd> +<dt><code>top</code></dt> +<dd><a name="index-top-_0028destination-option_0029-4"></a> +<a name="index-destinations_002c-dimensions-6"></a> +<a name="index-hyperlink-destination_002c-dimensions-6"></a> +<a name="index-dimensions_002c-hyperlink-destination-6"></a> +<p>Top position coordinate of a box specification for the various destination types. +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\hldest{fitr}{left=72,bottom=72, + right=720,top=360}{dest123} +</pre></div> +</dd> +</dl> - <p>Example: - - <pre class="example"> \hldest{fitr}{left=72,bottom=72, - right=720,top=360}{dest123} -</pre> - </dl> -<div class="node"> +<hr> <a name="Link-types-for-pdftex-and-dvipdfm"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a>, -Previous: <a rel="previous" accesskey="p" href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a> - +<div class="header"> +<p> +Next: <a href="#Link-options-for-pdftex-and-dvipdfm" accesskey="n" rel="next">Link options for pdftex and dvipdfm</a>, Previous: <a href="#Destination-options-for-pdftex-and-dvipdfm" accesskey="p" rel="previous">Destination options for pdftex and dvipdfm</a>, Up: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm" accesskey="u" rel="up">Hyperlink drivers pdftex and dvipdfm</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.3.3 Link types for <code>pdftex</code> and <code>dvipdfm</code></h5> - -<p><a name="index-link-types_002c-_0040code_007bpdftex_007d-858"></a><a name="index-link-types_002c-_0040code_007bdvipdfm_007d-859"></a><a name="index-types_002c-link_002c-_0040code_007bpdftex_007d-860"></a><a name="index-types_002c-link_002c-_0040code_007bdvipdfm_007d-861"></a><a name="index-g_t_0040code_007bpdftex_007d_002c-link-types-862"></a><a name="index-g_t_0040code_007bdvipdfm_007d_002c-link-types-863"></a>Link types are the same for the <code>pdftex</code> and <code>dvipdfm</code> +<a name="Link-types-for-pdftex-and-dvipdfm-1"></a> +<h4 class="subsubsection">5.4.3.3 Link types for <code>pdftex</code> and <code>dvipdfm</code></h4> + +<a name="index-link-types_002c-pdftex"></a> +<a name="index-link-types_002c-dvipdfm"></a> +<a name="index-types_002c-link_002c-pdftex"></a> +<a name="index-types_002c-link_002c-dvipdfm"></a> +<a name="index-pdftex_002c-link-types"></a> +<a name="index-dvipdfm_002c-link-types"></a> +<p>Link types are the same for the <code>pdftex</code> and <code>dvipdfm</code> drivers, except that the <code>pdftex</code> driver provides one additional link type <code>num</code> (link to a numbered destination). dvipdfm does not support numbered destinations, therefore it does not have this link type. Note that all destinations created by Eplain hyperlink macros are named destinations; to define a numbered destination, you have to use low-level pdfTeX commands. +</p> -<h5 class="subsubheading">Common link types</h5> +<a name="Common-link-types"></a> +<h4 class="subsubheading">Common link types</h4> - <dl> -<dt><code>name</code><dd><a name="index-name-_0040r_007b_0028hyperlink-type_0029_007d-864"></a><a name="index-named-destination-865"></a><a name="index-destinations_002c-named-866"></a><a name="index-hyperlink-destination_002c-named-867"></a>Go to a “named destination”. The label is the destination name. +<dl compact="compact"> +<dt><code>name</code></dt> +<dd><a name="index-name-_0028hyperlink-type_0029-1"></a> +<a name="index-named-destination-1"></a> +<a name="index-destinations_002c-named-1"></a> +<a name="index-hyperlink-destination_002c-named-1"></a> +<p>Go to a “named destination”. The label is the destination name. All destinations created with <code>\hldest</code> are named destinations (see <a href="#Explicit-hyperlinks">Explicit hyperlinks</a>). This is the default type. - - <p>Example: <code>\hlstart{name}{}{dest123}Link to dest123\hlend</code> - - <br><dt><code>url</code><dd><a name="index-url-_0040r_007b_0028hyperlink-type_0029_007d-868"></a><a name="index-g_t_0040acronym_007bURL_007d-hyperlink-869"></a><a name="index-destinations_002c-_0040acronym_007bURL_007d-870"></a><a name="index-hyperlinks_002c-_0040acronym_007bURL_007d-871"></a>Go to a <acronym>URL</acronym>. The label is the <acronym>URL</acronym>. - - <p>Example: <code>\hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend</code> - - <br><dt><code>page</code><dd><a name="index-page-_0040r_007b_0028hyperlink-type_0029_007d-872"></a><a name="index-page-destination-873"></a><a name="index-destinations_002c-page-874"></a><a name="index-hyperlink-destination_002c-page-875"></a>Go to a page. The label is the page number (counting from 1). +</p> +<p>Example: <code>\hlstart{name}{}{dest123}Link to dest123\hlend</code> +</p> +</dd> +<dt><code>url</code></dt> +<dd><a name="index-url-_0028hyperlink-type_0029-1"></a> +<a name="index-URL-hyperlink-3"></a> +<a name="index-destinations_002c-URL-1"></a> +<a name="index-hyperlinks_002c-URL-3"></a> +<p>Go to a <acronym>URL</acronym>. The label is the <acronym>URL</acronym>. +</p> +<p>Example: <code>\hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend</code> +</p> +</dd> +<dt><code>page</code></dt> +<dd><a name="index-page-_0028hyperlink-type_0029"></a> +<a name="index-page-destination"></a> +<a name="index-destinations_002c-page"></a> +<a name="index-hyperlink-destination_002c-page"></a> +<p>Go to a page. The label is the page number (counting from 1). Page fitting is specified by the -<a name="index-pagefit-_0040r_007b_0028hyperlink-option_0029_007d-876"></a><code>pagefit</code> option. - - <p>Example: - - <pre class="example"> \hlstart{page}{pagefit=/FitH 600}{123} - Link to page~123\hlend -</pre> - <br><dt><code>filename</code><dd><a name="index-filename-_0040r_007b_0028hyperlink-type_0029_007d-877"></a><a name="index-file_002c-hyperlink-to-878"></a><a name="index-destinations_002c-in-another-file-879"></a><a name="index-hyperlinks_002c-to-another-file-880"></a>Go to a named destination in another file. The label is the +<a name="index-pagefit-_0028hyperlink-option_0029"></a> +<code>pagefit</code> option. +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\hlstart{page}{pagefit=/FitH 600}{123} + Link to page~123\hlend +</pre></div> + +</dd> +<dt><code>filename</code></dt> +<dd><a name="index-filename-_0028hyperlink-type_0029-1"></a> +<a name="index-file_002c-hyperlink-to-1"></a> +<a name="index-destinations_002c-in-another-file-1"></a> +<a name="index-hyperlinks_002c-to-another-file-1"></a> +<p>Go to a named destination in another file. The label is the destination name. The file name is specified by the -<a name="index-file-_0040r_007b_0028hyperlink-option_0029_007d-881"></a><code>file</code> option. Page fitting is specified by the -<a name="index-pagefit-_0040r_007b_0028hyperlink-option_0029_007d-882"></a><code>pagefit</code> option. The -<a name="index-newwin-_0040r_007b_0028hyperlink-option_0029_007d-883"></a><code>newwin</code> option specifies whether the destination document is +<a name="index-file-_0028hyperlink-option_0029-2"></a> +<code>file</code> option. Page fitting is specified by the +<a name="index-pagefit-_0028hyperlink-option_0029-1"></a> +<code>pagefit</code> option. The +<a name="index-newwin-_0028hyperlink-option_0029"></a> +<code>newwin</code> option specifies whether the destination document is opened in the same window or in a new window. - - <p>Example: - - <pre class="example"> \hlstart{filename}{file=book.pdf,newwin=1}{dest123} - Link to dest123 in file `book.pdf'\hlend -</pre> - <br><dt><code>filepage</code><dd><a name="index-filepage-_0040r_007b_0028hyperlink-type_0029_007d-884"></a><a name="index-file_002c-hyperlink-to-885"></a><a name="index-destinations_002c-in-another-file-886"></a><a name="index-hyperlinks_002c-to-another-file-887"></a>Go to a page in another file. The label is the page number (counting +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\hlstart{filename}{file=book.pdf,newwin=1}{dest123} + Link to dest123 in file `book.pdf'\hlend +</pre></div> + +</dd> +<dt><code>filepage</code></dt> +<dd><a name="index-filepage-_0028hyperlink-type_0029"></a> +<a name="index-file_002c-hyperlink-to-2"></a> +<a name="index-destinations_002c-in-another-file-2"></a> +<a name="index-hyperlinks_002c-to-another-file-2"></a> +<p>Go to a page in another file. The label is the page number (counting from 1). The file name is specified by the -<a name="index-file-_0040r_007b_0028hyperlink-option_0029_007d-888"></a><code>file</code> option. Page fitting is specified by the -<a name="index-pagefit-_0040r_007b_0028hyperlink-option_0029_007d-889"></a><code>pagefit</code> option. The -<a name="index-newwin-_0040r_007b_0028hyperlink-option_0029_007d-890"></a><code>newwin</code> option specifies whether the destination document is +<a name="index-file-_0028hyperlink-option_0029-3"></a> +<code>file</code> option. Page fitting is specified by the +<a name="index-pagefit-_0028hyperlink-option_0029-2"></a> +<code>pagefit</code> option. The +<a name="index-newwin-_0028hyperlink-option_0029-1"></a> +<code>newwin</code> option specifies whether the destination document is opened in the same window or in a new window. - - <p>Example: - - <pre class="example"> \hlstart{filepage}{file=book.pdf,newwin=, - pagefit=/FitR 50 100 300 500}{1} - Link to page~1 in file `book.pdf'\hlend -</pre> - <br><dt><code>raw</code><dd><a name="index-raw-_0040r_007b_0028hyperlink-type_0029_007d-891"></a>The link specification (in the form of a pdfTeX command or a dvipdfm +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\hlstart{filepage}{file=book.pdf,newwin=, + pagefit=/FitR 50 100 300 500}{1} + Link to page~1 in file `book.pdf'\hlend +</pre></div> + +</dd> +<dt><code>raw</code></dt> +<dd><a name="index-raw-_0028hyperlink-type_0029-1"></a> +<p>The link specification (in the form of a pdfTeX command or a dvipdfm <code>\special</code> primitive) is taken from the command sequence -<code>\</code><var>cs</var>, where <var>cs</var> is the value of the -<a name="index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-892"></a><code>cmd</code> option. In the definition of <code>\</code><var>cs</var>, use -<a name="index-g_t_0040_0040hllabel-893"></a><code>\@hllabel</code> to refer to the hyperlink label. This option is +<code>\<var>cs</var></code>, where <var>cs</var> is the value of the +<a name="index-cmd-_0028hyperlink-option_0029-2"></a> +<code>cmd</code> option. In the definition of <code>\<var>cs</var></code>, use +<a name="index-_0040hllabel-3"></a> +<code>\@hllabel</code> to refer to the hyperlink label. This option is intended to be used with linkgroups (see <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>), as it does not make sense in a direct call to -<a name="index-hlstart-894"></a><code>\hlstart</code>—you can just call the raw command. - - <p>Example for <code>pdftex</code>: - - <pre class="example"> % Redirect all \url links to the first page - \def\mycmd{\pdfstartlink goto page 1 {/Fit}} - \hltype[url]{raw} - \hlopts[url]{cmd=mycmd} -</pre> - <p>Example for <code>dvipdfm</code>: - - <pre class="example"> % Redirect all \url links to the first page - \def\mycmd{\special{pdf: beginann <</Type/Annot /Subtype/Link - /Dest[0 /Fit]>>}} - \hltype[url]{raw} - \hlopts[url]{cmd=mycmd} -</pre> - </dl> +<a name="index-hlstart-2"></a> +<code>\hlstart</code>—you can just call the raw command. +</p> +<p>Example for <code>pdftex</code>: +</p> +<div class="example"> +<pre class="example">% Redirect all \url links to the first page +\def\mycmd{\pdfstartlink goto page 1 {/Fit}} +\hltype[url]{raw} +\hlopts[url]{cmd=mycmd} +</pre></div> + +<p>Example for <code>dvipdfm</code>: +</p> +<div class="example"> +<pre class="example">% Redirect all \url links to the first page +\def\mycmd{\special{pdf: beginann <</Type/Annot /Subtype/Link + /Dest[0 /Fit]>>}} +\hltype[url]{raw} +\hlopts[url]{cmd=mycmd} +</pre></div> +</dd> +</dl> -<h5 class="subsubheading"><code>pdftex</code>-specific link types</h5> +<a name="pdftex_002dspecific-link-types"></a> +<h4 class="subsubheading"><code>pdftex</code>-specific link types</h4> - <dl> -<dt><code>num</code><dd><a name="index-num-_0040r_007b_0028hyperlink-type_0029_007d-895"></a><a name="index-numbered-destination-896"></a><a name="index-destinations_002c-numbered-897"></a><a name="index-hyperlink-destination_002c-numbered-898"></a>Go to a “numbered destination”. The label is the destination +<dl compact="compact"> +<dt><code>num</code></dt> +<dd><a name="index-num-_0028hyperlink-type_0029"></a> +<a name="index-numbered-destination"></a> +<a name="index-destinations_002c-numbered"></a> +<a name="index-hyperlink-destination_002c-numbered"></a> +<p>Go to a “numbered destination”. The label is the destination number. - - <p>Example: <code>\hlstart{num}{}{123}Link to 123\hlend</code> +</p> +<p>Example: <code>\hlstart{num}{}{123}Link to 123\hlend</code> +</p></dd> </dl> -<div class="node"> -<a name="Link-options-for-pdftex-and-dvipdfm"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a> +<hr> +<a name="Link-options-for-pdftex-and-dvipdfm"></a> +<div class="header"> +<p> +Previous: <a href="#Link-types-for-pdftex-and-dvipdfm" accesskey="p" rel="previous">Link types for pdftex and dvipdfm</a>, Up: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm" accesskey="u" rel="up">Hyperlink drivers pdftex and dvipdfm</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - -<h5 class="subsubsection">5.4.3.4 Link options for <code>pdftex</code> and <code>dvipdfm</code></h5> - -<p><a name="index-link-options_002c-_0040code_007bpdftex_007d-899"></a><a name="index-link-options_002c-_0040code_007bdvipdfm_007d-900"></a><a name="index-options_002c-link_002c-_0040code_007bpdftex_007d-901"></a><a name="index-options_002c-link_002c-_0040code_007bdvipdfm_007d-902"></a><a name="index-g_t_0040code_007bpdftex_007d_002c-link-options-903"></a><a name="index-g_t_0040code_007bdvipdfm_007d_002c-link-options-904"></a>Link options are mostly the same for the <code>pdftex</code> and +<a name="Link-options-for-pdftex-and-dvipdfm-1"></a> +<h4 class="subsubsection">5.4.3.4 Link options for <code>pdftex</code> and <code>dvipdfm</code></h4> + +<a name="index-link-options_002c-pdftex"></a> +<a name="index-link-options_002c-dvipdfm"></a> +<a name="index-options_002c-link_002c-pdftex"></a> +<a name="index-options_002c-link_002c-dvipdfm"></a> +<a name="index-pdftex_002c-link-options"></a> +<a name="index-dvipdfm_002c-link-options"></a> +<p>Link options are mostly the same for the <code>pdftex</code> and <code>dvipdfm</code> drivers. The <code>pdftex</code> driver has additional options to specify link dimensions. +</p> -<h5 class="subsubheading">Common link options</h5> +<a name="Common-link-options"></a> +<h4 class="subsubheading">Common link options</h4> - <dl> -<dt><code>bcolor</code><dd><a name="index-bcolor-_0040r_007b_0028hyperlink-option_0029_007d-905"></a><a name="index-hyperlink-border-color-906"></a><a name="index-border-color_002c-hyperlink-907"></a><a name="index-color_002c-hyperlink-border-908"></a>Border color. An array of three numbers in the range 0 to 1, +<dl compact="compact"> +<dt><code>bcolor</code></dt> +<dd><a name="index-bcolor-_0028hyperlink-option_0029"></a> +<a name="index-hyperlink-border-color"></a> +<a name="index-border-color_002c-hyperlink"></a> +<a name="index-color_002c-hyperlink-border"></a> +<p>Border color. An array of three numbers in the range 0 to 1, representing a color in DeviceRGB. - - <p>Example: <code>\hlstart{name}{bcolor=.1 .5 1}{dest123}Link\hlend</code> - - <br><dt><code>bdash</code><dd><a name="index-bdash-_0040r_007b_0028hyperlink-option_0029_007d-909"></a><a name="index-dashed-hyperlink-border-910"></a><a name="index-hyperlinks_002c-border-style-911"></a><a name="index-border-style_002c-hyperlink-912"></a>Array of numbers representing on and off stroke lengths for drawing +</p> +<p>Example: <code>\hlstart{name}{bcolor=.1 .5 1}{dest123}Link\hlend</code> +</p> +</dd> +<dt><code>bdash</code></dt> +<dd><a name="index-bdash-_0028hyperlink-option_0029"></a> +<a name="index-dashed-hyperlink-border"></a> +<a name="index-hyperlinks_002c-border-style"></a> +<a name="index-border-style_002c-hyperlink"></a> +<p>Array of numbers representing on and off stroke lengths for drawing dashes. - - <p>Example: <code>\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend</code> - - <br><dt><code>bstyle</code><dd><a name="index-bstyle-_0040r_007b_0028hyperlink-option_0029_007d-913"></a><a name="index-solid-hyperlink-border-914"></a><a name="index-dashed-hyperlink-border-915"></a><a name="index-beveled-hyperlink-border-916"></a><a name="index-inset-hyperlink-border-917"></a><a name="index-underline-hyperlink-border-918"></a><a name="index-hyperlinks_002c-border-style-919"></a><a name="index-style_002c-hyperlink-border-920"></a><a name="index-border-style_002c-hyperlink-921"></a>Link border style: - - <dl> -<dt><code>S</code><dd>The border is drawn as a solid line. - - <br><dt><code>D</code><dd>The border is drawn with a dashed line (the dash pattern is specified +</p> +<p>Example: <code>\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend</code> +</p> +</dd> +<dt><code>bstyle</code></dt> +<dd><a name="index-bstyle-_0028hyperlink-option_0029"></a> +<a name="index-solid-hyperlink-border"></a> +<a name="index-dashed-hyperlink-border-1"></a> +<a name="index-beveled-hyperlink-border"></a> +<a name="index-inset-hyperlink-border"></a> +<a name="index-underline-hyperlink-border"></a> +<a name="index-hyperlinks_002c-border-style-1"></a> +<a name="index-style_002c-hyperlink-border"></a> +<a name="index-border-style_002c-hyperlink-1"></a> +<p>Link border style: +</p> +<dl compact="compact"> +<dt><code>S</code></dt> +<dd><p>The border is drawn as a solid line. +</p> +</dd> +<dt><code>D</code></dt> +<dd><p>The border is drawn with a dashed line (the dash pattern is specified by the -<a name="index-bdash-_0040r_007b_0028hyperlink-option_0029_007d-922"></a><code>bdash</code> option). - - <br><dt><code>B</code><dd>The border is drawn in a beveled style. - - <br><dt><code>I</code><dd>The border is drawn in an inset style. - - <br><dt><code>U</code><dd>The border is drawn as a line on the bottom of the link rectangle. +<a name="index-bdash-_0028hyperlink-option_0029-1"></a> +<code>bdash</code> option). +</p> +</dd> +<dt><code>B</code></dt> +<dd><p>The border is drawn in a beveled style. +</p> +</dd> +<dt><code>I</code></dt> +<dd><p>The border is drawn in an inset style. +</p> +</dd> +<dt><code>U</code></dt> +<dd><p>The border is drawn as a line on the bottom of the link rectangle. +</p></dd> </dl> - <p>The default is ‘<samp><span class="samp">S</span></samp>’. - - <p>Example: <code>\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend</code> - - <br><dt><code>bwidth</code><dd><a name="index-bwidth-_0040r_007b_0028hyperlink-option_0029_007d-923"></a><a name="index-width_002c-hyperlink-border-924"></a><a name="index-hyperlinks_002c-border-width-925"></a><a name="index-border-width_002c-hyperlink-926"></a>Border width in -<a name="index-PostScript-point-927"></a>PostScript points (72 points per inch). The default is 1. - - <p>Example: <code>\hlstart{name}{bwidth=2}{dest123}Link\hlend</code> - - <br><dt><code>cmd</code><dd><a name="index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-928"></a>Name of the macro (without the leading ‘<samp><span class="samp">\</span></samp>’) containing a +<p>The default is ‘<samp>S</samp>’. +</p> +<p>Example: <code>\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend</code> +</p> +</dd> +<dt><code>bwidth</code></dt> +<dd><a name="index-bwidth-_0028hyperlink-option_0029"></a> +<a name="index-width_002c-hyperlink-border"></a> +<a name="index-hyperlinks_002c-border-width"></a> +<a name="index-border-width_002c-hyperlink"></a> +<p>Border width in +<a name="index-PostScript-point-2"></a> +PostScript points (72 points per inch). The default is 1. +</p> +<p>Example: <code>\hlstart{name}{bwidth=2}{dest123}Link\hlend</code> +</p> +</dd> +<dt><code>cmd</code></dt> +<dd><a name="index-cmd-_0028hyperlink-option_0029-3"></a> +<p>Name of the macro (without the leading ‘<samp>\</samp>’) containing a pdfTeX command or a dvipdfm <code>\special</code> for the <code>raw</code> link. - - <p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the description of the +</p> +<p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the description of the <code>raw</code> link, for an example. - - <br><dt><code>file</code><dd><a name="index-file-_0040r_007b_0028hyperlink-option_0029_007d-929"></a>File name for the <code>filename</code> and <code>filepage</code> link types. - - <p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the descriptions of the +</p> +</dd> +<dt><code>file</code></dt> +<dd><a name="index-file-_0028hyperlink-option_0029-4"></a> +<p>File name for the <code>filename</code> and <code>filepage</code> link types. +</p> +<p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the descriptions of the <code>filename</code> and <code>filepage</code> links, for an example. - - <br><dt><code>hlight</code><dd><a name="index-hlight-_0040r_007b_0028hyperlink-option_0029_007d-930"></a><a name="index-hyperlinks_002c-highlight-mode-931"></a><a name="index-highlight-modes_002c-hyperlink-932"></a>Link border highlight modes: - - <dl> -<dt><code>I</code><dd>The rectangle specified by the bounding box of the link is inverted. - - <br><dt><code>N</code><dd>No highlighting is done. - - <br><dt><code>O</code><dd>The border of the link is inverted. - - <br><dt><code>P</code><dd>The region underneath the bounding box of the link is drawn inset into -the page. +</p> +</dd> +<dt><code>hlight</code></dt> +<dd><a name="index-hlight-_0028hyperlink-option_0029"></a> +<a name="index-hyperlinks_002c-highlight-mode"></a> +<a name="index-highlight-modes_002c-hyperlink"></a> +<p>Link border highlight modes: +</p> +<dl compact="compact"> +<dt><code>I</code></dt> +<dd><p>The rectangle specified by the bounding box of the link is inverted. +</p> +</dd> +<dt><code>N</code></dt> +<dd><p>No highlighting is done. +</p> +</dd> +<dt><code>O</code></dt> +<dd><p>The border of the link is inverted. +</p> +</dd> +<dt><code>P</code></dt> +<dd><p>The region underneath the bounding box of the link is drawn inset into +the page. +</p></dd> </dl> - <p>The default is ‘<samp><span class="samp">I</span></samp>’. - - <p>Example: <code>\hlstart{name}{bstyle=S,hlight=O}{dest123}Link\hlend</code> - - <br><dt><code>newwin</code><dd><a name="index-newwin-_0040r_007b_0028hyperlink-option_0029_007d-933"></a><a name="index-hyperlinks_002c-opening-in-a-new-window-934"></a><a name="index-new-window_002c-opening-hyperlink-in-935"></a>For the <code>filename</code> and <code>filepage</code> links, specifies whether the destination document is +<p>The default is ‘<samp>I</samp>’. +</p> +<p>Example: <code>\hlstart{name}{bstyle=S,hlight=O}{dest123}Link\hlend</code> +</p> +</dd> +<dt><code>newwin</code></dt> +<dd><a name="index-newwin-_0028hyperlink-option_0029-2"></a> +<a name="index-hyperlinks_002c-opening-in-a-new-window"></a> +<a name="index-new-window_002c-opening-hyperlink-in"></a> +<p>For the <code>filename</code> and <code>filepage</code> links, specifies whether the destination document is opened in the same window or in a new window. The settings are: - - <dl> -<dt><code>0</code><dd>Open in the same window. -<br><dt><span class="roman">non-</span><code>0</code><dd>Open in a new window. -<br><dt><span class="roman">empty</span><dd>Behavior according to the viewer settings. +</p> +<dl compact="compact"> +<dt><code>0</code></dt> +<dd><p>Open in the same window. +</p></dd> +<dt><code><span class="roman">non-</span>0</code></dt> +<dd><p>Open in a new window. +</p></dd> +<dt><code><span class="roman">empty</span></code></dt> +<dd><p>Behavior according to the viewer settings. +</p></dd> </dl> - <p>The default is empty. - - <p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the descriptions of the +<p>The default is empty. +</p> +<p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the descriptions of the <code>filename</code> and <code>filepage</code> links, for an example. - - <br><dt><code>pagefit</code><dd><a name="index-pagefit-_0040r_007b_0028hyperlink-option_0029_007d-936"></a>For the <code>page</code> and <code>filepage links</code>, specifies how the page +</p> +</dd> +<dt><code>pagefit</code></dt> +<dd><a name="index-pagefit-_0028hyperlink-option_0029-3"></a> +<p>For the <code>page</code> and <code>filepage links</code>, specifies how the page must be fitted to the window. <code>pagefit</code> specification is written to the <acronym>PDF</acronym> file as is, so it must conform to the <acronym>PDF</acronym> standard. - - <p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the descriptions of the -<code>page</code> and <code>filepage</code> links, for an example. +</p> +<p>See <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a>, the descriptions of the +<code>page</code> and <code>filepage</code> links, for an example. +</p></dd> </dl> -<h5 class="subsubheading"><code>pdftex</code>-specific link options</h5> + +<a name="pdftex_002dspecific-link-options"></a> +<h4 class="subsubheading"><code>pdftex</code>-specific link options</h4> <p>The dimension options below must be specified as a TeX rule specification. When set to empty, the corresponding value of the parent box is used (this is the default for all dimension options). +</p> +<dl compact="compact"> +<dt><code>depth</code></dt> +<dd><a name="index-depth-_0028hyperlink-option_0029"></a> +<a name="index-hyperlink-dimensions"></a> +<a name="index-dimensions_002c-hyperlink"></a> +<p>Depth of the link. +</p> +</dd> +<dt><code>height</code></dt> +<dd><a name="index-height-_0028hyperlink-option_0029"></a> +<a name="index-hyperlink-dimensions-1"></a> +<a name="index-dimensions_002c-hyperlink-1"></a> +<p>Height of the link. +</p> +</dd> +<dt><code>width</code></dt> +<dd><a name="index-width-_0028hyperlink-option_0029"></a> +<a name="index-hyperlink-dimensions-2"></a> +<a name="index-dimensions_002c-hyperlink-2"></a> +<p>Width of the link. +</p> +<p>Example: +</p> +<div class="example"> +<pre class="example">\hlstart{name}{width=5in,height=20pc,depth=0pt}{dest123} + Link\hlend +</pre></div> +</dd> +</dl> - <dl> -<dt><code>depth</code><dd><a name="index-depth-_0040r_007b_0028hyperlink-option_0029_007d-937"></a><a name="index-hyperlink-dimensions-938"></a><a name="index-dimensions_002c-hyperlink-939"></a>Depth of the link. - - <br><dt><code>height</code><dd><a name="index-height-_0040r_007b_0028hyperlink-option_0029_007d-940"></a><a name="index-hyperlink-dimensions-941"></a><a name="index-dimensions_002c-hyperlink-942"></a>Height of the link. - - <br><dt><code>width</code><dd><a name="index-width-_0040r_007b_0028hyperlink-option_0029_007d-943"></a><a name="index-hyperlink-dimensions-944"></a><a name="index-dimensions_002c-hyperlink-945"></a>Width of the link. - - <p>Example: - - <pre class="example"> \hlstart{name}{width=5in,height=20pc,depth=0pt}{dest123} - Link\hlend -</pre> - </dl> -<div class="node"> +<hr> <a name="Hyperlink-driver-nolinks"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlink-drivers">Hyperlink drivers</a> - +<div class="header"> +<p> +Previous: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm" accesskey="p" rel="previous">Hyperlink drivers pdftex and dvipdfm</a>, Up: <a href="#Hyperlink-drivers" accesskey="u" rel="up">Hyperlink drivers</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Hyperlink-driver-nolinks-1"></a> <h4 class="subsection">5.4.4 Hyperlink driver <code>nolinks</code></h4> -<p><a name="index-nolinks-_0040r_007b_0028hyperlink-driver_0029_007d-946"></a><a name="index-g_t_0040code_007bnolinks_007d_002c-hyperlink-driver-947"></a><a name="index-driver-_0040code_007bnolinks_007d-948"></a><a name="index-hyperlink-driver-_0040code_007bnolinks_007d-949"></a><a name="index-omitting-hyperlinks-950"></a><a name="index-disabling-hyperlinks-951"></a><a name="index-hyperlinks_002c-disabling-952"></a><a name="index-destinations_002c-disabling-953"></a><a name="index-spacing_002c-preserving-with-hyperlinks-954"></a><a name="index-hyperlinks_002c-preserving-spacing-955"></a><a name="index-page_002dbreaking_002c-preserving-with-hyperlinks-956"></a><a name="index-hyperlinks_002c-preserving-page_002dbreaking-957"></a>Select this driver to suppress all hyperlinks in your document. - - <p>Selecting this driver is quite different from not selecting any driver +<a name="index-nolinks-_0028hyperlink-driver_0029"></a> +<a name="index-nolinks_002c-hyperlink-driver"></a> +<a name="index-driver-nolinks"></a> +<a name="index-hyperlink-driver-nolinks"></a> +<a name="index-omitting-hyperlinks"></a> +<a name="index-disabling-hyperlinks"></a> +<a name="index-hyperlinks_002c-disabling"></a> +<a name="index-destinations_002c-disabling"></a> +<a name="index-spacing_002c-preserving-with-hyperlinks"></a> +<a name="index-hyperlinks_002c-preserving-spacing"></a> +<a name="index-page_002dbreaking_002c-preserving-with-hyperlinks"></a> +<a name="index-hyperlinks_002c-preserving-page_002dbreaking"></a> +<p>Select this driver to suppress all hyperlinks in your document. +</p> +<p>Selecting this driver is quite different from not selecting any driver at all, or from selecting some driver and then turning hyperlinks off for the entire document with -<a name="index-hloff-958"></a><code>\hloff</code> and -<a name="index-hldestoff-959"></a><code>\hldestoff</code> (see <a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a>). - - <p>The purpose of <code>\hldestoff</code> and <code>\hloff</code> is to mark (parts) of +<a name="index-hloff"></a> +<code>\hloff</code> and +<a name="index-hldestoff"></a> +<code>\hldestoff</code> (see <a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a>). +</p> +<p>The purpose of <code>\hldestoff</code> and <code>\hloff</code> is to mark (parts) of your document where hyperlinks should never appear. (Imagine you want to prevent a cross-referencing macro from generating a link at a certain spot in your document.) - - <p>If instead you have prepared a document with hyperlinks and just want to +</p> +<p>If instead you have prepared a document with hyperlinks and just want to compile a version without them, it is better to select the driver <code>nolinks</code>. This ensures that spacing and page-breaking are the same as what you were getting with hyperlinks enabled. - - <p>The reason for this is that hyperlinks are produced by the +</p> +<p>The reason for this is that hyperlinks are produced by the <code>\special</code> primitives or low-level hyperlink commands. Each such command is placed inside a -<a name="index-whatsits-made-by-hyperlinks-960"></a><dfn>whatsit</dfn> (an internal TeX object), which may introduce +<a name="index-whatsits-made-by-hyperlinks"></a> +<em>whatsit</em> (an internal TeX object), which may introduce legitimate breakpoints at places where none would exist without the whatsits. The macros <code>\hldestoff</code> and <code>\hloff</code> disable the hyperlink macros completely, so that no whatsits are produced. - - <p>In contrast, the <code>nolinks</code> driver does not completely disable +</p> +<p>In contrast, the <code>nolinks</code> driver does not completely disable hyperlink macros. Instead, it defines them to merely write to the log file (what gets written is unimportant). This also produces -whatsits, thus imitating the whatsits from the hyperlink commands. +whatsits, thus imitating the whatsits from the hyperlink commands. (This trick was borrowed from the -<a name="index-color_002esty-961"></a><a name="index-graphics-collection_002c-_0040LaTeX_007b_007d-962"></a><a name="index-g_t_0040LaTeX_007b_007d-graphics-collection-963"></a>LaTeX `color' package.) - - <p>Another reason for using <code>nolinks</code> is that in horizontal mode +<a name="index-color_002esty-2"></a> +<a name="index-graphics-collection_002c-LaTeX-2"></a> +<a name="index-LaTeX-graphics-collection-2"></a> +LaTeX ‘color’ package.) +</p> +<p>Another reason for using <code>nolinks</code> is that in horizontal mode <code>\hldest</code> places destinations inside boxes of zero width, height, and depth. When you say <code>\hldestoff</code>, <code>\hldest</code> will omit both destination definitions and these boxes. The missing boxes can again cause the typesetting to be inconsistent with that with destinations enabled. Here again, the <code>nolinks</code> driver helps by defining <code>\hldest</code> to produce the empty boxes. - - <p>So, if you are planning to produce versions of your <acronym>PDF</acronym> +</p> +<p>So, if you are planning to produce versions of your <acronym>PDF</acronym> document both with and without hyperlinks, here is the recommended way to enable the hyperlinks under pdfTeX: +</p> +<a name="index-enablehyperlinks-2"></a> +<div class="example"> +<pre class="example">\ifpdf + \enablehyperlinks +\else + \enablehyperlinks[nolinks]% +\fi +</pre></div> - <p><a name="index-enablehyperlinks-964"></a> -<pre class="example"> \ifpdf - \enablehyperlinks - \else - \enablehyperlinks[nolinks]% - \fi -</pre> - <div class="node"> -<a name="Setting-hyperlink-types-and-options"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a>, -Previous: <a rel="previous" accesskey="p" href="#Hyperlink-drivers">Hyperlink drivers</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlinks">Hyperlinks</a> +<hr> +<a name="Setting-hyperlink-types-and-options"></a> +<div class="header"> +<p> +Next: <a href="#Turning-hyperlinks-on_002foff" accesskey="n" rel="next">Turning hyperlinks on/off</a>, Previous: <a href="#Hyperlink-drivers" accesskey="p" rel="previous">Hyperlink drivers</a>, Up: <a href="#Hyperlinks" accesskey="u" rel="up">Hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Setting-hyperlink-types-and-options-1"></a> <h3 class="section">5.5 Setting hyperlink types and options</h3> -<p><a name="index-default-hyperlink-type-965"></a><a name="index-default-hyperlink-options-966"></a><a name="index-hyperlinks_002c-default-type-967"></a><a name="index-hyperlinks_002c-default-options-968"></a><a name="index-destinations_002c-default-type-969"></a><a name="index-destinations_002c-default-options-970"></a>You can define default types for links and destinations, which will be +<a name="index-default-hyperlink-type"></a> +<a name="index-default-hyperlink-options"></a> +<a name="index-hyperlinks_002c-default-type"></a> +<a name="index-hyperlinks_002c-default-options"></a> +<a name="index-destinations_002c-default-type"></a> +<a name="index-destinations_002c-default-options"></a> +<p>You can define default types for links and destinations, which will be used when you do not specify a type in -<a name="index-hlstart-971"></a><code>\hlstart</code> or -<a name="index-hldest-972"></a><code>\hldest</code>. Similarly, you can define default values for the +<a name="index-hlstart-3"></a> +<code>\hlstart</code> or +<a name="index-hldest-3"></a> +<code>\hldest</code>. Similarly, you can define default values for the options; the default value for an option is used when you do not set the option in the argument to <code>\hlstart</code> or <code>\hldest</code>. - - <p><a name="index-group-type_002c-hyperlink-973"></a><a name="index-group-options_002c-hyperlink-974"></a><a name="index-hyperlinks_002c-group-type-975"></a><a name="index-hyperlinks_002c-group-options-976"></a><a name="index-link_002c-group-type-977"></a><a name="index-link_002c-group-options-978"></a><a name="index-linkgroup-type-979"></a><a name="index-linkgroup-options-980"></a><a name="index-destinations_002c-group-type-981"></a><a name="index-destinations_002c-group-options-982"></a><a name="index-destgroup-type-983"></a><a name="index-destgroup-options-984"></a>The parameters for implicit links and destinations can be customized by +</p> +<a name="index-group-type_002c-hyperlink"></a> +<a name="index-group-options_002c-hyperlink"></a> +<a name="index-hyperlinks_002c-group-type"></a> +<a name="index-hyperlinks_002c-group-options"></a> +<a name="index-link_002c-group-type"></a> +<a name="index-link_002c-group-options"></a> +<a name="index-linkgroup-type"></a> +<a name="index-linkgroup-options"></a> +<a name="index-destinations_002c-group-type"></a> +<a name="index-destinations_002c-group-options"></a> +<a name="index-destgroup-type"></a> +<a name="index-destgroup-options"></a> +<p>The parameters for implicit links and destinations can be customized by setting the “group” types and options. When not set, the defaults are used. - - <p>All these settings are local to the current (TeX) group, so if +</p> +<p>All these settings are local to the current (TeX) group, so if you want to set an option temporarily, you can do so inside a -<code>\begingroup...\endgroup</code> block; when the group ends, the +<code>\begingroup…\endgroup</code> block; when the group ends, the previous settings are restored. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Setting-default-types-and-options" accesskey="1">Setting default types and options</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Setting-group-types" accesskey="2">Setting group types</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Setting-group-options" accesskey="3">Setting group options</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> -<ul class="menu"> -<li><a accesskey="1" href="#Setting-default-types-and-options">Setting default types and options</a> -<li><a accesskey="2" href="#Setting-group-types">Setting group types</a> -<li><a accesskey="3" href="#Setting-group-options">Setting group options</a> -</ul> -<div class="node"> +<hr> <a name="Setting-default-types-and-options"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Setting-group-types">Setting group types</a>, -Up: <a rel="up" accesskey="u" href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a> - +<div class="header"> +<p> +Next: <a href="#Setting-group-types" accesskey="n" rel="next">Setting group types</a>, Up: <a href="#Setting-hyperlink-types-and-options" accesskey="u" rel="up">Setting hyperlink types and options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Setting-default-types-and-options-1"></a> <h4 class="subsection">5.5.1 Setting default types and options</h4> -<p><a name="index-hltype-985"></a><a name="index-hldesttype-986"></a>The default types for links and destinations can be set with the +<a name="index-hltype"></a> +<a name="index-hldesttype"></a> +<p>The default types for links and destinations can be set with the following commands: +</p> +<div class="example"> +<pre class="example">\hltype{<var>type</var>} +\hldesttype{<var>type</var>} +</pre></div> -<pre class="example"> \hltype{<var>type</var>} - \hldesttype{<var>type</var>} -</pre> - <p class="noindent">where <var>type</var> is one of the +<p>where <var>type</var> is one of the link/destination types supported by the selected hyperlink driver (see <a href="#Hyperlink-drivers">Hyperlink drivers</a>). +</p> +<a name="index-hlopts"></a> +<a name="index-hldestopts"></a> +<p>Default values for the options can be set with the following commands: +</p> +<div class="example"> +<pre class="example">\hlopts{<var>options</var>} +\hldestopts{<var>options</var>} +</pre></div> - <p><a name="index-hlopts-987"></a><a name="index-hldestopts-988"></a>Default values for the options can be set with the following commands: - -<pre class="example"> \hlopts{<var>options</var>} - \hldestopts{<var>options</var>} -</pre> - <p class="noindent">where <var>options</var> is a comma-separated list of option -assignments in the format ‘<samp><var>option</var><span class="samp">=</span><var>value</var></samp>’. Again, what options +<p>where <var>options</var> is a comma-separated list of option +assignments in the format ‘<samp><var>option</var>=<var>value</var></samp>’. Again, what options are allowed depends on the selected hyperlink driver. - - <p><a name="index-boxed-links_002c-avoiding-989"></a><a name="index-avoiding-boxed-links-990"></a><a name="index-color_002c-hyperlinks-991"></a><a name="index-colored-links-992"></a><a name="index-hyperlink-color-993"></a>Many people regard the default boxed links as not aesthetic and +</p> +<a name="index-boxed-links_002c-avoiding-1"></a> +<a name="index-avoiding-boxed-links-1"></a> +<a name="index-color_002c-hyperlinks-2"></a> +<a name="index-colored-links-2"></a> +<a name="index-hyperlink-color-2"></a> +<p>Many people regard the default boxed links as not aesthetic and intruding on page layout. The reason why boxed links are the default is that the links are not colored until you load the LaTeX -<a name="index-color_002esty-994"></a>`color' package (see <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>) or use other means to +<a name="index-color_002esty-3"></a> +‘color’ package (see <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a>) or use other means to define the <code>\color</code> command; therefore, not producing any kind of -link border may result in the links not being marked in any way. +link border may result in the links not being marked in any way. However, when the links are actually colored, there is no need to produce the link boxes anymore; to avoid the boxes, you can set the default border width to zero (if the driver you use supports the link option <code>bwidth</code>; see <a href="#Hyperlink-drivers">Hyperlink drivers</a>): +</p> +<div class="example"> +<pre class="example">\hlopts{bwidth=0} +</pre></div> -<pre class="example"> \hlopts{bwidth=0} -</pre> - <div class="node"> -<a name="Setting-group-types"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Setting-group-options">Setting group options</a>, -Previous: <a rel="previous" accesskey="p" href="#Setting-default-types-and-options">Setting default types and options</a>, -Up: <a rel="up" accesskey="u" href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a> +<hr> +<a name="Setting-group-types"></a> +<div class="header"> +<p> +Next: <a href="#Setting-group-options" accesskey="n" rel="next">Setting group options</a>, Previous: <a href="#Setting-default-types-and-options" accesskey="p" rel="previous">Setting default types and options</a>, Up: <a href="#Setting-hyperlink-types-and-options" accesskey="u" rel="up">Setting hyperlink types and options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Setting-group-types-1"></a> <h4 class="subsection">5.5.2 Setting group types</h4> -<p><a name="index-hltype-995"></a><a name="index-hldesttype-996"></a><a name="index-group-type_002c-hyperlink-997"></a><a name="index-hyperlinks_002c-group-type-998"></a><a name="index-link_002c-group-type-999"></a><a name="index-linkgroup-type-1000"></a><a name="index-destinations_002c-group-type-1001"></a><a name="index-destgroup-type-1002"></a>When called with an optional argument, as in +<a name="index-hltype-1"></a> +<a name="index-hldesttype-1"></a> +<a name="index-group-type_002c-hyperlink-1"></a> +<a name="index-hyperlinks_002c-group-type-1"></a> +<a name="index-link_002c-group-type-1"></a> +<a name="index-linkgroup-type-1"></a> +<a name="index-destinations_002c-group-type-1"></a> +<a name="index-destgroup-type-1"></a> +<p>When called with an optional argument, as in +</p> +<div class="example"> +<pre class="example">\hltype[<var>groups</var>]{<var>type</var>} +\hldesttype[<var>groups</var>]{<var>type</var>} +</pre></div> -<pre class="example"> \hltype[<var>groups</var>]{<var>type</var>} - \hldesttype[<var>groups</var>]{<var>type</var>} -</pre> - <p class="noindent">where <var>groups</var> is a comma-separated list of groups, +<p>where <var>groups</var> is a comma-separated list of groups, <code>\hltype</code> and <code>\hldesttype</code> set the type for each group from <var>groups</var> to <var>type</var>. The default type is used for all groups with an empty type (this is the initial setting for all groups, except -that the type for the `url' linkgroup is set to ‘<samp><span class="samp">url</span></samp>’ by the +that the type for the ‘url’ linkgroup is set to ‘<samp>url</samp>’ by the drivers which support this link type). - - <p><a name="index-group-_0060_0027-_0028empty_0029-1003"></a><a name="index-default-hyperlink-type-1004"></a><a name="index-default-hyperlink-options-1005"></a><a name="index-hyperlinks_002c-default-type-1006"></a><a name="index-hyperlinks_002c-default-options-1007"></a><a name="index-destinations_002c-default-type-1008"></a><a name="index-destinations_002c-default-options-1009"></a>There are two special “groups” which can be used inside the +</p> +<a name="index-group-_0060_0027-_0028empty_0029"></a> +<a name="index-default-hyperlink-type-1"></a> +<a name="index-default-hyperlink-options-1"></a> +<a name="index-hyperlinks_002c-default-type-1"></a> +<a name="index-hyperlinks_002c-default-options-1"></a> +<a name="index-destinations_002c-default-type-1"></a> +<a name="index-destinations_002c-default-options-1"></a> +<p>There are two special “groups” which can be used inside the <var>groups</var> list. An empty group sets the default type. This allows to set the default type and group types in one command, for example: +</p> +<div class="example"> +<pre class="example">\hltype[eq,]{<var>type</var>} +</pre></div> -<pre class="example"> \hltype[eq,]{<var>type</var>} -</pre> - <p class="noindent">sets the link type for the `eq' linkgroup and the +<p>sets the link type for the ‘eq’ linkgroup and the default link type to <var>type</var>. - - <p><a name="index-group-_0060_002a_0027-1010"></a><a name="index-groups_002c-specifying-all-1011"></a><a name="index-all-groups_002c-specifying-1012"></a>Another special group is a star (‘<samp><span class="samp">*</span></samp>’) group, which signifies all +</p> +<a name="index-group-_0060_002a_0027"></a> +<a name="index-groups_002c-specifying-all"></a> +<a name="index-all-groups_002c-specifying"></a> +<p>Another special group is a star (‘<samp>*</samp>’) group, which signifies all defined groups. For example, the command +</p> +<div class="example"> +<pre class="example">\hldesttype[*,]{<var>type</var>} +</pre></div> -<pre class="example"> \hldesttype[*,]{<var>type</var>} -</pre> - <p class="noindent">sets the destination type to <var>type</var> for each group, +<p>sets the destination type to <var>type</var> for each group, as well as the default destination type. +</p> -<div class="node"> +<hr> <a name="Setting-group-options"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Setting-group-types">Setting group types</a>, -Up: <a rel="up" accesskey="u" href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a> - +<div class="header"> +<p> +Previous: <a href="#Setting-group-types" accesskey="p" rel="previous">Setting group types</a>, Up: <a href="#Setting-hyperlink-types-and-options" accesskey="u" rel="up">Setting hyperlink types and options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Setting-group-options-1"></a> <h4 class="subsection">5.5.3 Setting group options</h4> -<p><a name="index-group-options_002c-hyperlink-1013"></a><a name="index-hyperlinks_002c-group-options-1014"></a><a name="index-link_002c-group-options-1015"></a><a name="index-linkgroup-options-1016"></a><a name="index-destinations_002c-group-options-1017"></a><a name="index-destgroup-options-1018"></a>Option values for each group are stored as a list of option +<a name="index-group-options_002c-hyperlink-1"></a> +<a name="index-hyperlinks_002c-group-options-1"></a> +<a name="index-link_002c-group-options-1"></a> +<a name="index-linkgroup-options-1"></a> +<a name="index-destinations_002c-group-options-1"></a> +<a name="index-destgroup-options-1"></a> +<p>Option values for each group are stored as a list of option assignments. This list does not have to contain every supported option. Values for options missing from this list are taken from the default option values. - - <p><a name="index-hlopts-1019"></a><a name="index-hldestopts-1020"></a>To manipulate the list of option values for the groups, you use the +</p> +<a name="index-hlopts-1"></a> +<a name="index-hldestopts-1"></a> +<p>To manipulate the list of option values for the groups, you use the <code>\hlopts</code> and <code>\hldestopts</code> commands with an optional argument: - -<pre class="example"> \hlopts[<var>groups</var>]{<var>options</var>} - \hldestopts[<var>groups</var>]{<var>options</var>} - \hlopts![<var>groups</var>]{<var>options</var>} - \hldestopts![<var>groups</var>]{<var>options</var>} -</pre> - <p class="noindent">where <var>groups</var> is a comma-separated list of groups and +</p> +<div class="example"> +<pre class="example">\hlopts[<var>groups</var>]{<var>options</var>} +\hldestopts[<var>groups</var>]{<var>options</var>} +\hlopts![<var>groups</var>]{<var>options</var>} +\hldestopts![<var>groups</var>]{<var>options</var>} +</pre></div> + +<p>where <var>groups</var> is a comma-separated list of groups and <var>options</var> is a comma-separated list of option assignments. The -two special “groups”, the empty group and the star (‘<samp><span class="samp">*</span></samp>’) +two special “groups”, the empty group and the star (‘<samp>*</samp>’) group, have the same meaning as for <code>\hltype</code> and -<code>\hldesttype</code>. -<a name="index-group_002c-preserving-option-list-1021"></a><a name="index-hyperlink-group_002c-preserving-option-list-1022"></a><a name="index-option-list_002c-preserving-for-group-1023"></a>When used without the exclamation mark, <code>\hlopts</code> and +<code>\hldesttype</code>. +<a name="index-group_002c-preserving-option-list"></a> +<a name="index-hyperlink-group_002c-preserving-option-list"></a> +<a name="index-option-list_002c-preserving-for-group"></a> +When used without the exclamation mark, <code>\hlopts</code> and <code>\hldestopts</code> preserve the current list of options for the groups, and only update the options listed in <var>options</var>. If you add the exclamation mark, the current list of options for each group in <var>groups</var> is discarded and the new list is set to <var>options</var>. - - <p>The “overriding” nature of the ‘<samp><span class="samp">!</span></samp>’ is appropriate when you give +</p> +<p>The “overriding” nature of the ‘<samp>!</samp>’ is appropriate when you give a complete specification of the options for a group, e.g., at the beginning of your document. On the other hand, when you want to adjust some option(s) and leave others intact, you should use the -macros without the ‘<samp><span class="samp">!</span></samp>’. - - <p><a name="index-raise-_0040r_007b_0028hyperlink-option_0029_007d-1024"></a><a name="index-mathematics-displays_002c-hyperlinks-1025"></a><a name="index-displayed-math-and-hyperlinks-1026"></a><a name="index-large-operators-and-hyperlinks-1027"></a><a name="index-hyperlinks_002c-large-operators-1028"></a><a name="index-destinations_002c-large-operators-1029"></a><a name="index-raising-hyperlink-destinations-1030"></a>For example, with displayed mathematical formulas, you often need to -adjust the ‘<samp><span class="samp">raise</span></samp>’ option for the -<a name="index-group-_0060eq_0027-1031"></a><a name="index-linkgroup-_0060eq_0027-1032"></a>`eq' destgroup, because the formulas often contain large parentheses and +macros without the ‘<samp>!</samp>’. +</p> +<a name="index-raise-_0028hyperlink-option_0029-1"></a> +<a name="index-mathematics-displays_002c-hyperlinks-1"></a> +<a name="index-displayed-math-and-hyperlinks-1"></a> +<a name="index-large-operators-and-hyperlinks-1"></a> +<a name="index-hyperlinks_002c-large-operators-1"></a> +<a name="index-destinations_002c-large-operators-1"></a> +<a name="index-raising-hyperlink-destinations-1"></a> +<p>For example, with displayed mathematical formulas, you often need to +adjust the ‘<samp>raise</samp>’ option for the +<a name="index-group-_0060eq_0027-2"></a> +<a name="index-linkgroup-_0060eq_0027-1"></a> +‘eq’ destgroup, because the formulas often contain large parentheses and brackets. But when doing so, you want to leave the other settings unchanged. To achieve this, call <code>\hldestopts</code> without the -‘<samp><span class="samp">!</span></samp>’, for example: - -<pre class="example"> $$\hldestopts[eq]{raise=2.5\normalbaselineskip} - ... - $$ -</pre> - <p class="noindent">The display commands (‘<samp><span class="samp">$$</span></samp>’) implicitly put the entire -formula inside a (TeX) group (<code>\begingroup...\endgroup</code>), so -you do not need to isolate the setting of the ‘<samp><span class="samp">raise</span></samp>’ option—it -will be restored after the closing ‘<samp><span class="samp">$$</span></samp>’. - - <p><a name="index-option-list_002c-group-1033"></a><a name="index-group-option-list-1034"></a><a name="index-hyperlinks_002c-group-option-list-1035"></a>Initially, Eplain sets the option lists for almost all groups to empty, +‘<samp>!</samp>’, for example: +</p> +<div class="example"> +<pre class="example">$$\hldestopts[eq]{raise=2.5\normalbaselineskip} +… +$$ +</pre></div> + +<p>The display commands (‘<samp>$$</samp>’) implicitly put the entire +formula inside a (TeX) group (<code>\begingroup…\endgroup</code>), so +you do not need to isolate the setting of the ‘<samp>raise</samp>’ option—it +will be restored after the closing ‘<samp>$$</samp>’. +</p> +<a name="index-option-list_002c-group"></a> +<a name="index-group-option-list"></a> +<a name="index-hyperlinks_002c-group-option-list"></a> +<p>Initially, Eplain sets the option lists for almost all groups to empty, so that the groups fall back on the default values for all options. The -one exception to this rule is the `eq' destgroup, whose initial option +one exception to this rule is the ‘eq’ destgroup, whose initial option list contains one setting: +</p> +<div class="example"> +<pre class="example">raise=1.7\normalbaselineskip +</pre></div> -<pre class="example"> raise=1.7\normalbaselineskip -</pre> - <p class="noindent">This setting usually accommodates the large operators, which often +<p>This setting usually accommodates the large operators, which often appear in displayed math. +</p> -<div class="node"> -<a name="Turning-hyperlinks-on%2foff"></a> +<hr> <a name="Turning-hyperlinks-on_002foff"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a>, -Up: <a rel="up" accesskey="u" href="#Hyperlinks">Hyperlinks</a> - +<div class="header"> +<p> +Previous: <a href="#Setting-hyperlink-types-and-options" accesskey="p" rel="previous">Setting hyperlink types and options</a>, Up: <a href="#Hyperlinks" accesskey="u" rel="up">Hyperlinks</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Turning-hyperlinks-on_002foff-1"></a> <h3 class="section">5.6 Turning hyperlinks on/off</h3> -<p><a name="index-omitting-hyperlinks-1036"></a><a name="index-disabling-hyperlinks-1037"></a><a name="index-hyperlinks_002c-disabling-1038"></a><a name="index-destinations_002c-disabling-1039"></a>Links and/or destinations can be turned on or off globally by disabling +<a name="index-omitting-hyperlinks-1"></a> +<a name="index-disabling-hyperlinks-1"></a> +<a name="index-hyperlinks_002c-disabling-1"></a> +<a name="index-destinations_002c-disabling-1"></a> +<p>Links and/or destinations can be turned on or off globally by disabling the low-level commands, or for each group individually. - - <p>All these settings are local to the current (TeX) group, so if you +</p> +<p>All these settings are local to the current (TeX) group, so if you want to enable or disable links/destinations temporarily, you can do so -inside a <code>\begingroup...\endgroup</code> block; when the group ends, the +inside a <code>\begingroup…\endgroup</code> block; when the group ends, the previous settings are restored. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Turning-low_002dlevel-commands-on_002foff" accesskey="1">Turning low-level commands on/off</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Turning-hyperlinks-on_002foff-for-a-group" accesskey="2">Turning hyperlinks on/off for a group</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> -<ul class="menu"> -<li><a accesskey="1" href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a> -<li><a accesskey="2" href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a> -</ul> -<div class="node"> -<a name="Turning-low-level-commands-on%2foff"></a> +<hr> <a name="Turning-low_002dlevel-commands-on_002foff"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a>, -Up: <a rel="up" accesskey="u" href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a> - +<div class="header"> +<p> +Next: <a href="#Turning-hyperlinks-on_002foff-for-a-group" accesskey="n" rel="next">Turning hyperlinks on/off for a group</a>, Up: <a href="#Turning-hyperlinks-on_002foff" accesskey="u" rel="up">Turning hyperlinks on/off</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Turning-low_002dlevel-commands-on_002foff-1"></a> <h4 class="subsection">5.6.1 Turning low-level commands on/off</h4> -<p><a name="index-hldeston-1040"></a><a name="index-hldestoff-1041"></a><a name="index-hlon-1042"></a><a name="index-hloff-1043"></a>The low-level commands <code>\hlstart</code>, <code>\hlend</code> and +<a name="index-hldeston"></a> +<a name="index-hldestoff-1"></a> +<a name="index-hlon"></a> +<a name="index-hloff-1"></a> +<p>The low-level commands <code>\hlstart</code>, <code>\hlend</code> and <code>\hldest</code> can be turned on/off with the following commands: - -<pre class="example"> \hldeston - \hldestoff - \hlon - \hloff -</pre> - <p class="noindent">See <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a>, for the implications of using +</p> +<div class="example"> +<pre class="example">\hldeston +\hldestoff +\hlon +\hloff +</pre></div> + +<p>See <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a>, for the implications of using these commands to disable hyperlinks for the entire document. +</p> -<div class="node"> -<a name="Turning-hyperlinks-on%2foff-for-a-group"></a> +<hr> <a name="Turning-hyperlinks-on_002foff-for-a-group"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a>, -Up: <a rel="up" accesskey="u" href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a> - +<div class="header"> +<p> +Previous: <a href="#Turning-low_002dlevel-commands-on_002foff" accesskey="p" rel="previous">Turning low-level commands on/off</a>, Up: <a href="#Turning-hyperlinks-on_002foff" accesskey="u" rel="up">Turning hyperlinks on/off</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Turning-hyperlinks-on_002foff-for-a-group-1"></a> <h4 class="subsection">5.6.2 Turning hyperlinks on/off for a group</h4> -<p><a name="index-group_002c-disabling-hyperlinks-1044"></a><a name="index-hyperlink-group_002c-disabling-hyperlinks-1045"></a>If you want to disable links/destinations produced by certain groups, +<a name="index-group_002c-disabling-hyperlinks"></a> +<a name="index-hyperlink-group_002c-disabling-hyperlinks"></a> +<p>If you want to disable links/destinations produced by certain groups, you can give a list of the groups as an optional argument to these commands: - -<pre class="example"> \hldeston[<var>groups</var>] - \hldestoff[<var>groups</var>] - \hlon[<var>groups</var>] - \hloff[<var>groups</var>] -</pre> - <p class="noindent">where <var>groups</var> is the list of linkgroups/destgroups. This +</p> +<div class="example"> +<pre class="example">\hldeston[<var>groups</var>] +\hldestoff[<var>groups</var>] +\hlon[<var>groups</var>] +\hloff[<var>groups</var>] +</pre></div> + +<p>where <var>groups</var> is the list of linkgroups/destgroups. This list can contain two special groups. The empty group switches the low-level commands (see <a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a>), and the -star (‘<samp><span class="samp">*</span></samp>’) group operates on all defined groups. - - <p>Note that turning off the low-level commands disables all hyperlinks +star (‘<samp>*</samp>’) group operates on all defined groups. +</p> +<p>Note that turning off the low-level commands disables all hyperlinks globally, including groups which have them enabled. Turning off certain linkgroups/destgroups records the fact that the macros in the group should not produce links/destinations. To illustrate the distinction, assume that all links are on; after the following sequence of commands: +</p> +<div class="example"> +<pre class="example">\hloff +\hloff[eq] +\hlon +</pre></div> -<pre class="example"> \hloff - \hloff[eq] - \hlon -</pre> - <p class="noindent">all links are on except for the `eq' linkgroup. - -<!-- arrow.texi - documentation for Eplain's commutative diagrams. --> -<!-- Copyright (C) 1991, 1992, 2007 Steven Smith. --> -<!-- This is part of the Eplain manual. --> -<!-- This file is free software; you can redistribute it and/or modify --> -<!-- it under the terms of the GNU General Public License as published by --> -<!-- the Free Software Foundation; either version 2, or (at your option) --> -<!-- any later version. --> -<!-- This file is distributed in the hope that it will be useful, --> -<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> -<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> -<!-- GNU General Public License for more details. --> -<!-- You should have received a copy of the GNU General Public License --> -<!-- along with this file; if not, see <http://www.gnu.org/licenses/>. --> -<!-- \input texinfo --> -<!-- setfilename arrow.info --> -<!-- settitle Arrow Theoretic Diagrams --> -<!-- Input arrow macros without altering texinfo's \catcodes. --> -<!-- Use the arrow macros in an `@iftex @tex ... @end iftex' environment. --> -<div class="node"> -<a name="Arrow-theoretic-diagrams"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Programming-definitions">Programming definitions</a>, -Previous: <a rel="previous" accesskey="p" href="#Hyperlinks">Hyperlinks</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - -</div> +<p>all links are on except for the ‘eq’ linkgroup. +</p> -<h2 class="chapter">6 Arrow theoretic diagrams</h2> -<p>This chapter describes definitions for producing commutative diagrams. - <p>Steven Smith wrote this documentation (and the macros). -<ul class="menu"> -<li><a accesskey="1" href="#Slanted-lines-and-vectors">Slanted lines and vectors</a> -<li><a accesskey="2" href="#Commutative-diagrams">Commutative diagrams</a> -</ul> +<hr> +<a name="Arrow-theoretic-diagrams"></a> +<div class="header"> +<p> +Next: <a href="#Programming-definitions" accesskey="n" rel="next">Programming definitions</a>, Previous: <a href="#Hyperlinks" accesskey="p" rel="previous">Hyperlinks</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> +</div> +<a name="Arrow-theoretic-diagrams-1"></a> +<h2 class="chapter">6 Arrow theoretic diagrams</h2> -<div class="node"> +<p>This chapter describes definitions for producing commutative diagrams. +</p> +<p>Steven Smith wrote this documentation (and the macros). +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Slanted-lines-and-vectors" accesskey="1">Slanted lines and vectors</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Commutative-diagrams" accesskey="2">Commutative diagrams</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + +<hr> <a name="Slanted-lines-and-vectors"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Commutative-diagrams">Commutative diagrams</a>, -Up: <a rel="up" accesskey="u" href="#Arrow-theoretic-diagrams">Arrow theoretic diagrams</a> - +<div class="header"> +<p> +Next: <a href="#Commutative-diagrams" accesskey="n" rel="next">Commutative diagrams</a>, Up: <a href="#Arrow-theoretic-diagrams" accesskey="u" rel="up">Arrow theoretic diagrams</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Slanted-lines-and-vectors-1"></a> <h3 class="section">6.1 Slanted lines and vectors</h3> <p>The macros <code>\drawline</code> -<a name="index-drawline-1046"></a>and <code>\drawvector</code> -<a name="index-drawvector-1047"></a>provide the capability found in LaTeX's -<a name="index-g_t_0040LaTeX_007b_007d-1048"></a><a name="index-picture-mode-1049"></a>picture mode to draw slanted lines and vectors of certain directions. +<a name="index-drawline"></a> +and <code>\drawvector</code> +<a name="index-drawvector"></a> +provide the capability found in LaTeX’s +<a name="index-LaTeX-3"></a> +<a name="index-picture-mode-1"></a> +picture mode to draw slanted lines and vectors of certain directions. Both of these macros take three arguments: two integer arguments to specify the direction of the line or vector, and one argument to specify -its length. For example, ‘<samp><span class="samp">\drawvector(-4,1){60pt}</span></samp>’ produces the +its length. For example, ‘<samp>\drawvector(-4,1){60pt}</samp>’ produces the vector -<a name="index-lines-1050"></a><a name="index-vectors-1051"></a>which lies in the 2d quadrant, has a slope of minus 1/4, and a width of +<a name="index-lines"></a> +<a name="index-vectors"></a> +which lies in the 2d quadrant, has a slope of minus 1/4, and a width of 60 pt. - - <p>Note that if an <code>\hbox</code> is placed around <code>\drawline</code> or +</p> +<p>Note that if an <code>\hbox</code> is placed around <code>\drawline</code> or <code>\drawvector</code>, then the width of the <code>\hbox</code> will be the positive dimension specified in the third argument, except when a vertical line or vector is specified, e.g., @@ -5382,193 +7158,285 @@ direction lies in the 1st or 2d quadrant (e.g., <code>(1,1)</code> or depth. Conversely, if the specified direction lies in the 3d or 4th quadrant (e.g., <code>(-1,-1)</code> or <code>(2,-3)</code>), then the <code>\hbox</code> will have positive depth and zero height. - - <p>There are a finite number of directions that can be specified. For +</p> +<p>There are a finite number of directions that can be specified. For <code>\drawline</code>, the absolute value of each integer defining the direction must be less than or equal to six, i.e., <code>(7,-1)</code> is incorrect, but <code>(6,-1)</code> is acceptable. For <code>\drawvector</code>, the -absolute value of each integer must be less than or equal to four. +absolute value of each integer must be less than or equal to four. Furthermore, the two integers cannot have common divisors; therefore, if a line with slope 2 is desired, say <code>(2,1)</code> instead of <code>(4,2)</code>. Also, specify <code>(1,0)</code> instead of, say, <code>(3,0)</code> for horizontal lines and likewise for vertical lines. - - <p>Finally, these macros depend upon the LaTeX font <code>line10</code>. If -your site doesn't have this font, ask your system administrator to get +</p> +<p>Finally, these macros depend upon the LaTeX font <code>line10</code>. If +your site doesn’t have this font, ask your system administrator to get it. Future enhancements will include macros to draw dotted lines and dotted vectors of various directions. +</p> -<div class="node"> +<hr> <a name="Commutative-diagrams"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Slanted-lines-and-vectors">Slanted lines and vectors</a>, -Up: <a rel="up" accesskey="u" href="#Arrow-theoretic-diagrams">Arrow theoretic diagrams</a> - +<div class="header"> +<p> +Previous: <a href="#Slanted-lines-and-vectors" accesskey="p" rel="previous">Slanted lines and vectors</a>, Up: <a href="#Arrow-theoretic-diagrams" accesskey="u" rel="up">Arrow theoretic diagrams</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Commutative-diagrams-1"></a> <h3 class="section">6.2 Commutative diagrams</h3> -<p><a name="index-commutative-diagrams-1052"></a> -The primitive commands <code>\drawline</code> and <code>\drawvector</code> can be +<a name="index-commutative-diagrams"></a> + +<p>The primitive commands <code>\drawline</code> and <code>\drawvector</code> can be used to typeset arrow theoretic diagrams. This section describes (1) macros to facilitate typesetting arrows and morphisms, and (2) macros to facilitate the construction of commutative diagrams. All macros described in this section must be used in math mode. - -<ul class="menu"> -<li><a accesskey="1" href="#Arrows-and-morphisms">Arrows and morphisms</a> -<li><a accesskey="2" href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a> -<li><a accesskey="3" href="#Commutative-diagram-parameters">Commutative diagram parameters</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Arrows-and-morphisms" accesskey="1">Arrows and morphisms</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Construction-of-commutative-diagrams" accesskey="2">Construction of commutative diagrams</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Commutative-diagram-parameters" accesskey="3">Commutative diagram parameters</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + +<hr> <a name="Arrows-and-morphisms"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a>, -Up: <a rel="up" accesskey="u" href="#Commutative-diagrams">Commutative diagrams</a> - +<div class="header"> +<p> +Next: <a href="#Construction-of-commutative-diagrams" accesskey="n" rel="next">Construction of commutative diagrams</a>, Up: <a href="#Commutative-diagrams" accesskey="u" rel="up">Commutative diagrams</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Arrows-and-morphisms-1"></a> <h4 class="subsection">6.2.1 Arrows and morphisms</h4> - -<p><a name="index-arrows-1053"></a><a name="index-morphisms-1054"></a> -The macros <code>\mapright</code> and <code>\mapleft</code> produce right and left -<a name="index-mapright-1055"></a><a name="index-mapleft-1056"></a>pointing arrows, respectively. Use superscript (<code>^</code>) to place a -morphism above the arrow, e.g., ‘<samp><span class="samp">\mapright^\alpha</span></samp>’; use subscript +<a name="index-arrows"></a> +<a name="index-morphisms"></a> + +<p>The macros <code>\mapright</code> and <code>\mapleft</code> produce right and left +<a name="index-mapright"></a> +<a name="index-mapleft"></a> +pointing arrows, respectively. Use superscript (<code>^</code>) to place a +morphism above the arrow, e.g., ‘<samp>\mapright^\alpha</samp>’; use subscript (<code>_</code>) to place a morphism below the arrow, e.g., -‘<samp><span class="samp">\mapright_{\tilde l}</span></samp>’. Superscripts and subscripts may be used -simulataneously, e.g., ‘<samp><span class="samp">\mapright^\pi_{\rm epimor.}</span></samp>’. - - <p>Similarly, the macros <code>\mapup</code> and <code>\mapdown</code> produce up and -<a name="index-mapup-1057"></a><a name="index-mapdown-1058"></a>down pointing arrows, respectively. Use <code>\rt</code> -<a name="index-rt-1059"></a>to place a morphism to the right of the arrow, e.g., ‘<samp><span class="samp">\mapup\rt{\rm -id}</span></samp>’; use <code>\lft</code> -<a name="index-lft-1060"></a>to place a morphism to the left of the arrow, e.g., ‘<samp><span class="samp">\mapup\lft\omega</span></samp>’. +‘<samp>\mapright_{\tilde l}</samp>’. Superscripts and subscripts may be used +simulataneously, e.g., ‘<samp>\mapright^\pi_{\rm epimor.}</samp>’. +</p> +<p>Similarly, the macros <code>\mapup</code> and <code>\mapdown</code> produce up and +<a name="index-mapup"></a> +<a name="index-mapdown"></a> +down pointing arrows, respectively. Use <code>\rt</code> +<a name="index-rt"></a> +to place a morphism to the right of the arrow, e.g., ‘<samp>\mapup\rt{\rm +id}</samp>’; use <code>\lft</code> +<a name="index-lft"></a> +to place a morphism to the left of the arrow, e.g., ‘<samp>\mapup\lft\omega</samp>’. <code>\lft</code> and <code>\rt</code> may be used simultaneously, e.g., -‘<samp><span class="samp">\mapdown\lft\pi\rt{\rm monomor.}</span></samp>’. - - <p>Slanted arrows are produced by the macro <code>\arrow</code>, which takes -<a name="index-arrow-1061"></a>a direction argument (e.g., ‘<samp><span class="samp">\arrow(3,-4)</span></samp>’). Use <code>\rt</code> and +‘<samp>\mapdown\lft\pi\rt{\rm monomor.}</samp>’. +</p> +<p>Slanted arrows are produced by the macro <code>\arrow</code>, which takes +<a name="index-arrow"></a> +a direction argument (e.g., ‘<samp>\arrow(3,-4)</samp>’). Use <code>\rt</code> and <code>\lft</code> to place morphisms to the right and left, respectively, of the arrow. A slanted line (no arrowhead) is produced with the macro <code>\sline</code>, -<a name="index-sline-1062"></a>whose syntax is identical to that of <code>\arrow</code>. - - <p>The length of these macros is predefined by the default TeX +<a name="index-sline"></a> +whose syntax is identical to that of <code>\arrow</code>. +</p> +<p>The length of these macros is predefined by the default TeX dimensions <code>\harrowlength</code>, -<a name="index-harrowlength-1063"></a>for horizontal arrows (or lines), +<a name="index-harrowlength"></a> +for horizontal arrows (or lines), <code>\varrowlength</code>, -<a name="index-varrowlength-1064"></a>for vertical arrows (or lines), and +<a name="index-varrowlength"></a> +for vertical arrows (or lines), and <code>\sarrowlength</code>, -<a name="index-sarrowlength-1065"></a>for slanted arrows (or lines). To change any of these dimensions, say, -e.g., ‘<samp><span class="samp">\harrowlength=40pt</span></samp>’. As with all other TeX dimensions, +<a name="index-sarrowlength"></a> +for slanted arrows (or lines). To change any of these dimensions, say, +e.g., ‘<samp>\harrowlength=40pt</samp>’. As with all other TeX dimensions, the change may be as global or as local as you like. Furthermore, the placement of morphisms on the arrows is controlled by the dimensions <code>\hmorphposn</code>, -<a name="index-hmorphposn-1066"></a><code>\vmorphposn</code>, -<a name="index-vmorphposn-1067"></a>and <code>\morphdist</code>. -<a name="index-morphdist-1068"></a>The first two dimensions control the horizontal and vertical position of +<a name="index-hmorphposn"></a> +<code>\vmorphposn</code>, +<a name="index-vmorphposn"></a> +and <code>\morphdist</code>. +<a name="index-morphdist"></a> +The first two dimensions control the horizontal and vertical position of the morphism from its default position; the latter dimension controls the distance of the morphism from the arrow. If you have more than one morphism per arrow (i.e., a <code>^</code>/<code>_</code> or <code>\lft</code>/<code>\rt</code> construction), use the parameters <code>\hmorphposnup</code>, -<a name="index-hmorphposnup-1069"></a><code>\hmorphposndn</code>, -<a name="index-hmorphposndn-1070"></a><code>\vmorphposnup</code>, -<a name="index-vmorphposnup-1071"></a><code>\vmorphposndn</code>, -<a name="index-vmorphposndn-1072"></a><code>\hmorphposnrt</code>, -<a name="index-hmorphposnrt-1073"></a><code>\hmorphposnlft</code>, -<a name="index-hmorphposnlft-1074"></a><code>\vmorphposnrt</code>, -<a name="index-vmorphposnrt-1075"></a>and <code>\vmorphposnlft</code>. -<a name="index-vmorphposnlft-1076"></a>The default values of all these dimensions are provided in the section +<a name="index-hmorphposnup"></a> +<code>\hmorphposndn</code>, +<a name="index-hmorphposndn"></a> +<code>\vmorphposnup</code>, +<a name="index-vmorphposnup"></a> +<code>\vmorphposndn</code>, +<a name="index-vmorphposndn"></a> +<code>\hmorphposnrt</code>, +<a name="index-hmorphposnrt"></a> +<code>\hmorphposnlft</code>, +<a name="index-hmorphposnlft"></a> +<code>\vmorphposnrt</code>, +<a name="index-vmorphposnrt"></a> +and <code>\vmorphposnlft</code>. +<a name="index-vmorphposnlft"></a> +The default values of all these dimensions are provided in the section on parameters that follows below. - - <p>There is a family of macros to produce horizontal lines, arrows, and +</p> +<p>There is a family of macros to produce horizontal lines, arrows, and adjoint arrows. The following macros produce horizontal maps and have the same syntax as <code>\mapright</code>: +</p> +<dl compact="compact"> +<dt><code>\mapright</code></dt> +<dd><a name="index-mapright-1"></a> +<p><code>$X\mapright Y$</code> +</p> +</dd> +<dt><code>\mapleft</code></dt> +<dd><a name="index-mapleft-1"></a> +<p><code>$X\mapleft Y$</code> +</p> +</dd> +<dt><code>\hline</code></dt> +<dd><a name="index-hline"></a> +<p><code>$X\hline Y$</code> +</p> - <dl> -<dt><code>\mapright</code><dd><a name="index-mapright-1077"></a><code>$X\mapright Y$</code> - - <br><dt><code>\mapleft</code><dd><a name="index-mapleft-1078"></a><code>$X\mapleft Y$</code> - - <br><dt><code>\hline</code><dd><a name="index-hline-1079"></a><code>$X\hline Y$</code> - - <br><dt><code>\bimapright</code><dd><a name="index-bimapright-1080"></a><code>$X\bimapright Y$</code> - - <br><dt><code>\bimapleft</code><dd><a name="index-bimapleft-1081"></a><code>$X\bimapleft Y$</code> - - <br><dt><code>\adjmapright</code><dd><a name="index-adjmapright-1082"></a><code>$X\adjmapright Y$</code> - - <br><dt><code>\adjmapleft</code><dd><a name="index-adjmapleft-1083"></a><code>$X\adjmapleft Y$</code> - - <br><dt><code>\bihline</code><dd><a name="index-bihline-1084"></a><code>$X\bihline Y$</code> +</dd> +<dt><code>\bimapright</code></dt> +<dd><a name="index-bimapright"></a> +<p><code>$X\bimapright Y$</code> +</p> +</dd> +<dt><code>\bimapleft</code></dt> +<dd><a name="index-bimapleft"></a> +<p><code>$X\bimapleft Y$</code> +</p> +</dd> +<dt><code>\adjmapright</code></dt> +<dd><a name="index-adjmapright"></a> +<p><code>$X\adjmapright Y$</code> +</p> +</dd> +<dt><code>\adjmapleft</code></dt> +<dd><a name="index-adjmapleft"></a> +<p><code>$X\adjmapleft Y$</code> +</p> +</dd> +<dt><code>\bihline</code></dt> +<dd><a name="index-bihline"></a> +<p><code>$X\bihline Y$</code> +</p></dd> </dl> - <p>There is also a family of macros to produce vertical lines, arrows, and +<p>There is also a family of macros to produce vertical lines, arrows, and adjoint arrows. The following macros produce vertical maps and have the same syntax as <code>\mapdown</code>: +</p> +<dl compact="compact"> +<dt><code>\mapdown</code></dt> +<dd><a name="index-mapdown-1"></a> +<p>(a down arrow) +</p> +</dd> +<dt><code>\mapup</code></dt> +<dd><a name="index-mapup-1"></a> +<p>(an up arrow) +</p> +</dd> +<dt><code>\vline</code></dt> +<dd><a name="index-vline"></a> +<p>(vertical line) +</p> - <dl> -<dt><code>\mapdown</code><dd><a name="index-mapdown-1085"></a>(a down arrow) - - <br><dt><code>\mapup</code><dd><a name="index-mapup-1086"></a>(an up arrow) - - <br><dt><code>\vline</code><dd><a name="index-vline-1087"></a>(vertical line) - - <br><dt><code>\bimapdown</code><dd><a name="index-bimapdown-1088"></a>(two down arrows) - - <br><dt><code>\bimapup</code><dd><a name="index-bimapup-1089"></a>(two up arrows) - - <br><dt><code>\adjmapdown</code><dd><a name="index-adjmapdown-1090"></a>(two adjoint arrows; down then up) - - <br><dt><code>\adjmapup</code><dd><a name="index-adjmapup-1091"></a>(two adjoint arrows; up then down) - - <br><dt><code>\bivline</code><dd><a name="index-bivline-1092"></a>(two vertical lines) +</dd> +<dt><code>\bimapdown</code></dt> +<dd><a name="index-bimapdown"></a> +<p>(two down arrows) +</p> +</dd> +<dt><code>\bimapup</code></dt> +<dd><a name="index-bimapup"></a> +<p>(two up arrows) +</p> +</dd> +<dt><code>\adjmapdown</code></dt> +<dd><a name="index-adjmapdown"></a> +<p>(two adjoint arrows; down then up) +</p> +</dd> +<dt><code>\adjmapup</code></dt> +<dd><a name="index-adjmapup"></a> +<p>(two adjoint arrows; up then down) +</p> +</dd> +<dt><code>\bivline</code></dt> +<dd><a name="index-bivline"></a> +<p>(two vertical lines) +</p></dd> </dl> - <p>Finally, there is a family of macros to produce slanted lines, arrows, +<p>Finally, there is a family of macros to produce slanted lines, arrows, and adjoint arrows. The following macros produce slanted maps and have the same syntax as <code>\arrow</code>: +</p> +<dl compact="compact"> +<dt><code>\arrow</code></dt> +<dd><a name="index-arrow-1"></a> +<p>(a slanted arrow) +</p> +</dd> +<dt><code>\sline</code></dt> +<dd><a name="index-sline-1"></a> +<p>(a slanted line) +</p> +</dd> +<dt><code>\biarrow</code></dt> +<dd><a name="index-biarrow"></a> +<p>(two straight arrows) +</p> +</dd> +<dt><code>\adjarrow</code></dt> +<dd><a name="index-adjarrow"></a> +<p>(two adjoint arrows) +</p> +</dd> +<dt><code>\bisline</code></dt> +<dd><a name="index-bisline"></a> +<p>(two straight lines) +</p> +</dd> +</dl> - <dl> -<dt><code>\arrow</code><dd><a name="index-arrow-1093"></a>(a slanted arrow) - - <br><dt><code>\sline</code><dd><a name="index-sline-1094"></a>(a slanted line) - - <br><dt><code>\biarrow</code><dd><a name="index-biarrow-1095"></a>(two straight arrows) - - <br><dt><code>\adjarrow</code><dd><a name="index-adjarrow-1096"></a>(two adjoint arrows) - - <br><dt><code>\bisline</code><dd><a name="index-bisline-1097"></a>(two straight lines) - - </dl> - - <p>The width between double arrows is controlled by the parameter -<code>\channelwidth</code>. -<a name="index-channelwidth-1098"></a>The parameters <code>\hchannel</code> and <code>\vchannel</code>, if nonzero, +<p>The width between double arrows is controlled by the parameter +<code>\channelwidth</code>. +<a name="index-channelwidth"></a> +The parameters <code>\hchannel</code> and <code>\vchannel</code>, if nonzero, override <code>\channelwidth</code> by controlling the horizontal and vertical shifting from the first arrow to the second. - - <p>There are no adornments on these arrows to distinguish inclusions from -epimorphisms from monomorphisms. Many texts, such as Lang's book -<cite>Algebra</cite>, use as a tasteful alternative the symbol `inc' (in roman) next -to an arrow to denote inclusion. -<a name="index-Lang_002c-Serge-1099"></a> -Future enhancements will include a mechanism to draw curved arrows +</p> +<p>There are no adornments on these arrows to distinguish inclusions from +epimorphisms from monomorphisms. Many texts, such as Lang’s book +<cite>Algebra</cite>, use as a tasteful alternative the symbol ‘inc’ (in roman) next +to an arrow to denote inclusion. +<a name="index-Lang_002c-Serge"></a> +</p> +<p>Future enhancements will include a mechanism to draw curved arrows found in, e.g., the Snake Lemma, by employing a version of the -<code>\path</code> macros of Appendix D of <cite>The TeXbook</cite>. -<a name="index-Snake-Lemma-1100"></a> +<code>\path</code> macros of Appendix D of <cite>The TeXbook</cite>. +<a name="index-Snake-Lemma"></a> +</p> -<div class="node"> +<hr> <a name="Construction-of-commutative-diagrams"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Commutative-diagram-parameters">Commutative diagram parameters</a>, -Previous: <a rel="previous" accesskey="p" href="#Arrows-and-morphisms">Arrows and morphisms</a>, -Up: <a rel="up" accesskey="u" href="#Commutative-diagrams">Commutative diagrams</a> - +<div class="header"> +<p> +Next: <a href="#Commutative-diagram-parameters" accesskey="n" rel="next">Commutative diagram parameters</a>, Previous: <a href="#Arrows-and-morphisms" accesskey="p" rel="previous">Arrows and morphisms</a>, Up: <a href="#Commutative-diagrams" accesskey="u" rel="up">Commutative diagrams</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Construction-of-commutative-diagrams-1"></a> <h4 class="subsection">6.2.2 Construction of commutative diagrams</h4> <p>There are two approaches to the construction of commutative diagrams @@ -5576,1142 +7444,1438 @@ described here. The first approach, and the simplest, treats commutative diagrams like fancy matrices, as Knuth does in Exercise 18.46 of <cite>The TeXbook</cite>. This case is covered by the macro <code>\commdiag</code>, -<a name="index-commdiag-1101"></a>which is an altered version of the Plain TeX macro <code>\matrix</code>. -<a name="index-matrix-1102"></a>An example suffices to demonstrate this macro. The following +<a name="index-commdiag"></a> +which is an altered version of the Plain TeX macro <code>\matrix</code>. +<a name="index-matrix"></a> +An example suffices to demonstrate this macro. The following commutative diagram (illustrating the covering homotopy property; Bott and Tu, <cite>Differential Forms in Algebraic Topology</cite>) -<a name="index-Bott_002c-Raoul-1103"></a><a name="index-Tu_002c-Loring-W_002e-1104"></a><a name="index-covering-homotopy-property-1105"></a>is produced with the code +<a name="index-Bott_002c-Raoul"></a> +<a name="index-Tu_002c-Loring-W_002e"></a> +<a name="index-covering-homotopy-property"></a> +is produced with the code +</p> +<div class="example"> +<pre class="example">$$\commdiag{Y&\mapright^f&E\cr \mapdown&\arrow(3,2)\lft{f_t}&\mapdown\cr +Y\times I&\mapright^{\bar f_t}&X}$$ +</pre></div> -<pre class="example"> $$\commdiag{Y&\mapright^f&E\cr \mapdown&\arrow(3,2)\lft{f_t}&\mapdown\cr - Y\times I&\mapright^{\bar f_t}&X}$$ -</pre> - <p>Of course, the parameters may be changed to produce a different effect. +<p>Of course, the parameters may be changed to produce a different effect. The following commutative diagram (illustrating the universal mapping property; Warner, <cite>Foundations of Differentiable Manifolds and Lie Groups</cite>) -<a name="index-Warner_002c-Frank-W_002e-1106"></a><a name="index-universal-mapping-property-1107"></a>is produced with the code +<a name="index-Warner_002c-Frank-W_002e"></a> +<a name="index-universal-mapping-property"></a> +is produced with the code +</p> +<div class="example"> +<pre class="example">$$\varrowlength=20pt +\commdiag{V\otimes W\cr \mapup\lft\phi&\arrow(3,-1)\rt{\tilde l}\cr +V\times W&\mapright^l&U\cr}$$ +</pre></div> -<pre class="example"> $$\varrowlength=20pt - \commdiag{V\otimes W\cr \mapup\lft\phi&\arrow(3,-1)\rt{\tilde l}\cr - V\times W&\mapright^l&U\cr}$$ -</pre> - <p>A diagram containing isosceles triangles is achieved by placing the apex +<p>A diagram containing isosceles triangles is achieved by placing the apex of the triangle in the center column, as shown in the example (illustrating all constant minimal realizations of a linear system; Brockett, <cite>Finite Dimensional Linear Systems</cite>) -<a name="index-Brockett_002c-Roger-W_002e-1108"></a><a name="index-minimal-realizations-1109"></a><a name="index-linear-systems-theory-1110"></a>which is produced with the code - -<pre class="smallexample"> $$\sarrowlength=.42\harrowlength - \commdiag{&R^m\cr &\arrow(-1,-1)\lft{\bf B}\quad \arrow(1,-1)\rt{\bf G}\cr - R^n&\mapright^{\bf P}&R^n\cr - \mapdown\lft{e^{{\bf A}t}}&&\mapdown\rt{e^{{\bf F}t}}\cr - R^n&\mapright^{\bf P}&R^n\cr - &\arrow(1,-1)\lft{\bf C}\quad \arrow(-1,-1)\rt{\bf H}\cr - &R^q\cr}$$ -</pre> - <p>Other commutative diagram examples appear in the file +<a name="index-Brockett_002c-Roger-W_002e"></a> +<a name="index-minimal-realizations"></a> +<a name="index-linear-systems-theory"></a> +which is produced with the code +</p> +<div class="smallexample"> +<pre class="smallexample">$$\sarrowlength=.42\harrowlength +\commdiag{&R^m\cr &\arrow(-1,-1)\lft{\bf B}\quad \arrow(1,-1)\rt{\bf G}\cr +R^n&\mapright^{\bf P}&R^n\cr +\mapdown\lft{e^{{\bf A}t}}&&\mapdown\rt{e^{{\bf F}t}}\cr +R^n&\mapright^{\bf P}&R^n\cr +&\arrow(1,-1)\lft{\bf C}\quad \arrow(-1,-1)\rt{\bf H}\cr +&R^q\cr}$$ +</pre></div> + +<p>Other commutative diagram examples appear in the file <code>commdiags.tex</code>, which is distributed with this package. - - <p>In these examples the arrow lengths and line slopes were carefully +</p> +<p>In these examples the arrow lengths and line slopes were carefully chosen to blend with each other. In the first example, the default settings for the arrow lengths are used, but a direction for the arrow must be chosen. The ratio of the default horizontal and vertical arrow lengths is approximately the golden mean -<a name="index-golden-mean-1111"></a><a name="index-golden-mean-1112"></a>the arrow direction closest to this mean is <code>(3,2)</code>. In the second +<a name="index-golden-mean"></a> +<a name="index-golden-mean-1"></a> +the arrow direction closest to this mean is <code>(3,2)</code>. In the second example, a slope of is desired and the default horizontal arrow length is 60 pt; therefore, choose a vertical arrow length of 20 pt. You may affect the interline glue settings of <code>\commdiag</code> by redefining the macro -<code>\commdiagbaselines</code>. -<a name="index-commdiagbaselines-1113"></a>(cf. Exercise 18.46 of <cite>The TeXbook</cite> and the section on +<code>\commdiagbaselines</code>. +<a name="index-commdiagbaselines"></a> +(cf. Exercise 18.46 of <cite>The TeXbook</cite> and the section on parameters below.) - - <p>The width, height, and depth of all morphisms are hidden so that the -morphisms' size do not affect arrow positions. This can cause a large +</p> +<p>The width, height, and depth of all morphisms are hidden so that the +morphisms’ size do not affect arrow positions. This can cause a large morphism at the top or bottom of a diagram to impinge upon the text -surrounding the diagram. To overcome this problem, use TeX's +surrounding the diagram. To overcome this problem, use TeX’s <code>\noalign</code> primitive to insert a <code>\vskip</code> immediately above or below the offending line, e.g., -‘<samp><span class="samp">$$\commdiag{\noalign{\vskip6pt}X&\mapright^\int&Y\cr ...}</span></samp>’. - - <p>The macro <code>\commdiag</code> is too simple to be used for more complicated +‘<samp>$$\commdiag{\noalign{\vskip6pt}X&\mapright^\int&Y\cr ...}</samp>’. +</p> +<p>The macro <code>\commdiag</code> is too simple to be used for more complicated diagrams, which may have intersecting or overlapping arrows. A second -approach, borrowed from Francis Borceux's <cite>Diagram</cite> macros for +approach, borrowed from Francis Borceux’s <cite>Diagram</cite> macros for LaTeX, treats the commutative diagram like a grid of identically shaped boxes. To compose the commutative diagram, first draw an equally spaced grid, e.g., -<a name="index-grid-1114"></a><a name="index-Borceux_002c-Francis-1115"></a><a name="index-Diagram_002c-macros-for-LaTeX-1116"></a>on a piece of scratch paper. Then draw each element (vertices and +<a name="index-grid"></a> +<a name="index-Borceux_002c-Francis"></a> +<a name="index-Diagram_002c-macros-for-LaTeX"></a> +on a piece of scratch paper. Then draw each element (vertices and arrows) of the commutative diagram on this grid, centered at each grid point. Finally, use the macro <code>\gridcommdiag</code> -<a name="index-gridcommdiag-1117"></a>to implement your design as a TeX alignment. For example, the cubic +<a name="index-gridcommdiag"></a> +to implement your design as a TeX alignment. For example, the cubic diagram -<a name="index-cube-1118"></a>that appears in Francis Borceux's documentation can be implemented on +<a name="index-cube"></a> +that appears in Francis Borceux’s documentation can be implemented on a 7 by 7 grid, and is achieved with the code - -<pre class="example"> $$\harrowlength=48pt \varrowlength=48pt \sarrowlength=20pt - \def\cross#1#2{\setbox0=\hbox{$#1$}% - \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}} - \gridcommdiag{&&B&&\mapright^b&&D\cr - &\arrow(1,1)\lft a&&&&\arrow(1,1)\lft d\cr - A&&\cross{\hmorphposn=12pt\mapright^c}{\vmorphposn=-12pt\mapdown\lft f} - &&C&&\mapdown\rt h\cr\cr - \mapdown\lft e&&F&&\cross{\hmorphposn=-12pt\mapright_j} - {\vmorphposn=12pt\mapdown\rt g}&&H\cr - &\arrow(1,1)\lft i&&&&\arrow(1,1)\rt l\cr - E&&\mapright_k&&G\cr}$$ -</pre> - <p>The dimensions <code>\hgrid</code> and <code>\vgrid</code> -<a name="index-hgrid-1119"></a><a name="index-vgrid-1120"></a>control the horizontal and vertical spacing of the grid used by +</p> +<div class="example"> +<pre class="example">$$\harrowlength=48pt \varrowlength=48pt \sarrowlength=20pt +\def\cross#1#2{\setbox0=\hbox{$#1$}% + \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}} +\gridcommdiag{&&B&&\mapright^b&&D\cr +&\arrow(1,1)\lft a&&&&\arrow(1,1)\lft d\cr +A&&\cross{\hmorphposn=12pt\mapright^c}{\vmorphposn=-12pt\mapdown\lft f} +&&C&&\mapdown\rt h\cr\cr +\mapdown\lft e&&F&&\cross{\hmorphposn=-12pt\mapright_j} +{\vmorphposn=12pt\mapdown\rt g}&&H\cr +&\arrow(1,1)\lft i&&&&\arrow(1,1)\rt l\cr +E&&\mapright_k&&G\cr}$$ +</pre></div> + +<p>The dimensions <code>\hgrid</code> and <code>\vgrid</code> +<a name="index-hgrid"></a> +<a name="index-vgrid"></a> +control the horizontal and vertical spacing of the grid used by <code>\gridcommdiag</code>. The default setting for both of these dimensions is 15 pt. Note that in the example of the cube the arrow lengths must be adjusted so that the arrows overlap into neighboring boxes by the desired amount. Hence, the <code>\gridcommdiag</code> method, albeit more -powerful, is less automatic than the simpler <code>\commdiag</code> method. +powerful, is less automatic than the simpler <code>\commdiag</code> method. Furthermore, the ad hoc macro <code>\cross</code> is introduced to allow the effect of overlapping arrows. Finally, note that the positions of four of the morphisms are adjusted by setting <code>\hmorphposn</code> and <code>\vmorphposn</code>. - - <p>One is not restricted to a square grid. For example, the proof of -Zassenhaus's Butterfly Lemma can be illustrated by the diagram (appearing -in Lang's book <cite>Algebra</cite>) -<a name="index-Zassenhaus_002c-Hans-1121"></a><a name="index-Lang_002c-Serge-1122"></a><a name="index-Butterfly-Lemma-1123"></a>This diagram may be implemented on a 9 by 12 grid with an aspect ratio +</p> +<p>One is not restricted to a square grid. For example, the proof of +Zassenhaus’s Butterfly Lemma can be illustrated by the diagram (appearing +in Lang’s book <cite>Algebra</cite>) +<a name="index-Zassenhaus_002c-Hans"></a> +<a name="index-Lang_002c-Serge-1"></a> +<a name="index-Butterfly-Lemma"></a> +This diagram may be implemented on a 9 by 12 grid with an aspect ratio of 1/2, and is set with the code - -<pre class="example"> $$\hgrid=16pt \vgrid=8pt \sarrowlength=32pt - \def\cross#1#2{\setbox0=\hbox{$#1$}% - \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}} - \def\l#1{\llap{$#1$\hskip.5em}} - \def\r#1{\rlap{\hskip.5em$#1$}} - \gridcommdiag{&&U&&&&V\cr &&\bullet&&&&\bullet\cr - &&\sarrowlength=16pt\sline(0,1)&&&&\sarrowlength=16pt\sline(0,1)\cr - &&\l{u(U\cap V)}\bullet&&&&\bullet\r{(U\cap V)v}\cr - &&&\sline(2,-1)&&\sline(2,1)\cr - &&\cross{=}{\sline(0,1)}&&\bullet&&\cross{=}{\sline(0,1)}\cr\cr - &&\l{^{\textstyle u(U\cap v)}}\bullet&&\cross{=}{\sline(0,1)}&& - \bullet\r{^{\textstyle(u\cap V)v}}\cr - &\sline(2,1)&&\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)\cr - \l{u}\bullet&&&&\bullet&&&&\bullet\r{v}\cr - &\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)&&\sline(2,1)\cr - &&\bullet&&&&\bullet\cr &&u\cap V&&&&U\cap v\cr}$$ -</pre> - <p>Again, the construction of this diagram requires careful choices for the +</p> +<div class="example"> +<pre class="example">$$\hgrid=16pt \vgrid=8pt \sarrowlength=32pt +\def\cross#1#2{\setbox0=\hbox{$#1$}% + \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}} +\def\l#1{\llap{$#1$\hskip.5em}} +\def\r#1{\rlap{\hskip.5em$#1$}} +\gridcommdiag{&&U&&&&V\cr &&\bullet&&&&\bullet\cr +&&\sarrowlength=16pt\sline(0,1)&&&&\sarrowlength=16pt\sline(0,1)\cr +&&\l{u(U\cap V)}\bullet&&&&\bullet\r{(U\cap V)v}\cr +&&&\sline(2,-1)&&\sline(2,1)\cr +&&\cross{=}{\sline(0,1)}&&\bullet&&\cross{=}{\sline(0,1)}\cr\cr +&&\l{^{\textstyle u(U\cap v)}}\bullet&&\cross{=}{\sline(0,1)}&& + \bullet\r{^{\textstyle(u\cap V)v}}\cr +&\sline(2,1)&&\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)\cr +\l{u}\bullet&&&&\bullet&&&&\bullet\r{v}\cr +&\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)&&\sline(2,1)\cr +&&\bullet&&&&\bullet\cr &&u\cap V&&&&U\cap v\cr}$$ +</pre></div> + +<p>Again, the construction of this diagram requires careful choices for the arrow lengths and is facilitated by the introduction of the ad hoc macros <code>\cross</code>, <code>\r</code>, and <code>\l</code>. Note also that superscripts were used to adjust the position of the vertices Many diagrams may be typeset with the predefined macros that appear here; however, ingenuity is often required to handle special cases. - -<div class="node"> +</p> +<hr> <a name="Commutative-diagram-parameters"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a>, -Up: <a rel="up" accesskey="u" href="#Commutative-diagrams">Commutative diagrams</a> - +<div class="header"> +<p> +Previous: <a href="#Construction-of-commutative-diagrams" accesskey="p" rel="previous">Construction of commutative diagrams</a>, Up: <a href="#Commutative-diagrams" accesskey="u" rel="up">Commutative diagrams</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Commutative-diagram-parameters-1"></a> <h4 class="subsection">6.2.3 Commutative diagram parameters</h4> <p>The following is a list describing the parameters used in the commutative diagram macros. These dimensions may be changed globally or locally. - - <dl> -<dt><code>\harrowlength</code><dd><a name="index-harrowlength-1124"></a>(Default: 60 pt) The length of right or left arrows. - - <br><dt><code>\varrowlength</code><dd><a name="index-varrowlength-1125"></a>(Default: 0.618<code>\harrowlength</code>) The length of up or down +</p> +<dl compact="compact"> +<dt><code>\harrowlength</code></dt> +<dd><a name="index-harrowlength-1"></a> +<p>(Default: 60 pt) The length of right or left arrows. +</p> +</dd> +<dt><code>\varrowlength</code></dt> +<dd><a name="index-varrowlength-1"></a> +<p>(Default: 0.618<code>\harrowlength</code>) The length of up or down arrows. - - <br><dt><code>\sarrowlength</code><dd><a name="index-sarrowlength-1126"></a>(Default: 60 pt) The horizontal length of slanted arrows. - - <br><dt><code>\hmorphposn</code><dd><a name="index-hmorphposn-1127"></a>(Default: 0 pt) The horizontal position of the morphism with +</p> +</dd> +<dt><code>\sarrowlength</code></dt> +<dd><a name="index-sarrowlength-1"></a> +<p>(Default: 60 pt) The horizontal length of slanted arrows. +</p> +</dd> +<dt><code>\hmorphposn</code></dt> +<dd><a name="index-hmorphposn-1"></a> +<p>(Default: 0 pt) The horizontal position of the morphism with respect to its default position. There are also the dimensions <code>\hmorphposnup</code>, -<a name="index-hmorphposnup-1128"></a><code>\hmorphposndn</code>, -<a name="index-hmorphposndn-1129"></a><code>\hmorphposnrt</code>, -<a name="index-hmorphposnrt-1130"></a>and <code>\hmorphposnlft</code> -<a name="index-hmorphposnlft-1131"></a>for <code>^</code>/<code>_</code> or <code>\lft</code>/<code>\rt</code> constructions. - - <br><dt><code>\vmorphposn</code><dd><a name="index-vmorphposn-1132"></a>(Default: 0 pt) The vertical position of the morphism with +<a name="index-hmorphposnup-1"></a> +<code>\hmorphposndn</code>, +<a name="index-hmorphposndn-1"></a> +<code>\hmorphposnrt</code>, +<a name="index-hmorphposnrt-1"></a> +and <code>\hmorphposnlft</code> +<a name="index-hmorphposnlft-1"></a> +for <code>^</code>/<code>_</code> or <code>\lft</code>/<code>\rt</code> constructions. +</p> +</dd> +<dt><code>\vmorphposn</code></dt> +<dd><a name="index-vmorphposn-1"></a> +<p>(Default: 0 pt) The vertical position of the morphism with respect to its default position. There are also the dimensions <code>\vmorphposnup</code>, -<a name="index-vmorphposnup-1133"></a><code>\vmorphposndn</code>, -<a name="index-vmorphposndn-1134"></a><code>\vmorphposnrt</code>, -<a name="index-vmorphposnrt-1135"></a>and <code>\vmorphposnlft</code> -<a name="index-vmorphposnlft-1136"></a>for <code>^</code>/<code>_</code> or <code>\lft</code>/<code>\rt</code> constructions. - - <br><dt><code>\morphdist</code><dd><a name="index-morphdist-1137"></a>(Default: 4 pt) The distance of morphisms from slanted lines +<a name="index-vmorphposnup-1"></a> +<code>\vmorphposndn</code>, +<a name="index-vmorphposndn-1"></a> +<code>\vmorphposnrt</code>, +<a name="index-vmorphposnrt-1"></a> +and <code>\vmorphposnlft</code> +<a name="index-vmorphposnlft-1"></a> +for <code>^</code>/<code>_</code> or <code>\lft</code>/<code>\rt</code> constructions. +</p> +</dd> +<dt><code>\morphdist</code></dt> +<dd><a name="index-morphdist-1"></a> +<p>(Default: 4 pt) The distance of morphisms from slanted lines or arrows. - - <br><dt><code>\channelwidth</code><dd><a name="index-channelwidth-1138"></a>(Default: 3 pt) The distance between double lines or arrows. - - <br><dt><code>\hchannel, \vchannel</code><dd><a name="index-hchannel-1139"></a><a name="index-vchannel-1140"></a>(Defaults: 0 pt) Overrides <code>\channelwidth</code>. The +</p> +</dd> +<dt><code>\channelwidth</code></dt> +<dd><a name="index-channelwidth-1"></a> +<p>(Default: 3 pt) The distance between double lines or arrows. +</p> +</dd> +<dt><code>\hchannel, \vchannel</code></dt> +<dd><a name="index-hchannel"></a> +<a name="index-vchannel"></a> +<p>(Defaults: 0 pt) Overrides <code>\channelwidth</code>. The horizontal and vertical shifts between double lines or arrows. - - <br><dt><code>\commdiagbaselines</code><dd><a name="index-commdiagbaselines-1141"></a>(Default: <code>\baselineskip=15pt +</p> +</dd> +<dt><code>\commdiagbaselines</code></dt> +<dd><a name="index-commdiagbaselines-1"></a> +<p>(Default: <code>\baselineskip=15pt \lineskip=3pt \lineskiplimit=3pt </code>) The parameters used by <code>\commdiag</code> for setting interline glue. - - <br><dt><code>\hgrid</code><dd><a name="index-hgrid-1142"></a>(Default: 15 pt) The horizontal spacing of the grid used by +</p> +</dd> +<dt><code>\hgrid</code></dt> +<dd><a name="index-hgrid-1"></a> +<p>(Default: 15 pt) The horizontal spacing of the grid used by <code>\gridcommdiag</code>. - - <br><dt><code>\vgrid</code><dd><a name="index-vgrid-1143"></a>(Default: 15 pt) The vertical spacing of the grid used by +</p> +</dd> +<dt><code>\vgrid</code></dt> +<dd><a name="index-vgrid-1"></a> +<p>(Default: 15 pt) The vertical spacing of the grid used by <code>\gridcommdiag</code>. +</p> +</dd> +</dl> - </dl> -<!-- bye --> -<!-- This is part of the Eplain manual. Public domain. --> -<div class="node"> +<hr> <a name="Programming-definitions"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Demo-files">Demo files</a>, -Previous: <a rel="previous" accesskey="p" href="#Arrow-theoretic-diagrams">Arrow theoretic diagrams</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#Demo-files" accesskey="n" rel="next">Demo files</a>, Previous: <a href="#Arrow-theoretic-diagrams" accesskey="p" rel="previous">Arrow theoretic diagrams</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Programming-definitions-1"></a> <h2 class="chapter">7 Programming definitions</h2> <p>The definitions in this section are only likely to be useful when you are writing nontrivial macros, not when writing a document. - -<ul class="menu"> -<li><a accesskey="1" href="#Category-codes">Category codes</a>: Changing category codes. -<li><a accesskey="2" href="#Allocation-macros">Allocation macros</a>: Non-outer versions of \newcount et al. -<li><a accesskey="3" href="#Iteration">Iteration</a>: Doing `for' and `while' loops in TeX. -<li><a accesskey="4" href="#Macro-arguments">Macro arguments</a>: Reading and ignoring them. -<li><a accesskey="5" href="#Converting-to-characters">Converting to characters</a>: Normalizing control sequences and spaces. -<li><a accesskey="6" href="#Expansion">Expansion</a>: Controlling expansion. -<li><a accesskey="7" href="#Obeying-spaces">Obeying spaces</a>: Making whitespace count anywhere. -<li><a accesskey="8" href="#Writing-out-numbers">Writing out numbers</a>: Making `1' into `one'. -<li><a accesskey="9" href="#Mode_002dspecific-penalties">Mode-specific penalties</a> -<li><a href="#Auxiliary-files">Auxiliary files</a>: Testing for their existence. -<li><a href="#User_002ddefined-environments">User-defined environments</a>: User-defined environments. -<li><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a> -</ul> - -<div class="node"> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Category-codes" accesskey="1">Category codes</a>:</td><td> </td><td align="left" valign="top">Changing category codes. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Allocation-macros" accesskey="2">Allocation macros</a>:</td><td> </td><td align="left" valign="top">Non-outer versions of \newcount et al. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Iteration" accesskey="3">Iteration</a>:</td><td> </td><td align="left" valign="top">Doing ‘for’ and ‘while’ loops in TeX. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Macro-arguments" accesskey="4">Macro arguments</a>:</td><td> </td><td align="left" valign="top">Reading and ignoring them. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Converting-to-characters" accesskey="5">Converting to characters</a>:</td><td> </td><td align="left" valign="top">Normalizing control sequences and spaces. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Expansion" accesskey="6">Expansion</a>:</td><td> </td><td align="left" valign="top">Controlling expansion. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Obeying-spaces" accesskey="7">Obeying spaces</a>:</td><td> </td><td align="left" valign="top">Making whitespace count anywhere. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Writing-out-numbers" accesskey="8">Writing out numbers</a>:</td><td> </td><td align="left" valign="top">Making ‘1’ into ‘one’. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Mode_002dspecific-penalties" accesskey="9">Mode-specific penalties</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Auxiliary-files">Auxiliary files</a>:</td><td> </td><td align="left" valign="top">Testing for their existence. +</td></tr> +<tr><td align="left" valign="top">• <a href="#User_002ddefined-environments">User-defined environments</a>:</td><td> </td><td align="left" valign="top">User-defined environments. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="Category-codes"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Allocation-macros">Allocation macros</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Next: <a href="#Allocation-macros" accesskey="n" rel="next">Allocation macros</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Category-codes-1"></a> <h3 class="section">7.1 Category codes</h3> -<p><a name="index-category-codes-1144"></a> -Plain TeX defines <code>\active</code> (as the number 13) for use in +<a name="index-category-codes"></a> + +<p>Plain TeX defines <code>\active</code> (as the number 13) for use in changing category codes. Although the author of <cite>The TeXbook</cite> -<a name="index-Knuth_002c-Donald-Ervin-1145"></a>has “intentionally kept the category codes numeric”, two other +<a name="index-Knuth_002c-Donald-Ervin-1"></a> +has “intentionally kept the category codes numeric”, two other categories are commonly used: letters (category code 11) and others (12). Therefore, Eplain defines <code>\letter</code> and -<code>\other</code>. -<a name="index-letter-1146"></a><a name="index-other-1147"></a> -Sometimes it is cleaner to make a character active without actually -<a name="index-active-characters-1148"></a>writing a <code>\catcode</code> command. The <code>\makeactive</code> command takes -<a name="index-catcode-1149"></a><a name="index-makeactive-1150"></a>a character as an argument to make active (and ignores following +<code>\other</code>. +<a name="index-letter"></a> +<a name="index-other"></a> +</p> +<p>Sometimes it is cleaner to make a character active without actually +<a name="index-active-characters"></a> +writing a <code>\catcode</code> command. The <code>\makeactive</code> command takes +<a name="index-catcode"></a> +<a name="index-makeactive"></a> +a character as an argument to make active (and ignores following spaces). For example, here are two commands which both make <kbd>\</kbd> active: -<a name="index-backslash-character-1151"></a> -<pre class="example"> \makeactive\\ \makeactive92 -</pre> - <p><a name="index-user_002dinaccessible-macros-1152"></a><a name="index-inaccessible-macros-1153"></a>Sometimes you might want to temporarily change the category code of -the `@' character to <code>\letter</code>, so that you can use or define +<a name="index-backslash-character"></a> +</p> +<div class="example"> +<pre class="example">\makeactive\\ \makeactive92 +</pre></div> + +<a name="index-user_002dinaccessible-macros"></a> +<a name="index-inaccessible-macros"></a> +<p>Sometimes you might want to temporarily change the category code of +the ‘@’ character to <code>\letter</code>, so that you can use or define macros which are normally inaccessible to the user. For such situations, Eplain provides the <code>\makeatletter</code> -<a name="index-makeatletter-1154"></a>command. It sets the category code of `@' to <code>\letter</code> (11) and +<a name="index-makeatletter"></a> +command. It sets the category code of ‘@’ to <code>\letter</code> (11) and defines <code>\resetatcatcode</code> -<a name="index-resetatcatcode-1155"></a>to restore the category code to whatever it was before the call to +<a name="index-resetatcatcode-1"></a> +to restore the category code to whatever it was before the call to <code>\makeatletter</code>. For example: - -<pre class="example"> \makeatletter - \def\@hidden@macro{This macro cannot normally be - called / redefined by the user} - \resetatcatcode -</pre> - <p class="noindent">There is also <code>\makeatother</code> -<a name="index-makeatother-1156"></a>which works similarly but sets the category code of `@' to +</p> +<div class="example"> +<pre class="example">\makeatletter +\def\@hidden@macro{This macro cannot normally be + called / redefined by the user} +\resetatcatcode +</pre></div> + +<p>There is also <code>\makeatother</code> +<a name="index-makeatother"></a> +which works similarly but sets the category code of ‘@’ to <code>\other</code> (12). - - <p>Usually, when you give a definition to an active character, you have +</p> +<p>Usually, when you give a definition to an active character, you have to do so inside a group where you temporarily make the character active, and then give it a global definition (cf. the definition of -<code>\obeyspaces</code> in <cite>The TeXbook</cite>). -<a name="index-definitions_002c-global-1157"></a>This is inconvenient if you are writing a long macro, or if the +<code>\obeyspaces</code> in <cite>The TeXbook</cite>). +<a name="index-definitions_002c-global"></a> +This is inconvenient if you are writing a long macro, or if the character already has a global definition you do not wish to transcend. Eplain provides <code>\letreturn</code>, which defines the usual end-of-line -<a name="index-letreturn-1158"></a><a name="index-return-character-1159"></a>character to be the argument. For example: +<a name="index-letreturn"></a> +<a name="index-return-character"></a> +character to be the argument. For example: +</p> +<div class="example"> +<pre class="example">\def\mymacro{… \letreturn\myreturn … } +\mymacro hello +there +</pre></div> -<pre class="example"> \def\mymacro{... \letreturn\myreturn ... } - \mymacro hello - there -</pre> - <p class="noindent">The end-of-line between ‘<samp><span class="samp">hello</span></samp>’ and ‘<samp><span class="samp">there</span></samp>’ causes +<p>The end-of-line between ‘<samp>hello</samp>’ and ‘<samp>there</samp>’ causes <code>\myreturn</code> to be expanded. - - <p><cite>The TeXbook</cite> describes <code>\uncatcodespecials</code>, -<a name="index-uncatcodespecials-1160"></a>which makes all characters which are normally “special” into “other” +</p> +<p><cite>The TeXbook</cite> describes <code>\uncatcodespecials</code>, +<a name="index-uncatcodespecials-1"></a> +which makes all characters which are normally “special” into “other” characters, but the definition never made it into plain TeX. Eplain therefore defines it. For notes on the usage, see <a href="#Verbatim-listing">Verbatim listing</a>. - - <p>Finally, <code>\percentchar</code> -<a name="index-percentchar-1161"></a>expands into a literal `%' character. This is useful when you +</p> +<p>Finally, <code>\percentchar</code> +<a name="index-percentchar"></a> +expands into a literal ‘%’ character. This is useful when you <code>\write</code> TeX output to a file, and want to avoid spurious spaces. For example, Eplain writes a <code>\percentchar</code> after the definition of cross-references. The macros <code>\lbracechar</code> -<a name="index-lbracechar-1162"></a>and <code>\rbracechar</code> -<a name="index-rbracechar-1163"></a>expand similarly. +<a name="index-lbracechar"></a> +and <code>\rbracechar</code> +<a name="index-rbracechar"></a> +expand similarly. +</p> -<div class="node"> +<hr> <a name="Allocation-macros"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Iteration">Iteration</a>, -Previous: <a rel="previous" accesskey="p" href="#Category-codes">Category codes</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Next: <a href="#Iteration" accesskey="n" rel="next">Iteration</a>, Previous: <a href="#Category-codes" accesskey="p" rel="previous">Category codes</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Allocation-macros-1"></a> <h3 class="section">7.2 Allocation macros</h3> -<p><a name="index-allocation-macros-1164"></a><a name="index-register-allocation-1165"></a> -Plain TeX provides macros that allocate registers of each primitive +<a name="index-allocation-macros"></a> +<a name="index-register-allocation"></a> + +<p>Plain TeX provides macros that allocate registers of each primitive type in TeX, to prevent different sets of macros from using the same register for two different things. The macros are all named starting -with ‘<samp><span class="samp">new</span></samp>’, -<a name="index-new_0040dots_007b_007d-1166"></a>e.g., <code>\newcount</code> allocates a new “count” +with ‘<samp>new</samp>’, +<a name="index-new_2026"></a> +e.g., <code>\newcount</code> allocates a new “count” (integer) register. Such allocations are usually needed only at the top level of some macro definition file; therefore, plain TeX makes the allocation registers <code>\outer</code>, -<a name="index-outer-1167"></a>to help find errors. (The error this helps to find is a missing right +<a name="index-outer"></a> +to help find errors. (The error this helps to find is a missing right brace in some macro definition.) - - <p>Sometimes, however, it is useful to allocate a register as part of +</p> +<p>Sometimes, however, it is useful to allocate a register as part of some macro. An outer control sequence cannot be used as part of a macro definition (or in a few other contexts: the parameter text of a definition, an argument to a definition, the preamble of an alignment, or in conditional text that is being skipped). Therefore, Eplain defines “inner” versions of all the allocation macros, named with the -prefix ‘<samp><span class="samp">inner</span></samp>’: +prefix ‘<samp>inner</samp>’: <code>\innernewbox</code>, -<a name="index-innernewbox-1168"></a><code>\innernewcount</code>, -<a name="index-innernewcount-1169"></a><code>\innernewdimen</code>, -<a name="index-innernewdimen-1170"></a><code>\innernewfam</code>, -<a name="index-innernewfam-1171"></a><code>\innernewhelp</code>, -<a name="index-innernewhelp-1172"></a><code>\innernewif</code>, -<a name="index-innernewif-1173"></a><code>\innernewinsert</code>, -<a name="index-innernewinsert-1174"></a><code>\innernewlanguage</code>, -<a name="index-innernewlanguage-1175"></a><code>\innernewread</code>,<br> -<a name="index-innernewread-1176"></a><code>\innernewskip</code>, -<a name="index-innernewskip-1177"></a><code>\innernewtoks</code>, -<a name="index-innernewtoks-1178"></a><code>\innernewwrite</code>. -<a name="index-innernewwrite-1179"></a> -You can also define non-outer versions of other macros in the same way +<a name="index-innernewbox"></a> +<code>\innernewcount</code>, +<a name="index-innernewcount"></a> +<code>\innernewdimen</code>, +<a name="index-innernewdimen"></a> +<code>\innernewfam</code>, +<a name="index-innernewfam"></a> +<code>\innernewhelp</code>, +<a name="index-innernewhelp"></a> +<code>\innernewif</code>, +<a name="index-innernewif"></a> +<code>\innernewinsert</code>, +<a name="index-innernewinsert"></a> +<code>\innernewlanguage</code>, +<a name="index-innernewlanguage"></a> +<code>\innernewread</code>,<br> +<a name="index-innernewread"></a> +<code>\innernewskip</code>, +<a name="index-innernewskip"></a> +<code>\innernewtoks</code>, +<a name="index-innernewtoks"></a> +<code>\innernewwrite</code>. +<a name="index-innernewwrite"></a> +</p> +<p>You can also define non-outer versions of other macros in the same way that Eplain defines the above. The basic macro is called <code>\innerdef</code>: -<a name="index-innerdef-1180"></a> -<pre class="example"> \innerdef <var>\innername</var> {<var>outername</var>} -</pre> - <p>The first argument (<var>\innername</var>) to <code>\innerdef</code> is the +<a name="index-innerdef"></a> +</p> +<div class="example"> +<pre class="example">\innerdef <var>\innername</var> {<var>outername</var>} +</pre></div> + +<p>The first argument (<var>\innername</var>) to <code>\innerdef</code> is the control sequence that you want to define. Any previous definition of <var>\innername</var> is replaced. The second argument (<var>outername</var>) is the <em>characters</em> in the name of the outer -control sequence. (You can't use the actual control sequence name, -since it's outer!) - - <p>If the outer control sequence is named <var>\cs</var>, and you want to -define <code>inner</code><var>cs</var> as the inner one, you can use +control sequence. (You can’t use the actual control sequence name, +since it’s outer!) +</p> +<p>If the outer control sequence is named <var>\cs</var>, and you want to +define <code>inner<var>cs</var></code> as the inner one, you can use <code>\innerinnerdef</code>, -<a name="index-innerinnerdef-1181"></a>which is just an abbreviation for a call to <code>\innerdef</code>. For +<a name="index-innerinnerdef"></a> +which is just an abbreviation for a call to <code>\innerdef</code>. For example, these two calls are equivalent: +</p> +<div class="example"> +<pre class="example">\innerdef\innerproclaim{proclaim} +\innerinnerdef{proclaim} +</pre></div> -<pre class="example"> \innerdef\innerproclaim{proclaim} - \innerinnerdef{proclaim} -</pre> - <div class="node"> -<a name="Iteration"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Macro-arguments">Macro arguments</a>, -Previous: <a rel="previous" accesskey="p" href="#Allocation-macros">Allocation macros</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> +<hr> +<a name="Iteration"></a> +<div class="header"> +<p> +Next: <a href="#Macro-arguments" accesskey="n" rel="next">Macro arguments</a>, Previous: <a href="#Allocation-macros" accesskey="p" rel="previous">Allocation macros</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Iteration-1"></a> <h3 class="section">7.3 Iteration</h3> -<p><a name="index-iteration-1182"></a><a name="index-loops-1183"></a><a name="index-for-loops-1184"></a><a name="index-while-loops-1185"></a><a name="index-do_0040dots_007b_007dwhile-loops-1186"></a> -You can iterate through a comma-separated list of items with -<code>\for</code>. -<a name="index-for-1187"></a>Here is an example: +<a name="index-iteration"></a> +<a name="index-loops"></a> +<a name="index-for-loops"></a> +<a name="index-while-loops"></a> +<a name="index-do_2026while-loops"></a> -<pre class="example"> \for\name:=karl,kathy\do{% - \message{\name}% - }% -</pre> - <p class="noindent">This writes ‘<samp><span class="samp">karl</span></samp>’ and ‘<samp><span class="samp">kathy</span></samp>’ to the terminal. Spaces +<p>You can iterate through a comma-separated list of items with +<code>\for</code>. +<a name="index-for"></a> +Here is an example: +</p> +<div class="example"> +<pre class="example">\for\name:=karl,kathy\do{% + \message{\name}% +}% +</pre></div> + +<p>This writes ‘<samp>karl</samp>’ and ‘<samp>kathy</samp>’ to the terminal. Spaces before or after the commas in the list, or after the <code>:=</code>, are <em>not</em> ignored. To strip leading spaces off the items, use <code>\For</code>: -<a name="index-For-1188"></a> -<pre class="example"> \For\name:= - karl, - kathy\do{% - \message{\name}% - }% -</pre> - <p class="noindent">Note that trailing spaces are still <em>not</em> ignored. - - <p>Both <code>\for</code> and <code>\For</code> expand the first token of the item +<a name="index-For"></a> +</p> +<div class="example"> +<pre class="example">\For\name:= + karl, + kathy\do{% + \message{\name}% + }% +</pre></div> + +<p>Note that trailing spaces are still <em>not</em> ignored. +</p> +<p>Both <code>\for</code> and <code>\For</code> expand the first token of the item list fully, so this is equivalent to the above: +</p> +<div class="example"> +<pre class="example">\def\namelist{karl,kathy}% +\for\name:=\namelist\do … +</pre></div> -<pre class="example"> \def\namelist{karl,kathy}% - \for\name:=\namelist\do ... -</pre> - <p class="noindent">However, this won't work, either with <code>\for</code> or with +<p>However, this won’t work, either with <code>\for</code> or with <code>\For</code>: +</p> +<div class="example"> +<pre class="example">\def\namelist{karl,kathy}% +\For\name:= \namelist\do … +</pre></div> -<pre class="example"> \def\namelist{karl,kathy}% - \For\name:= \namelist\do ... -</pre> - <p class="noindent">because <code>\for</code> and <code>\For</code> expand the first +<p>because <code>\for</code> and <code>\For</code> expand the first token after <code>:=</code> which is space, not <code>\namelist</code>. - - <p>Eplain provides another kind of loops, which is an extension of plain -TeX's -<a name="index-loop-1189"></a><code>\loop</code>. If you say: - - <p><a name="index-repeat-1190"></a> -<pre class="example"> \loop - <var>loop-text</var> - \if <var>condition</var> - <var>if-text</var> - \repeat -</pre> - <p class="noindent">then <var>loop-text</var> will be repeated as long as <var>condition</var> -is satisfied (<code>\if</code> can be any of the TeX's conditional +</p> +<p>Eplain provides another kind of loops, which is an extension of plain +TeX’s +<a name="index-loop"></a> +<code>\loop</code>. If you say: +</p> +<a name="index-repeat"></a> +<div class="example"> +<pre class="example">\loop + <var>loop-text</var> +\if <var>condition</var> + <var>if-text</var> +\repeat +</pre></div> + +<p>then <var>loop-text</var> will be repeated as long as <var>condition</var> +is satisfied (<code>\if</code> can be any of the TeX’s conditional commands, without the matching <code>\fi</code>). Eplain extends this with the optional else clause: - -<pre class="example"> \loop - <var>loop-text</var> - \if <var>condition</var> - <var>if-text</var> - \else - <var>else-text</var> - \repeat -</pre> - <p class="noindent">Here, <var>loop-text</var> will be repeated as long as +</p> +<div class="example"> +<pre class="example">\loop + <var>loop-text</var> +\if <var>condition</var> + <var>if-text</var> +\else + <var>else-text</var> +\repeat +</pre></div> + +<p>Here, <var>loop-text</var> will be repeated as long as <var>condition</var> is <em>not</em> satisfied. This extension is from -<a name="index-Eijkhout_002c-Victor-1191"></a>Victor Eijkhout's -<a name="index-g_t_0040i_007b_0040TeX_007b_007d-by-Topic_007d-1192"></a><i>TeX by Topic</i> (page 104). +<a name="index-Eijkhout_002c-Victor"></a> +Victor Eijkhout’s +<a name="index-TeX-by-Topic"></a> +<i>TeX by Topic</i> (page 104). +</p> -<div class="node"> +<hr> <a name="Macro-arguments"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Converting-to-characters">Converting to characters</a>, -Previous: <a rel="previous" accesskey="p" href="#Iteration">Iteration</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Next: <a href="#Converting-to-characters" accesskey="n" rel="next">Converting to characters</a>, Previous: <a href="#Iteration" accesskey="p" rel="previous">Iteration</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Macro-arguments-1"></a> <h3 class="section">7.4 Macro arguments</h3> -<p><a name="index-arguments_002c-ignoring-1193"></a><a name="index-ignoring-arguments-1194"></a><a name="index-gobbling-arguments-1195"></a>It is occasionally useful to redefine a macro that takes arguments to +<a name="index-arguments_002c-ignoring"></a> +<a name="index-ignoring-arguments"></a> +<a name="index-gobbling-arguments"></a> +<p>It is occasionally useful to redefine a macro that takes arguments to do nothing. Eplain defines <code>\gobble</code>, -<a name="index-gobble-1196"></a><code>\gobbletwo</code>, -<a name="index-gobbletwo-1197"></a>and <code>\gobblethree</code> to swallow one, two, and three arguments, +<a name="index-gobble"></a> +<code>\gobbletwo</code>, +<a name="index-gobbletwo"></a> +and <code>\gobblethree</code> to swallow one, two, and three arguments, respectively. - - <p>For example, if you want to produce a “short” table of -<a name="index-table-of-contents_002c-short-1198"></a>contents—one that includes only chapters, say—the easiest thing to +</p> +<p>For example, if you want to produce a “short” table of +<a name="index-table-of-contents_002c-short-1"></a> +contents—one that includes only chapters, say—the easiest thing to do is read the entire <code>.toc</code> file (see <a href="#Contents">Contents</a>), and just ignore the commands that produce section or subsection entries. To be specific: - -<pre class="example"> \let\tocchapterentry = \shorttocchapter - \let\tocsectionentry = \gobbletwo - \let\tocsubsectionentry = \gobbletwo - \readtocfile -</pre> - <p class="noindent">(Of course, this assumes you only have chapters, sections, and +</p> +<div class="example"> +<pre class="example">\let\tocchapterentry = \shorttocchapter +\let\tocsectionentry = \gobbletwo +\let\tocsubsectionentry = \gobbletwo +\readtocfile +</pre></div> + +<p>(Of course, this assumes you only have chapters, sections, and subsections in your document.) - - <p>In addition, Eplain defines <code>\eattoken</code> -<a name="index-eattoken-1199"></a>to swallow the single following token, using <code>\let</code>. Thus, -<code>\gobble</code> followed by ‘<samp><span class="samp">{...}</span></samp>’ ignores the entire +</p> +<p>In addition, Eplain defines <code>\eattoken</code> +<a name="index-eattoken"></a> +to swallow the single following token, using <code>\let</code>. Thus, +<code>\gobble</code> followed by ‘<samp>{…}</samp>’ ignores the entire brace-enclosed text. <code>\eattoken</code> followed by the same ignores only the opening left brace. - - <p>Eplain defines a macro <code>\identity</code> -<a name="index-identity-1200"></a>which takes one argument and expands to that argument. This may be +</p> +<p>Eplain defines a macro <code>\identity</code> +<a name="index-identity"></a> +which takes one argument and expands to that argument. This may be useful if you want to provide a function for the user to redefine, but -don't need to do anything by default. (For example, the default +don’t need to do anything by default. (For example, the default definition of <code>\eqconstruct</code> (see <a href="#Formatting-equation-references">Formatting equation references</a>) is <code>\identity</code>.) - - <p>You may also want to read an optional argument. The established +</p> +<p>You may also want to read an optional argument. The established convention is that optional arguments are put in square brackets, so that is the syntax Eplain recognizes. Eplain ignores space tokens before an optional argument, via <code>\futurenonspacelet</code>. - - <p>You test for an optional argument by using <code>\@getoptionalarg</code>. -<!-- this confuses texinfo.tex: findex @@getoptionalarg --> +</p> +<p>You test for an optional argument by using <code>\@getoptionalarg</code>. It takes one argument, a control sequence to expand after reading the argument, if present. If an optional argument is present, the control sequence <code>\@optionalarg</code> expands to it; otherwise, <code>\@optionalarg</code> is <code>\empty</code>. You must therefore have the category code of <kbd>@</kbd> set to 11 (letter). Here is an example: +</p> +<div class="example"> +<pre class="example">\catcode`@=\letter +\def\cmd{\@getoptionalarg\finishcmd} +\def\finishcmd{% + \ifx\@optionalarg\empty + % <span class="roman">No optional argument present.</span> + \else + % <span class="roman">One was present.</span> + \fi +} +</pre></div> -<pre class="example"> \catcode`@=\letter - \def\cmd{\@getoptionalarg\finishcmd} - \def\finishcmd{% - \ifx\@optionalarg\empty - % <span class="roman">No optional argument present.</span> - \else - % <span class="roman">One was present.</span> - \fi - } -</pre> - <p>It's possible to define macros that appear to accept optional -arguments intermixed with mandatory arguments in any imaginable way. +<p>It’s possible to define macros that appear to accept optional +arguments intermixed with mandatory arguments in any imaginable way. For example: +</p> +<div class="example"> +<pre class="example">\makeatletter +% \mo{m}[o] +\def\mo#1{\def\mo@arg{#1}\@getoptionalarg\fin@mo} +\def\fin@mo{\vskip1pc + ARG: \mo@arg \par + OPTARG: \@optionalarg \par +} +% \mom{m}[o]{m} +\def\mom#1{\def\mom@arg{#1}\@getoptionalarg\fin@mom} +\def\fin@mom#1{\vskip1pc + ARG1: \mom@arg \par + OPTARG: \@optionalarg \par + ARG2: #1\par +} +% \omo[o]{m}[o] +\def\omo{\@getoptionalarg\fin@omo} +\def\fin@omo#1{\let\omo@optarg\@optionalarg + \def\omo@arg{#1}\@getoptionalarg\@fin@omo} +\def\@fin@omo{\vskip1pc + OPTARG1: \omo@optarg \par + ARG: \omo@arg \par + OPTARG2: \@optionalarg \par +} +\makeatother +</pre></div> -<pre class="example"> \makeatletter - % \mo{m}[o] - \def\mo#1{\def\mo@arg{#1}\@getoptionalarg\fin@mo} - \def\fin@mo{\vskip1pc - ARG: \mo@arg \par - OPTARG: \@optionalarg \par - } - % \mom{m}[o]{m} - \def\mom#1{\def\mom@arg{#1}\@getoptionalarg\fin@mom} - \def\fin@mom#1{\vskip1pc - ARG1: \mom@arg \par - OPTARG: \@optionalarg \par - ARG2: #1\par - } - % \omo[o]{m}[o] - \def\omo{\@getoptionalarg\fin@omo} - \def\fin@omo#1{\let\omo@optarg\@optionalarg - \def\omo@arg{#1}\@getoptionalarg\@fin@omo} - \def\@fin@omo{\vskip1pc - OPTARG1: \omo@optarg \par - ARG: \omo@arg \par - OPTARG2: \@optionalarg \par - } - \makeatother -</pre> - <p>If an optional argument contains another optional argument, the inner +<p>If an optional argument contains another optional argument, the inner one will need to be enclosed in braces, so TeX does not mistake the end of the first for the end of the second. +</p> -<div class="node"> +<hr> <a name="Converting-to-characters"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Expansion">Expansion</a>, -Previous: <a rel="previous" accesskey="p" href="#Macro-arguments">Macro arguments</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Next: <a href="#Expansion" accesskey="n" rel="next">Expansion</a>, Previous: <a href="#Macro-arguments" accesskey="p" rel="previous">Macro arguments</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Converting-to-characters-1"></a> <h3 class="section">7.5 Converting to characters</h3> -<p><a name="index-characters_002c-converting-to-1201"></a>Eplain defines <code>\xrlabel</code> -<a name="index-xrlabel-1202"></a>to produce control sequence names for cross-reference labels, et al. -This macro expands to its argument with an ‘<samp><span class="samp">_</span></samp>’ appended. (It does +<a name="index-characters_002c-converting-to"></a> +<p>Eplain defines <code>\xrlabel</code> +<a name="index-xrlabel"></a> +to produce control sequence names for cross-reference labels, et al. +This macro expands to its argument with an ‘<samp>_</samp>’ appended. (It does this because the usual use of <code>\xrlabel</code> is to generate a control sequence name, and we naturally want to avoid conflicts between control sequence names.) - - <p>Because <code>\xrlabel</code> is fully expandable, to make a control +</p> +<p>Because <code>\xrlabel</code> is fully expandable, to make a control sequence name out of the result you need only do - -<pre class="example"> <code>\csname \xrlabel{</code><var>label</var><code>}\endcsname</code> -</pre> - <p class="noindent">The <code>\csname</code> primitive makes a control sequence name out -of any sequence of character tokens, regardless of category code. -Labels can therefore include any characters except for ‘<samp><span class="samp">\</span></samp>’, -‘<samp><span class="samp">{</span></samp>’, ‘<samp><span class="samp">}</span></samp>’, and ‘<samp><span class="samp">#</span></samp>’, all of which are used in macro +</p> +<div class="example"> +<pre class="example"><code>\csname \xrlabel{<var>label</var>}\endcsname</code> +</pre></div> + +<p>The <code>\csname</code> primitive makes a control sequence name out +of any sequence of character tokens, regardless of category code. +Labels can therefore include any characters except for ‘<samp>\</samp>’, +‘<samp>{</samp>’, ‘<samp>}</samp>’, and ‘<samp>#</samp>’, all of which are used in macro definitions themselves. - - <p><a name="index-sanitize-1203"></a><code>\sanitize</code> takes a control sequence as an argument and converts -the expansion of the control sequence into a list of character tokens. +</p> +<a name="index-sanitize"></a> +<p><code>\sanitize</code> takes a control sequence as an argument and converts +the expansion of the control sequence into a list of character tokens. This is the behavior you want when writing information like chapter titles to an output file. For example, here is part of the definition of <code>\writenumberedtocentry</code>; <code>#2</code> is the title that the user has given. +</p> +<div class="example"> +<pre class="example">… +\def\temp{#2}% +… + \write\tocfile{% + … + \sanitize\temp + … + }% +</pre></div> -<pre class="example"> ... - \def\temp{#2}% - ... - \write\tocfile{% - ... - \sanitize\temp - ... - }% -</pre> - <div class="node"> -<a name="Expansion"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Obeying-spaces">Obeying spaces</a>, -Previous: <a rel="previous" accesskey="p" href="#Converting-to-characters">Converting to characters</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> +<hr> +<a name="Expansion"></a> +<div class="header"> +<p> +Next: <a href="#Obeying-spaces" accesskey="n" rel="next">Obeying spaces</a>, Previous: <a href="#Converting-to-characters" accesskey="p" rel="previous">Converting to characters</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Expansion-1"></a> <h3 class="section">7.6 Expansion</h3> <p>This section describes some miscellanous macros for expansion, etc. - -<ul class="menu"> -<li><a accesskey="1" href="#g_t_005ccsn-and-_005cece">\csn and \ece</a>: Abbreviations for \csname expansions. -<li><a accesskey="2" href="#g_t_005cedefappend">\edefappend</a> -<li><a accesskey="3" href="#Hooks">Hooks</a>: Manipulating and executing named actions. -<li><a accesskey="4" href="#Properties">Properties</a>: Associating information with a csname. -<li><a accesskey="5" href="#g_t_005cexpandonce">\expandonce</a> -<li><a accesskey="6" href="#g_t_005cifundefined">\ifundefined</a> -<li><a accesskey="7" href="#g_t_005cifempty">\ifempty</a> -<li><a accesskey="8" href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a> -<li><a accesskey="9" href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a> -</ul> - -<div class="node"> -<a name="%5ccsn-and-%5cece"></a> +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#g_t_005ccsn-and-_005cece" accesskey="1">\csn and \ece</a>:</td><td> </td><td align="left" valign="top">Abbreviations for \csname expansions. +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cedefappend" accesskey="2">\edefappend</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Hooks" accesskey="3">Hooks</a>:</td><td> </td><td align="left" valign="top">Manipulating and executing named actions. +</td></tr> +<tr><td align="left" valign="top">• <a href="#Properties" accesskey="4">Properties</a>:</td><td> </td><td align="left" valign="top">Associating information with a csname. +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cexpandonce" accesskey="5">\expandonce</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cifundefined" accesskey="6">\ifundefined</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cifempty" accesskey="7">\ifempty</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cifinteger-and-_005cisinteger" accesskey="8">\ifinteger and \isinteger</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#g_t_005cfuturenonspacelet" accesskey="9">\futurenonspacelet</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + +<hr> <a name="g_t_005ccsn-and-_005cece"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#g_t_005cedefappend">\edefappend</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Next: <a href="#g_t_005cedefappend" accesskey="n" rel="next">\edefappend</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="g_t_005ccsn-and-_005cece-1"></a> <h4 class="subsection">7.6.1 <code>\csn</code> and <code>\ece</code></h4> -<p><a name="index-csn-1204"></a><code>\csn</code>{<var>name</var>} simply abbreviates <code>\csname</code> <var>name</var> +<a name="index-csn"></a> +<p><code>\csn</code>{<var>name</var>} simply abbreviates <code>\csname</code> <var>name</var> <code>\endcsname</code>, thus saving some typing. The extra level of expansion -does take some time, though, so I don't recommend it for an inner loop. - - <p><a name="index-ece-1205"></a><code>\ece</code>{<var>token</var>}{<var>name</var>} abbreviates +does take some time, though, so I don’t recommend it for an inner loop. +</p> +<a name="index-ece"></a> +<p><code>\ece</code>{<var>token</var>}{<var>name</var>} abbreviates +</p> +<div class="example"> +<pre class="example">\expandafter <var>token</var> \csname <var>name</var> \endcsname +</pre></div> -<pre class="example"> \expandafter <var>token</var> \csname <var>name</var> \endcsname -</pre> - <p class="noindent">For example, +<p>For example, +</p> +<div class="example"> +<pre class="example">\def\fontabbrevdef#1#2{\ece\def{@#1font}{#2}} +\fontabbrevdef{normal}{ptmr} +</pre></div> -<pre class="example"> \def\fontabbrevdef#1#2{\ece\def{@#1font}{#2}} - \fontabbrevdef{normal}{ptmr} -</pre> - <p class="noindent">defines a control sequence <code>\@normalfont</code> to expand to +<p>defines a control sequence <code>\@normalfont</code> to expand to <code>ptmr</code>. +</p> -<div class="node"> -<a name="%5cedefappend"></a> +<hr> <a name="g_t_005cedefappend"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Hooks">Hooks</a>, -Previous: <a rel="previous" accesskey="p" href="#g_t_005ccsn-and-_005cece">\csn and \ece</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Next: <a href="#Hooks" accesskey="n" rel="next">Hooks</a>, Previous: <a href="#g_t_005ccsn-and-_005cece" accesskey="p" rel="previous">\csn and \ece</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="g_t_005cedefappend-1"></a> <h4 class="subsection">7.6.2 <code>\edefappend</code></h4> -<p><a name="index-edefappend-1206"></a><code>\edefappend</code> is a way of adding on to an existing definition. It +<a name="index-edefappend"></a> +<p><code>\edefappend</code> is a way of adding on to an existing definition. It takes two arguments: the first is the control sequence name, the second the new tokens to append to the definition. The second argument is fully expanded (in the <code>\edef</code> that redefines the control sequence). +</p> +<p>For example: +</p> +<div class="example"> +<pre class="example">\def\foo{abc} +\def\bar{xyz} +\edefappend\foo{\bar karl} +</pre></div> - <p>For example: - -<pre class="example"> \def\foo{abc} - \def\bar{xyz} - \edefappend\foo{\bar karl} -</pre> - <p class="noindent">results in <code>\foo</code> being defined as ‘<samp><span class="samp">abcxyzkarl</span></samp>’. +<p>results in <code>\foo</code> being defined as ‘<samp>abcxyzkarl</samp>’. +</p> -<div class="node"> +<hr> <a name="Hooks"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Properties">Properties</a>, -Previous: <a rel="previous" accesskey="p" href="#g_t_005cedefappend">\edefappend</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Next: <a href="#Properties" accesskey="n" rel="next">Properties</a>, Previous: <a href="#g_t_005cedefappend" accesskey="p" rel="previous">\edefappend</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Hooks-1"></a> <h4 class="subsection">7.6.3 Hooks</h4> -<p><a name="index-hooks-1207"></a>A <dfn>hook</dfn> is simply a name for a group of actions which is executed +<a name="index-hooks"></a> +<p>A <em>hook</em> is simply a name for a group of actions which is executed in certain places—presumably when it is most useful to allow customization or modification. TeX already provides many builtin -hooks; for example, the <code>\every ...</code> token lists are all +hooks; for example, the <code>\every …</code> token lists are all examples of hooks. - - <p>Eplain provides several macros for adding actions to hooks. They all +</p> +<p>Eplain provides several macros for adding actions to hooks. They all take two arguments: the name of the hook and the new actions. - - -<a name="index-hookaction-1208"></a> -<dl><dt><code>hookaction </code><var>name</var> <var>actions</var><dd><a name="index-hookappend-1209"></a><dt><code>hookappend </code><var>name</var> <var>actions</var><dd><a name="index-hookprepend-1210"></a><br><dt><code>hookprepend </code><var>name</var> <var>actions</var><dd>Each of these adds <var>actions</var> to the hook <var>name</var>. (Any +</p> +<dl compact="compact"> +<dd> +<a name="index-hookaction"></a> +</dd> +<dt><code>hookaction <var>name</var> <var>actions</var></code></dt> +<dd><a name="index-hookappend"></a> +</dd> +<dt><code>hookappend <var>name</var> <var>actions</var></code></dt> +<dd><a name="index-hookprepend"></a> +</dd> +<dt><code>hookprepend <var>name</var> <var>actions</var></code></dt> +<dd><p>Each of these adds <var>actions</var> to the hook <var>name</var>. (Any previously-defined actions are retained.) <var>name</var> is not a control sequence, but rather the characters of the name. - - <p><a name="index-hookactiononce-1211"></a><br><dt><code>hookactiononce </code><var>name</var><code> \</code><var>cs</var><dd><code>\hookactiononce</code> adds <var>cs</var> to <var>name</var>, like the macros +</p> +<a name="index-hookactiononce"></a> +</dd> +<dt><code>hookactiononce <var>name</var> <code>\<var>cs</var></code></code></dt> +<dd><p><code>\hookactiononce</code> adds <var>cs</var> to <var>name</var>, like the macros above, but first it adds +</p> +<div class="example"> +<pre class="example">\global\let <var>\cs</var> \relax +</pre></div> - <pre class="example"> \global\let <var>\cs</var> \relax -</pre> - <p class="noindent">to the definition of <var>\cs</var>. (This implies <var>\cs</var> must +<p>to the definition of <var>\cs</var>. (This implies <var>\cs</var> must be a true expandable macro, not a control sequence <code>\let</code> to a primitive or some other such thing.) Thus, <var>\cs</var> is expanded the next time the hook <var>name</var> is run, but it will disappear after that. - - <p>The <code>\global</code> is useful because <code>\hookactiononce</code> is most -useful when the grouping structure of the TeX code could be anything. +</p> +<p>The <code>\global</code> is useful because <code>\hookactiononce</code> is most +useful when the grouping structure of the TeX code could be anything. Neither this nor the other hook macros do global assignments to the hook -variable itself, so TeX's usual grouping rules apply. +variable itself, so TeX’s usual grouping rules apply. +</p></dd> </dl> - <p><a name="index-hookrun-1212"></a>The companion macro to defining hook actions is <code>\hookrun</code>, for +<a name="index-hookrun"></a> +<p>The companion macro to defining hook actions is <code>\hookrun</code>, for running them. This takes a single argument, the name of the hook. If no actions for the hook are defined, no error ensues. - - <p>Here is a skeleton of general <code>\begin</code> and <code>\end</code> macros that +</p> +<p>Here is a skeleton of general <code>\begin</code> and <code>\end</code> macros that run hooks, and a couple of calls to define actions. The use of <code>\hookprepend</code> for the begin action and <code>\hookappend</code> for the end action ensures that the actions are executed in proper sequence with other actions (as long as the other actions use <code>\hookprepend</code> and <code>\hookappend</code> also). +</p> +<div class="example"> +<pre class="example">\def\begin#1{ … \hookrun{begin} … } +\def\end#1{ … \hookrun{end} … } +\hookprepend{begin}\start_underline +\hookappend{end}\finish_underline +</pre></div> -<pre class="example"> \def\begin#1{ ... \hookrun{begin} ... } - \def\end#1{ ... \hookrun{end} ... } - \hookprepend{begin}\start_underline - \hookappend{end}\finish_underline -</pre> - <div class="node"> -<a name="Properties"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#g_t_005cexpandonce">\expandonce</a>, -Previous: <a rel="previous" accesskey="p" href="#Hooks">Hooks</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> +<hr> +<a name="Properties"></a> +<div class="header"> +<p> +Next: <a href="#g_t_005cexpandonce" accesskey="n" rel="next">\expandonce</a>, Previous: <a href="#Hooks" accesskey="p" rel="previous">Hooks</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Properties-1"></a> <h4 class="subsection">7.6.4 Properties</h4> -<p><a name="index-properties-1213"></a><a name="index-atom-1214"></a>A <dfn>property</dfn> is a name/value pair associated with another symbol, -traditionally called an <dfn>atom</dfn>. Both atom and property names are +<a name="index-properties"></a> +<a name="index-atom"></a> +<p>A <em>property</em> is a name/value pair associated with another symbol, +traditionally called an <em>atom</em>. Both atom and property names are control sequence names. - - <p>Eplain provides two macros for dealing with property lists: +</p> +<p>Eplain provides two macros for dealing with property lists: <code>\setproperty</code> and <code>\getproperty</code>. - - -<a name="index-setproperty-1215"></a> -<dl><dt><code>\setproperty </code><var>atom</var> <var>propname</var> <var>value</var><dd><code>\setproperty</code> defines the property <var>property</var> on the atom +</p> +<dl compact="compact"> +<dd> +<a name="index-setproperty"></a> +</dd> +<dt><code>\setproperty <var>atom</var> <var>propname</var> <var>value</var></code></dt> +<dd><p><code>\setproperty</code> defines the property <var>property</var> on the atom <var>atom</var> to be <var>value</var>. <var>atom</var> and <var>propname</var> can be anything acceptable to <code>\csname</code>. <var>value</var> can be anything. - - <p><a name="index-getproperty-1216"></a><br><dt><code>\getproperty </code><var>atom</var> <var>propname</var><dd><code>\getproperty</code> expands to the value stored for <var>propname</var> on +</p> +<a name="index-getproperty"></a> +</dd> +<dt><code>\getproperty <var>atom</var> <var>propname</var></code></dt> +<dd><p><code>\getproperty</code> expands to the value stored for <var>propname</var> on <var>atom</var>. If <var>propname</var> is undefined, it expands to nothing (i.e., <code>\empty</code>). +</p> +</dd> +</dl> - </dl> - - <p>The idea of properties originated in Lisp (I believe). There, the +<p>The idea of properties originated in Lisp (I believe). There, the implementation truly does associate properties with atoms. In TeX, where we have no builtin support for properties, the association is only conceptual. +</p> +<p>The following example typesets ‘<samp>xyz</samp>’. +</p> +<div class="example"> +<pre class="example">\setproperty{a}{pr}{xyz} +\getproperty{a}{pr} +</pre></div> - <p>The following example typesets ‘<samp><span class="samp">xyz</span></samp>’. -<pre class="example"> \setproperty{a}{pr}{xyz} - \getproperty{a}{pr} -</pre> - <div class="node"> -<a name="%5cexpandonce"></a> +<hr> <a name="g_t_005cexpandonce"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#g_t_005cifundefined">\ifundefined</a>, -Previous: <a rel="previous" accesskey="p" href="#Properties">Properties</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Next: <a href="#g_t_005cifundefined" accesskey="n" rel="next">\ifundefined</a>, Previous: <a href="#Properties" accesskey="p" rel="previous">Properties</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="g_t_005cexpandonce-1"></a> <h4 class="subsection">7.6.5 <code>\expandonce</code></h4> -<p><a name="index-expansion_002c-one_002dlevel-1217"></a><a name="index-expandonce-1218"></a><code>\expandonce</code> is defined as <code>\expandafter\noexpand</code>. Thus, -<code>\expandonce </code><var>token</var> expands <var>token</var> once, instead of to -TeX primitives. This is most useful in an <code>\edef</code>. +<a name="index-expansion_002c-one_002dlevel"></a> +<a name="index-expandonce"></a> +<p><code>\expandonce</code> is defined as <code>\expandafter\noexpand</code>. Thus, +<code>\expandonce <var>token</var></code> expands <var>token</var> once, instead of to +TeX primitives. This is most useful in an <code>\edef</code>. +</p> +<p>For example, the following defines <code>\temp</code> to be <code>\foo</code>, not +‘<samp>abc</samp>’. +</p> +<div class="example"> +<pre class="example">\def\foo{abc} +\def\bar{\foo} +\edef\temp{\expandonce\bar} +</pre></div> - <p>For example, the following defines <code>\temp</code> to be <code>\foo</code>, not -‘<samp><span class="samp">abc</span></samp>’. -<pre class="example"> \def\foo{abc} - \def\bar{\foo} - \edef\temp{\expandonce\bar} -</pre> - <div class="node"> -<a name="%5cifundefined"></a> +<hr> <a name="g_t_005cifundefined"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#g_t_005cifempty">\ifempty</a>, -Previous: <a rel="previous" accesskey="p" href="#g_t_005cexpandonce">\expandonce</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Next: <a href="#g_t_005cifempty" accesskey="n" rel="next">\ifempty</a>, Previous: <a href="#g_t_005cexpandonce" accesskey="p" rel="previous">\expandonce</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="g_t_005cifundefined-1"></a> <h4 class="subsection">7.6.6 <code>\ifundefined</code></h4> -<p><a name="index-ifundefined-1219"></a><code>\ifundefined{</code><var>cs</var><code>} </code><var>t</var><code> \else </code><var>f</var><code> \fi</code> expands the -<var>t</var> text if the control sequence <code>\</code><var>cs</var> is undefined or +<a name="index-ifundefined"></a> +<p><code>\ifundefined{<var>cs</var>} <var>t</var> \else <var>f</var> \fi</code> expands the +<var>t</var> text if the control sequence <code>\<var>cs</var></code> is undefined or has been <code>\let</code> to <code>\relax</code>, and the <var>f</var> text otherwise. - - <p><a name="index-skipping-tokens-1220"></a><a name="index-undefined-control-sequence_002c-checking-for-1221"></a>Since <code>\ifundefined</code> is not a primitive conditional, it cannot be +</p> +<a name="index-skipping-tokens"></a> +<a name="index-undefined-control-sequence_002c-checking-for"></a> +<p>Since <code>\ifundefined</code> is not a primitive conditional, it cannot be used in places where TeX might skip tokens “at high speed”, e.g., -within another conditional—TeX can't match up the <code>\if</code>'s and -<code>\fi</code>'s. - - <p>This macro was taken directly from <cite>The TeXbook</cite>, page 308. +within another conditional—TeX can’t match up the <code>\if</code>’s and +<code>\fi</code>’s. +</p> +<p>This macro was taken directly from <cite>The TeXbook</cite>, page 308. +</p> -<div class="node"> -<a name="%5cifempty"></a> +<hr> <a name="g_t_005cifempty"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a>, -Previous: <a rel="previous" accesskey="p" href="#g_t_005cifundefined">\ifundefined</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Next: <a href="#g_t_005cifinteger-and-_005cisinteger" accesskey="n" rel="next">\ifinteger and \isinteger</a>, Previous: <a href="#g_t_005cifundefined" accesskey="p" rel="previous">\ifundefined</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="g_t_005cifempty-1"></a> <h4 class="subsection">7.6.7 <code>\ifempty</code></h4> -<p><a name="index-ifempty-1222"></a><a name="index-empty-string_002c-checking-for-1223"></a><a name="index-empty-argument_002c-checking-for-1224"></a><code>\ifempty{</code><var>arg</var><code>} </code><var>t</var><code> \else </code><var>f</var><code> \fi</code> expands the +<a name="index-ifempty"></a> +<a name="index-empty-string_002c-checking-for"></a> +<a name="index-empty-argument_002c-checking-for"></a> +<p><code>\ifempty{<var>arg</var>} <var>t</var> \else <var>f</var> \fi</code> expands the <var>t</var> text if <var>arg</var> is the empty string, and the <var>f</var> text otherwise. This macro is useful when you need to test for empty arguments to your macros, for example: +</p> +<div class="example"> +<pre class="example">\def\foo#1{\ifempty{#1} <var>t</var> \else <var>f</var> \fi} +</pre></div> -<pre class="example"> \def\foo#1{\ifempty{#1} <var>t</var> \else <var>f</var> \fi} -</pre> - <p><a name="index-skipping-tokens-1225"></a>Since <code>\ifempty</code> is not a primitive conditional, it cannot be +<a name="index-skipping-tokens-1"></a> +<p>Since <code>\ifempty</code> is not a primitive conditional, it cannot be used in places where TeX might skip tokens “at high speed”, e.g., -within another conditional—TeX can't match up the <code>\if</code>'s and -<code>\fi</code>'s. - - <p>Note that the following code +within another conditional—TeX can’t match up the <code>\if</code>’s and +<code>\fi</code>’s. +</p> +<p>Note that the following code +</p> +<div class="example"> +<pre class="example">\def\empty{} +\ifempty\empty\message{empty}\else\message{not empty}\fi +</pre></div> -<pre class="example"> \def\empty{} - \ifempty\empty\message{empty}\else\message{not empty}\fi -</pre> - <p class="noindent">will produce the message ‘<samp><span class="samp">not empty</span></samp>’. +<p>will produce the message ‘<samp>not empty</samp>’. +</p> -<div class="node"> -<a name="%5cifinteger-and-%5cisinteger"></a> +<hr> <a name="g_t_005cifinteger-and-_005cisinteger"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a>, -Previous: <a rel="previous" accesskey="p" href="#g_t_005cifempty">\ifempty</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Next: <a href="#g_t_005cfuturenonspacelet" accesskey="n" rel="next">\futurenonspacelet</a>, Previous: <a href="#g_t_005cifempty" accesskey="p" rel="previous">\ifempty</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="g_t_005cifinteger-and-_005cisinteger-1"></a> <h4 class="subsection">7.6.8 <code>\ifinteger</code> and <code>\isinteger</code></h4> -<p><a name="index-ifinteger-1226"></a><a name="index-integers_002c-detecting-1227"></a><a name="index-numbers_002c-detecting-1228"></a><a name="index-detecting-numbers-1229"></a><a name="index-identifying-numbers-1230"></a><a name="index-recognizing-numbers-1231"></a><code>\ifinteger{</code><var>arg</var><code>} </code><var>t</var><code> \else </code><var>f</var><code> \fi</code> expands the +<a name="index-ifinteger"></a> +<a name="index-integers_002c-detecting"></a> +<a name="index-numbers_002c-detecting"></a> +<a name="index-detecting-numbers"></a> +<a name="index-identifying-numbers"></a> +<a name="index-recognizing-numbers"></a> +<p><code>\ifinteger{<var>arg</var>} <var>t</var> \else <var>f</var> \fi</code> expands the <var>t</var> text if <var>arg</var> is an integer, and the <var>f</var> text otherwise. This macro can detect positive and negative integers. - - <p>Since <code>\ifinteger</code> is not a primitive conditional, it cannot be +</p> +<p>Since <code>\ifinteger</code> is not a primitive conditional, it cannot be used in places where TeX might skip tokens “at high speed”, e.g., -within another conditional—TeX can't match up the <code>\if</code>'s -and <code>\fi</code>'s. For such situations Eplain provides -<a name="index-isinteger-1232"></a><code>\isinteger</code>, which can be used as follows: +within another conditional—TeX can’t match up the <code>\if</code>’s +and <code>\fi</code>’s. For such situations Eplain provides +<a name="index-isinteger"></a> +<code>\isinteger</code>, which can be used as follows: +</p> +<div class="example"> +<pre class="example">\if\isinteger{<var>arg</var>} <var>t</var> \else <var>f</var> \fi +</pre></div> -<pre class="example"> \if\isinteger{<var>arg</var>} <var>t</var> \else <var>f</var> \fi -</pre> - <p>Although <code>\ifinteger</code> and <code>\isinteger</code> work well +<p>Although <code>\ifinteger</code> and <code>\isinteger</code> work well with regular input, they are not bullet-proof. For example, the following code +</p> +<div class="example"> +<pre class="example">\ifinteger{12_ab}integer\else not integer\fi +</pre></div> -<pre class="example"> \ifinteger{12_ab}integer\else not integer\fi -</pre> - <p class="noindent">will expand to ‘<samp><span class="samp">ab_integer</span></samp>’ (and thus would not +<p>will expand to ‘<samp>ab_integer</samp>’ (and thus would not even compile outside math mode). - - <p><a name="index-g_t_0040TeX_007b_007d-Frequently-Asked-Question-1233"></a>These macros come from TeX Frequently Asked Question +</p> +<a name="index-TeX-Frequently-Asked-Question"></a> +<p>These macros come from TeX Frequently Asked Question (<a href="http://www.tex.ac.uk/cgi-bin/texfaq2html">http://www.tex.ac.uk/cgi-bin/texfaq2html</a>). +</p> -<div class="node"> -<a name="%5cfuturenonspacelet"></a> +<hr> <a name="g_t_005cfuturenonspacelet"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a>, -Up: <a rel="up" accesskey="u" href="#Expansion">Expansion</a> - +<div class="header"> +<p> +Previous: <a href="#g_t_005cifinteger-and-_005cisinteger" accesskey="p" rel="previous">\ifinteger and \isinteger</a>, Up: <a href="#Expansion" accesskey="u" rel="up">Expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="g_t_005cfuturenonspacelet-1"></a> <h4 class="subsection">7.6.9 <code>\futurenonspacelet</code></h4> -<p><a name="index-lookahead-without-spaces-1234"></a><a name="index-spaces_002c-ignoring-1235"></a><a name="index-futurenonspacelet-1236"></a>The <code>\futurelet</code> primitive allows you to look at the next token +<a name="index-lookahead-without-spaces"></a> +<a name="index-spaces_002c-ignoring"></a> +<a name="index-futurenonspacelet"></a> +<p>The <code>\futurelet</code> primitive allows you to look at the next token from the input. Sometimes, though, you want to look ahead ignoring any spaces. This is what <code>\futurenonspacelet</code> does. It is otherwise the same as <code>\futurelet</code>: you give it two control sequences as arguments, and it assigns the next nonspace token to the first, and then expands the second. For example: +</p> +<div class="example"> +<pre class="example">\futurenonspacelet\temp\finishup +\def\finishup{\ifx\temp …} +</pre></div> -<pre class="example"> \futurenonspacelet\temp\finishup - \def\finishup{\ifx\temp ...} -</pre> - <div class="node"> -<a name="Obeying-spaces"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Writing-out-numbers">Writing out numbers</a>, -Previous: <a rel="previous" accesskey="p" href="#Expansion">Expansion</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> +<hr> +<a name="Obeying-spaces"></a> +<div class="header"> +<p> +Next: <a href="#Writing-out-numbers" accesskey="n" rel="next">Writing out numbers</a>, Previous: <a href="#Expansion" accesskey="p" rel="previous">Expansion</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Obeying-spaces-1"></a> <h3 class="section">7.7 Obeying spaces</h3> -<p><a name="index-whitespace-1237"></a><a name="index-spaces_002c-obeying-1238"></a><a name="index-newlines_002c-obeying-1239"></a><a name="index-obeywhitespace-1240"></a> -<code>\obeywhitespace</code> makes both end-of-lines and space characters in -the input be respected in the output. Unlike plain TeX's +<a name="index-whitespace"></a> +<a name="index-spaces_002c-obeying"></a> +<a name="index-newlines_002c-obeying"></a> +<a name="index-obeywhitespace"></a> + +<p><code>\obeywhitespace</code> makes both end-of-lines and space characters in +the input be respected in the output. Unlike plain TeX’s <code>\obeyspaces</code>, even spaces at the beginnings of lines turn into blank space. - - <p>By default, the size of the space that is produced by a space +</p> +<p>By default, the size of the space that is produced by a space character is the natural space of the current font, i.e., what <code>\ </code> produces. - - <p>Ordinarily, a blank line in the input produces as much blank vertical +</p> +<p>Ordinarily, a blank line in the input produces as much blank vertical space as a line of text would occupy. You can adjust this by assigning to the parameter <code>\blanklineskipamount</code>: -<a name="index-blanklineskipamount-_0040r_007bin-obeyed-text_007d-1241"></a>if you set this negative, the space produced by a blank line will be +<a name="index-blanklineskipamount-in-obeyed-text"></a> +if you set this negative, the space produced by a blank line will be smaller; if positive, larger. - - <p>Tabs are not affected by this routine. In particular, if tabs occur +</p> +<p>Tabs are not affected by this routine. In particular, if tabs occur at the beginning of a line, they will disappear. (If you are trying to -make TeX do the “right thing” with tabs, don't. Use a utility -program like <i>expand</i> instead.) -<a name="index-tabs-1242"></a> +make TeX do the “right thing” with tabs, don’t. Use a utility +program like <i>expand</i> instead.) +<a name="index-tabs"></a> +</p> -<div class="node"> +<hr> <a name="Writing-out-numbers"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Mode_002dspecific-penalties">Mode-specific penalties</a>, -Previous: <a rel="previous" accesskey="p" href="#Obeying-spaces">Obeying spaces</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Next: <a href="#Mode_002dspecific-penalties" accesskey="n" rel="next">Mode-specific penalties</a>, Previous: <a href="#Obeying-spaces" accesskey="p" rel="previous">Obeying spaces</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Writing-out-numbers-1"></a> <h3 class="section">7.8 Writing out numbers</h3> -<p><a name="index-numbers_002c-written-form-of-1243"></a> <code>\numbername</code> -<a name="index-numbername-1244"></a>produces the written-out form of its argument, i.e., `zero' through -`ten' for the numbers 0–10, and numerals for all others. +<a name="index-numbers_002c-written-form-of"></a> +<p><code>\numbername</code> +<a name="index-numbername"></a> +produces the written-out form of its argument, i.e., ‘zero’ through +‘ten’ for the numbers 0–10, and numerals for all others. +</p> -<div class="node"> -<a name="Mode-specific-penalties"></a> +<hr> <a name="Mode_002dspecific-penalties"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Auxiliary-files">Auxiliary files</a>, -Previous: <a rel="previous" accesskey="p" href="#Writing-out-numbers">Writing out numbers</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Next: <a href="#Auxiliary-files" accesskey="n" rel="next">Auxiliary files</a>, Previous: <a href="#Writing-out-numbers" accesskey="p" rel="previous">Writing out numbers</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Mode_002dspecific-penalties-1"></a> <h3 class="section">7.9 Mode-specific penalties</h3> -<p>TeX's built-in <code>\penalty</code> command simply appends to the +<p>TeX’s built-in <code>\penalty</code> command simply appends to the current list, no matter what kind of list it is. You might intend a particular penalty to always be a “vertical” penalty, however, i.e., appended to a vertical list. Therefore, Eplain provides <code>\vpenalty</code> -<a name="index-vpenalty-1245"></a>and <code>\hpenalty</code> +<a name="index-vpenalty"></a> +and <code>\hpenalty</code> which first leave the other mode and then do <code>\penalty</code>. - - <p>More precisely, <code>\vpenalty</code> inserts <code>\par</code> if the current +</p> +<p>More precisely, <code>\vpenalty</code> inserts <code>\par</code> if the current mode is horizontal, and <code>\hpenalty</code> inserts <code>\leavevmode</code> if the current mode is vertical. (Thus, <code>\vpenalty</code> cannot be used in math mode.) +</p> -<div class="node"> +<hr> <a name="Auxiliary-files"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#User_002ddefined-environments">User-defined environments</a>, -Previous: <a rel="previous" accesskey="p" href="#Mode_002dspecific-penalties">Mode-specific penalties</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Next: <a href="#User_002ddefined-environments" accesskey="n" rel="next">User-defined environments</a>, Previous: <a href="#Mode_002dspecific-penalties" accesskey="p" rel="previous">Mode-specific penalties</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Auxiliary-files-1"></a> <h3 class="section">7.10 Auxiliary files</h3> -<p><a name="index-axuiliary-files_002c-existence-of-1246"></a>It is common to write some information out to a file to be used on a +<a name="index-axuiliary-files_002c-existence-of"></a> +<p>It is common to write some information out to a file to be used on a subsequent run. But when it is time to read the file again, you only want to do so if the file actually exists. <code>\testfileexistence</code> -<a name="index-testfileexistence-1247"></a>is given an argument which is appended to <code>\jobname</code>, -<a name="index-jobname-1248"></a>and sets the conditional <code>\iffileexists</code> -<a name="index-iffileexists-1249"></a><a name="index-fileexists-_0040r_007b_0028conditional_0029_007d-1250"></a>appropriately. For example: - -<pre class="example"> \testfileexistence{toc}% - \iffileexists - \input \jobname.toc - \fi -</pre> - <p><code>\testfileexistence</code> takes an optional parameter; when +<a name="index-testfileexistence"></a> +is given an argument which is appended to <code>\jobname</code>, +<a name="index-jobname-2"></a> +and sets the conditional <code>\iffileexists</code> +<a name="index-iffileexists"></a> +<a name="index-fileexists-_0028conditional_0029"></a> +appropriately. For example: +</p> +<div class="example"> +<pre class="example">\testfileexistence{toc}% +\iffileexists + \input \jobname.toc +\fi +</pre></div> + +<p><code>\testfileexistence</code> takes an optional parameter; when given, it will override <code>\jobname</code> for the root part of the file name. For example, if you want to test for the file -<samp><span class="file">answers.aux</span></samp>, you can do this with the following: +<samp>answers.aux</samp>, you can do this with the following: +</p> +<div class="example"> +<pre class="example">\testfileexistence[answers]{aux}% +\iffileexists + \input answers.aux +\fi +</pre></div> -<pre class="example"> \testfileexistence[answers]{aux}% - \iffileexists - \input answers.aux - \fi -</pre> - <div class="node"> -<a name="User-defined-environments"></a> -<a name="User_002ddefined-environments"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Page-list-and-page-range-parsers">Page list and page range parsers</a>, -Previous: <a rel="previous" accesskey="p" href="#Auxiliary-files">Auxiliary files</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> +<hr> +<a name="User_002ddefined-environments"></a> +<div class="header"> +<p> +Next: <a href="#Page-list-and-page-range-parsers" accesskey="n" rel="next">Page list and page range parsers</a>, Previous: <a href="#Auxiliary-files" accesskey="p" rel="previous">Auxiliary files</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="User_002ddefined-environments-1"></a> <h3 class="section">7.11 User-defined environments</h3> -<p><a name="index-environments_002c-user_002ddefined-1251"></a>Plain TeX does not provide “named” block structures, only the anonymous +<a name="index-environments_002c-user_002ddefined"></a> +<p>Plain TeX does not provide “named” block structures, only the anonymous <code>\begingroup</code> and <code>\endgroup</code> pair. The disadvantage of this is that when there are several such groups and one is mismatched, it can be difficult to find the error. Eplain provides a named block structure so that if you forget an <code>\environment</code> or an <code>\endenvironment</code>, you will (probably) get an error message about it. +</p> +<p>For example: +</p> +<div class="example"> +<pre class="example">\def\itpar{ + \environment{@italicpar} + \it\par +} +\def\enditpar{ + \par + \endenvironment{@italicpar}% +} +</pre></div> - <p>For example: - -<pre class="example"> \def\itpar{ - \environment{@italicpar} - \it\par - } - \def\enditpar{ - \par - \endenvironment{@italicpar}% - } -</pre> - <p class="noindent">which could then be used to set italicized paragraphs: - -<pre class="example"> \itpar - If I reprehend anything in this world, it is the use of my oracular - tongue, and a nice derangement of epitaphs! - \enditpar -</pre> - <p>The above sort of environment allows nesting. But environments -shouldn't always be allowed to nest. Put the control sequence +<p>which could then be used to set italicized paragraphs: +</p> +<div class="example"> +<pre class="example">\itpar +If I reprehend anything in this world, it is the use of my oracular +tongue, and a nice derangement of epitaphs! +\enditpar +</pre></div> + +<p>The above sort of environment allows nesting. But environments +shouldn’t always be allowed to nest. Put the control sequence <code>\checkenv</code> at the beginning of a macro that is going to define an -environment that should not be nested. +environment that should not be nested. +</p> -<div class="node"> +<hr> <a name="Page-list-and-page-range-parsers"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#User_002ddefined-environments">User-defined environments</a>, -Up: <a rel="up" accesskey="u" href="#Programming-definitions">Programming definitions</a> - +<div class="header"> +<p> +Previous: <a href="#User_002ddefined-environments" accesskey="p" rel="previous">User-defined environments</a>, Up: <a href="#Programming-definitions" accesskey="u" rel="up">Programming definitions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Page-list-and-page-range-parsers-1"></a> <h3 class="section">7.12 Page list and page range parsers</h3> -<p><a name="index-idxparselist-1252"></a><a name="index-idxparserange-1253"></a><a name="index-idxpagei-1254"></a><a name="index-idxpageii-1255"></a>The macros which Eplain uses to parse the page lists and ranges in the +<a name="index-idxparselist"></a> +<a name="index-idxparserange"></a> +<a name="index-idxpagei"></a> +<a name="index-idxpageii"></a> +<p>The macros which Eplain uses to parse the page lists and ranges in the index, <code>\idxparselist</code> and <code>\idxparserange</code> (see <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a>), are sometimes useful when defining page number encapsulators. They take one argument, text to parse. When a page list (range) is not present, they set <code>\idxpagei</code> to be <code>\empty</code>; when a list (range) is detected, they set <code>\idxpagei</code> and <code>\idxpageii</code> to the first and the second page numbers, respectively. - - <p><a name="index-setidxpagelistdelimiter-1256"></a><a name="index-setidxpagerangedelimiter-1257"></a>Eplain's defaults for the page list and page range delimiters are the -same as those in MakeIndex, a comma followed by a space (‘<samp><span class="samp">, </span></samp>’) and -two dashes (‘<samp><span class="samp">--</span></samp>’), respectively. If you customize MakeIndex to use +</p> +<a name="index-setidxpagelistdelimiter"></a> +<a name="index-setidxpagerangedelimiter"></a> +<p>Eplain’s defaults for the page list and page range delimiters are the +same as those in MakeIndex, a comma followed by a space (‘<samp>, </samp>’) and +two dashes (‘<samp>--</samp>’), respectively. If you customize MakeIndex to use different delimiters, you must not forget to let Eplain know about them with the commands +</p> +<div class="example"> +<pre class="example">\setidxpagelistdelimiter{<var>list-delim</var>} +\setidxpagerangedelimiter{<var>page-delim</var>} +</pre></div> -<pre class="example"> \setidxpagelistdelimiter{<var>list-delim</var>} - \setidxpagerangedelimiter{<var>page-delim</var>} -</pre> - <p class="noindent">These commands save the <var>list-delim</var> and +<p>These commands save the <var>list-delim</var> and <var>page-delim</var> delimiters in -<a name="index-idxpagelistdelimiter-1258"></a><a name="index-idxpagerangedelimiter-1259"></a><code>\idxpagelistdelimiter</code> and <code>\idxpagerangedelimiter</code>, +<a name="index-idxpagelistdelimiter"></a> +<a name="index-idxpagerangedelimiter"></a> +<code>\idxpagelistdelimiter</code> and <code>\idxpagerangedelimiter</code>, respectively. - - <p><a name="index-underlining-page-numbers-in-index-1260"></a><a name="index-index_002c-underlining-page-numbers-1261"></a><a name="index-ituline-1262"></a>For example, you may want to define a page number markup command which +</p> +<a name="index-underlining-page-numbers-in-index"></a> +<a name="index-index_002c-underlining-page-numbers"></a> +<a name="index-ituline"></a> +<p>For example, you may want to define a page number markup command which italicizes and properly underlines page ranges by underlining only the page numbers and not the delimiter: +</p> +<a name="index-idxpagerangedelimiter-1"></a> +<div class="example"> +<pre class="example">\def\ituline#1{% + {\it + \idxparserange{#1}% + \ifx\idxpagei\empty + % The argument is a single page number. + \underbar{#1}% + \else + % The argument is a page range. + \underbar{\idxpagei}\idxpagerangedelimiter\underbar{\idxpageii}% + \fi}% +} +</pre></div> - <p><a name="index-idxpagerangedelimiter-1263"></a> -<pre class="example"> \def\ituline#1{% - {\it - \idxparserange{#1}% - \ifx\idxpagei\empty - % The argument is a single page number. - \underbar{#1}% - \else - % The argument is a page range. - \underbar{\idxpagei}\idxpagerangedelimiter\underbar{\idxpageii}% - \fi}% - } -</pre> - <p class="noindent">Note that the <code>\ituline</code> macro is not aware of page +<p>Note that the <code>\ituline</code> macro is not aware of page lists. This is not needed if you use hyperlinks in the index, because <code>\hlidx</code> and <code>\hlidxpage</code> will break up the page lists before -calling the user's page encapsulator (see <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a>), so <code>\ituline</code> will never see the lists. If, however, you +calling the user’s page encapsulator (see <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a>), so <code>\ituline</code> will never see the lists. If, however, you need to design a macro which also takes care of the lists, you can extend <code>\ituline</code> with an additional call to <code>\idxparselist</code>. - -<!-- This is part of the Eplain manual. Public domain. --> -<div class="node"> +</p> +<hr> <a name="Demo-files"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Macro-index">Macro index</a>, -Previous: <a rel="previous" accesskey="p" href="#Programming-definitions">Programming definitions</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#Macro-index" accesskey="n" rel="next">Macro index</a>, Previous: <a href="#Programming-definitions" accesskey="p" rel="previous">Programming definitions</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Demo-files-1"></a> <h2 class="chapter">8 Demo files</h2> -<p><a name="index-demo-files-1264"></a>This chapter contains listings of source files, along with the output +<a name="index-demo-files"></a> +<p>This chapter contains listings of source files, along with the output they produce (where appropriate), which illustrate various aspects of -Eplain. The files can be found in the <samp><span class="command">demo</span></samp> subdirectory of +Eplain. The files can be found in the <code>demo</code> subdirectory of Eplain distribution. These demos, both the sources and the compiled PDF and PS files, are also available from <a href="http://tug.org/eplain/demo">http://tug.org/eplain/demo</a>. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="#Hyperlinks-_0028xhyper_002etex_0029" accesskey="1">Hyperlinks (xhyper.tex)</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029" accesskey="2">Highlighting TeX comments in listings (lscommnt.tex)</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> -<ul class="menu"> -<li><a accesskey="1" href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a> -<li><a accesskey="2" href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a> -</ul> -<div class="node"> -<a name="Hyperlinks-(xhyper.tex)"></a> +<hr> <a name="Hyperlinks-_0028xhyper_002etex_0029"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a>, -Up: <a rel="up" accesskey="u" href="#Demo-files">Demo files</a> - +<div class="header"> +<p> +Next: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029" accesskey="n" rel="next">Highlighting TeX comments in listings (lscommnt.tex)</a>, Up: <a href="#Demo-files" accesskey="u" rel="up">Demo files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Hyperlinks-_0028xhyper_002etex_0029-1"></a> <h3 class="section">8.1 Hyperlinks (<code>xhyper.tex</code>)</h3> -<div class="block-image"><img src="xhyper.jpg" alt="xhyper.jpg"></div> - - <p><a name="index-xhyper_002etex-1265"></a> -<a name="index-hyperlinks_002c-demo-1266"></a><a name="index-explicit-hyperlinks_002c-demo-1267"></a><a name="index-hyperlinks_002c-explicit_002c-demo-1268"></a><a name="index-implicit-hyperlinks_002c-demo-1269"></a><a name="index-hyperlinks_002c-implicit_002c-demo-1270"></a> -<a name="index-hlstart-1271"></a><a name="index-hlend-1272"></a> -<a name="index-group-options_002c-hyperlink_002c-demo-1273"></a><a name="index-hyperlinks_002c-group-options_002c-demo-1274"></a><a name="index-link_002c-group-options_002c-demo-1275"></a><a name="index-linkgroup-options_002c-demo-1276"></a><a name="index-destinations_002c-group-options_002c-demo-1277"></a><a name="index-destgroup-options_002c-demo-1278"></a> -<a name="index-group-type_002c-hyperlink_002c-demo-1279"></a><a name="index-destinations_002c-group-type_002c-demo-1280"></a><a name="index-destgroup-type_002c-demo-1281"></a> -<a name="index-hlopts-1282"></a><a name="index-hldesttype-1283"></a><a name="index-hldestopts-1284"></a> -<a name="index-cross_002dreferences_002c-demo-1285"></a><a name="index-definexref-1286"></a><a name="index-ref-1287"></a> -<a name="index-graphics-collection_002c-_0040LaTeX_007b_007d_002c-demo-1288"></a><a name="index-g_t_0040LaTeX_007b_007d-graphics-collection_002c-demo-1289"></a><a name="index-color_002c-demo-1290"></a><a name="index-rotation_002c-demo-1291"></a><a name="index-scaling_002c-demo-1292"></a><a name="index-color_002esty-1293"></a><a name="index-graphicx_002esty-1294"></a><a name="index-url_002esty-1295"></a> -<a name="index-includegraphics-1296"></a><a name="index-rotatebox-1297"></a><a name="index-definecolor-1298"></a><a name="index-url-1299"></a> - +<img src="xhyper.jpg" alt="xhyper"> + +<a name="index-xhyper_002etex"></a> + +<a name="index-hyperlinks_002c-demo"></a> +<a name="index-explicit-hyperlinks_002c-demo"></a> +<a name="index-hyperlinks_002c-explicit_002c-demo"></a> +<a name="index-implicit-hyperlinks_002c-demo"></a> +<a name="index-hyperlinks_002c-implicit_002c-demo"></a> + +<a name="index-hlstart-4"></a> +<a name="index-hlend-1"></a> + +<a name="index-group-options_002c-hyperlink_002c-demo"></a> +<a name="index-hyperlinks_002c-group-options_002c-demo"></a> +<a name="index-link_002c-group-options_002c-demo"></a> +<a name="index-linkgroup-options_002c-demo"></a> +<a name="index-destinations_002c-group-options_002c-demo"></a> +<a name="index-destgroup-options_002c-demo"></a> + +<a name="index-group-type_002c-hyperlink_002c-demo"></a> +<a name="index-destinations_002c-group-type_002c-demo"></a> +<a name="index-destgroup-type_002c-demo"></a> + +<a name="index-hlopts-2"></a> +<a name="index-hldesttype-2"></a> +<a name="index-hldestopts-2"></a> + +<a name="index-cross_002dreferences_002c-demo"></a> +<a name="index-definexref-1"></a> +<a name="index-ref-1"></a> + +<a name="index-graphics-collection_002c-LaTeX_002c-demo"></a> +<a name="index-LaTeX-graphics-collection_002c-demo"></a> +<a name="index-color_002c-demo"></a> +<a name="index-rotation_002c-demo"></a> +<a name="index-scaling_002c-demo"></a> +<a name="index-color_002esty-4"></a> +<a name="index-graphicx_002esty-1"></a> +<a name="index-url_002esty-2"></a> + +<a name="index-includegraphics"></a> +<a name="index-rotatebox"></a> +<a name="index-definecolor"></a> +<a name="index-url"></a> <pre class="verbatim">% (This file is public domain.) % % This file demonstrates the following features of Eplain: @@ -6904,23 +9068,31 @@ Take me to \bye </pre> -<div class="node"> -<a name="Highlighting-TeX-comments-in-listings-(lscommnt.tex)"></a> +<hr> <a name="Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a>, -Up: <a rel="up" accesskey="u" href="#Demo-files">Demo files</a> - +<div class="header"> +<p> +Previous: <a href="#Hyperlinks-_0028xhyper_002etex_0029" accesskey="p" rel="previous">Hyperlinks (xhyper.tex)</a>, Up: <a href="#Demo-files" accesskey="u" rel="up">Demo files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029-1"></a> <h3 class="section">8.2 Highlighting TeX comments in listings (<code>lscommnt.tex</code>)</h3> -<div class="block-image"><img src="lscommnt.jpg" alt="lscommnt.jpg"></div> +<img src="lscommnt.jpg" alt="lscommnt"> + + +<a name="index-lscommnt_002etex"></a> - <p><a name="index-lscommnt_002etex-1300"></a> -<a name="index-verbatim-listing_002c-demo-1301"></a><a name="index-listing-files_002c-demo-1302"></a><a name="index-files_002c-verbatim-listing-of_002c-demo-1303"></a><a name="index-comments_002c-highlighting-in-listings-1304"></a><a name="index-highlighting_002c-in-listings-1305"></a> -<a name="index-listing-1306"></a><a name="index-setuplistinghook-1307"></a><a name="index-linenumberedlisting-1308"></a><a name="index-nolastlinelisting-1309"></a><a name="index-hlightcommentslisting-1310"></a> +<a name="index-verbatim-listing_002c-demo"></a> +<a name="index-listing-files_002c-demo"></a> +<a name="index-files_002c-verbatim-listing-of_002c-demo"></a> +<a name="index-comments_002c-highlighting-in-listings"></a> +<a name="index-highlighting_002c-in-listings"></a> +<a name="index-listing-1"></a> +<a name="index-setuplistinghook-1"></a> +<a name="index-linenumberedlisting-1"></a> +<a name="index-nolastlinelisting-1"></a> +<a name="index-hlightcommentslisting"></a> <pre class="verbatim">% (This file is public domain.) % Demonstrate how Eplain can be used to include a TeX source file % verbatim, typesetting comments in colored italic typewriter type. @@ -6954,7 +9126,7 @@ Up: <a rel="up" accesskey="u" href="#Demo-files">Demo files</a> } % \end@comment (alias for ^^M inside a comment) will end the comment % started by \start@comment. We make ^^M active temporarily so that -% the active version of ^^M gets "frozen" into \end@comment. +% the active version of ^^M gets "frozen" into \end@comment. \begingroup \makeactive\^^M % Avoid ^^M's from here on. \gdef\end@comment{\endgroup ^^M}% \endgroup @@ -6969,1283 +9141,1686 @@ Up: <a rel="up" accesskey="u" href="#Demo-files">Demo files</a> \listing{lscommnt} \bye </pre> - -<!-- Public domain. --> -<div class="node"> +<hr> <a name="Macro-index"></a> -<p><hr> -Next: <a rel="next" accesskey="n" href="#Concept-index">Concept index</a>, -Previous: <a rel="previous" accesskey="p" href="#Demo-files">Demo files</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Next: <a href="#Concept-index" accesskey="n" rel="next">Concept index</a>, Previous: <a href="#Demo-files" accesskey="p" rel="previous">Demo files</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Macro-index-1"></a> <h2 class="unnumbered">Macro index</h2> -<ul class="index-fn" compact> -<li><a href="#index-g_t_0040_0040hllabel-893"><code>@hllabel</code></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040_0040hllabel-815"><code>@hllabel</code></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040_0040hllabel-767"><code>@hllabel</code></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-g_t_0040_0040hllabel-742"><code>@hllabel</code></a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-g_t_0040_0040indexproof-_0040r_007binsertion-class_007d-308"><code>@indexproof </code><span class="roman">insertion class</span></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-abovecolumnskip-404"><code>abovecolumnskip</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-abovecolumnspenalty-375"><code>abovecolumnspenalty</code></a>: <a href="#Tables">Tables</a></li> -<li><a href="#index-abovelistpenalty-141"><code>abovelistpenalty</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-abovelistskip-140"><code>abovelistskip</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-abovelistskipamount-135"><code>abovelistskipamount</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-adjarrow-1096"><code>adjarrow</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-adjmapdown-1090"><code>adjmapdown</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-adjmapleft-1083"><code>adjmapleft</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-adjmapright-1082"><code>adjmapright</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-adjmapup-1091"><code>adjmapup</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-advancebottommargin-382"><code>advancebottommargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-advanceleftmargin-383"><code>advanceleftmargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-advancerightmargin-384"><code>advancerightmargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-advancetopmargin-381"><code>advancetopmargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-afterindexterm-339"><code>afterindexterm</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-afterindexterm-_0040r_007bhook_007d-270"><code>afterindexterm </code><span class="roman">hook</span></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-AMSLaTeX-428"><code>AMSLaTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-AMSTeX-430"><code>AMSTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-arrow-1061"><code>arrow</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-bblem-88"><code>bblem</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bblfilebasename-62"><code>bblfilebasename</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-bblhook-92"><code>bblhook</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bblnewblock-90"><code>bblnewblock</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bblrm-86"><code>bblrm</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bblsc-89"><code>bblsc</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bcolor-_0040r_007b_0028hyperlink-option_0029_007d-905"><code>bcolor </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-bdash-_0040r_007b_0028hyperlink-option_0029_007d-909"><code>bdash </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-begin-_0040r_007bfor-index-entries_007d-274"><code>begin </code><span class="roman">for index entries</span></a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-beginindex-_0040r_007bhook_007d-323"><code>beginindex </code><span class="roman">hook</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-beginlist-151"><code>beginlist</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-beginpackages-476"><code>beginpackages</code></a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-begin_0040_007bpicture_0040_007d-488"><code>begin{picture}</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-begin_0040_007btheindex_0040_007d-317"><code>begin{theindex}</code></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-belowcolumnskip-405"><code>belowcolumnskip</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-belowfootnoterulespace-414"><code>belowfootnoterulespace</code></a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-belowlistskip-142"><code>belowlistskip</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-belowlistskipamount-136"><code>belowlistskipamount</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-biarrow-1095"><code>biarrow</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-biblabelcontents-85"><code>biblabelcontents</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-biblabelextraspace-91"><code>biblabelextraspace</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-biblabelprint-84"><code>biblabelprint</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-biblabelwidth-83"><code>biblabelwidth</code></a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bibliography-66"><code>bibliography</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-bibliography-_0040r_007b_0028hyperlinks_0029_007d-599"><code>bibliography </code><span class="roman">(hyperlinks)</span></a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-bibliographystyle-67"><code>bibliographystyle</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-BibTeX-432"><code>BibTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-bihline-1084"><code>bihline</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-bimapdown-1088"><code>bimapdown</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-bimapleft-1081"><code>bimapleft</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-bimapright-1080"><code>bimapright</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-bimapup-1089"><code>bimapup</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-bisline-1097"><code>bisline</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-bivline-1092"><code>bivline</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-blackbox-452"><code>blackbox</code></a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-blanklineskipamount-_0040r_007bin-justified-text_007d-371"><code>blanklineskipamount </code><span class="roman">in justified text</span></a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-blanklineskipamount-_0040r_007bin-obeyed-text_007d-1241"><code>blanklineskipamount </code><span class="roman">in obeyed text</span></a>: <a href="#Obeying-spaces">Obeying spaces</a></li> -<li><a href="#index-bottom-_0040r_007b_0028destination-option_0029_007d-842"><code>bottom </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-bottom-_0040r_007b_0028destination-option_0029_007d-809"><code>bottom </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-bottommargin-378"><code>bottommargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-boxit-456"><code>boxit</code></a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-boxitspace-457"><code>boxitspace</code></a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-bstyle-_0040r_007b_0028hyperlink-option_0029_007d-913"><code>bstyle </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-bwidth-_0040r_007b_0028hyperlink-option_0029_007d-923"><code>bwidth </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-catcode-1149"><code>catcode</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-center-370"><code>center</code></a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-centereddisplays-101"><code>centereddisplays</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-channelwidth-1138"><code>channelwidth</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-channelwidth-1098"><code>channelwidth</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-cite-63"><code>cite</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-cite-_0040r_007b_0028hyperlinks_0029_007d-594"><code>cite </code><span class="roman">(hyperlinks)</span></a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-cmd-_0040r_007b_0028destination-option_0029_007d-823"><code>cmd </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-cmd-_0040r_007b_0028destination-option_0029_007d-814"><code>cmd </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-cmd-_0040r_007b_0028destination-option_0029_007d-747"><code>cmd </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-hypertex">Destination options for hypertex</a></li> -<li><a href="#index-cmd-_0040r_007b_0028destination-option_0029_007d-741"><code>cmd </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-928"><code>cmd </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-892"><code>cmd </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-773"><code>cmd </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-hypertex">Link options for hypertex</a></li> -<li><a href="#index-cmd-_0040r_007b_0028hyperlink-option_0029_007d-766"><code>cmd </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-color-_0040r_007b_0028hyperlink-option_0029_007d-719"><code>color </code><span class="roman">(hyperlink option)</span></a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-colormodel-_0040r_007b_0028hyperlink-option_0029_007d-718"><code>colormodel </code><span class="roman">(hyperlink option)</span></a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-columnfill-398"><code>columnfill</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-commdiag-1101"><code>commdiag</code></a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-commdiagbaselines-1141"><code>commdiagbaselines</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-commdiagbaselines-1113"><code>commdiagbaselines</code></a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-csn-1204"><code>csn</code></a>: <a href="#g_t_005ccsn-and-_005cece">\csn and \ece</a></li> -<li><a href="#index-definecolor-1298"><code>definecolor</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-definecontentsfile-196"><code>definecontentsfile</code></a>: <a href="#Alternative-contents-files">Alternative contents files</a></li> -<li><a href="#index-defineindex-248"><code>defineindex</code></a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-definexref-1286"><code>definexref</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-definexref-203"><code>definexref</code></a>: <a href="#Defining-generic-references">Defining generic references</a></li> -<li><a href="#index-definexref-_0040r_007b_0028hyperlinks_0029_007d-605"><code>definexref </code><span class="roman">(hyperlinks)</span></a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-depth-_0040r_007b_0028destination-option_0029_007d-829"><code>depth </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-depth-_0040r_007b_0028destination-option_0029_007d-807"><code>depth </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-depth-_0040r_007b_0028hyperlink-option_0029_007d-937"><code>depth </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-discretionaries-421"><code>discretionaries</code></a>: <a href="#Paths">Paths</a></li> -<li><a href="#index-displaylines-102"><code>displaylines</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-dospecials-174"><code>dospecials</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-doublecolumns-392"><code>doublecolumns</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-drawline-1046"><code>drawline</code></a>: <a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></li> -<li><a href="#index-drawvector-1047"><code>drawvector</code></a>: <a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></li> -<li><a href="#index-dvipdfm-_0040r_007b_0028hyperlink-driver_0029_007d-777"><code>dvipdfm </code><span class="roman">(hyperlink driver)</span></a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-eattoken-1199"><code>eattoken</code></a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-ece-1205"><code>ece</code></a>: <a href="#g_t_005ccsn-and-_005cece">\csn and \ece</a></li> -<li><a href="#index-edefappend-1206"><code>edefappend</code></a>: <a href="#g_t_005cedefappend">\edefappend</a></li> -<li><a href="#index-ehrule-51"><code>ehrule</code></a>: <a href="#Rules">Rules</a></li> -<li><a href="#index-enablehyperlinks-964"><code>enablehyperlinks</code></a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-enablehyperlinks-677"><code>enablehyperlinks</code></a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-enablehyperlinks-548"><code>enablehyperlinks</code></a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-end-_0040r_007bfor-index-entries_007d-275"><code>end </code><span class="roman">for index entries</span></a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-endlist-153"><code>endlist</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-endnumberedlist-127"><code>endnumberedlist</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-endorderedlist-129"><code>endorderedlist</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-endpackages-477"><code>endpackages</code></a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-endunorderedlist-131"><code>endunorderedlist</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-end_0040_007bpicture_0040_007d-489"><code>end{picture}</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-end_0040_007btheindex_0040_007d-318"><code>end{theindex}</code></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-eplain-26"><code>eplain</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-eplaininput-481"><code>eplaininput</code></a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-eqalignno-103"><code>eqalignno</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-eqalignnum-108"><code>eqalignnum</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-eqconstruct-232"><code>eqconstruct</code></a>: <a href="#Formatting-equation-references">Formatting equation references</a></li> -<li><a href="#index-eqdef-218"><code>eqdef</code></a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-eqdef-_0040r_007b_0028hyperlinks_0029_007d-629"><code>eqdef </code><span class="roman">(hyperlinks)</span></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-eqdefn-225"><code>eqdefn</code></a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-eqdefn-_0040r_007b_0028hyperlinks_0029_007d-630"><code>eqdefn </code><span class="roman">(hyperlinks)</span></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-eqno-109"><code>eqno</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-eqnum-219"><code>eqnum</code></a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-eqnum-107"><code>eqnum</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-eqnumber-217"><code>eqnumber</code></a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-eqprint-231"><code>eqprint</code></a>: <a href="#Formatting-equation-references">Formatting equation references</a></li> -<li><a href="#index-eqref-639"><code>eqref</code></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-eqref-227"><code>eqref</code></a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-eqrefn-640"><code>eqrefn</code></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-eqrefn-228"><code>eqrefn</code></a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-eqsubdef-235"><code>eqsubdef</code></a>: <a href="#Subequation-references">Subequation references</a></li> -<li><a href="#index-eqsubdef-_0040r_007b_0028hyperlinks_0029_007d-631"><code>eqsubdef </code><span class="roman">(hyperlinks)</span></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-eqsubdefn-236"><code>eqsubdefn</code></a>: <a href="#Subequation-references">Subequation references</a></li> -<li><a href="#index-eqsubdefn-_0040r_007b_0028hyperlinks_0029_007d-632"><code>eqsubdefn </code><span class="roman">(hyperlinks)</span></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-eqsubreftext-238"><code>eqsubreftext</code></a>: <a href="#Subequation-references">Subequation references</a></li> -<li><a href="#index-eTeX-434"><code>eTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-everyfootnote-411"><code>everyfootnote</code></a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-evrule-52"><code>evrule</code></a>: <a href="#Rules">Rules</a></li> -<li><a href="#index-expandonce-1218"><code>expandonce</code></a>: <a href="#g_t_005cexpandonce">\expandonce</a></li> -<li><a href="#index-ext-_0040r_007b_0028hyperlink-option_0029_007d-775"><code>ext </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-hypertex">Link options for hypertex</a></li> -<li><a href="#index-ext-_0040r_007b_0028hyperlink-option_0029_007d-764"><code>ext </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-ExTeX-436"><code>ExTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-file-_0040r_007b_0028hyperlink-option_0029_007d-929"><code>file </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-file-_0040r_007b_0028hyperlink-option_0029_007d-881"><code>file </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-file-_0040r_007b_0028hyperlink-option_0029_007d-774"><code>file </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-hypertex">Link options for hypertex</a></li> -<li><a href="#index-file-_0040r_007b_0028hyperlink-option_0029_007d-763"><code>file </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-fileexists-_0040r_007b_0028conditional_0029_007d-1250"><code>fileexists </code><span class="roman">(conditional)</span></a>: <a href="#Auxiliary-files">Auxiliary files</a></li> -<li><a href="#index-filename-_0040r_007b_0028hyperlink-type_0029_007d-877"><code>filename </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-filename-_0040r_007b_0028hyperlink-type_0029_007d-759"><code>filename </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-filepage-_0040r_007b_0028hyperlink-type_0029_007d-884"><code>filepage </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-fit-_0040r_007b_0028destination-type_0029_007d-794"><code>fit </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-fitb-_0040r_007b_0028destination-type_0029_007d-799"><code>fitb </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-fitbh-_0040r_007b_0028destination-type_0029_007d-800"><code>fitbh </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-fitbv-_0040r_007b_0028destination-type_0029_007d-802"><code>fitbv </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-fith-_0040r_007b_0028destination-type_0029_007d-795"><code>fith </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-fitr-_0040r_007b_0028destination-type_0029_007d-804"><code>fitr </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-fitv-_0040r_007b_0028destination-type_0029_007d-797"><code>fitv </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-flushleft-369"><code>flushleft</code></a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-flushright-368"><code>flushright</code></a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-fmtversion-10"><code>fmtversion</code></a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-footnote-_0040r_007b_0028hyperlinks_0029_007d-696"><code>footnote </code><span class="roman">(hyperlinks)</span></a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-footnotemarkseparation-409"><code>footnotemarkseparation</code></a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-footnoteruleheight-413"><code>footnoteruleheight</code></a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-footnoterulewidth-412"><code>footnoterulewidth</code></a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-For-1188"><code>For</code></a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-for-1187"><code>for</code></a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-frac-416"><code>frac</code></a>: <a href="#Fractions">Fractions</a></li> -<li><a href="#index-fullmonthname-118"><code>fullmonthname</code></a>: <a href="#Time-of-day">Time of day</a></li> -<li><a href="#index-futurenonspacelet-1236"><code>futurenonspacelet</code></a>: <a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a></li> -<li><a href="#index-getproperty-1216"><code>getproperty</code></a>: <a href="#Properties">Properties</a></li> -<li><a href="#index-gloggingall-42"><code>gloggingall</code></a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-gobble-1196"><code>gobble</code></a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-gobbletwo-1197"><code>gobbletwo</code></a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-gridcommdiag-1117"><code>gridcommdiag</code></a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-gtracingall-43"><code>gtracingall</code></a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-gutter-402"><code>gutter</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-gutterbox-403"><code>gutterbox</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-hangindent-_0040r_007bfor-index-entries_007d-332"><code>hangindent </code><span class="roman">for index entries</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-harrowlength-1124"><code>harrowlength</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-harrowlength-1063"><code>harrowlength</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-hchannel-1139"><code>hchannel</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-height-_0040r_007b_0028destination-option_0029_007d-833"><code>height </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-height-_0040r_007b_0028destination-option_0029_007d-806"><code>height </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-height-_0040r_007b_0028hyperlink-option_0029_007d-940"><code>height </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hgrid-1142"><code>hgrid</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-hgrid-1119"><code>hgrid</code></a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-hldest-972"><code>hldest</code></a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-hldest-816"><code>hldest</code></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-hldest-743"><code>hldest</code></a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-hldest-558"><code>hldest</code></a>: <a href="#Explicit-hyperlinks">Explicit hyperlinks</a></li> -<li><a href="#index-hldestoff-1041"><code>hldestoff</code></a>: <a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></li> -<li><a href="#index-hldestoff-959"><code>hldestoff</code></a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-hldeston-1040"><code>hldeston</code></a>: <a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></li> -<li><a href="#index-hldestopts-1284"><code>hldestopts</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hldestopts-1020"><code>hldestopts</code></a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-hldestopts-988"><code>hldestopts</code></a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-hldesttype-1283"><code>hldesttype</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hldesttype-996"><code>hldesttype</code></a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-hldesttype-986"><code>hldesttype</code></a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-hlend-1272"><code>hlend</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hlend-560"><code>hlend</code></a>: <a href="#Explicit-hyperlinks">Explicit hyperlinks</a></li> -<li><a href="#index-hlfootbacklabel-698"><code>hlfootbacklabel</code></a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-hlfootlabel-697"><code>hlfootlabel</code></a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-hlfootlabelnumber-699"><code>hlfootlabelnumber</code></a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-hlhash-768"><code>hlhash</code></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-hlidx-657"><code>hlidx</code></a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-hlidxlabel-658"><code>hlidxlabel</code></a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-hlidxlabelnumber-659"><code>hlidxlabelnumber</code></a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-hlidxpage-667"><code>hlidxpage</code></a>: <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></li> -<li><a href="#index-hlidxpagelabel-666"><code>hlidxpagelabel</code></a>: <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></li> -<li><a href="#index-hlight-_0040r_007b_0028hyperlink-option_0029_007d-930"><code>hlight </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hlightcommentslisting-1310"><code>hlightcommentslisting</code></a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-hline-1079"><code>hline</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-hloff-1043"><code>hloff</code></a>: <a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></li> -<li><a href="#index-hloff-958"><code>hloff</code></a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-hlon-1042"><code>hlon</code></a>: <a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></li> -<li><a href="#index-hlopts-1282"><code>hlopts</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hlopts-1019"><code>hlopts</code></a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-hlopts-987"><code>hlopts</code></a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-hlstart-1271"><code>hlstart</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hlstart-971"><code>hlstart</code></a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-hlstart-894"><code>hlstart</code></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-hlstart-769"><code>hlstart</code></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-hlstart-559"><code>hlstart</code></a>: <a href="#Explicit-hyperlinks">Explicit hyperlinks</a></li> -<li><a href="#index-hltype-995"><code>hltype</code></a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-hltype-985"><code>hltype</code></a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-hmorphposn-1127"><code>hmorphposn</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-hmorphposn-1066"><code>hmorphposn</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-hmorphposndn-1129"><code>hmorphposndn</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-hmorphposndn-1070"><code>hmorphposndn</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-hmorphposnlft-1131"><code>hmorphposnlft</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-hmorphposnlft-1074"><code>hmorphposnlft</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-hmorphposnrt-1130"><code>hmorphposnrt</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-hmorphposnrt-1073"><code>hmorphposnrt</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-hmorphposnup-1128"><code>hmorphposnup</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-hmorphposnup-1069"><code>hmorphposnup</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-hoffset-305"><code>hoffset</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-hookaction-1208"><code>hookaction</code></a>: <a href="#Hooks">Hooks</a></li> -<li><a href="#index-hookactiononce-1211"><code>hookactiononce</code></a>: <a href="#Hooks">Hooks</a></li> -<li><a href="#index-hookappend-1209"><code>hookappend</code></a>: <a href="#Hooks">Hooks</a></li> -<li><a href="#index-hookprepend-1210"><code>hookprepend</code></a>: <a href="#Hooks">Hooks</a></li> -<li><a href="#index-hookrun-1212"><code>hookrun</code></a>: <a href="#Hooks">Hooks</a></li> -<li><a href="#index-href-569"><code>href</code></a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-hruledefaultdepth-49"><code>hruledefaultdepth</code></a>: <a href="#Rules">Rules</a></li> -<li><a href="#index-hruledefaultheight-48"><code>hruledefaultheight</code></a>: <a href="#Rules">Rules</a></li> -<li><a href="#index-hsize-385"><code>hsize</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-hypertex-_0040r_007b_0028hyperlink-driver_0029_007d-723"><code>hypertex </code><span class="roman">(hyperlink driver)</span></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-hyphenpenalty-_0040r_007bfor-index-entries_007d-334"><code>hyphenpenalty </code><span class="roman">for index entries</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-identity-1200"><code>identity</code></a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-idx-260"><code>idx</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-idx-_0040r_007b_0028hyperlinks_0029_007d-644"><code>idx </code><span class="roman">(hyperlinks)</span></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-idxargclose-291"><code>idxargclose</code></a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-idxargopen-290"><code>idxargopen</code></a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-idxbeginrangemark-348"><code>idxbeginrangemark</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxencapoperator-347"><code>idxencapoperator</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxendrangemark-349"><code>idxendrangemark</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxexact-678"><code>idxexact</code></a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-idxmarked-265"><code>idxmarked</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-idxmarked-_0040r_007b_0028hyperlinks_0029_007d-646"><code>idxmarked </code><span class="roman">(hyperlinks)</span></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-idxname-263"><code>idxname</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-idxname-_0040r_007b_0028hyperlinks_0029_007d-645"><code>idxname </code><span class="roman">(hyperlinks)</span></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-idxnameseparator-262"><code>idxnameseparator</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-idxnone-680"><code>idxnone</code></a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-idxpage-679"><code>idxpage</code></a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-idxpagei-1254"><code>idxpagei</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-idxpageii-1255"><code>idxpageii</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-idxpagelistdelimiter-1258"><code>idxpagelistdelimiter</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-idxpagenum-350"><code>idxpagenum</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxpagerangedelimiter-1259"><code>idxpagerangedelimiter</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-idxparselist-1252"><code>idxparselist</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-idxparserange-1253"><code>idxparserange</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-idxrangebeginword-342"><code>idxrangebeginword</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxrangeendword-343"><code>idxrangeendword</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxseealsocmdword-345"><code>idxseealsocmdword</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxseecmdword-344"><code>idxseecmdword</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxsubentryseparator-346"><code>idxsubentryseparator</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-idxsubmarked-266"><code>idxsubmarked</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-idxsubmarked-_0040r_007b_0028hyperlinks_0029_007d-647"><code>idxsubmarked </code><span class="roman">(hyperlinks)</span></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-ifempty-1222"><code>ifempty</code></a>: <a href="#g_t_005cifempty">\ifempty</a></li> -<li><a href="#index-iffileexists-1249"><code>iffileexists</code></a>: <a href="#Auxiliary-files">Auxiliary files</a></li> -<li><a href="#index-ifidx-251"><code>ifidx</code></a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-ifindexproofing-297"><code>ifindexproofing</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-ifinteger-1226"><code>ifinteger</code></a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-ifpdf-549"><code>ifpdf</code></a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-ifpdf-462"><code>ifpdf</code></a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-ifrewritetocfile-189"><code>ifrewritetocfile</code></a>: <a href="#Reading-the-_002etoc-file">Reading the .toc file</a></li> -<li><a href="#index-ifundefined-1219"><code>ifundefined</code></a>: <a href="#g_t_005cifundefined">\ifundefined</a></li> -<li><a href="#index-includegraphics-1296"><code>includegraphics</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-indexfilebasename-315"><code>indexfilebasename</code></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-indexfonts-321"><code>indexfonts</code></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-indexitem-_0040r_007bhook_007d-335"><code>indexitem </code><span class="roman">hook</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-indexprooffont-301"><code>indexprooffont</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-indexproofingfalse-299"><code>indexproofingfalse</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-indexproofingtrue-298"><code>indexproofingtrue</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-indexproofterm-300"><code>indexproofterm</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-indexproofunbox-309"><code>indexproofunbox</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-indexsee-685"><code>indexsee</code></a>: <a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></li> -<li><a href="#index-indexsee-355"><code>indexsee</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-indexseealso-686"><code>indexseealso</code></a>: <a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></li> -<li><a href="#index-indexseealso-356"><code>indexseealso</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-indexseealsowords-353"><code>indexseealsowords</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-indexseeword-352"><code>indexseeword</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-indexsetmargins-307"><code>indexsetmargins</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-indexspace-336"><code>indexspace</code></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-innerdef-1180"><code>innerdef</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innerinnerdef-1181"><code>innerinnerdef</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewbox-1168"><code>innernewbox</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewcount-1169"><code>innernewcount</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewdimen-1170"><code>innernewdimen</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewfam-1171"><code>innernewfam</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewhelp-1172"><code>innernewhelp</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewif-1173"><code>innernewif</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewinsert-1174"><code>innernewinsert</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewlanguage-1175"><code>innernewlanguage</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewread-1176"><code>innernewread</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewskip-1177"><code>innernewskip</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewtoks-1178"><code>innernewtoks</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-innernewwrite-1179"><code>innernewwrite</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-input-478"><code>input</code></a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-insidemargin-304"><code>insidemargin</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-interfootnoteskip-410"><code>interfootnoteskip</code></a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-interitemskip-143"><code>interitemskip</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-interitemskipamount-137"><code>interitemskipamount</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-isinteger-1232"><code>isinteger</code></a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-item-_0040r_007bin-indexes_007d-324"><code>item </code><span class="roman">in indexes</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-itemletter-150"><code>itemletter</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-itemnumber-149"><code>itemnumber</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-ituline-1262"><code>ituline</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-jobname-1248"><code>jobname</code></a>: <a href="#Auxiliary-files">Auxiliary files</a></li> -<li><a href="#index-jobname-316"><code>jobname</code></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-jobname-59"><code>jobname</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-LAMSTeX-438"><code>LAMSTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-LaTeX-440"><code>LaTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-lbracechar-1162"><code>lbracechar</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-left-_0040r_007b_0028destination-option_0029_007d-846"><code>left </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-left-_0040r_007b_0028destination-option_0029_007d-792"><code>left </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-leftdisplayindent-100"><code>leftdisplayindent</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-leftdisplays-99"><code>leftdisplays</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-leftdisplaysetup-113"><code>leftdisplaysetup</code></a>: <a href="#Formatting-displays">Formatting displays</a></li> -<li><a href="#index-lefteqnumbers-105"><code>lefteqnumbers</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-leftmargin-379"><code>leftmargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-leqalignno-104"><code>leqalignno</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-leqno-110"><code>leqno</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-letreturn-1158"><code>letreturn</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-letter-1146"><code>letter</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-lft-1060"><code>lft</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-li-132"><code>li</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-li-_0040r_007b_0028hyperlinks_0029_007d-602"><code>li </code><span class="roman">(hyperlinks)</span></a>: <a href="#List-hyperlinks">List hyperlinks</a></li> -<li><a href="#index-linenumberedlisting-1308"><code>linenumberedlisting</code></a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-linenumberedlisting-162"><code>linenumberedlisting</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-listcompact-133"><code>listcompact</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-listing-1306"><code>listing</code></a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-listing-159"><code>listing</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-listingfont-160"><code>listingfont</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-listleftindent-138"><code>listleftindent</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-listmarkerspace-144"><code>listmarkerspace</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-listrightindent-139"><code>listrightindent</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-loggingall-39"><code>loggingall</code></a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-loop-1189"><code>loop</code></a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-makeactive-1150"><code>makeactive</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-makeatletter-1154"><code>makeatletter</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-makeatother-1156"><code>makeatother</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-makeblankbox-455"><code>makeblankbox</code></a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-makecolumns-374"><code>makecolumns</code></a>: <a href="#Tables">Tables</a></li> -<li><a href="#index-makeheadline-310"><code>makeheadline</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-mapdown-1058"><code>mapdown</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-mapleft-1056"><code>mapleft</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-mapright-1055"><code>mapright</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-mapup-1057"><code>mapup</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-matrix-1102"><code>matrix</code></a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-MF-442"><code>MF</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-monthname-117"><code>monthname</code></a>: <a href="#Time-of-day">Time of day</a></li> -<li><a href="#index-morphdist-1137"><code>morphdist</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-morphdist-1068"><code>morphdist</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-name-_0040r_007b_0028hyperlink-type_0029_007d-864"><code>name </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-name-_0040r_007b_0028hyperlink-type_0029_007d-751"><code>name </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-new_0040dots_007b_007d-1166"><code>new...</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-newwin-_0040r_007b_0028hyperlink-option_0029_007d-933"><code>newwin </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-newwin-_0040r_007b_0028hyperlink-option_0029_007d-883"><code>newwin </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-noarrow-28"><code>noarrow</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-noauxfile-29"><code>noauxfile</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-nobibtex-27"><code>nobibtex</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-nocite-65"><code>nocite</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-nolastlinelisting-1309"><code>nolastlinelisting</code></a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-nolastlinelisting-164"><code>nolastlinelisting</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-nolinks-_0040r_007b_0028hyperlink-driver_0029_007d-946"><code>nolinks </code><span class="roman">(hyperlink driver)</span></a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-normalbaselineskip-710"><code>normalbaselineskip</code></a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-num-_0040r_007b_0028hyperlink-type_0029_007d-895"><code>num </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-numberedfootnote-408"><code>numberedfootnote</code></a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-numberedfootnote-_0040r_007b_0028hyperlinks_0029_007d-695"><code>numberedfootnote </code><span class="roman">(hyperlinks)</span></a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-numberedlist-126"><code>numberedlist</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-numberedlistdepth-147"><code>numberedlistdepth</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-numberedmarker-145"><code>numberedmarker</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-numbername-1244"><code>numbername</code></a>: <a href="#Writing-out-numbers">Writing out numbers</a></li> -<li><a href="#index-obeywhitespace-1240"><code>obeywhitespace</code></a>: <a href="#Obeying-spaces">Obeying spaces</a></li> -<li><a href="#index-orderedlist-128"><code>orderedlist</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-other-1147"><code>other</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-outer-1167"><code>outer</code></a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-outsidemargin-306"><code>outsidemargin</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-page-_0040r_007b_0028hyperlink-type_0029_007d-872"><code>page </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-pagefit-_0040r_007b_0028hyperlink-option_0029_007d-936"><code>pagefit </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-pagefit-_0040r_007b_0028hyperlink-option_0029_007d-876"><code>pagefit </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-pageno-303"><code>pageno</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-pagetotal-401"><code>pagetotal</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-paperheight-386"><code>paperheight</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-paperwidth-387"><code>paperwidth</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-parindent-_0040r_007bin-indexes_007d-319"><code>parindent </code><span class="roman">in indexes</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-path-420"><code>path</code></a>: <a href="#Paths">Paths</a></li> -<li><a href="#index-pdfoutput-463"><code>pdfoutput</code></a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-pdftex-_0040r_007b_0028hyperlink-driver_0029_007d-776"><code>pdftex </code><span class="roman">(hyperlink driver)</span></a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-percentchar-1161"><code>percentchar</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-phantomeqlabel-637"><code>phantomeqlabel</code></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-phantomeqnumber-638"><code>phantomeqnumber</code></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-previouseverydisplay-114"><code>previouseverydisplay</code></a>: <a href="#Formatting-displays">Formatting displays</a></li> -<li><a href="#index-printbetweencitations-80"><code>printbetweencitations</code></a>: <a href="#Formatting-citations">Formatting citations</a></li> -<li><a href="#index-printcitefinish-79"><code>printcitefinish</code></a>: <a href="#Formatting-citations">Formatting citations</a></li> -<li><a href="#index-printcitenote-81"><code>printcitenote</code></a>: <a href="#Formatting-citations">Formatting citations</a></li> -<li><a href="#index-printcitestart-78"><code>printcitestart</code></a>: <a href="#Formatting-citations">Formatting citations</a></li> -<li><a href="#index-printitem-152"><code>printitem</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-printlistinglineno-163"><code>printlistinglineno</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-quadcolumns-394"><code>quadcolumns</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-raggedright-_0040r_007bfor-index-entries_007d-333"><code>raggedright </code><span class="roman">for index entries</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-raise-_0040r_007b_0028hyperlink-option_0029_007d-1024"><code>raise </code><span class="roman">(hyperlink option)</span></a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-raise-_0040r_007b_0028hyperlink-option_0029_007d-706"><code>raise </code><span class="roman">(hyperlink option)</span></a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-raw-_0040r_007b_0028destination-type_0029_007d-813"><code>raw </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-raw-_0040r_007b_0028destination-type_0029_007d-740"><code>raw </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-raw-_0040r_007b_0028hyperlink-type_0029_007d-891"><code>raw </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-raw-_0040r_007b_0028hyperlink-type_0029_007d-765"><code>raw </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-rbracechar-1163"><code>rbracechar</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-readindexfile-314"><code>readindexfile</code></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-readindexfile-_0040r_007b_0028hyperlinks_0029_007d-653"><code>readindexfile </code><span class="roman">(hyperlinks)</span></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-readtocfile-187"><code>readtocfile</code></a>: <a href="#Reading-the-_002etoc-file">Reading the .toc file</a></li> -<li><a href="#index-ref-1287"><code>ref</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-ref-210"><code>ref</code></a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-ref-_0040r_007b_0028hyperlinks_0029_007d-615"><code>ref </code><span class="roman">(hyperlinks)</span></a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-refn-207"><code>refn</code></a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-refn-_0040r_007b_0028hyperlinks_0029_007d-612"><code>refn </code><span class="roman">(hyperlinks)</span></a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-refs-211"><code>refs</code></a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-refs-_0040r_007b_0028hyperlinks_0029_007d-618"><code>refs </code><span class="roman">(hyperlinks)</span></a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-refspace-625"><code>refspace</code></a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-refspace-617"><code>refspace</code></a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-reftie-641"><code>reftie</code></a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-reftie-614"><code>reftie</code></a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-repeat-1190"><code>repeat</code></a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-resetatcatcode-1155"><code>resetatcatcode</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-rewritetocfile-_0040r_007b_0028conditional_0029_007d-190"><code>rewritetocfile </code><span class="roman">(conditional)</span></a>: <a href="#Reading-the-_002etoc-file">Reading the .toc file</a></li> -<li><a href="#index-right-_0040r_007b_0028destination-option_0029_007d-850"><code>right </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-right-_0040r_007b_0028destination-option_0029_007d-810"><code>right </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-righteqnumbers-106"><code>righteqnumbers</code></a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-rightmargin-380"><code>rightmargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-rotatebox-1297"><code>rotatebox</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-rt-1059"><code>rt</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-sanitize-1203"><code>sanitize</code></a>: <a href="#Converting-to-characters">Converting to characters</a></li> -<li><a href="#index-sarrowlength-1126"><code>sarrowlength</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-sarrowlength-1065"><code>sarrowlength</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-see-_0040r_007bfor-index-entries_007d-357"><code>see </code><span class="roman">for index entries</span></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-see-_0040r_007bfor-index-entries_007d-278"><code>see </code><span class="roman">for index entries</span></a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-seealso-_0040r_007bfor-index-entries_007d-282"><code>seealso </code><span class="roman">for index entries</span></a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-seevariant-354"><code>seevariant</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-setidxpagelistdelimiter-1256"><code>setidxpagelistdelimiter</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-setidxpagerangedelimiter-1257"><code>setidxpagerangedelimiter</code></a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-setproperty-1215"><code>setproperty</code></a>: <a href="#Properties">Properties</a></li> -<li><a href="#index-setuplistinghook-1307"><code>setuplistinghook</code></a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-setuplistinghook-161"><code>setuplistinghook</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-sidx-259"><code>sidx</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-sidxmarked-264"><code>sidxmarked</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-sidxname-261"><code>sidxname</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-sidxsubmarked-267"><code>sidxsubmarked</code></a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-singlecolumn-395"><code>singlecolumn</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-sline-1062"><code>sline</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-SLiTeX-444"><code>SLiTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-special-543"><code>special</code></a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-specialpathdelimiters-_0040r_007b_0028conditional_0029_007d-422"><code>specialpathdelimiters </code><span class="roman">(conditional)</span></a>: <a href="#Paths">Paths</a></li> -<li><a href="#index-subeqnumber-237"><code>subeqnumber</code></a>: <a href="#Subequation-references">Subequation references</a></li> -<li><a href="#index-subitem-_0040r_007bin-indexes_007d-325"><code>subitem </code><span class="roman">in indexes</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-subsubitem-_0040r_007bin-indexes_007d-326"><code>subsubitem </code><span class="roman">in indexes</span></a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-testfileexistence-1247"><code>testfileexistence</code></a>: <a href="#Auxiliary-files">Auxiliary files</a></li> -<li><a href="#index-TeX-426"><code>TeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-timestamp-120"><code>timestamp</code></a>: <a href="#Time-of-day">Time of day</a></li> -<li><a href="#index-timestring-119"><code>timestring</code></a>: <a href="#Time-of-day">Time of day</a></li> -<li><a href="#index-toc_0040dots_007b_007dentry-179"><code>toc...entry</code></a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-tocfilebasename-191"><code>tocfilebasename</code></a>: <a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a></li> -<li><a href="#index-today-121"><code>today</code></a>: <a href="#Time-of-day">Time of day</a></li> -<li><a href="#index-top-_0040r_007b_0028destination-option_0029_007d-854"><code>top </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-top-_0040r_007b_0028destination-option_0029_007d-793"><code>top </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-topmargin-377"><code>topmargin</code></a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-tracingall-38"><code>tracingall</code></a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-tracingboxes-40"><code>tracingboxes</code></a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-tracingoff-41"><code>tracingoff</code></a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-triplecolumns-393"><code>triplecolumns</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-tt-509"><code>tt</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-ttfamily-508"><code>ttfamily</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-uncatcodespecials-1160"><code>uncatcodespecials</code></a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-uncatcodespecials-173"><code>uncatcodespecials</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-unorderedlist-130"><code>unorderedlist</code></a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-unorderedlistdepth-148"><code>unorderedlistdepth</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-unorderedmarker-146"><code>unorderedmarker</code></a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-url-1299"><code>url</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-url-_0040r_007b_0028hyperlink-type_0029_007d-868"><code>url </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-url-_0040r_007b_0028hyperlink-type_0029_007d-755"><code>url </code><span class="roman">(hyperlink type)</span></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-url-_0040r_007b_0028hyperlinks_0029_007d-582"><code>url </code><span class="roman">(hyperlinks)</span></a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-usepackage-475"><code>usepackage</code></a>: <a href="#The-_005cusepackage-command">The \usepackage command</a></li> -<li><a href="#index-varrowlength-1125"><code>varrowlength</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-varrowlength-1064"><code>varrowlength</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-vchannel-1140"><code>vchannel</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-verbatim-168"><code>verbatim</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-verbatimescapechar-169"><code>verbatimescapechar</code></a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-vgrid-1143"><code>vgrid</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-vgrid-1120"><code>vgrid</code></a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-vline-1087"><code>vline</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-vmorphposn-1132"><code>vmorphposn</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-vmorphposn-1067"><code>vmorphposn</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-vmorphposndn-1134"><code>vmorphposndn</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-vmorphposndn-1072"><code>vmorphposndn</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-vmorphposnlft-1136"><code>vmorphposnlft</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-vmorphposnlft-1076"><code>vmorphposnlft</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-vmorphposnrt-1135"><code>vmorphposnrt</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-vmorphposnrt-1075"><code>vmorphposnrt</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-vmorphposnup-1133"><code>vmorphposnup</code></a>: <a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></li> -<li><a href="#index-vmorphposnup-1071"><code>vmorphposnup</code></a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-vpenalty-1245"><code>vpenalty</code></a>: <a href="#Mode_002dspecific-penalties">Mode-specific penalties</a></li> -<li><a href="#index-vruledefaultwidth-50"><code>vruledefaultwidth</code></a>: <a href="#Rules">Rules</a></li> -<li><a href="#index-width-_0040r_007b_0028destination-option_0029_007d-837"><code>width </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-width-_0040r_007b_0028destination-option_0029_007d-805"><code>width </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-width-_0040r_007b_0028hyperlink-option_0029_007d-943"><code>width </code><span class="roman">(hyperlink option)</span></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-writenumberedtocentry-180"><code>writenumberedtocentry</code></a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-writenumberedtocline-181"><code>writenumberedtocline</code></a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-writetocentry-178"><code>writetocentry</code></a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-XeLaTeX-446"><code>XeLaTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-XeTeX-448"><code>XeTeX</code></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-xrdef-212"><code>xrdef</code></a>: <a href="#Page-references">Page references</a></li> -<li><a href="#index-xrdef-_0040r_007b_0028hyperlinks_0029_007d-619"><code>xrdef </code><span class="roman">(hyperlinks)</span></a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-xref-213"><code>xref</code></a>: <a href="#Page-references">Page references</a></li> -<li><a href="#index-xref-_0040r_007b_0028hyperlinks_0029_007d-624"><code>xref </code><span class="roman">(hyperlinks)</span></a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-xrefn-208"><code>xrefn</code></a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-xrefn-_0040r_007b_0028hyperlinks_0029_007d-613"><code>xrefn </code><span class="roman">(hyperlinks)</span></a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-xrefpageword-626"><code>xrefpageword</code></a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-xrefpageword-214"><code>xrefpageword</code></a>: <a href="#Page-references">Page references</a></li> -<li><a href="#index-xrefwarning-_0040r_007bconditional_007d-209"><code>xrefwarning </code><span class="roman">conditional</span></a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-xrefwarningfalse-69"><code>xrefwarningfalse</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-xrlabel-1202"><code>xrlabel</code></a>: <a href="#Converting-to-characters">Converting to characters</a></li> -<li><a href="#index-xyz-_0040r_007b_0028destination-type_0029_007d-790"><code>xyz </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-xyz-_0040r_007b_0028destination-type_0029_007d-739"><code>xyz </code><span class="roman">(destination type)</span></a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-zoom-_0040r_007b_0028destination-option_0029_007d-824"><code>zoom </code><span class="roman">(destination option)</span></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-zoom-_0040r_007b_0028destination-option_0029_007d-791"><code>zoom </code><span class="roman">(destination option)</span></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> - </ul><!-- Public domain. --> -<!-- makeinfo complains about bad links if we make them implicit. Strange. --> -<div class="node"> +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Macro-index_fn_symbol-1"><b>@</b></a> + +<br> +<a class="summary-letter" href="#Macro-index_fn_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-E"><b>E</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-G"><b>G</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-Q"><b>Q</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-R"><b>R</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-V"><b>V</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-W"><b>W</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-X"><b>X</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-Z"><b>Z</b></a> + +</td></tr></table> +<table class="index-fn" border="0"> +<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_symbol-1">@</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-_0040hllabel"><code>@hllabel</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_0040hllabel-1"><code>@hllabel</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_0040hllabel-2"><code>@hllabel</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_0040hllabel-3"><code>@hllabel</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_0040indexproof-insertion-class"><code>@indexproof <span class="roman">insertion class</span></code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-A">A</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-abovecolumnskip"><code>abovecolumnskip</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-abovecolumnspenalty"><code>abovecolumnspenalty</code></a>:</td><td> </td><td valign="top"><a href="#Tables">Tables</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-abovelistpenalty"><code>abovelistpenalty</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-abovelistskip"><code>abovelistskip</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-abovelistskipamount"><code>abovelistskipamount</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-adjarrow"><code>adjarrow</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-adjmapdown"><code>adjmapdown</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-adjmapleft"><code>adjmapleft</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-adjmapright"><code>adjmapright</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-adjmapup"><code>adjmapup</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-advancebottommargin"><code>advancebottommargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-advanceleftmargin"><code>advanceleftmargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-advancerightmargin"><code>advancerightmargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-advancetopmargin"><code>advancetopmargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-afterindexterm"><code>afterindexterm</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-afterindexterm-hook"><code>afterindexterm <span class="roman">hook</span></code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-AMSLaTeX-1"><code>AMSLaTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-AMSTeX-1"><code>AMSTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-arrow"><code>arrow</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-arrow-1"><code>arrow</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-B">B</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-bblem"><code>bblem</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bblemph"><code>bblemph</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bblfilebasename"><code>bblfilebasename</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bblhook"><code>bblhook</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bblnewblock"><code>bblnewblock</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bblrm"><code>bblrm</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bblsc"><code>bblsc</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bcolor-_0028hyperlink-option_0029"><code>bcolor <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bdash-_0028hyperlink-option_0029"><code>bdash <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bdash-_0028hyperlink-option_0029-1"><code>bdash <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-begin-for-index-entries"><code>begin <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-beginindex-hook"><code>beginindex <span class="roman">hook</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-beginlist"><code>beginlist</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-beginpackages"><code>beginpackages</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-begin_007bpicture_007d"><code>begin{picture}</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-begin_007btheindex_007d"><code>begin{theindex}</code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-belowcolumnskip"><code>belowcolumnskip</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-belowfootnoterulespace"><code>belowfootnoterulespace</code></a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-belowlistskip"><code>belowlistskip</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-belowlistskipamount"><code>belowlistskipamount</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-biarrow"><code>biarrow</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-biblabelcontents"><code>biblabelcontents</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-biblabelextraspace"><code>biblabelextraspace</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-biblabelpostcontents"><code>biblabelpostcontents</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-biblabelprecontents"><code>biblabelprecontents</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-biblabelprint"><code>biblabelprint</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-biblabelwidth"><code>biblabelwidth</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliography"><code>bibliography</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliography-_0028hyperlinks_0029"><code>bibliography <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliographystyle"><code>bibliographystyle</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-BibTeX-2"><code>BibTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bihline"><code>bihline</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bimapdown"><code>bimapdown</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bimapleft"><code>bimapleft</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bimapright"><code>bimapright</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bimapup"><code>bimapup</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bisline"><code>bisline</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bivline"><code>bivline</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-blackbox"><code>blackbox</code></a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-blanklineskipamount-in-justified-text"><code>blanklineskipamount <span class="roman">in justified text</span></code></a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-blanklineskipamount-in-obeyed-text"><code>blanklineskipamount <span class="roman">in obeyed text</span></code></a>:</td><td> </td><td valign="top"><a href="#Obeying-spaces">Obeying spaces</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bottom-_0028destination-option_0029"><code>bottom <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bottom-_0028destination-option_0029-1"><code>bottom <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bottommargin"><code>bottommargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-boxit"><code>boxit</code></a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-boxitspace"><code>boxitspace</code></a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bstyle-_0028hyperlink-option_0029"><code>bstyle <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bwidth-_0028hyperlink-option_0029"><code>bwidth <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-C">C</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-catcode"><code>catcode</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-center"><code>center</code></a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-centereddisplays"><code>centereddisplays</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-channelwidth"><code>channelwidth</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-channelwidth-1"><code>channelwidth</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cite"><code>cite</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cite-_0028hyperlinks_0029"><code>cite <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028destination-option_0029"><code>cmd <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028destination-option_0029-1"><code>cmd <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-hypertex">Destination options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028destination-option_0029-2"><code>cmd <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028destination-option_0029-3"><code>cmd <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028hyperlink-option_0029"><code>cmd <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028hyperlink-option_0029-1"><code>cmd <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-hypertex">Link options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028hyperlink-option_0029-2"><code>cmd <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmd-_0028hyperlink-option_0029-3"><code>cmd <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color-_0028hyperlink-option_0029"><code>color <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-colormodel-_0028hyperlink-option_0029"><code>colormodel <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-columnfill"><code>columnfill</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-commdiag"><code>commdiag</code></a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-commdiagbaselines"><code>commdiagbaselines</code></a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-commdiagbaselines-1"><code>commdiagbaselines</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-csn"><code>csn</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005ccsn-and-_005cece">\csn and \ece</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-D">D</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-definecolor"><code>definecolor</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-definecontentsfile"><code>definecontentsfile</code></a>:</td><td> </td><td valign="top"><a href="#Alternative-contents-files">Alternative contents files</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-defineindex"><code>defineindex</code></a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-definexref"><code>definexref</code></a>:</td><td> </td><td valign="top"><a href="#Defining-generic-references">Defining generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-definexref-1"><code>definexref</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-definexref-_0028hyperlinks_0029"><code>definexref <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-depth-_0028destination-option_0029"><code>depth <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-depth-_0028destination-option_0029-1"><code>depth <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-depth-_0028hyperlink-option_0029"><code>depth <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-discretionaries"><code>discretionaries</code></a>:</td><td> </td><td valign="top"><a href="#Paths">Paths</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-displaylines"><code>displaylines</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dospecials"><code>dospecials</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-doublecolumns"><code>doublecolumns</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-drawline"><code>drawline</code></a>:</td><td> </td><td valign="top"><a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-drawvector"><code>drawvector</code></a>:</td><td> </td><td valign="top"><a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm-_0028hyperlink-driver_0029"><code>dvipdfm <span class="roman">(hyperlink driver)</span></code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-E">E</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-eattoken"><code>eattoken</code></a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ece"><code>ece</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005ccsn-and-_005cece">\csn and \ece</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-edefappend"><code>edefappend</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cedefappend">\edefappend</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ehrule"><code>ehrule</code></a>:</td><td> </td><td valign="top"><a href="#Rules">Rules</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-em"><code>em</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-emph"><code>emph</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-enablehyperlinks"><code>enablehyperlinks</code></a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-enablehyperlinks-1"><code>enablehyperlinks</code></a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-enablehyperlinks-2"><code>enablehyperlinks</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-end-for-index-entries"><code>end <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-endlist"><code>endlist</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-endnumberedlist"><code>endnumberedlist</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-endorderedlist"><code>endorderedlist</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-endpackages"><code>endpackages</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-endunorderedlist"><code>endunorderedlist</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-end_007bpicture_007d"><code>end{picture}</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-end_007btheindex_007d"><code>end{theindex}</code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eplain"><code>eplain</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eplaininput"><code>eplaininput</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqalignno"><code>eqalignno</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqalignno-1"><code>eqalignno</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqalignnum"><code>eqalignnum</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqconstruct"><code>eqconstruct</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-equation-references">Formatting equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqdef"><code>eqdef</code></a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqdef-_0028hyperlinks_0029"><code>eqdef <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqdefn"><code>eqdefn</code></a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqdefn-_0028hyperlinks_0029"><code>eqdefn <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqno"><code>eqno</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqnum"><code>eqnum</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqnum-1"><code>eqnum</code></a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqnum-2"><code>eqnum</code></a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqnumber"><code>eqnumber</code></a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqprint"><code>eqprint</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-equation-references">Formatting equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqref"><code>eqref</code></a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqref-1"><code>eqref</code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqrefn"><code>eqrefn</code></a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqrefn-1"><code>eqrefn</code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqsubdef"><code>eqsubdef</code></a>:</td><td> </td><td valign="top"><a href="#Subequation-references">Subequation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqsubdef-_0028hyperlinks_0029"><code>eqsubdef <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqsubdefn"><code>eqsubdefn</code></a>:</td><td> </td><td valign="top"><a href="#Subequation-references">Subequation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqsubdefn-_0028hyperlinks_0029"><code>eqsubdefn <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eqsubreftext"><code>eqsubreftext</code></a>:</td><td> </td><td valign="top"><a href="#Subequation-references">Subequation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eTeX-1"><code>eTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-everyfootnote"><code>everyfootnote</code></a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-evrule"><code>evrule</code></a>:</td><td> </td><td valign="top"><a href="#Rules">Rules</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-expandonce"><code>expandonce</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cexpandonce">\expandonce</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ext-_0028hyperlink-option_0029"><code>ext <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ext-_0028hyperlink-option_0029-1"><code>ext <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-hypertex">Link options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ExTeX-1"><code>ExTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-F">F</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-file-_0028hyperlink-option_0029"><code>file <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-file-_0028hyperlink-option_0029-1"><code>file <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-hypertex">Link options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-file-_0028hyperlink-option_0029-2"><code>file <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-file-_0028hyperlink-option_0029-3"><code>file <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-file-_0028hyperlink-option_0029-4"><code>file <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fileexists-_0028conditional_0029"><code>fileexists <span class="roman">(conditional)</span></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-files">Auxiliary files</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-filename-_0028hyperlink-type_0029"><code>filename <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-filename-_0028hyperlink-type_0029-1"><code>filename <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-filepage-_0028hyperlink-type_0029"><code>filepage <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fit-_0028destination-type_0029"><code>fit <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fitb-_0028destination-type_0029"><code>fitb <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fitbh-_0028destination-type_0029"><code>fitbh <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fitbv-_0028destination-type_0029"><code>fitbv <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fith-_0028destination-type_0029"><code>fith <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fitr-_0028destination-type_0029"><code>fitr <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fitv-_0028destination-type_0029"><code>fitv <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-flushleft"><code>flushleft</code></a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-flushright"><code>flushright</code></a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fmtversion"><code>fmtversion</code></a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-footnote-_0028hyperlinks_0029"><code>footnote <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-footnotemarkseparation"><code>footnotemarkseparation</code></a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-footnoteruleheight"><code>footnoteruleheight</code></a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-footnoterulewidth"><code>footnoterulewidth</code></a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-for"><code>for</code></a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-For"><code>For</code></a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-frac"><code>frac</code></a>:</td><td> </td><td valign="top"><a href="#Fractions">Fractions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fullmonthname"><code>fullmonthname</code></a>:</td><td> </td><td valign="top"><a href="#Time-of-day">Time of day</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-futurenonspacelet"><code>futurenonspacelet</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-G">G</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-getproperty"><code>getproperty</code></a>:</td><td> </td><td valign="top"><a href="#Properties">Properties</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gloggingall"><code>gloggingall</code></a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gobble"><code>gobble</code></a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gobbletwo"><code>gobbletwo</code></a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gridcommdiag"><code>gridcommdiag</code></a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gtracingall"><code>gtracingall</code></a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gutter"><code>gutter</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gutterbox"><code>gutterbox</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-H">H</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-hangindent-for-index-entries"><code>hangindent <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-harrowlength"><code>harrowlength</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-harrowlength-1"><code>harrowlength</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hchannel"><code>hchannel</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-height-_0028destination-option_0029"><code>height <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-height-_0028destination-option_0029-1"><code>height <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-height-_0028hyperlink-option_0029"><code>height <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hgrid"><code>hgrid</code></a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hgrid-1"><code>hgrid</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldest"><code>hldest</code></a>:</td><td> </td><td valign="top"><a href="#Explicit-hyperlinks">Explicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldest-1"><code>hldest</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldest-2"><code>hldest</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldest-3"><code>hldest</code></a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldestoff"><code>hldestoff</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldestoff-1"><code>hldestoff</code></a>:</td><td> </td><td valign="top"><a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldeston"><code>hldeston</code></a>:</td><td> </td><td valign="top"><a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldestopts"><code>hldestopts</code></a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldestopts-1"><code>hldestopts</code></a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldestopts-2"><code>hldestopts</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldesttype"><code>hldesttype</code></a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldesttype-1"><code>hldesttype</code></a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hldesttype-2"><code>hldesttype</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlend"><code>hlend</code></a>:</td><td> </td><td valign="top"><a href="#Explicit-hyperlinks">Explicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlend-1"><code>hlend</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlfootbacklabel"><code>hlfootbacklabel</code></a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlfootlabel"><code>hlfootlabel</code></a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlfootlabelnumber"><code>hlfootlabelnumber</code></a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlhash"><code>hlhash</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlidx"><code>hlidx</code></a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlidxlabel"><code>hlidxlabel</code></a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlidxlabelnumber"><code>hlidxlabelnumber</code></a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlidxpage"><code>hlidxpage</code></a>:</td><td> </td><td valign="top"><a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlidxpagelabel"><code>hlidxpagelabel</code></a>:</td><td> </td><td valign="top"><a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlight-_0028hyperlink-option_0029"><code>hlight <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlightcommentslisting"><code>hlightcommentslisting</code></a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hline"><code>hline</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hloff"><code>hloff</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hloff-1"><code>hloff</code></a>:</td><td> </td><td valign="top"><a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlon"><code>hlon</code></a>:</td><td> </td><td valign="top"><a href="#Turning-low_002dlevel-commands-on_002foff">Turning low-level commands on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlopts"><code>hlopts</code></a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlopts-1"><code>hlopts</code></a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlopts-2"><code>hlopts</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlstart"><code>hlstart</code></a>:</td><td> </td><td valign="top"><a href="#Explicit-hyperlinks">Explicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlstart-1"><code>hlstart</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlstart-2"><code>hlstart</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlstart-3"><code>hlstart</code></a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hlstart-4"><code>hlstart</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hltype"><code>hltype</code></a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hltype-1"><code>hltype</code></a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposn"><code>hmorphposn</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposn-1"><code>hmorphposn</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposndn"><code>hmorphposndn</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposndn-1"><code>hmorphposndn</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposnlft"><code>hmorphposnlft</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposnlft-1"><code>hmorphposnlft</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposnrt"><code>hmorphposnrt</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposnrt-1"><code>hmorphposnrt</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposnup"><code>hmorphposnup</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hmorphposnup-1"><code>hmorphposnup</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hoffset"><code>hoffset</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hookaction"><code>hookaction</code></a>:</td><td> </td><td valign="top"><a href="#Hooks">Hooks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hookactiononce"><code>hookactiononce</code></a>:</td><td> </td><td valign="top"><a href="#Hooks">Hooks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hookappend"><code>hookappend</code></a>:</td><td> </td><td valign="top"><a href="#Hooks">Hooks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hookprepend"><code>hookprepend</code></a>:</td><td> </td><td valign="top"><a href="#Hooks">Hooks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hookrun"><code>hookrun</code></a>:</td><td> </td><td valign="top"><a href="#Hooks">Hooks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-href"><code>href</code></a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hruledefaultdepth"><code>hruledefaultdepth</code></a>:</td><td> </td><td valign="top"><a href="#Rules">Rules</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hruledefaultheight"><code>hruledefaultheight</code></a>:</td><td> </td><td valign="top"><a href="#Rules">Rules</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hsize"><code>hsize</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hypertex-_0028hyperlink-driver_0029"><code>hypertex <span class="roman">(hyperlink driver)</span></code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyphenpenalty-for-index-entries"><code>hyphenpenalty <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-I">I</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-identity"><code>identity</code></a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idx"><code>idx</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idx-_0028hyperlinks_0029"><code>idx <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxargclose"><code>idxargclose</code></a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxargopen"><code>idxargopen</code></a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxbeginrangemark"><code>idxbeginrangemark</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxencapoperator"><code>idxencapoperator</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxendrangemark"><code>idxendrangemark</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxexact"><code>idxexact</code></a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxmarked"><code>idxmarked</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxmarked-_0028hyperlinks_0029"><code>idxmarked <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxname"><code>idxname</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxname-_0028hyperlinks_0029"><code>idxname <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxnameseparator"><code>idxnameseparator</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxnone"><code>idxnone</code></a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxpage"><code>idxpage</code></a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxpagei"><code>idxpagei</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxpageii"><code>idxpageii</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxpagelistdelimiter"><code>idxpagelistdelimiter</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxpagenum"><code>idxpagenum</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxpagerangedelimiter"><code>idxpagerangedelimiter</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxpagerangedelimiter-1"><code>idxpagerangedelimiter</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxparselist"><code>idxparselist</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxparserange"><code>idxparserange</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxrangebeginword"><code>idxrangebeginword</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxrangeendword"><code>idxrangeendword</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxseealsocmdword"><code>idxseealsocmdword</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxseecmdword"><code>idxseecmdword</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxsubentryseparator"><code>idxsubentryseparator</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxsubmarked"><code>idxsubmarked</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxsubmarked-_0028hyperlinks_0029"><code>idxsubmarked <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifempty"><code>ifempty</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cifempty">\ifempty</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-iffileexists"><code>iffileexists</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-files">Auxiliary files</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifidx"><code>ifidx</code></a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifindexproofing"><code>ifindexproofing</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifinteger"><code>ifinteger</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifpdf"><code>ifpdf</code></a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifpdf-1"><code>ifpdf</code></a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifrewritetocfile"><code>ifrewritetocfile</code></a>:</td><td> </td><td valign="top"><a href="#Reading-the-_002etoc-file">Reading the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ifundefined"><code>ifundefined</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cifundefined">\ifundefined</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-includegraphics"><code>includegraphics</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexfilebasename"><code>indexfilebasename</code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexfonts"><code>indexfonts</code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexitem-hook"><code>indexitem <span class="roman">hook</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexprooffont"><code>indexprooffont</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexproofingfalse"><code>indexproofingfalse</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexproofingtrue"><code>indexproofingtrue</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexproofterm"><code>indexproofterm</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexproofunbox"><code>indexproofunbox</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexsee"><code>indexsee</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexsee-1"><code>indexsee</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexseealso"><code>indexseealso</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexseealso-1"><code>indexseealso</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexseealsowords"><code>indexseealsowords</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexseeword"><code>indexseeword</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexsetmargins"><code>indexsetmargins</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexspace"><code>indexspace</code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innerdef"><code>innerdef</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innerinnerdef"><code>innerinnerdef</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewbox"><code>innernewbox</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewcount"><code>innernewcount</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewdimen"><code>innernewdimen</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewfam"><code>innernewfam</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewhelp"><code>innernewhelp</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewif"><code>innernewif</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewinsert"><code>innernewinsert</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewlanguage"><code>innernewlanguage</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewread"><code>innernewread</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewskip"><code>innernewskip</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewtoks"><code>innernewtoks</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-innernewwrite"><code>innernewwrite</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-input"><code>input</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-insidemargin"><code>insidemargin</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-interfootnoteskip"><code>interfootnoteskip</code></a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-interitemskip"><code>interitemskip</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-interitemskipamount"><code>interitemskipamount</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-isinteger"><code>isinteger</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-item-in-indexes"><code>item <span class="roman">in indexes</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-itemletter"><code>itemletter</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-itemnumber"><code>itemnumber</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ituline"><code>ituline</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-J">J</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-jobname"><code>jobname</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-jobname-1"><code>jobname</code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-jobname-2"><code>jobname</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-files">Auxiliary files</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-L">L</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-LAMSTeX-1"><code>LAMSTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-4"><code>LaTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lbracechar"><code>lbracechar</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left-_0028destination-option_0029"><code>left <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left-_0028destination-option_0029-1"><code>left <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left-_0028destination-option_0029-2"><code>left <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left-_0028destination-option_0029-3"><code>left <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left-_0028destination-option_0029-4"><code>left <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-leftdisplayindent"><code>leftdisplayindent</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-leftdisplays"><code>leftdisplays</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-leftdisplaysetup"><code>leftdisplaysetup</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-displays">Formatting displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lefteqnumbers"><code>lefteqnumbers</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-leftmargin"><code>leftmargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-leqalignno"><code>leqalignno</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-leqalignno-1"><code>leqalignno</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-leqno"><code>leqno</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-letreturn"><code>letreturn</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-letter"><code>letter</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lft"><code>lft</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-li"><code>li</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-li-_0028hyperlinks_0029"><code>li <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#List-hyperlinks">List hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linenumberedlisting"><code>linenumberedlisting</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linenumberedlisting-1"><code>linenumberedlisting</code></a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listcompact"><code>listcompact</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listing"><code>listing</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listing-1"><code>listing</code></a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listingfont"><code>listingfont</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listleftindent"><code>listleftindent</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listmarkerspace"><code>listmarkerspace</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listrightindent"><code>listrightindent</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-loggingall"><code>loggingall</code></a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-loop"><code>loop</code></a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-M">M</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeactive"><code>makeactive</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeatletter"><code>makeatletter</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeatother"><code>makeatother</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeblankbox"><code>makeblankbox</code></a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makecolumns"><code>makecolumns</code></a>:</td><td> </td><td valign="top"><a href="#Tables">Tables</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeheadline"><code>makeheadline</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapdown"><code>mapdown</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapdown-1"><code>mapdown</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapleft"><code>mapleft</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapleft-1"><code>mapleft</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapright"><code>mapright</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapright-1"><code>mapright</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapup"><code>mapup</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mapup-1"><code>mapup</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-matrix"><code>matrix</code></a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mbox"><code>mbox</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-MF"><code>MF</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-monthname"><code>monthname</code></a>:</td><td> </td><td valign="top"><a href="#Time-of-day">Time of day</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-morphdist"><code>morphdist</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-morphdist-1"><code>morphdist</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-N">N</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-name-_0028hyperlink-type_0029"><code>name <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-name-_0028hyperlink-type_0029-1"><code>name <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-new_2026"><code>new…</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-newblock"><code>newblock</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-newcommand"><code>newcommand</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-newwin-_0028hyperlink-option_0029"><code>newwin <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-newwin-_0028hyperlink-option_0029-1"><code>newwin <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-newwin-_0028hyperlink-option_0029-2"><code>newwin <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-noarrow"><code>noarrow</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-noauxfile"><code>noauxfile</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-nobibtex"><code>nobibtex</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-nocite"><code>nocite</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-nolastlinelisting"><code>nolastlinelisting</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-nolastlinelisting-1"><code>nolastlinelisting</code></a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-nolinks-_0028hyperlink-driver_0029"><code>nolinks <span class="roman">(hyperlink driver)</span></code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-normalbaselineskip"><code>normalbaselineskip</code></a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-num-_0028hyperlink-type_0029"><code>num <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numberedfootnote"><code>numberedfootnote</code></a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numberedfootnote-_0028hyperlinks_0029"><code>numberedfootnote <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numberedlist"><code>numberedlist</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numberedlistdepth"><code>numberedlistdepth</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numberedmarker"><code>numberedmarker</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numbername"><code>numbername</code></a>:</td><td> </td><td valign="top"><a href="#Writing-out-numbers">Writing out numbers</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-O">O</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-obeywhitespace"><code>obeywhitespace</code></a>:</td><td> </td><td valign="top"><a href="#Obeying-spaces">Obeying spaces</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-orderedlist"><code>orderedlist</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-other"><code>other</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-outer"><code>outer</code></a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-outsidemargin"><code>outsidemargin</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-P">P</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-page-_0028hyperlink-type_0029"><code>page <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pagefit-_0028hyperlink-option_0029"><code>pagefit <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pagefit-_0028hyperlink-option_0029-1"><code>pagefit <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pagefit-_0028hyperlink-option_0029-2"><code>pagefit <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pagefit-_0028hyperlink-option_0029-3"><code>pagefit <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pageno"><code>pageno</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pagetotal"><code>pagetotal</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-paperheight"><code>paperheight</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-paperwidth"><code>paperwidth</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-parindent-in-indexes"><code>parindent <span class="roman">in indexes</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-path"><code>path</code></a>:</td><td> </td><td valign="top"><a href="#Paths">Paths</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdfoutput"><code>pdfoutput</code></a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex-_0028hyperlink-driver_0029"><code>pdftex <span class="roman">(hyperlink driver)</span></code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-percentchar"><code>percentchar</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-phantomeqlabel"><code>phantomeqlabel</code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-phantomeqnumber"><code>phantomeqnumber</code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-previouseverydisplay"><code>previouseverydisplay</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-displays">Formatting displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-printbetweencitations"><code>printbetweencitations</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-citations">Formatting citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-printcitefinish"><code>printcitefinish</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-citations">Formatting citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-printcitenote"><code>printcitenote</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-citations">Formatting citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-printcitestart"><code>printcitestart</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-citations">Formatting citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-printitem"><code>printitem</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-printlistinglineno"><code>printlistinglineno</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-printlistinglineno-1"><code>printlistinglineno</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-providecommand"><code>providecommand</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-Q">Q</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-quadcolumns"><code>quadcolumns</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-R">R</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-raggedright-for-index-entries"><code>raggedright <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raise-_0028hyperlink-option_0029"><code>raise <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raise-_0028hyperlink-option_0029-1"><code>raise <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raw-_0028destination-type_0029"><code>raw <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raw-_0028destination-type_0029-1"><code>raw <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raw-_0028hyperlink-type_0029"><code>raw <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raw-_0028hyperlink-type_0029-1"><code>raw <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rbracechar"><code>rbracechar</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-readindexfile"><code>readindexfile</code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-readindexfile-_0028hyperlinks_0029"><code>readindexfile <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-readtocfile"><code>readtocfile</code></a>:</td><td> </td><td valign="top"><a href="#Reading-the-_002etoc-file">Reading the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ref"><code>ref</code></a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ref-1"><code>ref</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ref-_0028hyperlinks_0029"><code>ref <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-refn"><code>refn</code></a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-refn-_0028hyperlinks_0029"><code>refn <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-refs"><code>refs</code></a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-refs-_0028hyperlinks_0029"><code>refs <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-refspace"><code>refspace</code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-refspace-1"><code>refspace</code></a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-reftie"><code>reftie</code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-reftie-1"><code>reftie</code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-reftie-2"><code>reftie</code></a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-renewcommand"><code>renewcommand</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-repeat"><code>repeat</code></a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-resetatcatcode"><code>resetatcatcode</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-resetatcatcode-1"><code>resetatcatcode</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rewritetocfile-_0028conditional_0029"><code>rewritetocfile <span class="roman">(conditional)</span></code></a>:</td><td> </td><td valign="top"><a href="#Reading-the-_002etoc-file">Reading the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-right-_0028destination-option_0029"><code>right <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-right-_0028destination-option_0029-1"><code>right <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-righteqnumbers"><code>righteqnumbers</code></a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rightmargin"><code>rightmargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rotatebox"><code>rotatebox</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rt"><code>rt</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-S">S</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-sanitize"><code>sanitize</code></a>:</td><td> </td><td valign="top"><a href="#Converting-to-characters">Converting to characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sarrowlength"><code>sarrowlength</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sarrowlength-1"><code>sarrowlength</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sc"><code>sc</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-see-for-index-entries"><code>see <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-see-for-index-entries-1"><code>see <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-seealso-for-index-entries"><code>seealso <span class="roman">for index entries</span></code></a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-seevariant"><code>seevariant</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-setidxpagelistdelimiter"><code>setidxpagelistdelimiter</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-setidxpagerangedelimiter"><code>setidxpagerangedelimiter</code></a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-setproperty"><code>setproperty</code></a>:</td><td> </td><td valign="top"><a href="#Properties">Properties</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-setuplistinghook"><code>setuplistinghook</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-setuplistinghook-1"><code>setuplistinghook</code></a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sidx"><code>sidx</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sidxmarked"><code>sidxmarked</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sidxname"><code>sidxname</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sidxsubmarked"><code>sidxsubmarked</code></a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-singlecolumn"><code>singlecolumn</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sline"><code>sline</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sline-1"><code>sline</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-SLiTeX-1"><code>SLiTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-special"><code>special</code></a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-specialpathdelimiters-_0028conditional_0029"><code>specialpathdelimiters <span class="roman">(conditional)</span></code></a>:</td><td> </td><td valign="top"><a href="#Paths">Paths</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-subeqnumber"><code>subeqnumber</code></a>:</td><td> </td><td valign="top"><a href="#Subequation-references">Subequation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-subitem-in-indexes"><code>subitem <span class="roman">in indexes</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-subsubitem-in-indexes"><code>subsubitem <span class="roman">in indexes</span></code></a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-T">T</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-testfileexistence"><code>testfileexistence</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-files">Auxiliary files</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-TeX"><code>TeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-textbf"><code>textbf</code></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-timestamp"><code>timestamp</code></a>:</td><td> </td><td valign="top"><a href="#Time-of-day">Time of day</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-timestring"><code>timestring</code></a>:</td><td> </td><td valign="top"><a href="#Time-of-day">Time of day</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-toc_2026entry"><code>toc…entry</code></a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-toc_2026entry-1"><code>toc…entry</code></a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tocfilebasename"><code>tocfilebasename</code></a>:</td><td> </td><td valign="top"><a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-today"><code>today</code></a>:</td><td> </td><td valign="top"><a href="#Time-of-day">Time of day</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-top-_0028destination-option_0029"><code>top <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-top-_0028destination-option_0029-1"><code>top <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-top-_0028destination-option_0029-2"><code>top <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-top-_0028destination-option_0029-3"><code>top <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-top-_0028destination-option_0029-4"><code>top <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-topmargin"><code>topmargin</code></a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tracingall"><code>tracingall</code></a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tracingboxes"><code>tracingboxes</code></a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tracingoff"><code>tracingoff</code></a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-triplecolumns"><code>triplecolumns</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tt"><code>tt</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ttfamily"><code>ttfamily</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-U">U</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-uncatcodespecials"><code>uncatcodespecials</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-uncatcodespecials-1"><code>uncatcodespecials</code></a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-unorderedlist"><code>unorderedlist</code></a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-unorderedlistdepth"><code>unorderedlistdepth</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-unorderedmarker"><code>unorderedmarker</code></a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-url"><code>url</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-url-_0028hyperlink-type_0029"><code>url <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-url-_0028hyperlink-type_0029-1"><code>url <span class="roman">(hyperlink type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-url-_0028hyperlinks_0029"><code>url <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-usepackage"><code>usepackage</code></a>:</td><td> </td><td valign="top"><a href="#The-_005cusepackage-command">The \usepackage command</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-V">V</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-varrowlength"><code>varrowlength</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-varrowlength-1"><code>varrowlength</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vchannel"><code>vchannel</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-verbatim"><code>verbatim</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-verbatimescapechar"><code>verbatimescapechar</code></a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vgrid"><code>vgrid</code></a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vgrid-1"><code>vgrid</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vline"><code>vline</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposn"><code>vmorphposn</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposn-1"><code>vmorphposn</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposndn"><code>vmorphposndn</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposndn-1"><code>vmorphposndn</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposnlft"><code>vmorphposnlft</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposnlft-1"><code>vmorphposnlft</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposnrt"><code>vmorphposnrt</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposnrt-1"><code>vmorphposnrt</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposnup"><code>vmorphposnup</code></a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vmorphposnup-1"><code>vmorphposnup</code></a>:</td><td> </td><td valign="top"><a href="#Commutative-diagram-parameters">Commutative diagram parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vpenalty"><code>vpenalty</code></a>:</td><td> </td><td valign="top"><a href="#Mode_002dspecific-penalties">Mode-specific penalties</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-vruledefaultwidth"><code>vruledefaultwidth</code></a>:</td><td> </td><td valign="top"><a href="#Rules">Rules</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-W">W</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-width-_0028destination-option_0029"><code>width <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-width-_0028destination-option_0029-1"><code>width <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-width-_0028hyperlink-option_0029"><code>width <span class="roman">(hyperlink option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-writenumberedtocentry"><code>writenumberedtocentry</code></a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-writenumberedtocline"><code>writenumberedtocline</code></a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-writetocentry"><code>writetocentry</code></a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-X">X</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-XeLaTeX-1"><code>XeLaTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-XeTeX-1"><code>XeTeX</code></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrdef"><code>xrdef</code></a>:</td><td> </td><td valign="top"><a href="#Page-references">Page references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrdef-_0028hyperlinks_0029"><code>xrdef <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xref"><code>xref</code></a>:</td><td> </td><td valign="top"><a href="#Page-references">Page references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xref-_0028hyperlinks_0029"><code>xref <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrefn"><code>xrefn</code></a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrefn-_0028hyperlinks_0029"><code>xrefn <span class="roman">(hyperlinks)</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrefpageword"><code>xrefpageword</code></a>:</td><td> </td><td valign="top"><a href="#Page-references">Page references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrefpageword-1"><code>xrefpageword</code></a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrefwarning-conditional"><code>xrefwarning <span class="roman">conditional</span></code></a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrefwarningfalse"><code>xrefwarningfalse</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xrlabel"><code>xrlabel</code></a>:</td><td> </td><td valign="top"><a href="#Converting-to-characters">Converting to characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xyz-_0028destination-type_0029"><code>xyz <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xyz-_0028destination-type_0029-1"><code>xyz <span class="roman">(destination type)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Macro-index_fn_letter-Z">Z</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-zoom-_0028destination-option_0029"><code>zoom <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-zoom-_0028destination-option_0029-1"><code>zoom <span class="roman">(destination option)</span></code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +</table> +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Macro-index_fn_symbol-1"><b>@</b></a> + +<br> +<a class="summary-letter" href="#Macro-index_fn_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-E"><b>E</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-G"><b>G</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-Q"><b>Q</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-R"><b>R</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-V"><b>V</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-W"><b>W</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-X"><b>X</b></a> + +<a class="summary-letter" href="#Macro-index_fn_letter-Z"><b>Z</b></a> + +</td></tr></table> + +<hr> <a name="Concept-index"></a> -<p><hr> -Previous: <a rel="previous" accesskey="p" href="#Macro-index">Macro index</a>, -Up: <a rel="up" accesskey="u" href="#Top">Top</a> - +<div class="header"> +<p> +Previous: <a href="#Macro-index" accesskey="p" rel="previous">Macro index</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Macro-index" title="Index" rel="index">Index</a>]</p> </div> - +<a name="Concept-index-1"></a> <h2 class="unnumbered">Concept index</h2> - - -<ul class="index-cp" compact> -<li><a href="#index-g_t_002eaux-_0040r_007bfile_007d-198"><code>.aux </code><span class="roman">file</span></a>: <a href="#Cross_002dreferences">Cross-references</a></li> -<li><a href="#index-g_t_002eaux-_0040r_007bfile_007d-58"><code>.aux </code><span class="roman">file</span></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-g_t_002ebbl-_0040r_007bfile_007d-61"><code>.bbl </code><span class="roman">file</span></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-g_t_002ebib-_0040r_007bfile_007d-60"><code>.bib </code><span class="roman">file</span></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-g_t_002ebst-_0040r_007bfiles_007d-68"><code>.bst </code><span class="roman">files</span></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-g_t_002ecls-_0040r_007bfiles_007d-469"><code>.cls </code><span class="roman">files</span></a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-g_t_002eeps-_0040r_007bfiles_007d-514"><code>.eps </code><span class="roman">files</span></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-g_t_002efmt-_0040r_007bfile_007d-25"><code>.fmt </code><span class="roman">file</span></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-g_t_002efmt-_0040r_007bfile_007d-18"><code>.fmt </code><span class="roman">file</span></a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-g_t_002eidx-_0040r_007bfiles_007d-655"><code>.idx </code><span class="roman">files</span></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-g_t_002eidx-_0040r_007bfiles_007d-243"><code>.idx </code><span class="roman">files</span></a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-g_t_002eind-_0040r_007bfiles_007d-656"><code>.ind </code><span class="roman">files</span></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-g_t_002eind-_0040r_007bfiles_007d-244"><code>.ind </code><span class="roman">files</span></a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-g_t_002epdf-_0040r_007bfiles_007d-545"><code>.pdf </code><span class="roman">files</span></a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-g_t_002epdf-_0040r_007bfiles_007d-517"><code>.pdf </code><span class="roman">files</span></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-g_t_002epdf-_0040r_007bfiles_007d-461"><code>.pdf </code><span class="roman">files</span></a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-g_t_002eps-_0040r_007bfiles_007d-544"><code>.ps </code><span class="roman">files</span></a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-g_t_002esty-_0040r_007bfiles_007d-468"><code>.sty </code><span class="roman">files</span></a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-g_t_002etoc-_0040r_007bfile_007d-177"><code>.toc </code><span class="roman">file</span></a>: <a href="#Contents">Contents</a></li> -<li><a href="#index-active-characters-1148">active characters</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-after-index-terms-341">after index terms</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-alignments-373">alignments</a>: <a href="#Tables">Tables</a></li> -<li><a href="#index-all-groups_002c-specifying-1012">all groups, specifying</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-allocation-macros-1164">allocation macros</a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-alphanumeric-references-75">alphanumeric references</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-AMS_0040LaTeX_007b_007d-427">AMSLaTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-amsppt_002esty-30"><code>amsppt.sty</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-AMS_0040TeX_007b_007d-429">AMSTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-AMS_0040TeX_007b_007d-conflicts-31">AMSTeX conflicts</a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-arguments_002c-ignoring-1193">arguments, ignoring</a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-arrows-1053">arrows</a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-atom-1214">atom</a>: <a href="#Properties">Properties</a></li> -<li><a href="#index-autopict_002esty-486"><code>autopict.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-avoiding-boxed-links-990">avoiding boxed links</a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-avoiding-boxed-links-585">avoiding boxed links</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-axuiliary-files_002c-existence-of-1246">axuiliary files, existence of</a>: <a href="#Auxiliary-files">Auxiliary files</a></li> -<li><a href="#index-backslash-character-1151">backslash character</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-balancing-of-columns-with-_0040code_007b_005csinglecolumn_007d-397">balancing of columns with <code>\singlecolumn</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-Berry_002c-Karl-8">Berry, Karl</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-beveled-hyperlink-border-916">beveled hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-bibliographies-54">bibliographies</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-bibliography-fonts-87">bibliography fonts</a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bibliography-items_002c-extra-space-between-93">bibliography items, extra space between</a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bibliography_002c-formatting-the-82">bibliography, formatting the</a>: <a href="#Formatting-bibliographies">Formatting bibliographies</a></li> -<li><a href="#index-bibliography_002c-hyperlinks-595">bibliography, hyperlinks</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-Bib_0040TeX_007b_007d-431">BibTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-Bib_0040TeX_007b_007d-55">BibTeX</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-bibtex-33"><code>bibtex</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-black-boxes-450">black boxes</a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-Borceux_002c-Francis-1115">Borceux, Francis</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-border-color_002c-hyperlink-907">border color, hyperlink</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-border-style_002c-hyperlink-912">border style, hyperlink</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-border-width_002c-hyperlink-926">border width, hyperlink</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-Bott_002c-Raoul-1103">Bott, Raoul</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-boxed-links_002c-avoiding-989">boxed links, avoiding</a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-boxed-links_002c-avoiding-584">boxed links, avoiding</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-boxes_002c-open-454">boxes, open</a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-braces_002c-inside-index-entries-288">braces, inside index entries</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-brackets_002c-inside-index-entries-292">brackets, inside index entries</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-Brockett_002c-Roger-W_002e-1108">Brockett, Roger W.</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-Butterfly-Lemma-1123">Butterfly Lemma</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-Carlisle_002c-David-473">Carlisle, David</a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-category-codes-1144">category codes</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-centering-364">centering</a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-characters_002c-converting-to-1201">characters, converting to</a>: <a href="#Converting-to-characters">Converting to characters</a></li> -<li><a href="#index-characters_002c-special-172">characters, special</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-citations-53">citations</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-citations_002c-formatting-77">citations, formatting</a>: <a href="#Formatting-citations">Formatting citations</a></li> -<li><a href="#index-citations_002c-hyperlinks-590">citations, hyperlinks</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-citations_002c-undefined-64">citations, undefined</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-cmtt8-302"><code>cmtt8</code></a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-color-495">color</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-color_002c-demo-1290">color, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-color_002c-hyperlink-border-908">color, hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-color_002c-hyperlinks-991">color, hyperlinks</a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-color_002c-hyperlinks-720">color, hyperlinks</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-color_002c-hyperlinks-586">color, hyperlinks</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-color_002c-problems-with-pdf_0040TeX_007b_007d-498">color, problems with pdfTeX</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-color_002esty-1293"><code>color.sty</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-color_002esty-994"><code>color.sty</code></a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-color_002esty-961"><code>color.sty</code></a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-color_002esty-589"><code>color.sty</code></a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-color_002esty-490"><code>color.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-colored-links-992">colored links</a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-colored-links-721">colored links</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-colored-links-587">colored links</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-column-balancing-with-_0040code_007b_005csinglecolumn_007d-396">column balancing with <code>\singlecolumn</code></a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-column-eject-399">column eject</a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-commas-after-index-terms-340">commas after index terms</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-commas-in-cross_002dreferencing-index-entries-361">commas in cross-referencing index entries</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-comments_002c-highlighting-in-listings-1304">comments, highlighting in listings</a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-commutative-diagrams-1052">commutative diagrams</a>: <a href="#Commutative-diagrams">Commutative diagrams</a></li> -<li><a href="#index-contents-176">contents</a>: <a href="#Contents">Contents</a></li> -<li><a href="#index-contents_002c-and-verbatim-text-183">contents, and verbatim text</a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-contents_002c-hyperlinks-701">contents, hyperlinks</a>: <a href="#Contents-hyperlinks">Contents hyperlinks</a></li> -<li><a href="#index-Con_0040TeX_007b_007dt-502">ConTeXt</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-continued-index-entries-330">continued index entries</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-covering-homotopy-property-1105">covering homotopy property</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-cross_002dreferences-197">cross-references</a>: <a href="#Cross_002dreferences">Cross-references</a></li> -<li><a href="#index-cross_002dreferences_002c-defining-general-206">cross-references, defining general</a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-cross_002dreferences_002c-defining-general-202">cross-references, defining general</a>: <a href="#Defining-generic-references">Defining generic references</a></li> -<li><a href="#index-cross_002dreferences_002c-demo-1285">cross-references, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-cross_002dreferences_002c-hyperlinks-606">cross-references, hyperlinks</a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-cross_002dreferencing-index-entries-359">cross-referencing index entries</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-cross_002dreferencing-index-entries-280">cross-referencing index entries</a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-g_t_0040kbd_007bCTRL_002dL_007d_002c-and-verbatim-listing-167"><kbd>CTRL-L</kbd>, and verbatim listing</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-cube-1118">cube</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-customizing-indexing-338">customizing indexing</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-dashed-hyperlink-border-910">dashed hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-date-116">date</a>: <a href="#Time-of-day">Time of day</a></li> -<li><a href="#index-default-hyperlink-options-1005">default hyperlink options</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-default-hyperlink-options-966">default hyperlink options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-default-hyperlink-type-1004">default hyperlink type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-default-hyperlink-type-965">default hyperlink type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-defining-general-references-204">defining general references</a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-defining-general-references-200">defining general references</a>: <a href="#Defining-generic-references">Defining generic references</a></li> -<li><a href="#index-definitions_002c-global-1157">definitions, global</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-demo-files-1264">demo files</a>: <a href="#Demo-files">Demo files</a></li> -<li><a href="#index-destgroup-567">destgroup</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-destgroup-_0060bib_0027-598">destgroup `bib'</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-destgroup-_0060definexref_0027-609">destgroup `definexref'</a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-destgroup-_0060eq_0027-636">destgroup `eq'</a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-destgroup-_0060foot_0027-693">destgroup `foot'</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-destgroup-_0060footback_0027-694">destgroup `footback'</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-destgroup-_0060idx_0027-652">destgroup `idx'</a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-destgroup-_0060li_0027-604">destgroup `li'</a>: <a href="#List-hyperlinks">List hyperlinks</a></li> -<li><a href="#index-destgroup-_0060xrdef_0027-623">destgroup `xrdef'</a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-destgroup-options-1018">destgroup options</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-destgroup-options-984">destgroup options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-destgroup-options_002c-demo-1278">destgroup options, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-destgroup-type-1002">destgroup type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-destgroup-type-983">destgroup type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-destgroup-type_002c-demo-1281">destgroup type, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-destination-group-566">destination group</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-destination-options-554">destination options</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-destination-options_002c-common-704">destination options, common</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-destination-options_002c-_0040code_007bdvipdfm_007d-818">destination options, <code>dvipdfm</code></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-destination-options_002c-_0040code_007bhypertex_007d-744">destination options, <code>hypertex</code></a>: <a href="#Destination-options-for-hypertex">Destination options for hypertex</a></li> -<li><a href="#index-destination-options_002c-_0040code_007bpdftex_007d-817">destination options, <code>pdftex</code></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-destination-type-551">destination type</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-destination-types_002c-_0040code_007bdvipdfm_007d-785">destination types, <code>dvipdfm</code></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-destination-types_002c-_0040code_007bhypertex_007d-736">destination types, <code>hypertex</code></a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-destination-types_002c-_0040code_007bpdftex_007d-784">destination types, <code>pdftex</code></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-default-options-1009">destinations, default options</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-destinations_002c-default-options-970">destinations, default options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-destinations_002c-default-type-1008">destinations, default type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-destinations_002c-default-type-969">destinations, default type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-destinations_002c-dimensions-830">destinations, dimensions</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-disabling-1039">destinations, disabling</a>: <a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></li> -<li><a href="#index-destinations_002c-disabling-953">destinations, disabling</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-destinations_002c-group-options-1017">destinations, group options</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-destinations_002c-group-options-982">destinations, group options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-destinations_002c-group-options_002c-demo-1277">destinations, group options, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-destinations_002c-group-type-1001">destinations, group type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-destinations_002c-group-type-981">destinations, group type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-destinations_002c-group-type_002c-demo-1280">destinations, group type, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-destinations_002c-in-another-file-879">destinations, in another file</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-in-another-file-761">destinations, in another file</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-destinations_002c-large-operators-1029">destinations, large operators</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-destinations_002c-large-operators-715">destinations, large operators</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-destinations_002c-magnification-825">destinations, magnification</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-named-866">destinations, named</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-named-753">destinations, named</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-destinations_002c-numbered-897">destinations, numbered</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-page-874">destinations, page</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-raising-709">destinations, raising</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-destinations_002c-_0040acronym_007bURL_007d-870">destinations, <acronym>URL</acronym></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-destinations_002c-_0040acronym_007bURL_007d-757">destinations, <acronym>URL</acronym></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-detecting-numbers-1229">detecting numbers</a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-diagnostics-36">diagnostics</a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-Diagram_002c-macros-for-LaTeX-1116">Diagram, macros for LaTeX</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-dimensions_002c-hyperlink-939">dimensions, hyperlink</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-dimensions_002c-hyperlink-destination-832">dimensions, hyperlink destination</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-disabling-hyperlinks-1037">disabling hyperlinks</a>: <a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></li> -<li><a href="#index-disabling-hyperlinks-951">disabling hyperlinks</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-disabling-indexes-250">disabling indexes</a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-displayed-math-and-hyperlinks-1026">displayed math and hyperlinks</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-displayed-math-and-hyperlinks-712">displayed math and hyperlinks</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-displays_002c-left_002djustifying-94">displays, left-justifying</a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-do_0040dots_007b_007dwhile-loops-1186">do<small class="dots">...</small>while loops</a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-double-column-output-388">double column output</a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-double-columns-in-indexes-322">double columns in indexes</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-g_t_0040code_007bdraft_007d_002c-option-for-_0040file_007bgraphics_002esty_007d-507"><code>draft</code>, option for <samp><span class="file">graphics.sty</span></samp></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-driver-_0040code_007bdvipdfm_007d-781">driver <code>dvipdfm</code></a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-driver-_0040code_007bhypertex_007d-725">driver <code>hypertex</code></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-driver-_0040code_007bnolinks_007d-948">driver <code>nolinks</code></a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-driver-_0040code_007bpdftex_007d-780">driver <code>pdftex</code></a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-drivers_002c-hyperlink-542">drivers, hyperlink</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-dvipdfm-728"><code>dvipdfm</code></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-dvipdfm-547"><code>dvipdfm</code></a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-g_t_0040code_007bdvipdfm_007d_002c-destination-options-822"><code>dvipdfm</code>, destination options</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bdvipdfm_007d_002c-destination-types-789"><code>dvipdfm</code>, destination types</a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bdvipdfm_007d_002c-hyperlink-driver-779"><code>dvipdfm</code>, hyperlink driver</a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bdvipdfm_007d_002c-link-options-904"><code>dvipdfm</code>, link options</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bdvipdfm_007d_002c-link-types-863"><code>dvipdfm</code>, link types</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-dvips-729"><code>dvips</code></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-Eijkhout_002c-Victor-1191">Eijkhout, Victor</a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-eject-in-multicolumns-400">eject in multicolumns</a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-electronic-mail-addresses_002c-breaking-533">electronic mail addresses, breaking</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-electronic-mail-addresses_002c-breaking-419">electronic mail addresses, breaking</a>: <a href="#Paths">Paths</a></li> -<li><a href="#index-empty-argument_002c-checking-for-1224">empty argument, checking for</a>: <a href="#g_t_005cifempty">\ifempty</a></li> -<li><a href="#index-empty-equation-labels-220">empty equation labels</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-empty-equation-labels_002c-referring-to-223">empty equation labels, referring to</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-empty-string_002c-checking-for-1223">empty string, checking for</a>: <a href="#g_t_005cifempty">\ifempty</a></li> -<li><a href="#index-Encapsulated-PostScript-512">Encapsulated PostScript</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-environments_002c-user_002ddefined-1251">environments, user-defined</a>: <a href="#User_002ddefined-environments">User-defined environments</a></li> -<li><a href="#index-Eplain_002c-installing-13">Eplain, installing</a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-Eplain_002c-invoking-24">Eplain, invoking</a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-Eplain_002c-purpose-of-1">Eplain, purpose of</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-Eplain_002c-upgrading-15">Eplain, upgrading</a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-eplain_002eaux-21"><code>eplain.aux</code></a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-eplain_002efmt-20"><code>eplain.fmt</code></a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-g_t_0040acronym_007bEPS_007d-513"><acronym>EPS</acronym></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-epstopdf-518"><code>epstopdf</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-epstopdf_002esty-511"><code>epstopdf.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-equation-labels_002c-characters-valid-in-229">equation labels, characters valid in</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-equation-numbers_002c-formatting-of-230">equation numbers, formatting of</a>: <a href="#Formatting-equation-references">Formatting equation references</a></li> -<li><a href="#index-equation-numbers_002c-left_002dalignment-97">equation numbers, left-alignment</a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-equations_002c-giving-numbers-to-all-222">equations, giving numbers to all</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-equations_002c-groups-of-233">equations, groups of</a>: <a href="#Subequation-references">Subequation references</a></li> -<li><a href="#index-equations_002c-hyperlinks-633">equations, hyperlinks</a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-equations_002c-numbering-216">equations, numbering</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-equations_002c-references-to-215">equations, references to</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-error-messages-45">error messages</a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-error-on-_0040code_007b_005cinput_007d-483">error on <code>\input</code></a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-escape-character_002c-changing-verbatim-170">escape character, changing verbatim</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-e_0040TeX_007b_007d-433">eTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-exact-index-hyperlinks-660">exact index hyperlinks</a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-expansion_002c-one_002dlevel-1217">expansion, one-level</a>: <a href="#g_t_005cexpandonce">\expandonce</a></li> -<li><a href="#index-explicit-hyperlinks-556">explicit hyperlinks</a>: <a href="#Explicit-hyperlinks">Explicit hyperlinks</a></li> -<li><a href="#index-explicit-hyperlinks_002c-demo-1267">explicit hyperlinks, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-Ex_0040TeX_007b_007d-435">ExTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-file_002c-hyperlink-to-878">file, hyperlink to</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-file_002c-hyperlink-to-760">file, hyperlink to</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-g_t_0040samp_007bfile_003a_007d-links-576">‘<samp><span class="samp">file:</span></samp>’ links</a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-filenames_002c-breaking-532">filenames, breaking</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-filenames_002c-breaking-418">filenames, breaking</a>: <a href="#Paths">Paths</a></li> -<li><a href="#index-files_002c-verbatim-listing-of-158">files, verbatim listing of</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-files_002c-verbatim-listing-of_002c-demo-1303">files, verbatim listing of, demo</a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-filtering-index-entries-with-hyperlinks-664">filtering index entries with hyperlinks</a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-footnotes_002c-hyperlinks-687">footnotes, hyperlinks</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-footnotes_002c-numbered-407">footnotes, numbered</a>: <a href="#Footnotes">Footnotes</a></li> -<li><a href="#index-for-loops-1184">for loops</a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-form-feed-character_002c-and-verbatim-listing-166">form feed character, and verbatim listing</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-format-file-19">format file</a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-formatting-index-entries-328">formatting index entries</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-fractions-415">fractions</a>: <a href="#Fractions">Fractions</a></li> -<li><a href="#index-g_t_0040r_007bGhostscript_007d-730"><span class="roman">Ghostscript</span></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-gobbling-arguments-1195">gobbling arguments</a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-golden-mean-1111">golden mean</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-Graham_002c-Ronald-L_002e-71">Graham, Ronald L.</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-graphics-collection_002c-_0040LaTeX_007b_007d-962">graphics collection, LaTeX</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-graphics-collection_002c-_0040LaTeX_007b_007d-493">graphics collection, LaTeX</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-graphics-collection_002c-_0040LaTeX_007b_007d-470">graphics collection, LaTeX</a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-graphics-collection_002c-_0040LaTeX_007b_007d_002c-demo-1288">graphics collection, LaTeX, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-graphics_002c-omitting-typesetting-of-506">graphics, omitting typesetting of</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-graphics_002c-problems-with-pdf_0040TeX_007b_007d-499">graphics, problems with pdfTeX</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-graphics_002esty-491"><code>graphics.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-graphicx_002esty-1294"><code>graphicx.sty</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-graphicx_002esty-492"><code>graphicx.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-grid-1114">grid</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-group-_0060_0027-_0028empty_0029-1003">group `' (empty)</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-group-_0060_002a_0027-1010">group `*'</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-group-_0060bib_0027-597">group `bib'</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-group-_0060cite_0027-592">group `cite'</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-group-_0060definexref_0027-608">group `definexref'</a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-group-_0060eq_0027-1031">group `eq'</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-group-_0060eq_0027-635">group `eq'</a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-group-_0060foot_0027-689">group `foot'</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-group-_0060footback_0027-690">group `footback'</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-group-_0060hrefext_0027-574">group `hrefext'</a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-group-_0060hrefint_0027-570">group `hrefint'</a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-group-_0060idx_0027-650">group `idx'</a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-group-_0060li_0027-603">group `li'</a>: <a href="#List-hyperlinks">List hyperlinks</a></li> -<li><a href="#index-group-_0060ref_0027-610">group `ref'</a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-group-_0060url_0027-580">group `url'</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-group-_0060xrdef_0027-622">group `xrdef'</a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-group-_0060xref_0027-627">group `xref'</a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-group-option-list-1034">group option list</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-group-options_002c-hyperlink-1013">group options, hyperlink</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-group-options_002c-hyperlink-974">group options, hyperlink</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-group-options_002c-hyperlink_002c-demo-1273">group options, hyperlink, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-group-type_002c-hyperlink-997">group type, hyperlink</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-group-type_002c-hyperlink-973">group type, hyperlink</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-group-type_002c-hyperlink_002c-demo-1279">group type, hyperlink, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-group_002c-destination-568">group, destination</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-group_002c-disabling-hyperlinks-1044">group, disabling hyperlinks</a>: <a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a></li> -<li><a href="#index-group_002c-link-565">group, link</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-group_002c-preserving-option-list-1021">group, preserving option list</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-groups_002c-specifying-all-1011">groups, specifying all</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-hanging-on-_0040code_007b_005cinput_007d-482">hanging on <code>\input</code></a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-help-messages-44">help messages</a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-highlight-modes_002c-hyperlink-932">highlight modes, hyperlink</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-highlighting-529">highlighting</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-highlighting_002c-in-listings-1305">highlighting, in listings</a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-H_0040_0022oppner_002c-Klaus-510">Höppner, Klaus</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-hooks-1207">hooks</a>: <a href="#Hooks">Hooks</a></li> -<li><a href="#index-hyperlink-border-color-906">hyperlink border color</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-color-993">hyperlink color</a>: <a href="#Setting-default-types-and-options">Setting default types and options</a></li> -<li><a href="#index-hyperlink-color-722">hyperlink color</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-hyperlink-color-588">hyperlink color</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-hyperlink-destination_002c-dimensions-831">hyperlink destination, dimensions</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-destination_002c-magnification-826">hyperlink destination, magnification</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-destination_002c-named-867">hyperlink destination, named</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-destination_002c-named-754">hyperlink destination, named</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-hyperlink-destination_002c-numbered-898">hyperlink destination, numbered</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-destination_002c-page-875">hyperlink destination, page</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-destination_002c-raising-708">hyperlink destination, raising</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-hyperlink-dimensions-938">hyperlink dimensions</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-driver-_0040code_007bdvipdfm_007d-783">hyperlink driver <code>dvipdfm</code></a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-driver-_0040code_007bhypertex_007d-726">hyperlink driver <code>hypertex</code></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-hyperlink-driver-_0040code_007bnolinks_007d-949">hyperlink driver <code>nolinks</code></a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-hyperlink-driver-_0040code_007bpdftex_007d-782">hyperlink driver <code>pdftex</code></a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlink-drivers-541">hyperlink drivers</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-hyperlink-group_002c-disabling-hyperlinks-1045">hyperlink group, disabling hyperlinks</a>: <a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a></li> -<li><a href="#index-hyperlink-group_002c-preserving-option-list-1022">hyperlink group, preserving option list</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-hyperlink-options_002c-common-703">hyperlink options, common</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-hyperlinks_002c-bibliography-596">hyperlinks, bibliography</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-border-style-911">hyperlinks, border style</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlinks_002c-border-width-925">hyperlinks, border width</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlinks_002c-citations-591">hyperlinks, citations</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-cross_002dreferences-607">hyperlinks, cross-references</a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-default-options-1007">hyperlinks, default options</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-hyperlinks_002c-default-options-968">hyperlinks, default options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-hyperlinks_002c-default-type-1006">hyperlinks, default type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-hyperlinks_002c-default-type-967">hyperlinks, default type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-hyperlinks_002c-demo-1266">hyperlinks, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hyperlinks_002c-disabling-1038">hyperlinks, disabling</a>: <a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></li> -<li><a href="#index-hyperlinks_002c-disabling-952">hyperlinks, disabling</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-hyperlinks_002c-equations-634">hyperlinks, equations</a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-explicit-557">hyperlinks, explicit</a>: <a href="#Explicit-hyperlinks">Explicit hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-explicit_002c-demo-1268">hyperlinks, explicit, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hyperlinks_002c-filtering-index-entries-665">hyperlinks, filtering index entries</a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-hyperlinks_002c-footnotes-688">hyperlinks, footnotes</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-group-option-list-1035">hyperlinks, group option list</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-hyperlinks_002c-group-options-1014">hyperlinks, group options</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-hyperlinks_002c-group-options-976">hyperlinks, group options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-hyperlinks_002c-group-options_002c-demo-1274">hyperlinks, group options, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hyperlinks_002c-group-type-998">hyperlinks, group type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-hyperlinks_002c-group-type-975">hyperlinks, group type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-hyperlinks_002c-highlight-mode-931">hyperlinks, highlight mode</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlinks_002c-implicit-562">hyperlinks, implicit</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-implicit_002c-demo-1270">hyperlinks, implicit, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-hyperlinks_002c-index-649">hyperlinks, index</a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-index-destination-placement-676">hyperlinks, index destination placement</a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-hyperlinks_002c-index_002c-exact-662">hyperlinks, index, exact</a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-hyperlinks_002c-large-operators-1028">hyperlinks, large operators</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-hyperlinks_002c-large-operators-714">hyperlinks, large operators</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-hyperlinks_002c-lists-601">hyperlinks, lists</a>: <a href="#List-hyperlinks">List hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-opening-in-a-new-window-934">hyperlinks, opening in a new window</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlinks_002c-page-references-621">hyperlinks, page references</a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-preserving-page_002dbreaking-957">hyperlinks, preserving page-breaking</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-hyperlinks_002c-preserving-spacing-955">hyperlinks, preserving spacing</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-hyperlinks_002c-see-and-see-also-index-entries-681">hyperlinks, see and see also index entries</a>: <a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></li> -<li><a href="#index-hyperlinks_002c-table-of-contents-702">hyperlinks, table of contents</a>: <a href="#Contents-hyperlinks">Contents hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-to-another-file-880">hyperlinks, to another file</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlinks_002c-to-another-file-762">hyperlinks, to another file</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-hyperlinks_002c-_0040acronym_007bURL_007d-871">hyperlinks, <acronym>URL</acronym></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-hyperlinks_002c-_0040acronym_007bURL_007d-758">hyperlinks, <acronym>URL</acronym></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-hyperlinks_002c-_0040acronym_007bURL_007d-579">hyperlinks, <acronym>URL</acronym></a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-hyperlinks_002c-_0040acronym_007bURL_007d-573">hyperlinks, <acronym>URL</acronym></a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-hyperref_002esty-536"><code>hyperref.sty</code></a>: <a href="#Packages-known-not-to-work">Packages known not to work</a></li> -<li><a href="#index-g_t_0040code_007bhypertex_007d_002c-destination-options-746"><code>hypertex</code>, destination options</a>: <a href="#Destination-options-for-hypertex">Destination options for hypertex</a></li> -<li><a href="#index-g_t_0040code_007bhypertex_007d_002c-destination-types-738"><code>hypertex</code>, destination types</a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-g_t_0040code_007bhypertex_007d_002c-hyperlink-driver-724"><code>hypertex</code>, hyperlink driver</a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-g_t_0040code_007bhypertex_007d_002c-link-options-772"><code>hypertex</code>, link options</a>: <a href="#Link-options-for-hypertex">Link options for hypertex</a></li> -<li><a href="#index-g_t_0040code_007bhypertex_007d_002c-link-types-750"><code>hypertex</code>, link types</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-hypertext-links-540">hypertext links</a>: <a href="#Hyperlinks">Hyperlinks</a></li> -<li><a href="#index-identifying-numbers-1230">identifying numbers</a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-idxuniq-663"><code>idxuniq</code></a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-ignoring-arguments-1194">ignoring arguments</a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-implicit-hyperlinks-561">implicit hyperlinks</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-implicit-hyperlinks_002c-demo-1269">implicit hyperlinks, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-inaccessible-macros-1153">inaccessible macros</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-index-entries-and-ranges-276">index entries and ranges</a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-index-entries-containing-braces-289">index entries containing braces</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-index-entries-containing-brackets-293">index entries containing brackets</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-index-entries-with-special-characters-284">index entries with special characters</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-index-entries_0027-page-numbers_002c-modifying-273">index entries' page numbers, modifying</a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-index-entries_002c-and-cross_002dreferencing-360">index entries, and cross-referencing</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-index-entries_002c-and-cross_002dreferencing-281">index entries, and cross-referencing</a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-index-entries_002c-proofing-295">index entries, proofing</a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-index-entries_002c-with-verbatim-text-285">index entries, with verbatim text</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-index-entry-continuations-331">index entry continuations</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-index-entry-formatting-327">index entry formatting</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-index-entry-general-sorting-268">index entry general sorting</a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-index-fonts-320">index fonts</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-index-groupings-337">index groupings</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-index-hyperlink-648">index hyperlink</a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-index-typesetting-313">index typesetting</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-index_002c-and-verbatim-text-286">index, and verbatim text</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-index_002c-choosing-destination-placement-675">index, choosing destination placement</a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-index_002c-destination-placement-673">index, destination placement</a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-index_002c-exact-hyperlinks-661">index, exact hyperlinks</a>: <a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></li> -<li><a href="#index-index_002c-hyperlinks-in-see-and-see-also-entries-682">index, hyperlinks in see and see also entries</a>: <a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></li> -<li><a href="#index-index_002c-parsing-page-numbers-668">index, parsing page numbers</a>: <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></li> -<li><a href="#index-index_002c-placement-of-destinations-672">index, placement of destinations</a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-index_002c-selecting-destination-placement-674">index, selecting destination placement</a>: <a href="#Choosing-destination-placement">Choosing destination placement</a></li> -<li><a href="#index-index_002c-underlining-page-numbers-1261">index, underlining page numbers</a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-indexes_002c-disabling-249">indexes, disabling</a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-indexes_002c-multiple-247">indexes, multiple</a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-indexing-239">indexing</a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-indexing-and-trailing-spaces-257">indexing and trailing spaces</a>: <a href="#Indexing-terms">Indexing terms</a></li> -<li><a href="#index-indexing-commands-258">indexing commands</a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-indexing-terms-252">indexing terms</a>: <a href="#Indexing-terms">Indexing terms</a></li> -<li><a href="#index-insertion-classes-406">insertion classes</a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-inset-hyperlink-border-917">inset hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-installation-14">installation</a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-integers_002c-detecting-1227">integers, detecting</a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-item-labels_002c-changing-154">item labels, changing</a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-iteration-1182">iteration</a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-justification-367">justification</a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-Knuth_002c-Donald-Ervin-1145">Knuth, Donald Ervin</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-Knuth_002c-Donald-Ervin-70">Knuth, Donald Ervin</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-labels-on-items_002c-changing-155">labels on items, changing</a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-labels_002c-characters-valid-in-199">labels, characters valid in</a>: <a href="#Cross_002dreferences">Cross-references</a></li> -<li><a href="#index-labels_002c-empty-equation-221">labels, empty equation</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-labels_002c-empty-equation_002c-referring-to-224">labels, empty equation, referring to</a>: <a href="#Equation-references">Equation references</a></li> -<li><a href="#index-Lamport_002c-Leslie-4">Lamport, Leslie</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-LAMS_0040TeX_007b_007d-437">LAMSTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-Lang_002c-Serge-1122">Lang, Serge</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-Lang_002c-Serge-1099">Lang, Serge</a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-large-operators-and-hyperlinks-1027">large operators and hyperlinks</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-large-operators-and-hyperlinks-713">large operators and hyperlinks</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-1048">LaTeX</a>: <a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-439">LaTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-57">LaTeX</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-3">LaTeX</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-graphics-collection-963">LaTeX graphics collection</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-graphics-collection-494">LaTeX graphics collection</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-graphics-collection-471">LaTeX graphics collection</a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-graphics-collection_002c-demo-1289">LaTeX graphics collection, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-packages-534">LaTeX packages</a>: <a href="#Packages-known-not-to-work">Packages known not to work</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-packages-484">LaTeX packages</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-packages-466">LaTeX packages</a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-g_t_0040LaTeX_007b_007d-packages_002c-restoring-_0040code_007b_005cinput_007d-479">LaTeX packages, restoring <code>\input</code></a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-left_002dalignment-of-equation-numbers-98">left-alignment of equation numbers</a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-left_002djustification-365">left-justification</a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-left_002djustification-of-displays-96">left-justification of displays</a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-letterspacing-524">letterspacing</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-linear-systems-theory-1110">linear systems theory</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-lines-1050">lines</a>: <a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></li> -<li><a href="#index-link-group-563">link group</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-link-options-553">link options</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-link-options_002c-common-716">link options, common</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-link-options_002c-_0040code_007bdvipdfm_007d-900">link options, <code>dvipdfm</code></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-link-options_002c-_0040code_007bhypertex_007d-770">link options, <code>hypertex</code></a>: <a href="#Link-options-for-hypertex">Link options for hypertex</a></li> -<li><a href="#index-link-options_002c-_0040code_007bpdftex_007d-899">link options, <code>pdftex</code></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-link-type-550">link type</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-link-types_002c-_0040code_007bdvipdfm_007d-859">link types, <code>dvipdfm</code></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-link-types_002c-_0040code_007bhypertex_007d-748">link types, <code>hypertex</code></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-link-types_002c-_0040code_007bpdftex_007d-858">link types, <code>pdftex</code></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-link_002c-group-options-1015">link, group options</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-link_002c-group-options-978">link, group options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-link_002c-group-options_002c-demo-1275">link, group options, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-link_002c-group-type-999">link, group type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-link_002c-group-type-977">link, group type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-linkgroup-564">linkgroup</a>: <a href="#Implicit-hyperlinks">Implicit hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060cite_0027-593">linkgroup `cite'</a>: <a href="#Citation-hyperlinks">Citation hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060eq_0027-1032">linkgroup `eq'</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-linkgroup-_0060eq_0027-643">linkgroup `eq'</a>: <a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060foot_0027-691">linkgroup `foot'</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060footback_0027-692">linkgroup `footback'</a>: <a href="#Footnote-hyperlinks">Footnote hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060hrefext_0027-575">linkgroup `hrefext'</a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060hrefint_0027-571">linkgroup `hrefint'</a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060idx_0027-651">linkgroup `idx'</a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060ref_0027-611">linkgroup `ref'</a>: <a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060url_0027-581">linkgroup `url'</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-linkgroup-_0060xref_0027-628">linkgroup `xref'</a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-linkgroup-options-1016">linkgroup options</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-linkgroup-options-980">linkgroup options</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-linkgroup-options_002c-demo-1276">linkgroup options, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-linkgroup-type-1000">linkgroup type</a>: <a href="#Setting-group-types">Setting group types</a></li> -<li><a href="#index-linkgroup-type-979">linkgroup type</a>: <a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></li> -<li><a href="#index-links_002c-hypertext-539">links, hypertext</a>: <a href="#Hyperlinks">Hyperlinks</a></li> -<li><a href="#index-list-of-figures-194">list of figures</a>: <a href="#Alternative-contents-files">Alternative contents files</a></li> -<li><a href="#index-list-of-tables-195">list of tables</a>: <a href="#Alternative-contents-files">Alternative contents files</a></li> -<li><a href="#index-listing-files-157">listing files</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-listing-files_002c-demo-1302">listing files, demo</a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-lists-122">lists</a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-lists_002c-formatting-134">lists, formatting</a>: <a href="#Formatting-lists">Formatting lists</a></li> -<li><a href="#index-lists_002c-hyperlinks-600">lists, hyperlinks</a>: <a href="#List-hyperlinks">List hyperlinks</a></li> -<li><a href="#index-logos-424">logos</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-lookahead-without-spaces-1234">lookahead without spaces</a>: <a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a></li> -<li><a href="#index-loops-1183">loops</a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-lscommnt_002etex-1300"><code>lscommnt.tex</code></a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-magnification_002c-hyperlink-destination-827">magnification, hyperlink destination</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-makeindex-654"><code>makeindex</code></a>: <a href="#Index-hyperlinks">Index hyperlinks</a></li> -<li><a href="#index-makeindex-242"><code>makeindex</code></a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-makeindex-34"><code>makeindex</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-margins_002c-changing-376">margins, changing</a>: <a href="#Margins">Margins</a></li> -<li><a href="#index-margins_002c-index-terms-in-296">margins, index terms in</a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-mathematics-displays_002c-formatting-95">mathematics displays, formatting</a>: <a href="#Displays">Displays</a></li> -<li><a href="#index-mathematics-displays_002c-hyperlinks-1025">mathematics displays, hyperlinks</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-mathematics-displays_002c-hyperlinks-711">mathematics displays, hyperlinks</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-Metafont-441">Metafont</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-miniltx_002etex-472"><code>miniltx.tex</code></a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-minimal-realizations-1109">minimal realizations</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-modifying-index-entries_0027-page-numbers-272">modifying index entries' page numbers</a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-morphisms-1054">morphisms</a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-multiple-column-output-391">multiple column output</a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-multiple-indexes-246">multiple indexes</a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-named-destination-865">named destination</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-named-destination-752">named destination</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-names_002c-of-_0040TeX_007b_007d-variants-425">names, of TeX variants</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-new-window_002c-opening-hyperlink-in-935">new window, opening hyperlink in</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-newlinechar-46">newlinechar</a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-newlines_002c-obeying-1239">newlines, obeying</a>: <a href="#Obeying-spaces">Obeying spaces</a></li> -<li><a href="#index-g_t_0040code_007bnolinks_007d_002c-hyperlink-driver-947"><code>nolinks</code>, hyperlink driver</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-numbered-destination-896">numbered destination</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-numbered-lists-123">numbered lists</a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-numbered-references-72">numbered references</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-numbers_002c-detecting-1228">numbers, detecting</a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-numbers_002c-written-form-of-1243">numbers, written form of</a>: <a href="#Writing-out-numbers">Writing out numbers</a></li> -<li><a href="#index-Oberdiek_002c-Heiko-465">Oberdiek, Heiko</a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-omitting-hyperlinks-1036">omitting hyperlinks</a>: <a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></li> -<li><a href="#index-omitting-hyperlinks-950">omitting hyperlinks</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-omitting-typesetting-of-graphics-505">omitting typesetting of graphics</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-open-boxes-453">open boxes</a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-option-list_002c-group-1033">option list, group</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-option-list_002c-preserving-for-group-1023">option list, preserving for group</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-options_002c-destination_002c-common-705">options, destination, common</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-options_002c-destination_002c-_0040code_007bdvipdfm_007d-820">options, destination, <code>dvipdfm</code></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-options_002c-destination_002c-_0040code_007bhypertex_007d-745">options, destination, <code>hypertex</code></a>: <a href="#Destination-options-for-hypertex">Destination options for hypertex</a></li> -<li><a href="#index-options_002c-destination_002c-_0040code_007bpdftex_007d-819">options, destination, <code>pdftex</code></a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-options_002c-link-and-destination-555">options, link and destination</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-options_002c-link_002c-common-717">options, link, common</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-options_002c-link_002c-_0040code_007bdvipdfm_007d-902">options, link, <code>dvipdfm</code></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-options_002c-link_002c-_0040code_007bhypertex_007d-771">options, link, <code>hypertex</code></a>: <a href="#Link-options-for-hypertex">Link options for hypertex</a></li> -<li><a href="#index-options_002c-link_002c-_0040code_007bpdftex_007d-901">options, link, <code>pdftex</code></a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-ordered-list-124">ordered list</a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-output-routine-and-index-proofing-311">output routine and index proofing</a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-overstriking-528">overstriking</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-packages_002c-_0040LaTeX_007b_007d-535">packages, LaTeX</a>: <a href="#Packages-known-not-to-work">Packages known not to work</a></li> -<li><a href="#index-packages_002c-_0040LaTeX_007b_007d-485">packages, LaTeX</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-packages_002c-_0040LaTeX_007b_007d-467">packages, LaTeX</a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-page-destination-873">page destination</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-page-list_002c-parsing-670">page list, parsing</a>: <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></li> -<li><a href="#index-page-range_002c-parsing-669">page range, parsing</a>: <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></li> -<li><a href="#index-page-reference-hyperlink-620">page reference hyperlink</a>: <a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></li> -<li><a href="#index-page_002dbreaking_002c-preserving-with-hyperlinks-956">page-breaking, preserving with hyperlinks</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-parsing-page-numbers-671">parsing page numbers</a>: <a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></li> -<li><a href="#index-Patashnik_002c-Oren-56">Patashnik, Oren</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-pathnames_002c-breaking-531">pathnames, breaking</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-pathnames_002c-breaking-417">pathnames, breaking</a>: <a href="#Paths">Paths</a></li> -<li><a href="#index-g_t_0040acronym_007bPDF_007d-516"><acronym>PDF</acronym></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-g_t_0040acronym_007bPDF_007d-output-459"><acronym>PDF</acronym> output</a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-pdftex-546"><code>pdftex</code></a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-pdftex-460"><code>pdftex</code></a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-pdftex-35"><code>pdftex</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-g_t_0040code_007bpdftex_007d_002c-destination-options-821"><code>pdftex</code>, destination options</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bpdftex_007d_002c-destination-types-788"><code>pdftex</code>, destination types</a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bpdftex_007d_002c-hyperlink-driver-778"><code>pdftex</code>, hyperlink driver</a>: <a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bpdftex_007d_002c-link-options-903"><code>pdftex</code>, link options</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040code_007bpdftex_007d_002c-link-types-862"><code>pdftex</code>, link types</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-pdf_0040TeX_007b_007d_002c-problems-using-color-and-graphics-500">pdfTeX, problems using color and graphics</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-pdf_0040TeX_007b_007d_002c-problems-with-_0040file_007bsupp_002dmis_002etex_007d-501">pdfTeX, problems with <samp><span class="file">supp-mis.tex</span></samp></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-pict2e_002esty-537"><code>pict2e.sty</code></a>: <a href="#Packages-known-not-to-work">Packages known not to work</a></li> -<li><a href="#index-picture-mode-1049">picture mode</a>: <a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></li> -<li><a href="#index-picture-mode-487">picture mode</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-Portable-Document-Format-515">Portable Document Format</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-PostScript-point-927">PostScript point</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-PostScript-point-841">PostScript point</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> -<li><a href="#index-PostScript-point-812">PostScript point</a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-proofing-index-terms-294">proofing index terms</a>: <a href="#Proofing-index-terms">Proofing index terms</a></li> -<li><a href="#index-properties-1213">properties</a>: <a href="#Properties">Properties</a></li> -<li><a href="#index-ps2pdf-731"><code>ps2pdf</code></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-psfrag_002esty-519"><code>psfrag.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-quadruple-column-output-390">quadruple column output</a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-Rahtz_002c-Sebastian-474">Rahtz, Sebastian</a>: <a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></li> -<li><a href="#index-raising-hyperlink-destinations-1030">raising hyperlink destinations</a>: <a href="#Setting-group-options">Setting group options</a></li> -<li><a href="#index-raising-hyperlink-destinations-707">raising hyperlink destinations</a>: <a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></li> -<li><a href="#index-ranges-and-index-entry-277">ranges and index entry</a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-recognizing-numbers-1231">recognizing numbers</a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-rectangles-451">rectangles</a>: <a href="#Boxes">Boxes</a></li> -<li><a href="#index-references_002c-alphanumeric-76">references, alphanumeric</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-references_002c-defining-general-205">references, defining general</a>: <a href="#Using-generic-references">Using generic references</a></li> -<li><a href="#index-references_002c-defining-general-201">references, defining general</a>: <a href="#Defining-generic-references">Defining generic references</a></li> -<li><a href="#index-references_002c-numbered-73">references, numbered</a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-register-allocation-1165">register allocation</a>: <a href="#Allocation-macros">Allocation macros</a></li> -<li><a href="#index-restoring-_0040code_007b_005cinput_007d_002c-_0040LaTeX_007b_007d-packages-480">restoring <code>\input</code>, LaTeX packages</a>: <a href="#Environment-for-loading-packages">Environment for loading packages</a></li> -<li><a href="#index-return-character-1159">return character</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-right_002djustification-366">right-justification</a>: <a href="#Justification">Justification</a></li> -<li><a href="#index-rms-7">rms</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-rotation-496">rotation</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-rotation_002c-demo-1291">rotation, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-rule-thickness-47">rule thickness</a>: <a href="#Rules">Rules</a></li> -<li><a href="#index-g_t_0040samp_007brun_003a_007d-links-577">‘<samp><span class="samp">run:</span></samp>’ links</a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-scaling-497">scaling</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-scaling_002c-demo-1292">scaling, demo</a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-sed-362"><code>sed</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-see-also-index-entries-and-hyperlinks-683">see also index entries and hyperlinks</a>: <a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></li> -<li><a href="#index-see-also-index-entries-and-sorting-351">see also index entries and sorting</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-see_002c-and-index-entries-358">see, and index entries</a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-see_002c-and-index-entries-279">see, and index entries</a>: <a href="#Modifying-index-entries">Modifying index entries</a></li> -<li><a href="#index-see_002c-and-index-entries_002c-hyperlinks-684">see, and index entries, hyperlinks</a>: <a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></li> -<li><a href="#index-silent-indexing-253">silent indexing</a>: <a href="#Indexing-terms">Indexing terms</a></li> -<li><a href="#index-skipping-tokens-1225">skipping tokens</a>: <a href="#g_t_005cifempty">\ifempty</a></li> -<li><a href="#index-skipping-tokens-1220">skipping tokens</a>: <a href="#g_t_005cifundefined">\ifundefined</a></li> -<li><a href="#index-SLi_0040TeX_007b_007d-443">SLiTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-Snake-Lemma-1100">Snake Lemma</a>: <a href="#Arrows-and-morphisms">Arrows and morphisms</a></li> -<li><a href="#index-solid-hyperlink-border-914">solid hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-sorting-an-index-240">sorting an index</a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-sorting-of-index-entries-269">sorting of index entries</a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-soul_002esty-523"><code>soul.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-space-above-index-entries-329">space above index entries</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-spaces_002c-ignoring-1235">spaces, ignoring</a>: <a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a></li> -<li><a href="#index-spaces_002c-obeying-1238">spaces, obeying</a>: <a href="#Obeying-spaces">Obeying spaces</a></li> -<li><a href="#index-spaces_002c-trailing-and-indexing-commands-256">spaces, trailing and indexing commands</a>: <a href="#Indexing-terms">Indexing terms</a></li> -<li><a href="#index-spacing-out-525">spacing out</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-spacing_002c-preserving-with-hyperlinks-954">spacing, preserving with hyperlinks</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-special-characters-171">special characters</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-special-characters_002c-in-index-entries-283">special characters, in index entries</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-special-characters_002c-in-table-of-contents-185">special characters, in table of contents</a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-Stallman_002c-Richard-6">Stallman, Richard</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-striking-out-527">striking out</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-style_002c-hyperlink-border-920">style, hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-subequations_002c-referring-to-234">subequations, referring to</a>: <a href="#Subequation-references">Subequation references</a></li> -<li><a href="#index-subterm-in-indexing-254">subterm in indexing</a>: <a href="#Indexing-terms">Indexing terms</a></li> -<li><a href="#index-supp_002dmis_002etex_0040r_007b_002c-problems-with-pdf_0040TeX_007b_007d_007d-503"><code>supp-mis.tex</code><span class="roman">, problems with pdfTeX</span></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-supp_002dpdf_002etex-504"><code>supp-pdf.tex</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-table-of-contents-175">table of contents</a>: <a href="#Contents">Contents</a></li> -<li><a href="#index-table-of-contents_002c-and-verbatim-text-182">table of contents, and verbatim text</a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-table-of-contents_002c-hyperlinks-700">table of contents, hyperlinks</a>: <a href="#Contents-hyperlinks">Contents hyperlinks</a></li> -<li><a href="#index-table-of-contents_002c-short-1198">table of contents, short</a>: <a href="#Macro-arguments">Macro arguments</a></li> -<li><a href="#index-table-of-contents_002c-short-188">table of contents, short</a>: <a href="#Reading-the-_002etoc-file">Reading the .toc file</a></li> -<li><a href="#index-tables-372">tables</a>: <a href="#Tables">Tables</a></li> -<li><a href="#index-tabs-1242">tabs</a>: <a href="#Obeying-spaces">Obeying spaces</a></li> -<li><a href="#index-g_t_0040i_007b_0040TeX_007b_007d-by-Topic_007d-1192"><i>TeX by Topic</i></a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-g_t_0040TeX_007b_007d-Frequently-Asked-Question-1233">TeX Frequently Asked Question</a>: <a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></li> -<li><a href="#index-TEXFORMATS-23"><code>TEXFORMATS</code></a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-texi2dvi-245"><code>texi2dvi</code></a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-texi2dvi-74"><code>texi2dvi</code></a>: <a href="#Citations">Citations</a></li> -<li><a href="#index-texi2dvi-32"><code>texi2dvi</code></a>: <a href="#Invoking-Eplain">Invoking Eplain</a></li> -<li><a href="#index-Texinfo-5">Texinfo</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-TEXINPUTS-17"><code>TEXINPUTS</code></a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-time-of-day-115">time of day</a>: <a href="#Time-of-day">Time of day</a></li> -<li><a href="#index-g_t_0040code_007btoc_007d-files_002c-writing-several-193"><code>toc</code> files, writing several</a>: <a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a></li> -<li><a href="#index-tracing-37">tracing</a>: <a href="#Diagnostics">Diagnostics</a></li> -<li><a href="#index-trailing-spaces-and-indexing-commands-255">trailing spaces and indexing commands</a>: <a href="#Indexing-terms">Indexing terms</a></li> -<li><a href="#index-trimsee-363"><code>trimsee</code></a>: <a href="#Customizing-indexing">Customizing indexing</a></li> -<li><a href="#index-triple-column-output-389">triple column output</a>: <a href="#Multiple-columns">Multiple columns</a></li> -<li><a href="#index-Tu_002c-Loring-W_002e-1104">Tu, Loring W.</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-g_t_0040i_007bTUGboat_007d-12"><i>TUGboat</i></a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-type_002c-link-and-destination-552">type, link and destination</a>: <a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></li> -<li><a href="#index-types_002c-destination_002c-_0040code_007bdvipdfm_007d-787">types, destination, <code>dvipdfm</code></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-types_002c-destination_002c-_0040code_007bhypertex_007d-737">types, destination, <code>hypertex</code></a>: <a href="#Destination-types-for-hypertex">Destination types for hypertex</a></li> -<li><a href="#index-types_002c-destination_002c-_0040code_007bpdftex_007d-786">types, destination, <code>pdftex</code></a>: <a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></li> -<li><a href="#index-types_002c-link_002c-_0040code_007bdvipdfm_007d-861">types, link, <code>dvipdfm</code></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-types_002c-link_002c-_0040code_007bhypertex_007d-749">types, link, <code>hypertex</code></a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-types_002c-link_002c-_0040code_007bpdftex_007d-860">types, link, <code>pdftex</code></a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-typesetting-an-index-312">typesetting an index</a>: <a href="#Typesetting-an-index">Typesetting an index</a></li> -<li><a href="#index-undefined-control-sequence_002c-checking-for-1221">undefined control sequence, checking for</a>: <a href="#g_t_005cifundefined">\ifundefined</a></li> -<li><a href="#index-undefined-labels_002c-warnings-about-22">undefined labels, warnings about</a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-underline-hyperlink-border-918">underline hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-underlining-526">underlining</a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-underlining-page-numbers-in-index-1260">underlining page numbers in index</a>: <a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></li> -<li><a href="#index-universal-mapping-property-1107">universal mapping property</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-unordered-lists-125">unordered lists</a>: <a href="#Lists">Lists</a></li> -<li><a href="#index-upgrading-16">upgrading</a>: <a href="#Installation">Installation</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-for-_0040file_007bifpdf_002esty_007d-464"><acronym>URL</acronym> for <samp><span class="file">ifpdf.sty</span></samp></a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-for-MakeIndex-241"><acronym>URL</acronym> for MakeIndex</a>: <a href="#Indexing">Indexing</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-for-_0040file_007bpath_002esty_007d-423"><acronym>URL</acronym> for <samp><span class="file">path.sty</span></samp></a>: <a href="#Paths">Paths</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-for-pdf_0040TeX_007b_007d-458"><acronym>URL</acronym> for pdfTeX</a>: <a href="#Checking-for-PDF-output">Checking for PDF output</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-for-_0040file_007btexnames_002esty_007d-449"><acronym>URL</acronym> for <samp><span class="file">texnames.sty</span></samp></a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-hyperlink-869"><acronym>URL</acronym> hyperlink</a>: <a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-hyperlink-756"><acronym>URL</acronym> hyperlink</a>: <a href="#Link-types-for-hypertex">Link types for hypertex</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-hyperlink-578"><acronym>URL</acronym> hyperlink</a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-g_t_0040acronym_007bURL_007d-hyperlink-572"><acronym>URL</acronym> hyperlink</a>: <a href="#General-hyperlinks">General hyperlinks</a></li> -<li><a href="#index-url_002esty-1295"><code>url.sty</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-url_002esty-583"><code>url.sty</code></a>: <a href="#URL-hyperlinks">URL hyperlinks</a></li> -<li><a href="#index-url_002esty-530"><code>url.sty</code></a>: <a href="#Packages-known-to-work">Packages known to work</a></li> -<li><a href="#index-user_002dinaccessible-macros-1152">user-inaccessible macros</a>: <a href="#Category-codes">Category codes</a></li> -<li><a href="#index-vectors-1051">vectors</a>: <a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></li> -<li><a href="#index-verbatim-listing-156">verbatim listing</a>: <a href="#Verbatim-listing">Verbatim listing</a></li> -<li><a href="#index-verbatim-listing_002c-demo-1301">verbatim listing, demo</a>: <a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></li> -<li><a href="#index-verbatim-text_002c-in-index-287">verbatim text, in index</a>: <a href="#Index-entries-with-special-characters">Index entries with special characters</a></li> -<li><a href="#index-verbatim-text_002c-in-table-of-contents-184">verbatim text, in table of contents</a>: <a href="#Writing-the-_002etoc-file">Writing the .toc file</a></li> -<li><a href="#index-version-number-9">version number</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-Walden_002c-David-11">Walden, David</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-Warner_002c-Frank-W_002e-1106">Warner, Frank W.</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-whatsits-made-by-hyperlinks-960">whatsits made by hyperlinks</a>: <a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></li> -<li><a href="#index-whatsits-made-by-index-entries-271">whatsits made by index entries</a>: <a href="#Indexing-commands">Indexing commands</a></li> -<li><a href="#index-while-loops-1185">while loops</a>: <a href="#Iteration">Iteration</a></li> -<li><a href="#index-whitespace-1237">whitespace</a>: <a href="#Obeying-spaces">Obeying spaces</a></li> -<li><a href="#index-width_002c-hyperlink-border-924">width, hyperlink border</a>: <a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></li> -<li><a href="#index-writing-several-_0040code_007btoc_007d-files-192">writing several <code>toc</code> files</a>: <a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a></li> -<li><a href="#index-xcolor_002esty-538"><code>xcolor.sty</code></a>: <a href="#Packages-known-not-to-work">Packages known not to work</a></li> -<li><a href="#index-xdvi-727"><code>xdvi</code></a>: <a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></li> -<li><a href="#index-XeLa_0040TeX_007b_007d-445">XeLaTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-xeplain_002etex-2"><code>xeplain.tex</code></a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-Xe_0040TeX_007b_007d-447">XeTeX</a>: <a href="#Logos">Logos</a></li> -<li><a href="#index-xhyper_002etex-1265"><code>xhyper.tex</code></a>: <a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></li> -<li><a href="#index-Zassenhaus_002c-Hans-1121">Zassenhaus, Hans</a>: <a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></li> -<li><a href="#index-zooming_002c-hyperlink-destination-828">zooming, hyperlink destination</a>: <a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></li> - </ul></body></html> - +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Concept-index_cp_symbol-1"><b>*</b></a> + +<a class="summary-letter" href="#Concept-index_cp_symbol-2"><b>.</b></a> + +<br> +<a class="summary-letter" href="#Concept-index_cp_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-E"><b>E</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-G"><b>G</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-K"><b>K</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-Q"><b>Q</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-R"><b>R</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-V"><b>V</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-W"><b>W</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-X"><b>X</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-Z"><b>Z</b></a> + +</td></tr></table> +<table class="index-cp" border="0"> +<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_symbol-1">*</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002a_002dform-of-LaTeX-commands">*-form of LaTeX commands</a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_symbol-2">.</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eaux-file"><code>.aux <span class="roman">file</span></code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eaux-file-1"><code>.aux <span class="roman">file</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross_002dreferences">Cross-references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002ebbl-file"><code>.bbl <span class="roman">file</span></code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002ebib-file"><code>.bib <span class="roman">file</span></code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002ebst-files"><code>.bst <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002ecls-files"><code>.cls <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eeps-files"><code>.eps <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eeps-files-1"><code>.eps <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002efmt-file"><code>.fmt <span class="roman">file</span></code></a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002efmt-file-1"><code>.fmt <span class="roman">file</span></code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eidx-files"><code>.idx <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eidx-files-1"><code>.idx <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eind-files"><code>.ind <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eind-files-1"><code>.ind <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002epdf-files"><code>.pdf <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002epdf-files-1"><code>.pdf <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002epdf-files-2"><code>.pdf <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002eps-files"><code>.ps <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002esty-files"><code>.sty <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-_002etoc-file"><code>.toc <span class="roman">file</span></code></a>:</td><td> </td><td valign="top"><a href="#Contents">Contents</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-A">A</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-active-characters">active characters</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-after-index-terms">after index terms</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-alignments">alignments</a>:</td><td> </td><td valign="top"><a href="#Tables">Tables</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-all-groups_002c-specifying">all groups, specifying</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-allocation-macros">allocation macros</a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-alphanumeric-references">alphanumeric references</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-AMSLaTeX">AMSLaTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-amsppt_002esty"><code>amsppt.sty</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-AMSTeX">AMSTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-AMSTeX-conflicts">AMSTeX conflicts</a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-arguments_002c-ignoring">arguments, ignoring</a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-arrows">arrows</a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-atom">atom</a>:</td><td> </td><td valign="top"><a href="#Properties">Properties</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-autopict_002esty"><code>autopict.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-avoiding-boxed-links">avoiding boxed links</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-avoiding-boxed-links-1">avoiding boxed links</a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-axuiliary-files_002c-existence-of">axuiliary files, existence of</a>:</td><td> </td><td valign="top"><a href="#Auxiliary-files">Auxiliary files</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-B">B</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-backslash-character">backslash character</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-balancing-of-columns-with-_005csinglecolumn">balancing of columns with <code>\singlecolumn</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Berry_002c-Karl">Berry, Karl</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-beveled-hyperlink-border">beveled hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliographies">bibliographies</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliography-fonts">bibliography fonts</a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliography-items_002c-extra-space-between">bibliography items, extra space between</a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliography_002c-formatting-the">bibliography, formatting the</a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibliography_002c-hyperlinks">bibliography, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-bibtex"><code>bibtex</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-BibTeX">BibTeX</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-BibTeX-1">BibTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-black-boxes">black boxes</a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Borceux_002c-Francis">Borceux, Francis</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-border-color_002c-hyperlink">border color, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-border-style_002c-hyperlink">border style, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-border-style_002c-hyperlink-1">border style, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-border-width_002c-hyperlink">border width, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Bott_002c-Raoul">Bott, Raoul</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-boxed-links_002c-avoiding">boxed links, avoiding</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-boxed-links_002c-avoiding-1">boxed links, avoiding</a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-boxes_002c-open">boxes, open</a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-braces_002c-inside-index-entries">braces, inside index entries</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-brackets_002c-inside-index-entries">brackets, inside index entries</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Brockett_002c-Roger-W_002e">Brockett, Roger W.</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Butterfly-Lemma">Butterfly Lemma</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-C">C</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Carlisle_002c-David">Carlisle, David</a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-catcode-of-_0040">catcode of ‘<samp>@</samp>’</a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-category-codes">category codes</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-centering">centering</a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-characters_002c-converting-to">characters, converting to</a>:</td><td> </td><td valign="top"><a href="#Converting-to-characters">Converting to characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-characters_002c-special">characters, special</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-citations">citations</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-citations_002c-formatting">citations, formatting</a>:</td><td> </td><td valign="top"><a href="#Formatting-citations">Formatting citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-citations_002c-hyperlinks">citations, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-citations_002c-undefined">citations, undefined</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cmtt8"><code>cmtt8</code></a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color">color</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002c-demo">color, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002c-hyperlink-border">color, hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002c-hyperlinks">color, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002c-hyperlinks-1">color, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002c-hyperlinks-2">color, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002c-problems-with-pdfTeX">color, problems with pdfTeX</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002esty"><code>color.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002esty-1"><code>color.sty</code></a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002esty-2"><code>color.sty</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002esty-3"><code>color.sty</code></a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-color_002esty-4"><code>color.sty</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-colored-links">colored links</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-colored-links-1">colored links</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-colored-links-2">colored links</a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-column-balancing-with-_005csinglecolumn">column balancing with <code>\singlecolumn</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-column-eject">column eject</a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-commas-after-index-terms">commas after index terms</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-commas-in-cross_002dreferencing-index-entries">commas in cross-referencing index entries</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-comments_002c-highlighting-in-listings">comments, highlighting in listings</a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-commutative-diagrams">commutative diagrams</a>:</td><td> </td><td valign="top"><a href="#Commutative-diagrams">Commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-contents">contents</a>:</td><td> </td><td valign="top"><a href="#Contents">Contents</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-contents_002c-and-verbatim-text">contents, and verbatim text</a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-contents_002c-hyperlinks">contents, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Contents-hyperlinks">Contents hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ConTeXt">ConTeXt</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-continued-index-entries">continued index entries</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-covering-homotopy-property">covering homotopy property</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cross_002dreferences">cross-references</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreferences">Cross-references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cross_002dreferences_002c-defining-general">cross-references, defining general</a>:</td><td> </td><td valign="top"><a href="#Defining-generic-references">Defining generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cross_002dreferences_002c-defining-general-1">cross-references, defining general</a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cross_002dreferences_002c-demo">cross-references, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cross_002dreferences_002c-hyperlinks">cross-references, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cross_002dreferencing-index-entries">cross-referencing index entries</a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cross_002dreferencing-index-entries-1">cross-referencing index entries</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-CTRL_002dL_002c-and-verbatim-listing"><kbd>CTRL-L</kbd>, and verbatim listing</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-cube">cube</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-customizing-indexing">customizing indexing</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-D">D</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-dashed-hyperlink-border">dashed hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dashed-hyperlink-border-1">dashed hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-date">date</a>:</td><td> </td><td valign="top"><a href="#Time-of-day">Time of day</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-default-hyperlink-options">default hyperlink options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-default-hyperlink-options-1">default hyperlink options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-default-hyperlink-type">default hyperlink type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-default-hyperlink-type-1">default hyperlink type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-defining-general-references">defining general references</a>:</td><td> </td><td valign="top"><a href="#Defining-generic-references">Defining generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-defining-general-references-1">defining general references</a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-definitions_002c-global">definitions, global</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-demo-files">demo files</a>:</td><td> </td><td valign="top"><a href="#Demo-files">Demo files</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup">destgroup</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-options">destgroup options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-options-1">destgroup options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-options_002c-demo">destgroup options, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-type">destgroup type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-type-1">destgroup type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-type_002c-demo">destgroup type, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060bib_0027">destgroup ‘bib’</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060definexref_0027">destgroup ‘definexref’</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060eq_0027">destgroup ‘eq’</a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060foot_0027">destgroup ‘foot’</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060footback_0027">destgroup ‘footback’</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060idx_0027">destgroup ‘idx’</a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060li_0027">destgroup ‘li’</a>:</td><td> </td><td valign="top"><a href="#List-hyperlinks">List hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destgroup-_0060xrdef_0027">destgroup ‘xrdef’</a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-group">destination group</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-options">destination options</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-options_002c-common">destination options, common</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-options_002c-dvipdfm">destination options, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-options_002c-hypertex">destination options, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-hypertex">Destination options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-options_002c-pdftex">destination options, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-type">destination type</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-types_002c-dvipdfm">destination types, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-types_002c-hypertex">destination types, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destination-types_002c-pdftex">destination types, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-default-options">destinations, default options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-default-options-1">destinations, default options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-default-type">destinations, default type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-default-type-1">destinations, default type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-dimensions">destinations, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-dimensions-1">destinations, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-dimensions-2">destinations, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-dimensions-3">destinations, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-dimensions-4">destinations, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-dimensions-5">destinations, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-dimensions-6">destinations, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-disabling">destinations, disabling</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-disabling-1">destinations, disabling</a>:</td><td> </td><td valign="top"><a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-group-options">destinations, group options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-group-options-1">destinations, group options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-group-options_002c-demo">destinations, group options, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-group-type">destinations, group type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-group-type-1">destinations, group type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-group-type_002c-demo">destinations, group type, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-in-another-file">destinations, in another file</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-in-another-file-1">destinations, in another file</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-in-another-file-2">destinations, in another file</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-large-operators">destinations, large operators</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-large-operators-1">destinations, large operators</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-magnification">destinations, magnification</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-named">destinations, named</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-named-1">destinations, named</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-numbered">destinations, numbered</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-page">destinations, page</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-raising">destinations, raising</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-URL">destinations, <acronym>URL</acronym></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-destinations_002c-URL-1">destinations, <acronym>URL</acronym></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-detecting-numbers">detecting numbers</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-diagnostics">diagnostics</a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Diagram_002c-macros-for-LaTeX">Diagram, macros for LaTeX</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink">dimensions, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-1">dimensions, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-2">dimensions, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-destination">dimensions, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-destination-1">dimensions, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-destination-2">dimensions, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-destination-3">dimensions, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-destination-4">dimensions, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-destination-5">dimensions, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dimensions_002c-hyperlink-destination-6">dimensions, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-disabling-hyperlinks">disabling hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-disabling-hyperlinks-1">disabling hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-disabling-indexes">disabling indexes</a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-displayed-math-and-hyperlinks">displayed math and hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-displayed-math-and-hyperlinks-1">displayed math and hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-displays_002c-left_002djustifying">displays, left-justifying</a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-do_2026while-loops">do…while loops</a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-double-column-output">double column output</a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-double-columns-in-indexes">double columns in indexes</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-draft_002c-option-for-graphics_002esty"><code>draft</code>, option for <samp>graphics.sty</samp></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-driver-dvipdfm">driver <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-driver-hypertex">driver <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-driver-nolinks">driver <code>nolinks</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-driver-pdftex">driver <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-drivers_002c-hyperlink">drivers, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm"><code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm-1"><code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm-2"><code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm_002c-destination-options"><code>dvipdfm</code>, destination options</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm_002c-destination-types"><code>dvipdfm</code>, destination types</a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm_002c-hyperlink-driver"><code>dvipdfm</code>, hyperlink driver</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm_002c-link-options"><code>dvipdfm</code>, link options</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvipdfm_002c-link-types"><code>dvipdfm</code>, link types</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvips"><code>dvips</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dvips-1"><code>dvips</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-E">E</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Eijkhout_002c-Victor">Eijkhout, Victor</a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eject-in-multicolumns">eject in multicolumns</a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-electronic-mail-addresses_002c-breaking">electronic mail addresses, breaking</a>:</td><td> </td><td valign="top"><a href="#Paths">Paths</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-electronic-mail-addresses_002c-breaking-1">electronic mail addresses, breaking</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-empty-argument_002c-checking-for">empty argument, checking for</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifempty">\ifempty</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-empty-equation-labels">empty equation labels</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-empty-equation-labels_002c-referring-to">empty equation labels, referring to</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-empty-string_002c-checking-for">empty string, checking for</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifempty">\ifempty</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Encapsulated-PostScript">Encapsulated PostScript</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Encapsulated-PostScript-1">Encapsulated PostScript</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-environments_002c-user_002ddefined">environments, user-defined</a>:</td><td> </td><td valign="top"><a href="#User_002ddefined-environments">User-defined environments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Eplain_002c-installing">Eplain, installing</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Eplain_002c-invoking">Eplain, invoking</a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Eplain_002c-purpose-of">Eplain, purpose of</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Eplain_002c-upgrading">Eplain, upgrading</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eplain_002eaux"><code>eplain.aux</code></a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eplain_002efmt"><code>eplain.fmt</code></a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-EPS"><acronym>EPS</acronym></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-EPS-1"><acronym>EPS</acronym></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-epstopdf"><code>epstopdf</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-epstopdf_002esty"><code>epstopdf.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equation-labels_002c-characters-valid-in">equation labels, characters valid in</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equation-numbers_002c-formatting-of">equation numbers, formatting of</a>:</td><td> </td><td valign="top"><a href="#Formatting-equation-references">Formatting equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equation-numbers_002c-left_002dalignment">equation numbers, left-alignment</a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equations_002c-giving-numbers-to-all">equations, giving numbers to all</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equations_002c-groups-of">equations, groups of</a>:</td><td> </td><td valign="top"><a href="#Subequation-references">Subequation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equations_002c-hyperlinks">equations, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equations_002c-numbering">equations, numbering</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-equations_002c-references-to">equations, references to</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-error-messages">error messages</a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-error-on-_005cinput">error on <code>\input</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-escape-character_002c-changing-verbatim">escape character, changing verbatim</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-eTeX">eTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-exact-index-hyperlinks">exact index hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-expansion_002c-one_002dlevel">expansion, one-level</a>:</td><td> </td><td valign="top"><a href="#g_t_005cexpandonce">\expandonce</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-explicit-hyperlinks">explicit hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Explicit-hyperlinks">Explicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-explicit-hyperlinks_002c-demo">explicit hyperlinks, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ExTeX">ExTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-F">F</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-file_002c-hyperlink-to">file, hyperlink to</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-file_002c-hyperlink-to-1">file, hyperlink to</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-file_002c-hyperlink-to-2">file, hyperlink to</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-file_003a-links">‘<samp>file:</samp>’ links</a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-filenames_002c-breaking">filenames, breaking</a>:</td><td> </td><td valign="top"><a href="#Paths">Paths</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-filenames_002c-breaking-1">filenames, breaking</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-files_002c-verbatim-listing-of">files, verbatim listing of</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-files_002c-verbatim-listing-of_002c-demo">files, verbatim listing of, demo</a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-filtering-index-entries-with-hyperlinks">filtering index entries with hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-footnotes_002c-hyperlinks">footnotes, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-footnotes_002c-numbered">footnotes, numbered</a>:</td><td> </td><td valign="top"><a href="#Footnotes">Footnotes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-for-loops">for loops</a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-form-feed-character_002c-and-verbatim-listing">form feed character, and verbatim listing</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-format-file">format file</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-formatting-index-entries">formatting index entries</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-fractions">fractions</a>:</td><td> </td><td valign="top"><a href="#Fractions">Fractions</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-G">G</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Ghostscript"><code><span class="roman">Ghostscript</span></code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Ghostscript-1"><code><span class="roman">Ghostscript</span></code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-gobbling-arguments">gobbling arguments</a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-golden-mean">golden mean</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-golden-mean-1">golden mean</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Graham_002c-Ronald-L_002e">Graham, Ronald L.</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphics-collection_002c-LaTeX">graphics collection, LaTeX</a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphics-collection_002c-LaTeX-1">graphics collection, LaTeX</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphics-collection_002c-LaTeX-2">graphics collection, LaTeX</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphics-collection_002c-LaTeX_002c-demo">graphics collection, LaTeX, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphics_002c-omitting-typesetting-of">graphics, omitting typesetting of</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphics_002c-problems-with-pdfTeX">graphics, problems with pdfTeX</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphics_002esty"><code>graphics.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphicx_002esty"><code>graphicx.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-graphicx_002esty-1"><code>graphicx.sty</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-grid">grid</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-option-list">group option list</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-options_002c-hyperlink">group options, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-options_002c-hyperlink-1">group options, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-options_002c-hyperlink_002c-demo">group options, hyperlink, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-type_002c-hyperlink">group type, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-type_002c-hyperlink-1">group type, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-type_002c-hyperlink_002c-demo">group type, hyperlink, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060_0027-_0028empty_0029">group ‘’ (empty)</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060_002a_0027">group ‘*’</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060bib_0027">group ‘bib’</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060cite_0027">group ‘cite’</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060definexref_0027">group ‘definexref’</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060eq_0027">group ‘eq’</a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060eq_0027-1">group ‘eq’</a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060eq_0027-2">group ‘eq’</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060foot_0027">group ‘foot’</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060footback_0027">group ‘footback’</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060hrefext_0027">group ‘hrefext’</a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060hrefint_0027">group ‘hrefint’</a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060idx_0027">group ‘idx’</a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060li_0027">group ‘li’</a>:</td><td> </td><td valign="top"><a href="#List-hyperlinks">List hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060ref_0027">group ‘ref’</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060url_0027">group ‘url’</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060xrdef_0027">group ‘xrdef’</a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group-_0060xref_0027">group ‘xref’</a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group_002c-destination">group, destination</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group_002c-disabling-hyperlinks">group, disabling hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group_002c-link">group, link</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-group_002c-preserving-option-list">group, preserving option list</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-groups_002c-specifying-all">groups, specifying all</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-H">H</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-hanging-on-_005cinput">hanging on <code>\input</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-help-messages">help messages</a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-highlight-modes_002c-hyperlink">highlight modes, hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-highlighting">highlighting</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-highlighting_002c-in-listings">highlighting, in listings</a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Hoppner_002c-Klaus">Höppner, Klaus</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hooks">hooks</a>:</td><td> </td><td valign="top"><a href="#Hooks">Hooks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-border-color">hyperlink border color</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-color">hyperlink color</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-color-1">hyperlink color</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-color-2">hyperlink color</a>:</td><td> </td><td valign="top"><a href="#Setting-default-types-and-options">Setting default types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-dimensions">hyperlink destination, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-dimensions-1">hyperlink destination, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-dimensions-2">hyperlink destination, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-dimensions-3">hyperlink destination, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-dimensions-4">hyperlink destination, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-dimensions-5">hyperlink destination, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-dimensions-6">hyperlink destination, dimensions</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-magnification">hyperlink destination, magnification</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-named">hyperlink destination, named</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-named-1">hyperlink destination, named</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-numbered">hyperlink destination, numbered</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-page">hyperlink destination, page</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-destination_002c-raising">hyperlink destination, raising</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-dimensions">hyperlink dimensions</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-dimensions-1">hyperlink dimensions</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-dimensions-2">hyperlink dimensions</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-driver-dvipdfm">hyperlink driver <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-driver-hypertex">hyperlink driver <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-driver-nolinks">hyperlink driver <code>nolinks</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-driver-pdftex">hyperlink driver <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-drivers">hyperlink drivers</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-group_002c-disabling-hyperlinks">hyperlink group, disabling hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Turning-hyperlinks-on_002foff-for-a-group">Turning hyperlinks on/off for a group</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-group_002c-preserving-option-list">hyperlink group, preserving option list</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlink-options_002c-common">hyperlink options, common</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-bibliography">hyperlinks, bibliography</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-border-style">hyperlinks, border style</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-border-style-1">hyperlinks, border style</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-border-width">hyperlinks, border width</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-citations">hyperlinks, citations</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-cross_002dreferences">hyperlinks, cross-references</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-default-options">hyperlinks, default options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-default-options-1">hyperlinks, default options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-default-type">hyperlinks, default type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-default-type-1">hyperlinks, default type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-demo">hyperlinks, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-disabling">hyperlinks, disabling</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-disabling-1">hyperlinks, disabling</a>:</td><td> </td><td valign="top"><a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-equations">hyperlinks, equations</a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-explicit">hyperlinks, explicit</a>:</td><td> </td><td valign="top"><a href="#Explicit-hyperlinks">Explicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-explicit_002c-demo">hyperlinks, explicit, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-filtering-index-entries">hyperlinks, filtering index entries</a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-footnotes">hyperlinks, footnotes</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-group-option-list">hyperlinks, group option list</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-group-options">hyperlinks, group options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-group-options-1">hyperlinks, group options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-group-options_002c-demo">hyperlinks, group options, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-group-type">hyperlinks, group type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-group-type-1">hyperlinks, group type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-highlight-mode">hyperlinks, highlight mode</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-implicit">hyperlinks, implicit</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-implicit_002c-demo">hyperlinks, implicit, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-index">hyperlinks, index</a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-index-destination-placement">hyperlinks, index destination placement</a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-index_002c-exact">hyperlinks, index, exact</a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-large-operators">hyperlinks, large operators</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-large-operators-1">hyperlinks, large operators</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-lists">hyperlinks, lists</a>:</td><td> </td><td valign="top"><a href="#List-hyperlinks">List hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-opening-in-a-new-window">hyperlinks, opening in a new window</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-page-references">hyperlinks, page references</a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-preserving-page_002dbreaking">hyperlinks, preserving page-breaking</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-preserving-spacing">hyperlinks, preserving spacing</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-see-and-see-also-index-entries">hyperlinks, see and see also index entries</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-table-of-contents">hyperlinks, table of contents</a>:</td><td> </td><td valign="top"><a href="#Contents-hyperlinks">Contents hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-to-another-file">hyperlinks, to another file</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-to-another-file-1">hyperlinks, to another file</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-to-another-file-2">hyperlinks, to another file</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-URL">hyperlinks, <acronym>URL</acronym></a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-URL-1">hyperlinks, <acronym>URL</acronym></a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-URL-2">hyperlinks, <acronym>URL</acronym></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperlinks_002c-URL-3">hyperlinks, <acronym>URL</acronym></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hyperref_002esty"><code>hyperref.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-not-to-work">Packages known not to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hypertex_002c-destination-options"><code>hypertex</code>, destination options</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-hypertex">Destination options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hypertex_002c-destination-types"><code>hypertex</code>, destination types</a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hypertex_002c-hyperlink-driver"><code>hypertex</code>, hyperlink driver</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hypertex_002c-link-options"><code>hypertex</code>, link options</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-hypertex">Link options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hypertex_002c-link-types"><code>hypertex</code>, link types</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-hypertext-links">hypertext links</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks">Hyperlinks</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-I">I</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-identifying-numbers">identifying numbers</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-idxuniq"><code>idxuniq</code></a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ignoring-arguments">ignoring arguments</a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-implicit-hyperlinks">implicit hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-implicit-hyperlinks_002c-demo">implicit hyperlinks, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-inaccessible-macros">inaccessible macros</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries-and-ranges">index entries and ranges</a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries-containing-braces">index entries containing braces</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries-containing-brackets">index entries containing brackets</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries-with-special-characters">index entries with special characters</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries_0027-page-numbers_002c-modifying">index entries’ page numbers, modifying</a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries_002c-and-cross_002dreferencing">index entries, and cross-referencing</a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries_002c-and-cross_002dreferencing-1">index entries, and cross-referencing</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries_002c-proofing">index entries, proofing</a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entries_002c-with-verbatim-text">index entries, with verbatim text</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entry-continuations">index entry continuations</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entry-formatting">index entry formatting</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-entry-general-sorting">index entry general sorting</a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-fonts">index fonts</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-groupings">index groupings</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-hyperlink">index hyperlink</a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index-typesetting">index typesetting</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-and-verbatim-text">index, and verbatim text</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-choosing-destination-placement">index, choosing destination placement</a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-destination-placement">index, destination placement</a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-exact-hyperlinks">index, exact hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Exact-destinations-for-index-terms">Exact destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-hyperlinks-in-see-and-see-also-entries">index, hyperlinks in see and see also entries</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-parsing-page-numbers">index, parsing page numbers</a>:</td><td> </td><td valign="top"><a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-placement-of-destinations">index, placement of destinations</a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-selecting-destination-placement">index, selecting destination placement</a>:</td><td> </td><td valign="top"><a href="#Choosing-destination-placement">Choosing destination placement</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-index_002c-underlining-page-numbers">index, underlining page numbers</a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexes_002c-disabling">indexes, disabling</a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexes_002c-multiple">indexes, multiple</a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexing">indexing</a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexing-and-trailing-spaces">indexing and trailing spaces</a>:</td><td> </td><td valign="top"><a href="#Indexing-terms">Indexing terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexing-commands">indexing commands</a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-indexing-terms">indexing terms</a>:</td><td> </td><td valign="top"><a href="#Indexing-terms">Indexing terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-insertion-classes">insertion classes</a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-inset-hyperlink-border">inset hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-installation">installation</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-integers_002c-detecting">integers, detecting</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-italic-correction">italic correction</a>:</td><td> </td><td valign="top"><a href="#Formatting-bibliographies">Formatting bibliographies</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-item-labels_002c-changing">item labels, changing</a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-iteration">iteration</a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-J">J</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-justification">justification</a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-K">K</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-Ervin">Knuth, Donald Ervin</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-Ervin-1">Knuth, Donald Ervin</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-L">L</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-labels-on-items_002c-changing">labels on items, changing</a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-labels_002c-characters-valid-in">labels, characters valid in</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreferences">Cross-references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-labels_002c-empty-equation">labels, empty equation</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-labels_002c-empty-equation_002c-referring-to">labels, empty equation, referring to</a>:</td><td> </td><td valign="top"><a href="#Equation-references">Equation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Lamport_002c-Leslie">Lamport, Leslie</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LAMSTeX">LAMSTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Lang_002c-Serge">Lang, Serge</a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Lang_002c-Serge-1">Lang, Serge</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-large-operators-and-hyperlinks">large operators and hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-large-operators-and-hyperlinks-1">large operators and hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX">LaTeX</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-1">LaTeX</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-2">LaTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-3">LaTeX</a>:</td><td> </td><td valign="top"><a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-commands_002c-in-btxmac_002etex">LaTeX commands, in <samp>btxmac.tex</samp></a>:</td><td> </td><td valign="top"><a href="#Commands-from-LaTeX">Commands from LaTeX</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-graphics-collection">LaTeX graphics collection</a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-graphics-collection-1">LaTeX graphics collection</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-graphics-collection-2">LaTeX graphics collection</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-graphics-collection_002c-demo">LaTeX graphics collection, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-packages">LaTeX packages</a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-packages-1">LaTeX packages</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-packages-2">LaTeX packages</a>:</td><td> </td><td valign="top"><a href="#Packages-known-not-to-work">Packages known not to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-LaTeX-packages_002c-restoring-_005cinput">LaTeX packages, restoring <code>\input</code></a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left_002dalignment-of-equation-numbers">left-alignment of equation numbers</a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left_002djustification">left-justification</a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-left_002djustification-of-displays">left-justification of displays</a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-letterspacing">letterspacing</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linear-systems-theory">linear systems theory</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lines">lines</a>:</td><td> </td><td valign="top"><a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-group">link group</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-options">link options</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-options_002c-common">link options, common</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-options_002c-dvipdfm">link options, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-options_002c-hypertex">link options, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-hypertex">Link options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-options_002c-pdftex">link options, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-type">link type</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-types_002c-dvipdfm">link types, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-types_002c-hypertex">link types, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link-types_002c-pdftex">link types, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link_002c-group-options">link, group options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link_002c-group-options-1">link, group options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link_002c-group-options_002c-demo">link, group options, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link_002c-group-type">link, group type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-link_002c-group-type-1">link, group type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup">linkgroup</a>:</td><td> </td><td valign="top"><a href="#Implicit-hyperlinks">Implicit hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-options">linkgroup options</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-options-1">linkgroup options</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-options_002c-demo">linkgroup options, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-type">linkgroup type</a>:</td><td> </td><td valign="top"><a href="#Setting-hyperlink-types-and-options">Setting hyperlink types and options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-type-1">linkgroup type</a>:</td><td> </td><td valign="top"><a href="#Setting-group-types">Setting group types</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060cite_0027">linkgroup ‘cite’</a>:</td><td> </td><td valign="top"><a href="#Citation-hyperlinks">Citation hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060eq_0027">linkgroup ‘eq’</a>:</td><td> </td><td valign="top"><a href="#Equation-reference-hyperlinks">Equation reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060eq_0027-1">linkgroup ‘eq’</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060foot_0027">linkgroup ‘foot’</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060footback_0027">linkgroup ‘footback’</a>:</td><td> </td><td valign="top"><a href="#Footnote-hyperlinks">Footnote hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060hrefext_0027">linkgroup ‘hrefext’</a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060hrefint_0027">linkgroup ‘hrefint’</a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060idx_0027">linkgroup ‘idx’</a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060ref_0027">linkgroup ‘ref’</a>:</td><td> </td><td valign="top"><a href="#Cross_002dreference-hyperlinks">Cross-reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060url_0027">linkgroup ‘url’</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-linkgroup-_0060xref_0027">linkgroup ‘xref’</a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-links_002c-hypertext">links, hypertext</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks">Hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-list-of-figures">list of figures</a>:</td><td> </td><td valign="top"><a href="#Alternative-contents-files">Alternative contents files</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-list-of-tables">list of tables</a>:</td><td> </td><td valign="top"><a href="#Alternative-contents-files">Alternative contents files</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listing-files">listing files</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-listing-files_002c-demo">listing files, demo</a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lists">lists</a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lists_002c-formatting">lists, formatting</a>:</td><td> </td><td valign="top"><a href="#Formatting-lists">Formatting lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lists_002c-hyperlinks">lists, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#List-hyperlinks">List hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-loading-packages_002c-environment-for">loading packages, environment for</a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-logos">logos</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lookahead-without-spaces">lookahead without spaces</a>:</td><td> </td><td valign="top"><a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-loops">loops</a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-lscommnt_002etex"><code>lscommnt.tex</code></a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-M">M</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-magnification_002c-hyperlink-destination">magnification, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeindex"><code>makeindex</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeindex-1"><code>makeindex</code></a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-makeindex-2"><code>makeindex</code></a>:</td><td> </td><td valign="top"><a href="#Index-hyperlinks">Index hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-margins_002c-changing">margins, changing</a>:</td><td> </td><td valign="top"><a href="#Margins">Margins</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-margins_002c-index-terms-in">margins, index terms in</a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mathematics-displays_002c-formatting">mathematics displays, formatting</a>:</td><td> </td><td valign="top"><a href="#Displays">Displays</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mathematics-displays_002c-hyperlinks">mathematics displays, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-mathematics-displays_002c-hyperlinks-1">mathematics displays, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Metafont">Metafont</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-miniltx_002etex"><code>miniltx.tex</code></a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-minimal-realizations">minimal realizations</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-modifying-index-entries_0027-page-numbers">modifying index entries’ page numbers</a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-morphisms">morphisms</a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-multiple-column-output">multiple column output</a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-multiple-indexes">multiple indexes</a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-N">N</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-named-destination">named destination</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-named-destination-1">named destination</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-names_002c-of-TeX-variants">names, of TeX variants</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-new-window_002c-opening-hyperlink-in">new window, opening hyperlink in</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-newlinechar">newlinechar</a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-newlines_002c-obeying">newlines, obeying</a>:</td><td> </td><td valign="top"><a href="#Obeying-spaces">Obeying spaces</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-nolinks_002c-hyperlink-driver"><code>nolinks</code>, hyperlink driver</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numbered-destination">numbered destination</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numbered-lists">numbered lists</a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numbered-references">numbered references</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numbers_002c-detecting">numbers, detecting</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-numbers_002c-written-form-of">numbers, written form of</a>:</td><td> </td><td valign="top"><a href="#Writing-out-numbers">Writing out numbers</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-O">O</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Oberdiek_002c-Heiko">Oberdiek, Heiko</a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-omitting-hyperlinks">omitting hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-omitting-hyperlinks-1">omitting hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Turning-hyperlinks-on_002foff">Turning hyperlinks on/off</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-omitting-typesetting-of-graphics">omitting typesetting of graphics</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-open-boxes">open boxes</a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-option-list_002c-group">option list, group</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-option-list_002c-preserving-for-group">option list, preserving for group</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-destination_002c-common">options, destination, common</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-destination_002c-dvipdfm">options, destination, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-destination_002c-hypertex">options, destination, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-hypertex">Destination options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-destination_002c-pdftex">options, destination, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-link-and-destination">options, link and destination</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-link_002c-common">options, link, common</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-link_002c-dvipdfm">options, link, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-link_002c-hypertex">options, link, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-hypertex">Link options for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-options_002c-link_002c-pdftex">options, link, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ordered-list">ordered list</a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-output-routine-and-index-proofing">output routine and index proofing</a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-overstriking">overstriking</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-P">P</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-packages_002c-LaTeX">packages, LaTeX</a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-packages_002c-LaTeX-1">packages, LaTeX</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-packages_002c-LaTeX-2">packages, LaTeX</a>:</td><td> </td><td valign="top"><a href="#Packages-known-not-to-work">Packages known not to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-page-destination">page destination</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-page-list_002c-parsing">page list, parsing</a>:</td><td> </td><td valign="top"><a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-page-range_002c-parsing">page range, parsing</a>:</td><td> </td><td valign="top"><a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-page-reference-hyperlink">page reference hyperlink</a>:</td><td> </td><td valign="top"><a href="#Page-reference-hyperlinks">Page reference hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-page_002dbreaking_002c-preserving-with-hyperlinks">page-breaking, preserving with hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-parsing-page-numbers">parsing page numbers</a>:</td><td> </td><td valign="top"><a href="#Page-destinations-for-index-terms">Page destinations for index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Patashnik_002c-Oren">Patashnik, Oren</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pathnames_002c-breaking">pathnames, breaking</a>:</td><td> </td><td valign="top"><a href="#Paths">Paths</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pathnames_002c-breaking-1">pathnames, breaking</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-PDF"><acronym>PDF</acronym></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-PDF-output"><acronym>PDF</acronym> output</a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex"><code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex-1"><code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex-2"><code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex_002c-destination-options"><code>pdftex</code>, destination options</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex_002c-destination-types"><code>pdftex</code>, destination types</a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex_002c-hyperlink-driver"><code>pdftex</code>, hyperlink driver</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-drivers-pdftex-and-dvipdfm">Hyperlink drivers pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex_002c-link-options"><code>pdftex</code>, link options</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdftex_002c-link-types"><code>pdftex</code>, link types</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdfTeX_002c-problems-using-color-and-graphics">pdfTeX, problems using color and graphics</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pdfTeX_002c-problems-with-supp_002dmis_002etex">pdfTeX, problems with <samp>supp-mis.tex</samp></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-pict2e_002esty"><code>pict2e.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-not-to-work">Packages known not to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-picture-mode">picture mode</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-picture-mode-1">picture mode</a>:</td><td> </td><td valign="top"><a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Portable-Document-Format">Portable Document Format</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-PostScript-point">PostScript point</a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-PostScript-point-1">PostScript point</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-PostScript-point-2">PostScript point</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-proofing-index-terms">proofing index terms</a>:</td><td> </td><td valign="top"><a href="#Proofing-index-terms">Proofing index terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-properties">properties</a>:</td><td> </td><td valign="top"><a href="#Properties">Properties</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ps2pdf"><code>ps2pdf</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ps2pdf-1"><code>ps2pdf</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-psfrag_002esty"><code>psfrag.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-Q">Q</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-quadruple-column-output">quadruple column output</a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-R">R</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Rahtz_002c-Sebastian">Rahtz, Sebastian</a>:</td><td> </td><td valign="top"><a href="#Loading-LaTeX-packages">Loading LaTeX packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raising-hyperlink-destinations">raising hyperlink destinations</a>:</td><td> </td><td valign="top"><a href="#Options-supported-by-all-drivers">Options supported by all drivers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-raising-hyperlink-destinations-1">raising hyperlink destinations</a>:</td><td> </td><td valign="top"><a href="#Setting-group-options">Setting group options</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-ranges-and-index-entry">ranges and index entry</a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-recognizing-numbers">recognizing numbers</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rectangles">rectangles</a>:</td><td> </td><td valign="top"><a href="#Boxes">Boxes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-references_002c-alphanumeric">references, alphanumeric</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-references_002c-defining-general">references, defining general</a>:</td><td> </td><td valign="top"><a href="#Defining-generic-references">Defining generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-references_002c-defining-general-1">references, defining general</a>:</td><td> </td><td valign="top"><a href="#Using-generic-references">Using generic references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-references_002c-numbered">references, numbered</a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-register-allocation">register allocation</a>:</td><td> </td><td valign="top"><a href="#Allocation-macros">Allocation macros</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-restoring-_005cinput_002c-LaTeX-packages">restoring <code>\input</code>, LaTeX packages</a>:</td><td> </td><td valign="top"><a href="#Environment-for-loading-packages">Environment for loading packages</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-return-character">return character</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-right_002djustification">right-justification</a>:</td><td> </td><td valign="top"><a href="#Justification">Justification</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rms">rms</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rotation">rotation</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rotation_002c-demo">rotation, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-rule-thickness">rule thickness</a>:</td><td> </td><td valign="top"><a href="#Rules">Rules</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-run_003a-links">‘<samp>run:</samp>’ links</a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-S">S</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-scaling">scaling</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-scaling_002c-demo">scaling, demo</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sed"><code>sed</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-see-also-index-entries-and-hyperlinks">see also index entries and hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-see-also-index-entries-and-sorting">see also index entries and sorting</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-see_002c-and-index-entries">see, and index entries</a>:</td><td> </td><td valign="top"><a href="#Modifying-index-entries">Modifying index entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-see_002c-and-index-entries-1">see, and index entries</a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-see_002c-and-index-entries_002c-hyperlinks">see, and index entries, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-in-see-and-see-also-entries">Hyperlinks in see and see also entries</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-silent-indexing">silent indexing</a>:</td><td> </td><td valign="top"><a href="#Indexing-terms">Indexing terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-skipping-tokens">skipping tokens</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifundefined">\ifundefined</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-skipping-tokens-1">skipping tokens</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifempty">\ifempty</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-SLiTeX">SLiTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Snake-Lemma">Snake Lemma</a>:</td><td> </td><td valign="top"><a href="#Arrows-and-morphisms">Arrows and morphisms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-solid-hyperlink-border">solid hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sorting-an-index">sorting an index</a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-sorting-of-index-entries">sorting of index entries</a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-soul_002esty"><code>soul.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-space-above-index-entries">space above index entries</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-spaces_002c-ignoring">spaces, ignoring</a>:</td><td> </td><td valign="top"><a href="#g_t_005cfuturenonspacelet">\futurenonspacelet</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-spaces_002c-obeying">spaces, obeying</a>:</td><td> </td><td valign="top"><a href="#Obeying-spaces">Obeying spaces</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-spaces_002c-trailing-and-indexing-commands">spaces, trailing and indexing commands</a>:</td><td> </td><td valign="top"><a href="#Indexing-terms">Indexing terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-spacing-out">spacing out</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-spacing_002c-preserving-with-hyperlinks">spacing, preserving with hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-special-characters">special characters</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-special-characters_002c-in-index-entries">special characters, in index entries</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-special-characters_002c-in-table-of-contents">special characters, in table of contents</a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Stallman_002c-Richard">Stallman, Richard</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-striking-out">striking out</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-style_002c-hyperlink-border">style, hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-subequations_002c-referring-to">subequations, referring to</a>:</td><td> </td><td valign="top"><a href="#Subequation-references">Subequation references</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-subterm-in-indexing">subterm in indexing</a>:</td><td> </td><td valign="top"><a href="#Indexing-terms">Indexing terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-supp_002dmis_002etex_002c-problems-with-pdfTeX"><code>supp-mis.tex<span class="roman">, problems with pdfTeX</span></code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-supp_002dpdf_002etex"><code>supp-pdf.tex</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-T">T</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-table-of-contents">table of contents</a>:</td><td> </td><td valign="top"><a href="#Contents">Contents</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-table-of-contents_002c-and-verbatim-text">table of contents, and verbatim text</a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-table-of-contents_002c-hyperlinks">table of contents, hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Contents-hyperlinks">Contents hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-table-of-contents_002c-short">table of contents, short</a>:</td><td> </td><td valign="top"><a href="#Reading-the-_002etoc-file">Reading the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-table-of-contents_002c-short-1">table of contents, short</a>:</td><td> </td><td valign="top"><a href="#Macro-arguments">Macro arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tables">tables</a>:</td><td> </td><td valign="top"><a href="#Tables">Tables</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tabs">tabs</a>:</td><td> </td><td valign="top"><a href="#Obeying-spaces">Obeying spaces</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-TeX-by-Topic"><i>TeX by Topic</i></a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-TeX-Frequently-Asked-Question">TeX Frequently Asked Question</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifinteger-and-_005cisinteger">\ifinteger and \isinteger</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-TEXFORMATS"><code>TEXFORMATS</code></a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-texi2dvi"><code>texi2dvi</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-Eplain">Invoking Eplain</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-texi2dvi-1"><code>texi2dvi</code></a>:</td><td> </td><td valign="top"><a href="#Citations">Citations</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-texi2dvi-2"><code>texi2dvi</code></a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Texinfo">Texinfo</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-TEXINPUTS"><code>TEXINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-time-of-day">time of day</a>:</td><td> </td><td valign="top"><a href="#Time-of-day">Time of day</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-toc-files_002c-writing-several"><code>toc</code> files, writing several</a>:</td><td> </td><td valign="top"><a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-tracing">tracing</a>:</td><td> </td><td valign="top"><a href="#Diagnostics">Diagnostics</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-trailing-spaces-and-indexing-commands">trailing spaces and indexing commands</a>:</td><td> </td><td valign="top"><a href="#Indexing-terms">Indexing terms</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-trimsee"><code>trimsee</code></a>:</td><td> </td><td valign="top"><a href="#Customizing-indexing">Customizing indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-triple-column-output">triple column output</a>:</td><td> </td><td valign="top"><a href="#Multiple-columns">Multiple columns</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Tu_002c-Loring-W_002e">Tu, Loring W.</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-TUGboat"><i>TUGboat</i></a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-type_002c-link-and-destination">type, link and destination</a>:</td><td> </td><td valign="top"><a href="#Introduction-to-hyperlinks">Introduction to hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-types_002c-destination_002c-dvipdfm">types, destination, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-types_002c-destination_002c-hypertex">types, destination, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-hypertex">Destination types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-types_002c-destination_002c-pdftex">types, destination, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Destination-types-for-pdftex-and-dvipdfm">Destination types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-types_002c-link_002c-dvipdfm">types, link, <code>dvipdfm</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-types_002c-link_002c-hypertex">types, link, <code>hypertex</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-types_002c-link_002c-pdftex">types, link, <code>pdftex</code></a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-typesetting-an-index">typesetting an index</a>:</td><td> </td><td valign="top"><a href="#Typesetting-an-index">Typesetting an index</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-U">U</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-undefined-control-sequence_002c-checking-for">undefined control sequence, checking for</a>:</td><td> </td><td valign="top"><a href="#g_t_005cifundefined">\ifundefined</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-undefined-labels_002c-warnings-about">undefined labels, warnings about</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-underline-hyperlink-border">underline hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-underlining">underlining</a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-underlining-page-numbers-in-index">underlining page numbers in index</a>:</td><td> </td><td valign="top"><a href="#Page-list-and-page-range-parsers">Page list and page range parsers</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-universal-mapping-property">universal mapping property</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-unordered-lists">unordered lists</a>:</td><td> </td><td valign="top"><a href="#Lists">Lists</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-upgrading">upgrading</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-for-ifpdf_002esty"><acronym>URL</acronym> for <samp>ifpdf.sty</samp></a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-for-MakeIndex"><acronym>URL</acronym> for MakeIndex</a>:</td><td> </td><td valign="top"><a href="#Indexing">Indexing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-for-path_002esty"><acronym>URL</acronym> for <samp>path.sty</samp></a>:</td><td> </td><td valign="top"><a href="#Paths">Paths</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-for-pdfTeX"><acronym>URL</acronym> for pdfTeX</a>:</td><td> </td><td valign="top"><a href="#Checking-for-PDF-output">Checking for PDF output</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-for-texnames_002esty"><acronym>URL</acronym> for <samp>texnames.sty</samp></a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-hyperlink"><acronym>URL</acronym> hyperlink</a>:</td><td> </td><td valign="top"><a href="#General-hyperlinks">General hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-hyperlink-1"><acronym>URL</acronym> hyperlink</a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-hyperlink-2"><acronym>URL</acronym> hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-hypertex">Link types for hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-URL-hyperlink-3"><acronym>URL</acronym> hyperlink</a>:</td><td> </td><td valign="top"><a href="#Link-types-for-pdftex-and-dvipdfm">Link types for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-url_002esty"><code>url.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-to-work">Packages known to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-url_002esty-1"><code>url.sty</code></a>:</td><td> </td><td valign="top"><a href="#URL-hyperlinks">URL hyperlinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-url_002esty-2"><code>url.sty</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-user_002dinaccessible-macros">user-inaccessible macros</a>:</td><td> </td><td valign="top"><a href="#Category-codes">Category codes</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-V">V</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-vectors">vectors</a>:</td><td> </td><td valign="top"><a href="#Slanted-lines-and-vectors">Slanted lines and vectors</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-verbatim-listing">verbatim listing</a>:</td><td> </td><td valign="top"><a href="#Verbatim-listing">Verbatim listing</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-verbatim-listing_002c-demo">verbatim listing, demo</a>:</td><td> </td><td valign="top"><a href="#Highlighting-TeX-comments-in-listings-_0028lscommnt_002etex_0029">Highlighting TeX comments in listings (lscommnt.tex)</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-verbatim-text_002c-in-index">verbatim text, in index</a>:</td><td> </td><td valign="top"><a href="#Index-entries-with-special-characters">Index entries with special characters</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-verbatim-text_002c-in-table-of-contents">verbatim text, in table of contents</a>:</td><td> </td><td valign="top"><a href="#Writing-the-_002etoc-file">Writing the .toc file</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-version-number">version number</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-W">W</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Walden_002c-David">Walden, David</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Warner_002c-Frank-W_002e">Warner, Frank W.</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-whatsits-made-by-hyperlinks">whatsits made by hyperlinks</a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-nolinks">Hyperlink driver nolinks</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-whatsits-made-by-index-entries">whatsits made by index entries</a>:</td><td> </td><td valign="top"><a href="#Indexing-commands">Indexing commands</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-while-loops">while loops</a>:</td><td> </td><td valign="top"><a href="#Iteration">Iteration</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-whitespace">whitespace</a>:</td><td> </td><td valign="top"><a href="#Obeying-spaces">Obeying spaces</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-width_002c-hyperlink-border">width, hyperlink border</a>:</td><td> </td><td valign="top"><a href="#Link-options-for-pdftex-and-dvipdfm">Link options for pdftex and dvipdfm</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-writing-several-toc-files">writing several <code>toc</code> files</a>:</td><td> </td><td valign="top"><a href="#Changing-the-_002etoc-file_0027s-root-name">Changing the .toc file's root name</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-X">X</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-xcolor_002esty"><code>xcolor.sty</code></a>:</td><td> </td><td valign="top"><a href="#Packages-known-not-to-work">Packages known not to work</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xdvi"><code>xdvi</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlink-driver-hypertex">Hyperlink driver hypertex</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-XeLaTeX">XeLaTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xeplain_002etex"><code>xeplain.tex</code></a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-XeTeX">XeTeX</a>:</td><td> </td><td valign="top"><a href="#Logos">Logos</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-xhyper_002etex"><code>xhyper.tex</code></a>:</td><td> </td><td valign="top"><a href="#Hyperlinks-_0028xhyper_002etex_0029">Hyperlinks (xhyper.tex)</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Concept-index_cp_letter-Z">Z</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Zassenhaus_002c-Hans">Zassenhaus, Hans</a>:</td><td> </td><td valign="top"><a href="#Construction-of-commutative-diagrams">Construction of commutative diagrams</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-zooming_002c-hyperlink-destination">zooming, hyperlink destination</a>:</td><td> </td><td valign="top"><a href="#Destination-options-for-pdftex-and-dvipdfm">Destination options for pdftex and dvipdfm</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +</table> +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Concept-index_cp_symbol-1"><b>*</b></a> + +<a class="summary-letter" href="#Concept-index_cp_symbol-2"><b>.</b></a> + +<br> +<a class="summary-letter" href="#Concept-index_cp_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-E"><b>E</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-G"><b>G</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-K"><b>K</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-Q"><b>Q</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-R"><b>R</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-V"><b>V</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-W"><b>W</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-X"><b>X</b></a> + +<a class="summary-letter" href="#Concept-index_cp_letter-Z"><b>Z</b></a> + +</td></tr></table> + + +<hr> + + + +</body> +</html> diff --git a/Master/texmf-dist/doc/eplain/doc/eplain.man1.pdf b/Master/texmf-dist/doc/eplain/doc/eplain.man1.pdf Binary files differnew file mode 100644 index 00000000000..13045b5c15c --- /dev/null +++ b/Master/texmf-dist/doc/eplain/doc/eplain.man1.pdf diff --git a/Master/texmf-dist/doc/eplain/doc/eplain.pdf b/Master/texmf-dist/doc/eplain/doc/eplain.pdf Binary files differindex 967fed85ffe..9ccc039f229 100644 --- a/Master/texmf-dist/doc/eplain/doc/eplain.pdf +++ b/Master/texmf-dist/doc/eplain/doc/eplain.pdf diff --git a/Master/texmf-dist/doc/eplain/doc/lscommnt.jpg b/Master/texmf-dist/doc/eplain/doc/lscommnt.jpg Binary files differindex bd83d55201f..feaa9f21a63 100644 --- a/Master/texmf-dist/doc/eplain/doc/lscommnt.jpg +++ b/Master/texmf-dist/doc/eplain/doc/lscommnt.jpg diff --git a/Master/texmf-dist/doc/eplain/doc/xhyper.jpg b/Master/texmf-dist/doc/eplain/doc/xhyper.jpg Binary files differindex 4e99b850ea5..8c35905bea1 100644 --- a/Master/texmf-dist/doc/eplain/doc/xhyper.jpg +++ b/Master/texmf-dist/doc/eplain/doc/xhyper.jpg diff --git a/Master/texmf-dist/source/eplain/eplain-source-3.4.zip b/Master/texmf-dist/source/eplain/eplain-source-3.4.zip Binary files differdeleted file mode 100644 index 9f08f5730e4..00000000000 --- a/Master/texmf-dist/source/eplain/eplain-source-3.4.zip +++ /dev/null diff --git a/Master/texmf-dist/source/eplain/eplain-source-3.5.zip b/Master/texmf-dist/source/eplain/eplain-source-3.5.zip Binary files differnew file mode 100644 index 00000000000..0d75c7f9634 --- /dev/null +++ b/Master/texmf-dist/source/eplain/eplain-source-3.5.zip diff --git a/Master/texmf-dist/source/eplain/xeplain.tex b/Master/texmf-dist/source/eplain/xeplain.tex index 0424c321de7..e2bf6e2d913 100644 --- a/Master/texmf-dist/source/eplain/xeplain.tex +++ b/Master/texmf-dist/source/eplain/xeplain.tex @@ -2296,6 +2296,7 @@ % We put the term in an \hbox, even though that might make the output % run off the page, since we don't really need to see all of it, and % I think it's better to opt for simplicity -- one term per line. +% \font\indexprooffont = cmtt8 \def\indexproofterm#1{\hbox{\strut \indexprooffont #1}}% % @@ -2303,6 +2304,7 @@ % If \output doesn't use \makeheadline, or redefines it, it's up to the % new \output to define index hyperlink destination and to call % \indexproofunbox. +% \let\@plainmakeheadline = \makeheadline \def\makeheadline{% % Define index page destination only when this `page anchor' is defined. @@ -3485,15 +3487,15 @@ % 2) if it's the last one, it is saved and the added skip is removed. % % When the box is processed according to 1), an underfull vbox can appear, -% but it's not our problem, the manuscript (or it's macros) has to be fixed. +% but it's not our problem, the manuscript (or its macros) has to be fixed. % % Gather this many baselines \chardef\@col@extralines = 3 -% more material per each column than the combined height of the +% of additional material per each column than the combined height of the % columns, before attempting to break the columns. This sometimes -% considerably improves the last column, when it would become too -% spaced out because TeX had to squeeze some lines into the previous -% columns due to unfortunate column breaks. +% considerably improves the last column, when it would become too spaced +% out because TeX had to squeeze some lines into the previous columns +% due to unfortunate column breaks. % % The larger \@col@extralines, the better, but we don't want to make % it too large. If there are less than \@col@extralines * num_columns @@ -3505,6 +3507,7 @@ % we'll stuff everything on the current page, producing an overfull % box, even though these extra lines could successfully be moved to % the next page. +% \newdimen\@col@extraheight % % Another note: all assignments are global; it is not possible to call @@ -3564,6 +3567,7 @@ \multiply\count\topins by \@numcolumns % \global\vsize = \@numcolumns\vsize + % % Gather some extra material, to improve the last column. \@col@extraheight=\@col@extralines\baselineskip \multiply\@col@extraheight by \@numcolumns @@ -3614,7 +3618,11 @@ \vbadness = 10000 % % The first (leftmost) column. + %d\message{^^J starting columnsplit, splitting to \the\dimen@}% + %d\showbox255 \global\setbox1 = \vsplit255 to \dimen@ \global\wd1 = \hsize + %d\message{^^J split off to this box1:}% + %d\showbox1 % % The second column. \global\setbox3 = \vsplit255 to \dimen@ \global\wd3 = \hsize @@ -3652,8 +3660,10 @@ % Our output routine splits the columns and then calls the previous one. % \def\@columnoutput{% + %d\message{^^J starting columnoutput, ht255: \the\ht255}% \dimen@ = \ht255 \advance\dimen@ by -\@col@extraheight + %d\message{^^J minus col@extraheight: \the\@col@extraheight}% \divide\dimen@ by \@numcolumns \@columnsplit \@recoverclubpenalty @@ -3666,7 +3676,7 @@ \penalty\outputpenalty % % The correct vsize is the original vsize times the - % number of columns, plus the "extra height". + % number of columns, plus the ``extra height''. \global\vsize = \@numcolumns\@normalvsize \global\advance\vsize by \@col@extraheight }% @@ -3845,28 +3855,42 @@ \newdimen\temp@dimen \def\columnfill{% \par - \dimen@=\pagetotal % The height of the text set so far. - \temp@dimen = \vsize % = \@numcolumns * columnheight - \divide\temp@dimen by \@numcolumns % find out column height + \dimen@ = \pagetotal % The height of the text so far. + %d\message{^^J pagetotal start (dimen@): \the\dimen@}% + % + \temp@dimen = \vsize % = \@numcolumns * columnheight + %d\message{^^J temp@dimen (total height): \the\temp@dimen}% + % + \advance\temp@dimen by -\@col@extraheight + %d\message{^^J reducing temp@dimen \the\temp@dimen (-@col@extraheight)}% + % + \divide\temp@dimen by \@numcolumns % Compute column height + %d\message{^^J col height (tempdimen@): \the\temp@dimen}% + % \loop - \ifdim \dimen@ > \temp@dimen + %d\message{^^J looping}% + \ifdim \dimen@ > \temp@dimen % more material than a column? \advance \dimen@ by -\temp@dimen \advance \dimen@ by \topskip % fudge factor + %d\message{^^J reducing dimen@ to \the\dimen@ (tempdimen@ + \the\topskip)}% \repeat \advance \temp@dimen by -\dimen@ + %d\message{^^J reducing temp@dimen to \the\temp@dimen (-dimen@)}% + % \advance \temp@dimen by -\prevdepth + %d\message{ reducing temp@dimen to \the\temp@dimen (-prevdepth)}% + % \@saveclubpenalty \clubpenalty=10000\relax - \hrule height\temp@dimen width0pt depth0pt\relax + \hrule height\temp@dimen width0pt depth0pt\relax % fill space with rule \nointerlineskip \par \nointerlineskip - \penalty0\vfil % To allow a page break here. + \allowbreak \vfil % To allow a page break here. \relax }% % % -% % Hypertext links support. % % Hyperlink destinations (driver-independent code). @@ -5134,6 +5158,7 @@ \let\usepkg@at@end@of@package\empty \def\usepkg@word@autopict{autopict}% \def\usepkg@word@psfrag{psfrag}% +% % \beginpackages...\endpackages % % All packages must be loaded within this `environment' (a kind of @@ -5153,6 +5178,7 @@ % % Define \DoNotLoadEpstopdf so that graphics.cfg does not try to load % epstopdf.sty, which is a complication surely not wanted by default. +% \long\def\beginpackages#1\endpackages{% \let\usepackage\real@usepackage \let\DoNotLoadEpstopdf=t @@ -5163,7 +5189,10 @@ \global\let\usepackage\fake@usepackage \let\packageinput=\input \let\input=\eplaininput + % should always be defined (from miniltx), but just in case: + \ifx\resetatcatcode\@undefined \else\resetatcatcode \fi }% +% % \fake@usepackage % % This is what \usepackage is defined to outside of @@ -5413,6 +5442,7 @@ % accumulate its argument, to be executed by us at the end of % \beginpackages...\endpackages. \AtEndOfPackage is not defined by % miniltx.tex at all; we define it similar to \AtBeginDocument. +% \def\usepkg@accumulate@cmds#1#2{% \toks@=\expandafter{#1}% \toks@ii={#2}% @@ -5420,6 +5450,7 @@ }% \def\eplain@AtBeginDocument{\usepkg@accumulate@cmds\usepkg@at@begin@document}% \def\eplain@AtEndOfPackage{\usepkg@accumulate@cmds\usepkg@at@end@of@package}% +% % \ProvidesFile{FILENAME.EXT}[VERSION] % \ProvidesPackage{PACKAGENAME}[VERSION] % diff --git a/Master/texmf-dist/tex/eplain/btxmac.tex b/Master/texmf-dist/tex/eplain/btxmac.tex index c8772a176b2..88338ab8b39 100644 --- a/Master/texmf-dist/tex/eplain/btxmac.tex +++ b/Master/texmf-dist/tex/eplain/btxmac.tex @@ -1,16 +1,15 @@ %% @texfile{ %% author = "Karl Berry and Oren Patashnik", -%% version = "0.99k-09sep07", -%% date = "19 August 2005", +%% version = "0.99m", +%% date = "7 February 2013", %% filename = "btxmac.tex", %% address = "tex-eplain@tug.org", -%% checksum = "842 4571 33524", -%% codetable = "ISO/ASCII", %% supported = "yes", %% docstring = "Defines macros that make BibTeX work with plain TeX", %% } % BibTeX-for-TeX macros, version 0.99k, for BibTeX 0.99c, TeX 3.0 or later. -% Copyright (C) 1990, 1991, 1992, 1995, 2005 Karl Berry & Oren Patashnik. +% Copyright 1990, 1991, 1992, 1995, 2004, 2007, 2013 Karl Berry & +% Oren Patashnik. % % Unlimited copying and redistribution of this file are permitted as % long as this file is not modified. Modifications (and redistribution @@ -24,7 +23,7 @@ % (opbibtex@cs.stanford.edu). These macros will become frozen shortly % after BibTeX version 1.00 is released. % -% AMS-TEX WARNING: We tried very hard, for version .99i of these macros, +% AMS-TEX WARNING: We tried very hard, as of version .99i of these macros, % to make them compatible with AmS-TeX. We succeeded to the extent % that, if you use one of the standard bibliography styles, you probably % won't notice any problems with version 0.99i of btxmac.tex. But @@ -51,9 +50,9 @@ % the current btxmac.tex macros are sufficient, fine. But if there's a % demand for more robust BibTeX/AmS-TeX behavior, then someone who's % very familiar with the AmS-TeX package should probably make an -% amsbtxmc.tex version of the macros (remembering to follow the -% copyright restrictions above). Until then, if you're an AmS-TeX user, -% or a LaTeX or plain TeX user sharing files with an AmS-TeX user, beware. +% amsbtxmc.tex version of the macros. Until then, if you're an AmS-TeX +% user, or a LaTeX or plain TeX user sharing files with an AmS-TeX user, +% beware. % END OF AMS-TEX WARNING. % % To use these macros you should be familiar with how BibTeX interacts @@ -145,6 +144,8 @@ % \emph, \textbf, and \mbox, since many .bib files % use them. And made these definitions (and others) % only effective if not already defined. +% 07-Feb-13 0.99m, \newcommand and \providecommand should be \long, +% and not use \edef. Define \bbltextbf. % % The LaTeX-related commands defined in this file include % (a) the four commands that a user types (\bibliography, @@ -247,10 +248,9 @@ % So to start things off we turn `@' into a letter (category code 11), % keeping track of the old category code for future restoration. % (Simply resetting it to 12 when we leave these macros is -% insufficient.) The use of `\cite' as a temporary control sequence is -% a kludge, but it's a reasonably simple way to accomplish what we need -% without possibly overwriting something (without an `@' in its name) -% that might already be defined. +% insufficient.) We use `\cite' as a temporary control sequence to +% save the current catcode of @ to avoid possibly overwriting something +% (without an `@' in its name) that might already be defined. % \edef\cite{\the\catcode`@}% \catcode`@ = 11 @@ -683,7 +683,7 @@ \def\bblemph#1{{\bblem #1\/}} % % And bold. -\def\textbf#1{{\bf #1}} +\def\bbltextbf#1{{\bf #1}} % % \mbox is \hbox forcing horizontal mode. \def\bblmbox{\leavevmode\hbox} @@ -759,7 +759,7 @@ % arg) but we don't bother with either of these. % \ifx\newcommand\undefined -\def\newcommand#1{% +\long\def\newcommand#1{% \def\@commandname{#1}% \@getoptionalarg\@continuenewcommand }% @@ -770,7 +770,7 @@ % \newcommand. In LaTeX, it gives a warning if \foo is not already defined. % \ifx\renewcommand\undefined -\let\renewcommand = \newcommand + \let\renewcommand = \newcommand \fi % % @@ -778,7 +778,7 @@ % \foo is not already defined. % \ifx\providecommand\undefined -\def\providecommand#1{% +\long\def\providecommand#1{% \def\@commandname{#1}% % \expandafter\ifx\@commandname \@undefined @@ -804,7 +804,7 @@ % command is \@commandname. The replacement text for the new macro is #1. % \def\@newcommand#1{% - \def\@startdef{\expandafter\edef\@commandname}% + \def\@startdef{\expandafter\def\@commandname}% \ifnum\@numparams=0 \let\@paramdef = \empty \else diff --git a/Master/texmf-dist/tex/eplain/eplain.tex b/Master/texmf-dist/tex/eplain/eplain.tex index 236ea4efc32..d4caba1059b 100644 --- a/Master/texmf-dist/tex/eplain/eplain.tex +++ b/Master/texmf-dist/tex/eplain/eplain.tex @@ -1,10 +1,10 @@ %% @texfile{ %% author = "Karl Berry, Steven Smith, Oleg Katsitadze, and others", -%% version = "3.4", -%% date = "Sun Feb 21 15:52:21 PST 2010", +%% version = "3.5", +%% date = "Fri Feb 8 09:51:56 PST 2013", %% filename = "eplain.tex", %% email = "bug-eplain@tug.org", -%% checksum = "4251 9191 135013", +%% checksum = "4345 9735 139553", %% codetable = "ASCII", %% supported = "yes", %% docstring = "This file defines macros that extend and expand on @@ -33,13 +33,18 @@ %% %% This is a generated file. %% -%% Copyright (C) 2001, 2005-2009 by -%% Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% Project: ifpdf +%% Version: 2011/01/30 v2.3 +%% +%% Copyright (C) 2001, 2005-2011 by +%% Heiko Oberdiek <heiko.oberdiek at googlemail.com> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either -%% version 1.3 of this license or (at your option) any later -%% version. The latest version of this license is in +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. @@ -48,52 +53,59 @@ %% %% This Current Maintainer of this work is Heiko Oberdiek. %% +%% The Base Interpreter refers to any `TeX-Format', +%% because some files are installed in TDS:tex/generic//. +%% %% This work consists of the main source file ifpdf.dtx %% and the derived files %% ifpdf.sty, ifpdf.pdf, ifpdf.ins, ifpdf.drv, ifpdf-test1.tex. %% -\begingroup - \catcode44 12 % , - \catcode45 12 % - - \catcode46 12 % . - \catcode58 12 % : - \catcode64 11 % @ +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode58=12 % : + \catcode64=11 % @ + \catcode123=1 % { + \catcode125=2 % } \expandafter\let\expandafter\x\csname ver@ifpdf.sty\endcsname - \ifcase 0% - \ifx\x\relax % plain + \ifx\x\relax % plain-TeX, first loading + \else + \def\empty{}% + \ifx\x\empty % LaTeX, first loading, \else - \ifx\x\empty % LaTeX + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% \else - 1% + \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% \fi + \x{ifpdf}{The package is already loaded}% \fi - \else - \catcode35 6 % # - \catcode123 1 % { - \catcode125 2 % } - \expandafter\ifx\csname PackageInfo\endcsname\relax - \def\x#1#2{% - \immediate\write-1{Package #1 Info: #2.}% - }% - \else - \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% - \fi - \x{ifpdf}{The package is already loaded}% - \endgroup \fi -\endgroup -\begingroup - \catcode35 6 % # - \catcode40 12 % ( - \catcode41 12 % ) - \catcode44 12 % , - \catcode45 12 % - - \catcode46 12 % . - \catcode47 12 % / - \catcode58 12 % : - \catcode64 11 % @ - \catcode123 1 % { - \catcode125 2 % } +\endgroup% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode40=12 % ( + \catcode41=12 % ) + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode47=12 % / + \catcode58=12 % : + \catcode64=11 % @ + \catcode91=12 % [ + \catcode93=12 % ] + \catcode123=1 % { + \catcode125=2 % } \expandafter\ifx\csname ProvidesPackage\endcsname\relax \def\x#1#2#3[#4]{\endgroup \xdef#1{#4}% @@ -111,29 +123,38 @@ \fi \expandafter\x\csname ver@ifpdf.sty\endcsname \ProvidesPackage{ifpdf}% - [2009/04/10 v2.0 Provides the ifpdf switch (HO)] -\begingroup - \catcode123 1 % { - \catcode125 2 % } + [2011/01/30 v2.3 Provides the ifpdf switch (HO)]% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ \def\x{\endgroup \expandafter\edef\csname ifpdf@AtEnd\endcsname{% - \catcode35 \the\catcode35\relax - \catcode64 \the\catcode64\relax - \catcode123 \the\catcode123\relax - \catcode125 \the\catcode125\relax + \endlinechar=\the\endlinechar\relax + \catcode13=\the\catcode13\relax + \catcode32=\the\catcode32\relax + \catcode35=\the\catcode35\relax + \catcode61=\the\catcode61\relax + \catcode64=\the\catcode64\relax + \catcode123=\the\catcode123\relax + \catcode125=\the\catcode125\relax }% }% -\x -\catcode35 6 % # -\catcode64 11 % @ -\catcode123 1 % { -\catcode125 2 % } +\x\catcode61\catcode48\catcode32=10\relax% +\catcode13=5 % ^^M +\endlinechar=13 % +\catcode35=6 % # +\catcode64=11 % @ +\catcode123=1 % { +\catcode125=2 % } \def\TMP@EnsureCode#1#2{% \edef\ifpdf@AtEnd{% \ifpdf@AtEnd - \catcode#1 \the\catcode#1\relax + \catcode#1=\the\catcode#1\relax }% - \catcode#1 #2\relax + \catcode#1=#2\relax } \TMP@EnsureCode{10}{12}% ^^J \TMP@EnsureCode{39}{12}% ' @@ -145,7 +166,8 @@ \TMP@EnsureCode{47}{12}% / \TMP@EnsureCode{58}{12}% : \TMP@EnsureCode{60}{12}% < -\TMP@EnsureCode{61}{12}% = +\TMP@EnsureCode{91}{12}% [ +\TMP@EnsureCode{93}{12}% ] \TMP@EnsureCode{94}{7}% ^ \TMP@EnsureCode{96}{12}% ` \begingroup @@ -171,34 +193,57 @@ therefore package loading is aborted.% }% \endgroup - \ifpdf@AtEnd - \fi + \expandafter\ifpdf@AtEnd + \fi% \endgroup \begingroup + \def\skip#1\relax\begingroup{}% \expandafter\ifx\csname pdfoutput\endcsname\relax \else - \def\skip#1\relax\endgroup{\csname fi\endcsname\endgroup}% - \skip + \expandafter\skip \fi \expandafter\ifx\csname directlua\endcsname\relax - \def\skip#1\endgroup{\csname fi\endcsname\endgroup}% - \skip + \expandafter\skip \fi - \expandafter\ifx\csname RequirePackage\endcsname\relax - \input ifluatex.sty\relax +\endgroup +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname RequirePackage\endcsname\relax + \def\TMP@RequirePackage#1[#2]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname ver@#1.sty\endcsname\relax + \input #1.sty\relax + \fi + }% + \TMP@RequirePackage{ifluatex}[2009/04/10]% +\else + \RequirePackage{ifluatex}[2009/04/10]% +\fi +\ifluatex + \ifnum\luatexversion<36 % \else - \RequirePackage{ifluatex}[2009/04/10]% - \fi - \ifluatex - \ifnum\luatexversion<36 % - \else + \begingroup \directlua{tex.enableprimitives('ifpdf', {'pdfoutput'})}% \global\let\pdfoutput\ifpdfpdfoutput - \fi + \endgroup \fi - \relax -\endgroup -\newif\ifpdf +\fi +\relax\begingroup\endgroup +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname newif\endcsname\relax + \edef\pdffalse{% + \let + \expandafter\noexpand\csname ifpdf\endcsname + \expandafter\noexpand\csname iffalse\endcsname + }% + \edef\pdftrue{% + \let + \expandafter\noexpand\csname ifpdf\endcsname + \expandafter\noexpand\csname iftrue\endcsname + }% + \pdffalse +\else + \csname newif\expandafter\endcsname\csname ifpdf\endcsname +\fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdfoutput\endcsname\relax \else @@ -210,12 +255,9 @@ \begingroup \expandafter\ifx\csname pdfoutput\endcsname\relax \else - \escapechar=-1 % + \escapechar=92 % \edef\m{\meaning\pdfoutput}% - \edef\p{% - \string p\string d\string f% - \string o\string u\string t\string p\string u\string t% - }% + \edef\p{\string\pdfoutput}% \ifx\m\p \else \expandafter\ifx\csname PackageWarningNoLine\endcsname\relax @@ -226,7 +268,7 @@ }% \fi \PackageWarningNoLine{ifpdf}{% - Someone has redefined \string\\pdfoutput% + Someone has redefined \string\pdfoutput% }% \fi \fi @@ -239,9 +281,9 @@ \let\x\PackageInfo \expandafter\let\csname on@line\endcsname\empty \fi - \x{ifpdf}{pdfTeX in pdf mode \ifpdf\else not \fi detected}% + \x{ifpdf}{pdfTeX in PDF mode is \ifpdf\else not \fi detected}% \endgroup -\ifpdf@AtEnd +\ifpdf@AtEnd% %% %% End of file `ifpdf.sty'. \def\makeactive#1{\catcode`#1 = \active \ignorespaces}% @@ -358,12 +400,10 @@ \fi %% @texfile{ %% author = "Karl Berry and Oren Patashnik", -%% version = "0.99k-09sep07", -%% date = "19 August 2005", +%% version = "0.99m", +%% date = "7 February 2013", %% filename = "btxmac.tex", %% address = "tex-eplain@tug.org", -%% checksum = "842 4571 33524", -%% codetable = "ISO/ASCII", %% supported = "yes", %% docstring = "Defines macros that make BibTeX work with plain TeX", %% } @@ -585,7 +625,7 @@ \def\bblrm{\rm}% \def\bblem{\it}% \def\bblemph#1{{\bblem #1\/}} -\def\textbf#1{{\bf #1}} +\def\bbltextbf#1{{\bf #1}} \def\bblmbox{\leavevmode\hbox} \def\bblsc{\ifx\@scfont\@undefined \font\@scfont = cmcsc10 @@ -604,16 +644,16 @@ \let\citation = \@gobble \@innernewcount\@numparams \ifx\newcommand\undefined -\def\newcommand#1{% +\long\def\newcommand#1{% \def\@commandname{#1}% \@getoptionalarg\@continuenewcommand }% \fi \ifx\renewcommand\undefined -\let\renewcommand = \newcommand + \let\renewcommand = \newcommand \fi \ifx\providecommand\undefined -\def\providecommand#1{% +\long\def\providecommand#1{% \def\@commandname{#1}% \expandafter\ifx\@commandname \@undefined \let\cs=\@continuenewcommand % undefined, so we'll define it @@ -628,7 +668,7 @@ \@newcommand }% \def\@newcommand#1{% - \def\@startdef{\expandafter\edef\@commandname}% + \def\@startdef{\expandafter\def\@commandname}% \ifnum\@numparams=0 \let\@paramdef = \empty \else @@ -995,20 +1035,25 @@ \ifx\SLiTeX\undefined \let\SLiTeX=\SLITEX \fi \ifx\SliTeX\undefined \let\SliTeX=\SLITEX \fi \ifx\SLITeX\undefined \let\SLITeX=\SLITEX \fi -%%% @texfile{ +%%% @TeX-style-file +%%% { %%% author = "Philip Taylor", -%%% version = "3.04", -%%% date = "25 July 1992", -%%% time = "17:07 EDT", +%%% version = "3.05", +%%% date = "7 April 2011", +%%% time = "15:59:31 BST", %%% filename = "path.sty", -%%% address = "The Computer Centre -%%% RHBNC, University of London -%%% Egham Hill -%%% Egham, Surrey TW20 0EX, ENGLAND", -%%% telephone = "Tel: +44 784 443172", -%%% FAX = "Fax: +44 784 434348", -%%% checksum = "41143 321 1758 13526", -%%% email = "P.Taylor@Vax.Rhbnc.Ac.Uk (Internet)", +%%% license = "Unlimited copying and redistribution of this +%%% file are permitted as long as this file is +%%% not modified. Modifications are permitted, +%%% but only if the resulting file is not named +%%% path.sty regardless of case", +%%% address = "c/o The Hellenic Institute +%%% Royal Holloway, University of London +%%% Egham Hull, Egham +%%% Surrey TW20 0EX +%%% United Kingdom", +%%% telephone = "Tel: +44 1622 820 735", +%%% email = "P.Taylor@Rhul.Ac.Uk", %%% codetable = "ISO/ASCII", %%% keywords = "file name, filename, path name, pathname, %%% discretionary, discretionaries", @@ -1017,9 +1062,7 @@ %%% addresses tend to be long strings that %%% cause line breaking problems for TeX. %%% Sometimes rather long strings are -%%% encountered; here are two examples: -%%% -%%% Friesland%rz.informatik.uni-hamburg.dbp.de%germany.csnet@relay.cs.net +%%% encountered, such as: %%% %%% mighty-mouse-gw.scrc.symbolics.com %%% @@ -1034,7 +1077,8 @@ %%% %%% \discretionaries |~!@$%^&*()_+`-=#{"}[]:;'<>,.?\/| %%% -%%% However, you can change it as needed, for example: +%%% However, you can change it as needed, for +%%% example %%% %%% \discretionaries +@%!.+ %%% @@ -1057,42 +1101,64 @@ %%% \specialpathdelimitersfalse is the normal %%% setting. %%% -%%% This file may be used in Plain TeX or AmSTeX by +%%% This file may be used in Plain TeX or AmSTeX +%%% by %%% %%% \input path.sty %%% %%% and in LaTeX by %%% -%%% \documentstyle[...,path,...]{...} +%%% \usepackage {path} %%% -%%% The checksum field above contains a CRC-16 -%%% checksum as the first value, followed by the -%%% equivalent of the standard UNIX wc (word +%%% The checksum field above, if present, contains +%%% a CRC-16 checksum as the first value, followed +%%% by the equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert -%%% Solovay's checksum utility.} +%%% Solovay's checksum utility. +%%% } %%% } -\edef\path{\the\catcode`@}% -\catcode`@ = 11 -\let\@oldatcatcode = \path +%%% ==================================================================== +%%% The use of `\path' as a temporary control sequence is a kludge, but +%%% it's a reasonably simple way to accomplish making @ a letter (to +%%% provide ``concealed'' control sequences) without overwriting something +%%% (without an `@' in its name) that might already be defined. +\edef \path {\the \catcode `\@}% +\catcode `\@ = 11 +\let \oldc@tcode = \path +%%% Make commercial-at a letter to provide concealed control sequences +\catcode `\@ = 11 +%%% and then declare two \count variables with concealed names \newcount \c@tcode \newcount \c@unter +%%% and a boolean variable with an open name, to specify the nature of +%%% the delimiters which will be associated with the \path command \newif \ifspecialpathdelimiters +%%% If desired, you can define \pathafterhook to take +\let \pathafterhook = \relax +%%% We need to define control sequences which expand to both +%%% active and passive spaces ... \begingroup \catcode `\ = 10 -\gdef \passivesp@ce { }% +\gdef \passivesp@ce { } \catcode `\ = 13\relax% \gdef\activesp@ce{ }% \endgroup -\def \discretionaries % <delim> <chars> <delim> +%%% \discretionaries will define a macro \discr@ti@n@ri@s which will +%%% make every character between the first and final <delim> a +%%% discretionary breakpoint. +\def \discretionaries %%% <delim> <chars> <delim> {\begingroup \c@tcodes = 13 \discr@tionaries - }% -\def \discr@tionaries #1% <delim> - {\def \discr@ti@naries ##1#1% <chars> <delim> + } +%%% \discr@tionaries will receive as parameter the initial <delim> +%%% which will delimit the set of discretionaries; this <delim> +%%% will be active. +\def \discr@tionaries #1%%% <delim> + {\def \discr@ti@naries ##1#1%%% <chars> <delim> {\endgroup - \def \discr@ti@n@ries ####1% <char> or <delim> + \def \discr@ti@n@ries ####1%%% <char> or <delim> {\if \noexpand ####1\noexpand #1% \let \n@xt = \relax \else @@ -1106,8 +1172,15 @@ \def \discr@ti@n@ri@s {\discr@ti@n@ries ##1#1}% }% \discr@ti@naries - }% -\let\pathafterhook = \relax + } +%%% \path, which is the user interface to \p@th, first checks +%%% to see whether \specialpathdelimiters is <true> or <false>; +%%% if <true>, it needs to take special action to ensure that +%%% \stress {all} characters (apart from <space>) are acceptable +%%% as delimiters; this is very time-consuming, and should be +%%% avoided if at all possible. It also defines \endp@th, to +%%% close the appropriate number of groups, and finally transfers +%%% control to \p@th \def \path {\ifspecialpathdelimiters \begingroup @@ -1117,8 +1190,14 @@ \def \endp@th {\endgroup \pathafterhook}% \fi \p@th - }% -\def \p@th #1% <delim> + } +%%% \p@th, which has essentially the same syntax as \discretionaries, +%%% expects to be followed by a <delim>, a <path>, and a second instance +%%% of <delim>; it will typeset <path> in the \tt font with hyphenation +%%% inhibited --- breaks (but not true hyphenation) are allowed at any +%%% or all of the special characters which have +%%% previously been declared as \discretionaries. +\def \p@th #1%%% <delim> {\begingroup \tt \c@tcode = \catcode `#1 @@ -1131,8 +1210,17 @@ \endp@th }% \p@@th - }% -\def \c@tcodes {\afterassignment \c@tc@des \c@tcode}% + } +%%% \c@tcodes expects to be followed by the r-h-s of a numeric +%%% assignment optionally including the assignment operator; it saves +%%% the value of the r-h-s in \c@tcode, and invokes \c@tc@des. +\def \c@tcodes {\afterassignment \c@tc@des \c@tcode} +%%% \c@tc@des uses the value saved in \c@tcode, and assigns it to the +%%% \catcode of all characters with the single exception of <space>, +%%% which retains its normal catcode of 10; on exit, every single +%%% character apart from <space> will have the catcode which followed +%%% \c@tcodes. The code is optimised to avoid unnecessary usage of +%%% save-stack space. \def \c@tc@des {\c@unter = 0 \loop @@ -1144,9 +1232,13 @@ \advance \c@unter by 1 \repeat \catcode `\ = 10 - }% -\catcode `\@ = \@oldatcatcode -\discretionaries |~!@$%^&*()_+`-=#{}[]:";'<>,.?\/|% + } +%%% We restore the original catcode of commercial-at +\catcode `\@ = \oldc@tcode +%%% Define a default set of discretionary break characters +%%% to include all punctuation characters except vertical +%%% bar +\discretionaries |~!@$%^&*()_+`-=#{}[]:";'<>,.?\/| \ifx\eTeX\undefined \def\eTeX{\hbox{\mathsurround=0pt $\varepsilon$-\kern-.125em\TeX}}% \fi @@ -3163,11 +3255,12 @@ \newdimen\temp@dimen \def\columnfill{% \par - \dimen@=\pagetotal % The height of the text set so far. - \temp@dimen = \vsize % = \@numcolumns * columnheight - \divide\temp@dimen by \@numcolumns % find out column height + \dimen@ = \pagetotal % The height of the text so far. + \temp@dimen = \vsize % = \@numcolumns * columnheight + \advance\temp@dimen by -\@col@extraheight + \divide\temp@dimen by \@numcolumns % Compute column height \loop - \ifdim \dimen@ > \temp@dimen + \ifdim \dimen@ > \temp@dimen % more material than a column? \advance \dimen@ by -\temp@dimen \advance \dimen@ by \topskip % fudge factor \repeat @@ -3175,11 +3268,11 @@ \advance \temp@dimen by -\prevdepth \@saveclubpenalty \clubpenalty=10000\relax - \hrule height\temp@dimen width0pt depth0pt\relax + \hrule height\temp@dimen width0pt depth0pt\relax % fill space with rule \nointerlineskip \par \nointerlineskip - \penalty0\vfil % To allow a page break here. + \allowbreak \vfil % To allow a page break here. \relax }% \def\@hldest{% @@ -4006,6 +4099,7 @@ \global\let\usepackage\fake@usepackage \let\packageinput=\input \let\input=\eplaininput + \ifx\resetatcatcode\@undefined \else\resetatcatcode \fi }% \def\fake@usepackage{\errmessage{You should not use \string\usepackage\space outside of^^J \@spaces\string\beginpackages...\string\endpackages\space environment}% @@ -4247,5 +4341,5 @@ \def\fmtname{eplain}% \def\eplain{t}% {\edef\plainversion{\fmtversion}% - \xdef\fmtversion{3.4: 21 February 2010 (and plain \plainversion)}% + \xdef\fmtversion{3.5: 8 February 2013 (and plain \plainversion)}% }% diff --git a/Master/texmf/doc/info/eplain.info b/Master/texmf/doc/info/eplain.info index c4bacfe0ac2..5b27ad3c3ae 100644 --- a/Master/texmf/doc/info/eplain.info +++ b/Master/texmf/doc/info/eplain.info @@ -1,17 +1,16 @@ -This is eplain.info, produced by makeinfo version 4.13 from eplain.texi. +This is eplain.info, produced by texi2any version 4.13.96+dev from +eplain.texi. -This manual documents the Eplain macros, version 3.4, February 2010. +This manual documents the Eplain macros, version 3.5, February 2013. Eplain provides functionality for plain TeX that is intended to be useful regardless of how your document is actually formatted. Most of this manual is in the public domain, like most of the Eplain -code. It was originally written by Karl Berry, starting in 1989. -Steven Smith wrote the documentation for the commutative diagram -macros; this chapter is under the GNU General Public License. Adam -Lewenberg has made additions and corrections. Oleg Katsitadze wrote -the section on LaTeX packages and the chapter on hyperlinks, and -updates throughout. - +code. It was originally written by Karl Berry, starting in 1989. Steven +Smith wrote the documentation for the commutative diagram macros; this +chapter is under the GNU General Public License. Adam Lewenberg has made +additions and corrections. Oleg Katsitadze wrote the section on LaTeX +packages and the chapter on hyperlinks, and updates throughout. INFO-DIR-SECTION TeX START-INFO-DIR-ENTRY * Eplain: (eplain). Expanding on plain Tex. @@ -23,17 +22,18 @@ File: eplain.info, Node: Top, Next: Introduction, Up: (dir) Eplain ****** -This manual documents the Eplain macros, version 3.4, February 2010. +This manual documents the Eplain macros, version 3.5, February 2013. Eplain provides functionality for plain TeX that is intended to be useful regardless of how your document is actually formatted. Most of this manual is in the public domain, like most of the Eplain code. It was originally written by Karl Berry, starting in 1989. -Steven Smith wrote the documentation for the commutative diagram -macros; this chapter is under the GNU General Public License. Adam -Lewenberg has made additions and corrections. Oleg Katsitadze wrote -the section on LaTeX packages and the chapter on hyperlinks, and -updates throughout. +Steven Smith wrote the documentation for the commutative diagram macros; +this chapter is under the GNU General Public License. Adam Lewenberg +has made additions and corrections. Oleg Katsitadze wrote the section +on LaTeX packages and the chapter on hyperlinks, and updates throughout. + + The Eplain home page is <http://tug.org/eplain>. * Menu: @@ -48,7 +48,7 @@ updates throughout. * Macro index:: Entries for TeX and Eplain control sequences. * Concept index:: General index. - --- The Detailed Node Listing --- + -- The Detailed Node Listing -- User definitions @@ -98,13 +98,13 @@ Contents Cross-references -* Defining generic references:: -* Using generic references:: +* Defining generic references:: +* Using generic references:: Equation references -* Formatting equation references:: -* Subequation references:: +* Formatting equation references:: +* Subequation references:: Indexing @@ -190,25 +190,25 @@ Turning hyperlinks on/off Arrow theoretic diagrams -* Slanted lines and vectors:: -* Commutative diagrams:: +* Slanted lines and vectors:: +* Commutative diagrams:: Commutative diagrams -* Arrows and morphisms:: -* Construction of commutative diagrams:: -* Commutative diagram parameters:: +* Arrows and morphisms:: +* Construction of commutative diagrams:: +* Commutative diagram parameters:: Programming definitions * Category codes:: Changing category codes. * Allocation macros:: Non-outer versions of \newcount et al. -* Iteration:: Doing `for' and `while' loops in TeX. +* Iteration:: Doing 'for' and 'while' loops in TeX. * Macro arguments:: Reading and ignoring them. * Converting to characters:: Normalizing control sequences and spaces. * Expansion:: Controlling expansion. * Obeying spaces:: Making whitespace count anywhere. -* Writing out numbers:: Making `1' into `one'. +* Writing out numbers:: Making '1' into 'one'. * Mode-specific penalties:: * Auxiliary files:: Testing for their existence. * User-defined environments:: User-defined environments. @@ -216,15 +216,15 @@ Programming definitions Expansion -* \csn and \ece:: -* \edefappend:: +* \csn and \ece:: +* \edefappend:: * Hooks:: Manipulating and executing named actions. * Properties:: Associating information with a csname. -* \expandonce:: -* \ifundefined:: +* \expandonce:: +* \ifundefined:: * \ifempty:: * \ifinteger and \isinteger:: -* \futurenonspacelet:: +* \futurenonspacelet:: Demo files @@ -238,20 +238,22 @@ File: eplain.info, Node: Introduction, Next: Installation, Prev: Top, Up: To ************** The "Eplain" macro package expands on and extends the definitions in -plain TeX. This manual describes the definitions that you, as either -an author or a macro writer, might like to use. It doesn't discuss the -implementation; see comments in the source code (`xeplain.tex') for +plain TeX. Its home on the web is <http://tug.org/eplain>. + + This manual describes the definitions that you, as either an author +or a macro writer, might like to use. It doesn't discuss the +implementation; see comments in the source code ('xeplain.tex') for that. - Eplain is not intended to provide "generic" typesetting -capabilities, as do LaTeX (written by Leslie Lamport) or Texinfo (written -by Richard Stallman and others). Instead, it provides definitions that -are intended to be useful regardless of the high-level commands that -you use when you actually prepare your manuscript. + Eplain is not intended to provide "generic" typesetting capabilities, +as do LaTeX (written by Leslie Lamport) or Texinfo (written by Richard +Stallman and others). Instead, it provides definitions that are +intended to be useful regardless of the high-level commands that you use +when you actually prepare your manuscript. - For example, Eplain does not have a command `\section', which would + For example, Eplain does not have a command '\section', which would format section headings in an "appropriate" way, such as LaTeX's -`\section'. The philosophy of Eplain is that some people will always +'\section'. The philosophy of Eplain is that some people will always need or want to go beyond the macro designer's idea of "appropriate". Such canned macros are fine--as long as you are willing to accept the resulting output. If you don't like the results, or if you are trying @@ -267,7 +269,7 @@ typographic style on an author, and yet (2) provide such capabilities. another set of definitions: ones that change the conventions of plain TeX's output. For example, math displays in TeX are, by default, centered. If you want your displays to come out left-justified, you -have to plow through `The TeXbook' to find some way to do it, and then +have to plow through 'The TeXbook' to find some way to do it, and then adapt the code to your own needs. Eplain tries to take care of the messy details of such things, while still leaving the detailed appearance of the output up to you. @@ -276,23 +278,23 @@ appearance of the output up to you. developed. They are also documented in this manual, on the chance that people writing other macros will be able to use them. - You can send bug reports or suggestions to <tex-eplain@tug.org>. -The current version number of Eplain is defined as the macro -`\fmtversion' at the end of the source file `eplain.tex'. When -corresponding, please refer to it. + You can send bug reports or suggestions to <tex-eplain@tug.org>. The +current version number of Eplain is defined as the macro '\fmtversion' +at the end of the source file 'eplain.tex'. When corresponding, please +refer to it. To get on this mailing list yourself, email <tex-eplain-request@tug.org> with a message whose body contains a line subscribe YOU@YOUR.PREFERRED.ADDRESS -or visit `http://tug.org/mailman/listinfo/tex-eplain'. +or visit <http://tug.org/mailman/listinfo/tex-eplain>. David Walden had reported his experience with Eplain as a new user. The article is available online at -`http://tug.org/pracjourn/2005-4/walden'. An introductory article +<http://tug.org/pracjourn/2005-4/walden>. An introductory article (written for TUGboat) is also available online at -`http://tug.org/eplain/misc/tb84katsi.pdf'. +<http://tug.org/eplain/misc/tb84katsi.pdf>. File: eplain.info, Node: Installation, Next: Invoking Eplain, Prev: Introduction, Up: Top @@ -301,29 +303,29 @@ File: eplain.info, Node: Installation, Next: Invoking Eplain, Prev: Introduct ************** Your TeX installation should already contain a version of Eplain -(`eplain.tex') in its main `texmf' tree (usually under -`/usr/share/texmf/tex/eplain/' on Unix systems). To install a newer -version of Eplain, put the new `eplain.tex' (included in Eplain -distributions) in the `tex/eplain/' subdirectory of your local `texmf' +('eplain.tex') in its main 'texmf' tree (usually under +'/usr/share/texmf/tex/eplain/' on Unix systems). To install a newer +version of Eplain, put the new 'eplain.tex' (included in Eplain +distributions) in the 'tex/eplain/' subdirectory of your local 'texmf' tree. The newer version you install in the local tree should override the older one in the main tree. - The location of the local `texmf' tree obviously depends on your + The location of the local 'texmf' tree obviously depends on your operating system and TeX installation. On Unix systems the usual -location is `/usr/local/share/texmf/'. If you don't have write -permissions for `/usr/local/share/texmf/', many installations read the -`texmf' tree in the user's home directory; `eplain.tex' then should go -under `~/texmf/tex/eplain/'. For more information about TeX directory +location is '/usr/local/share/texmf/'. If you don't have write +permissions for '/usr/local/share/texmf/', many installations read the +'texmf' tree in the user's home directory; 'eplain.tex' then should go +under '~/texmf/tex/eplain/'. For more information about TeX directory structure, please see -`http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds'. +<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds>. - If you prefer to install `eplain.tex' in a non-standard place, set -an environment variable (`TEXINPUTS' for the Web2C port of TeX to Unix) -to tell TeX how to find it. + If you prefer to install 'eplain.tex' in a non-standard place, set an +environment variable ('TEXINPUTS' for the Web2C port of TeX to Unix) to +tell TeX how to find it. - If you want, you can also create a format (`.fmt') file for Eplain, + If you want, you can also create a format ('.fmt') file for Eplain, which will eliminate the time spent reading the macro source file with -`\input'. You do this by issuing a sequence of Unix commands something +'\input'. You do this by issuing a sequence of Unix commands something like this: prompt$ touch eplain.aux @@ -334,14 +336,14 @@ like this: *\dump ... MESSAGES ... -You must make sure that `eplain.aux' exists _before_ you run `initex'; +You must make sure that 'eplain.aux' exists _before_ you run 'initex'; otherwise, warning messages about undefined labels will never be issued. - You then have to install the resulting `eplain.fmt' in your local -`texmf' tree or set an environment variable to tell TeX how to find it. + You then have to install the resulting 'eplain.fmt' in your local +'texmf' tree or set an environment variable to tell TeX how to find it. For the Web2C port of TeX to Unix, format files are usually installed -under `/usr/local/share/texmf/web2c/' or `/var/lib/texmf/web2c/'; the -environment variable is `TEXFORMATS'. +under '/usr/local/share/texmf/web2c/' or '/var/lib/texmf/web2c/'; the +environment variable is 'TEXFORMATS'. File: eplain.info, Node: Invoking Eplain, Next: User definitions, Prev: Installation, Up: Top @@ -357,111 +359,108 @@ at the beginning of your input file. The macro file is small enough that reading it does not take an unbearably long time--at least on contemporary machines. - In addition, if a format (`.fmt') file has been created for Eplain -(see the previous section), you can eliminate the time spent reading -the macro source file. You do this by responding `&eplain' to TeX's -`**' prompt. For example: + In addition, if a format ('.fmt') file has been created for Eplain +(see the previous section), you can eliminate the time spent reading the +macro source file. You do this by responding '&eplain' to TeX's '**' +prompt. For example: initex This is TeX, ... **&eplain myfile Depending on the implementation of TeX which you are using, you might -also be able to invoke TeX as `eplain' and have the format file +also be able to invoke TeX as 'eplain' and have the format file automatically read. If you write something which you will be distributing to others, you won't know if the Eplain format will be loaded already. If it is, then -doing `\input eplain' will waste time; if it isn't, then you must load -it. To solve this, Eplain defines the control sequence `\eplain' to be -the letter `t' (a convention borrowed from Lisp; it doesn't actually +doing '\input eplain' will waste time; if it isn't, then you must load +it. To solve this, Eplain defines the control sequence '\eplain' to be +the letter 't' (a convention borrowed from Lisp; it doesn't actually matter what the definition is, only that the definition exists). Therefore, you can do the following: \ifx\eplain\undefined \input eplain \fi -where `\undefined' must never acquire a definition. +where '\undefined' must never acquire a definition. Eplain consists of several source files: -`xeplain.tex' +'xeplain.tex' most of the macros; -`arrow.tex' +'arrow.tex' commutative diagram macros (*note Arrow theoretic diagrams::), written by Steven Smith; -`btxmac.tex' +'btxmac.tex' bibliography-related macros (*note Citations::); -`ifpdf.sty' - sets the switch `\ifpdf', which can be used to detect pdfTeX in - PDF mode (*note Checking for PDF output::), written by Heiko - Oberdiek; +'ifpdf.sty' + sets the switch '\ifpdf', which can be used to detect pdfTeX in PDF + mode (*note Checking for PDF output::), written by Heiko Oberdiek; -`path.sty' +'path.sty' macro for allowing line breaks at punctuation characters within long pathnames, electronic mail addresses, etc., (*note Paths::), written by Philip Taylor; -`texnames.sty' +'texnames.sty' abbreviations for various TeX-related names (*note Logos::), edited by Nelson Beebe. - -The file `eplain.tex' is all of these files merged together, with +The file 'eplain.tex' is all of these files merged together, with comments removed. The original sources can be found in Eplain source zip archive in your TeX distribution, on CTAN or on Eplain's home page -at `http://tug.org/eplain'. +at <http://tug.org/eplain>. - All of these files except `xeplain.tex' can be input individually, -if all you want are the definitions in that file. + All of these files except 'xeplain.tex' can be input individually, if +all you want are the definitions in that file. Also, since the bibliography macros are fairly extensive, you might not want to load them, to conserve TeX's memory. Therefore, if the -control sequence `\nobibtex' is defined, then the bibliography -definitions are skipped. You must set `\nobibtex' before `eplain.tex' +control sequence '\nobibtex' is defined, then the bibliography +definitions are skipped. You must set '\nobibtex' before 'eplain.tex' is read, naturally. For example, you could start your input file like this: \let\nobibtex = t \input eplain -By default, `\nobibtex' is undefined, and so the bibliography +By default, '\nobibtex' is undefined, and so the bibliography definitions _are_ made. - Likewise, define `\noarrow' if you don't want to include the -commutative diagram macros from `arrow.tex', perhaps because you -already have conflicting ones. + Likewise, define '\noarrow' if you don't want to include the +commutative diagram macros from 'arrow.tex', perhaps because you already +have conflicting ones. - If you don't want to read or write an `aux' file at all, for any -kind of cross-referencing, define `\noauxfile' before reading -`eplain.tex'. This also turns off all warnings about undefined labels. + If you don't want to read or write an 'aux' file at all, for any kind +of cross-referencing, define '\noauxfile' before reading 'eplain.tex'. +This also turns off all warnings about undefined labels. - Eplain conflicts with AMSTeX (to be precise, with `amsppt.sty'): the -macros `\cite' and `\ref' are defined by both. + Eplain conflicts with AMSTeX (to be precise, with 'amsppt.sty'): the +macros '\cite' and '\ref' are defined by both. - If you want to use AMSTeX's `\cite', the solution is to define -`\nobibtex' before reading Eplain, as described above. + If you want to use AMSTeX's '\cite', the solution is to define +'\nobibtex' before reading Eplain, as described above. - If you have `amsppt.sty' loaded and use `\ref', Eplain writes a -warning on your terminal. If you want to use the AMSTeX `\ref', do -`\let\ref = \amsref' after reading Eplain. To avoid the warning, do -`\let\ref = \eplainref' after reading Eplain and before using `\ref'. + If you have 'amsppt.sty' loaded and use '\ref', Eplain writes a +warning on your terminal. If you want to use the AMSTeX '\ref', do +'\let\ref = \amsref' after reading Eplain. To avoid the warning, do +'\let\ref = \eplainref' after reading Eplain and before using '\ref'. - Sometimes you may need to run TeX more then once on your `.tex' file + Sometimes you may need to run TeX more then once on your '.tex' file in order to produce and typeset indexes, resolve undefined -cross-references and/or citations. The shell script `texi2dvi' from -the Texinfo documentation system (see -`http://www.gnu.org/software/texinfo') can automate this process: it -runs BibTeX, MakeIndex and TeX as many times as needed to complete the -compilation process. You will need to set the `LATEX' environment -variable to `tex'. For example, in a Bourne-compatible shell, the -following command will do all the work: +cross-references and/or citations. The shell script 'texi2dvi' from the +Texinfo documentation system (see <http://www.gnu.org/software/texinfo>) +can automate this process: it runs BibTeX, MakeIndex and TeX as many +times as needed to complete the compilation process. You will need to +set the 'LATEX' environment variable to 'tex'. For example, in a +Bourne-compatible shell, the following command will do all the work: prompt$ LATEX=tex texi2dvi file.tex -(Despite the name, `texi2dvi' can also produce `.pdf' files; just set -`LATEX=pdftex'.) See the output from the command `texi2dvi --help' for +(Despite the name, 'texi2dvi' can also produce '.pdf' files; just set +'LATEX=pdftex'.) See the output from the command 'texi2dvi --help' for invoking information and a full list of options. @@ -470,9 +469,9 @@ File: eplain.info, Node: User definitions, Next: Hyperlinks, Prev: Invoking E 4 User definitions ****************** -This chapter describes definitions that are meant to be used directly -in a document. When appropriate, ways to change the default formatting -are described in subsections. +This chapter describes definitions that are meant to be used directly in +a document. When appropriate, ways to change the default formatting are +described in subsections. * Menu: @@ -506,30 +505,29 @@ File: eplain.info, Node: Diagnostics, Next: Rules, Up: User definitions 4.1 Diagnostics =============== -Plain TeX provides the `\tracingall' command, to turn on the maximum -amount of tracing possible in TeX. The (usually voluminous) output -from `\tracingall' goes both on the terminal and into the transcript -file. It is sometimes easier to have the output go only to the -transcript file, so you can peruse it at your leisure and not obscure -other output to the terminal. So, Eplain provides the command -`\loggingall'. (For some reason, this command is available in -Metafont, but not in TeX.) +Plain TeX provides the '\tracingall' command, to turn on the maximum +amount of tracing possible in TeX. The (usually voluminous) output from +'\tracingall' goes both on the terminal and into the transcript file. +It is sometimes easier to have the output go only to the transcript +file, so you can peruse it at your leisure and not obscure other output +to the terminal. So, Eplain provides the command '\loggingall'. (For +some reason, this command is available in Metafont, but not in TeX.) It is also sometimes useful to see the complete contents of boxes. -`\tracingboxes' does this. (It doesn't affect whether or not the +'\tracingboxes' does this. (It doesn't affect whether or not the contents are shown on the terminal.) - You can turn off all tracing with `\tracingoff'. + You can turn off all tracing with '\tracingoff'. You can also turn logging on and off globally, so you don't have to worry about whether or not you're inside a group at the time of command. -These variants are named `\gloggingall' and `\gtracingall'. +These variants are named '\gloggingall' and '\gtracingall'. - Finally, if you write your own help messages (see `\newhelp' in `The + Finally, if you write your own help messages (see '\newhelp' in 'The TeXbook'), you want a convenient way to break lines in them. This is -what TeX's `\newlinechar' parameter is for; however, plain TeX doesn't -set `\newlinechar'. Therefore, Eplain defines it to be the character -`^^J'. +what TeX's '\newlinechar' parameter is for; however, plain TeX doesn't +set '\newlinechar'. Therefore, Eplain defines it to be the character +'^^J'. For example, one of Eplain's own error messages is defined as follows: @@ -544,19 +542,19 @@ File: eplain.info, Node: Rules, Next: Citations, Prev: Diagnostics, Up: User 4.2 Rules ========= -The default dimensions of rules are defined in chapter 21 of the `The -TeXbook'. To sum up what is given there, the "thickness" of rules is 0.4pt -by default. Eplain defines three parameters that let you change this -dimension: `\hruledefaultheight', `\hruledefaultdepth', and -`\vruledefaultwidth'. By default, they are defined as `The TeXbook' +The default dimensions of rules are defined in chapter 21 of the 'The +TeXbook'. To sum up what is given there, the "thickness" of rules is +0.4pt by default. Eplain defines three parameters that let you change +this dimension: '\hruledefaultheight', '\hruledefaultdepth', and +'\vruledefaultwidth'. By default, they are defined as 'The TeXbook' describes. - But it would be wrong to redefine `\hrule' and `\vrule'. For one + But it would be wrong to redefine '\hrule' and '\vrule'. For one thing, some macros in plain TeX depend on the default dimensions being used; for another, rules are used quite heavily, and the performance impact of making it a macro can be noticeable. Therefore, to take -advantage of the default rule parameters, you must use `\ehrule' and -`\evrule'. +advantage of the default rule parameters, you must use '\ehrule' and +'\evrule'. File: eplain.info, Node: Citations, Next: Displays, Prev: Rules, Up: User definitions @@ -565,7 +563,7 @@ File: eplain.info, Node: Citations, Next: Displays, Prev: Rules, Up: User de ============= Bibliographies are part of almost every technical document. To handle -them easily, you need two things: a program to do the tedious +them conveniently, you need two things: a program to do the tedious formatting, and a way to cite references by labels, rather than by numbers. The BibTeX program, written by Oren Patashnik, takes care of the first item; the citation commands in LaTeX, written to be used with @@ -573,72 +571,72 @@ BibTeX, take care of the second. Therefore, Eplain adopts the use of BibTeX, and virtually the same interface as LaTeX. The general idea is that you put citation commands in the text of -your document, and commands saying where the bibliography data is. -When you run TeX, these commands produce output on the file with the -same root name as your document (by default) and the extension `.aux'. BibTeX -reads this file. You should put the bibliography data in a file or -files with the extension `.bib'. BibTeX writes out a file with the same -root name as your document and extension `.bbl'. Eplain reads this file the -next time you run your document through TeX. (It takes multiple passes -to get everything straight, because usually after seeing your -bibliography typeset, you want to make changes in the `.bib' file, +your document, and commands saying where the bibliography data is. When +you run TeX, these commands produce output on the file with the same +root name as your document (by default) and the extension '.aux'. +BibTeX reads this file. You should put the bibliography data in a file +or files with the extension '.bib'. BibTeX writes out a file with the +same root name as your document and extension '.bbl'. Eplain reads this +file the next time you run your document through TeX. (It takes +multiple passes to get everything straight, because usually after seeing +your bibliography typeset, you want to make changes in the '.bib' file, which means you have to run BibTeX again, which means you have to run -TeX again...) An annotated example of the whole process is given below. +TeX again...) An annotated example of the whole process is given below. If your document has more than one bibliography--for example, if it is a collection of papers--you can tell Eplain to use a different root -name for the `.bbl' file by defining the control sequence -`\bblfilebasename'. The default definition is simply `\jobname'. +name for the '.bbl' file by defining the control sequence +'\bblfilebasename'. The default definition is simply '\jobname'. On the other hand, if your document's bibliography is very simple, -you may prefer to create the `.bbl' file yourself, by hand, instead of +you may prefer to create the '.bbl' file yourself, by hand, instead of using BibTeX. An annotated example of this approach is also given below. - See the document `BibTeXing' (whose text is in the file -`btxdoc.tex', which should be in the Eplain distribution you got) for -information on how to write your .bib files. Both the BibTeX and the -Eplain distributions contain several examples, also. + See the document 'BibTeXing' (whose text is in the file 'btxdoc.tex', +which should be in the Eplain distribution you got) for information on +how to write your .bib files. Both the BibTeX and the Eplain +distributions contain several examples, also. - The `\cite' command produces a citation in the text of your -document. The exact printed form the citation will take is under your -control (*note Formatting citations::). `\cite' takes one required -argument, a comma-separated list of cross-reference labels (*note + The '\cite' command produces a citation in the text of your document. +The exact printed form the citation will take is under your control +(*note Formatting citations::). '\cite' takes one required argument, a +comma-separated list of cross-reference labels (*note Cross-references::, for exactly what characters are allowed in such labels). Warning: spaces in this list are taken as part of the following label name, which is probably not what you expect. The -`\cite' command also produces a command in the .aux file that tells -BibTeX to retrieve the given reference(s) from the .bib file. `\cite' +'\cite' command also produces a command in the .aux file that tells +BibTeX to retrieve the given reference(s) from the .bib file. '\cite' also takes one optional argument, which you specify within square -brackets, as in LaTeX. This text is simply typeset after the -citations. (See the example below.) +brackets, as in LaTeX. This text is simply typeset after the citations. +(See the example below.) Eplain can create hypertext links for citations pointing to the relevant bibliography entries (*note Citation hyperlinks::). - Another command, `\nocite', puts the given reference(s) into the + Another command, '\nocite', puts the given reference(s) into the bibliography, but produces nothing in the text. - The `\bibliography' command is next. It serves two purposes: -producing the typeset bibliography, and telling BibTeX the root names -of the .bib files. Therefore, the argument to `\bibliography' is a -comma separated list of the .bib files (without the `.bib'). Again, -spaces in this list are significant. + The '\bibliography' command is next. It serves two purposes: +producing the typeset bibliography, and telling BibTeX the root names of +the .bib files. Therefore, the argument to '\bibliography' is a comma +separated list of the .bib files (without the '.bib'). Again, spaces in +this list are significant. You tell BibTeX the particular style in which you want your -bibliography typeset with one more command: `\bibliographystyle'. The +bibliography typeset with one more command: '\bibliographystyle'. The argument to this is a single filename STYLE, which tells BibTeX to look -for a file STYLE.bst. See the document `Designing BibTeX styles' -(whose text is in the `btxhak.tex') for information on how to write -your own styles. +for a file STYLE.bst. See the document 'Designing BibTeX styles' (whose +text is in the 'btxhak.tex') for information on how to write your own +styles. - Eplain automatically reads the citations from the .aux file when -your job starts. + Eplain automatically reads the citations from the .aux file when your +job starts. If you don't want to see the messages about undefined citations, you -can say `\xrefwarningfalse' before making any citations. Eplain +can say '\xrefwarningfalse' before making any citations. Eplain automatically does this if the .aux file does not exist. You can -restore the default by saying `\xrefwarningtrue'. +restore the default by saying '\xrefwarningtrue'. Here is a TeX input file that illustrates the various commands. @@ -649,21 +647,21 @@ restore the default by saying `\xrefwarningtrue'. \bibliography{knuth} % Use knuth.bib for the labels. \bibliographystyle{plain} % Number the references. \end % End of the document. - - If we suppose that this file was named `citex.tex' and that the -bibliography data is in `knuth.bib' (as the `\bibliography' command -says), the following commands do what's required. (`$ ' represents the -shell prompt.) + + If we suppose that this file was named 'citex.tex' and that the +bibliography data is in 'knuth.bib' (as the above '\bibliography' +command says), the following commands do what's required. ('$ ' +represents the shell prompt.) $ tex citex (produces undefined citation messages) $ bibtex citex (read knuth.bib and citex.aux, write citex.bbl) $ tex citex (read citex.bbl, still have undefined citations) $ tex citex (one more time, to resolve the references) -The `texi2dvi' program can help you automate this process (*note +The 'texi2dvi' program can help you automate this process (*note Invoking Eplain::). - For simple documents you might choose to write the `.bbl' file + For simple documents you might choose to write the '.bbl' file yourself, instead of running BibTeX. For this scenario, the following commands should suffice: @@ -677,8 +675,8 @@ bibliography style): References - [1] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. - Concrete Mathematics. Addison-Wesley, Reading, Massachusetts, 1989. + [1] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. Concrete + Mathematics. Addison-Wesley, Reading, Massachusetts, 1989. [2] Donald E. Knuth. Surreal Numbers. Addison-Wesley, Reading, Massachusetts, 1974. @@ -686,12 +684,13 @@ bibliography style): See the BibTeX documentation for information on how to write the bibliography databases, and the bibliography styles that are available. (If you want your references printed with names, as in [Knu74], instead -of numbered, the bibliography style is `alpha'.) +of numbered, the bibliography style is 'alpha'.) * Menu: * Formatting citations:: Changing the way citations are printed. * Formatting bibliographies:: Changing the way bibliographies are printed. +* Commands from LaTeX:: LaTeX commands defined by 'btxmac'. File: eplain.info, Node: Formatting citations, Next: Formatting bibliographies, Up: Citations @@ -700,29 +699,28 @@ File: eplain.info, Node: Formatting citations, Next: Formatting bibliographies -------------------------- You may wish to change Eplain's formatting of citations; i.e., the -result of your `\cite' commands. By default, the citation labels are -printed one after another, separated by commas and enclosed in -brackets, using the main text font. Some formats require other styles, -such as superscripted labels. You can accomodate such formats by -redefining the following macros. - -`\printcitestart' - -`\printcitefinish' +result of your '\cite' commands. By default, the citation labels are +printed one after another, separated by commas and enclosed in brackets, +using the main text font. Some formats require other styles, such as +superscripted labels. You can accomodate such formats by redefining the +following macros. + +'\printcitestart' +'\printcitefinish' Eplain expands these macros at the begining and end of the list of - citations for each `\cite' command. By default, they produce a - `[' and `]', respectively. + citations for each '\cite' command. By default, they produce a '[' + and ']', respectively. -`\printbetweencitations' - If a `\cite' command has multiple citations, as in - `\cite{acp,texbook}', Eplain expands this macro in between each - pair of citations. By default, it produces a comma followed by a +'\printbetweencitations' + If a '\cite' command has multiple citations, as in + '\cite{acp,texbook}', Eplain expands this macro in between each + pair of citations. By default, it produces a comma followed by a space. -`\printcitenote' +'\printcitenote' This macro takes one argument, which is the optional note to the - `\cite' command. If the `\cite' command had no note, this macro - isn't used. Otherwise, it should print the note. By default, the + '\cite' command. If the '\cite' command had no note, this macro + isn't used. Otherwise, it should print the note. By default, the note is preceded with a comma and a space. Here is an example, showing you could produce citations as @@ -734,101 +732,146 @@ superscripted labels, with the optional notes in parentheses. \def\printcitenote#1{\hbox{\sevenrm\space (#1)}} -File: eplain.info, Node: Formatting bibliographies, Prev: Formatting citations, Up: Citations +File: eplain.info, Node: Formatting bibliographies, Next: Commands from LaTeX, Prev: Formatting citations, Up: Citations 4.3.2 Formatting bibliographies ------------------------------- You may wish to change Eplain's formatting of the bibliography, -especially with respect to the fonts that are used. Therefore, Eplain +especially with respect to the fonts that are used. Therefore, Eplain provides the following control sequences: -`\biblabelwidth' - This control sequence represents a `\dimen' register, and its value - is the width of the widest label in the bibliography. Although it +'\biblabelwidth' + This control sequence represents a '\dimen' register, and its value + is the width of the widest label in the bibliography. Although it is unlikely you will ever want to redefine it, you might want to - use it if you redefine `\biblabelprint', below. - -`\biblabelprint' - This macro takes one argument, the label to print. By default, the - label is put in a box of width `\biblabelwidth', and is followed by - an enspace. When you want to change the spacing around the - labels, this is the right macro to redefine. - -`\biblabelcontents' - This macro also takes one argument, the label to print. By - default, the label is printed using the font `\bblrm' (below), and - enclosed in brackets. When you want to change the appearance of - the label, but not the spacing around it, this is the right macro - to redefine. - -`\bblrm' + use it if you redefine '\biblabelprint', below. + +'\biblabelprint' + This macro takes one argument, the label to print. By default, the + label is put in a box of width '\biblabelwidth', and is followed by + an enspace. When you want to change the spacing around the labels, + this is the right macro to redefine. + +'\biblabelcontents' + This macro also takes one argument, the label to print. By default, + the label is printed using the font '\bblrm' (below), and enclosed + in brackets. When you want to change the appearance of the label, + but not the spacing around it, this is the right macro to redefine. + +'\biblabelprecontents' +'\biblabelpostcontents' + Macros expanded before and after '\biblabelcontents', respectively. + For example, to get left-justified numeric labels (they are + right-justified by default): + + \def\biblabelprecontents{\relax} + \def\biblabelpostcontents{\hss} + +'\bblrm' The default font used for printing the bibliography. -`\bblem' +'\bblem' The font used for printing the titles and other "emphasized" material. -`\bblsc' +'\bblemph' + Typesets its argument using '\bblem', then inserts an italic + correction. + +'\bblsc' In some styles, authors' names are printed in a caps-and-small-caps - font. In those cases, this font is used. + font. In those cases, this font is used. -`\bblnewblock' +'\bblnewblock' This is invoked between each of the parts of a bibliography entry. The default is to leave some extra space between the parts; you - could redefine it to start each part on a new line (for example). - A part is simply a main element of the entry; for example, the - author is a part. (It was LaTeX that introduced the (misleading, - as far as I am concerned) term `block' for this.) + could redefine it to start each part on a new line (for example). A + part is simply a main element of the entry; for example, the author + is a part. (It was LaTeX that introduced the (misleading, as far as + I am concerned) term 'block' for this.) -`\biblabelextraspace' +'\biblabelextraspace' Bibliography entries are typeset with a hanging indentation of - `\biblabelwidth' plus this. The default is `.5em', where the em - width is taken from the `\bblrm' font. If you want to change - this, you should do it inside `\bblhook'. - -`\bblhook' - This is expanded before reading the .bbl file. By default, it - does nothing. You could, for example, define it to set the - bibliography fonts, or produce the heading for the references. Two - spacing parameters must be changed inside `\bblhook': `\parskip', - which produces extra space between the items; and - `\biblabelextraspace', which is described above. (By the way, - `\hookappend' won't work with `\bblhook', despite the names. Just - use `\def'.) - - - If you are really desperate, you can also hand-edit the .bbl file + '\biblabelwidth' plus this. The default is '.5em', where the em + width is taken from the '\bblrm' font. If you want to change this, + you should do it inside '\bblhook'. + +'\bblhook' + This is expanded before reading the .bbl file. By default, it does + nothing. You could, for example, define it to set the bibliography + fonts, or produce the heading for the references. Two spacing + parameters must be changed inside '\bblhook': '\parskip', which + produces extra space between the items; and '\biblabelextraspace', + which is described above. (By the way, '\hookappend' won't work + with '\bblhook', despite the names. Just use '\def'.) + + If you are desperate, of course you can also hand-edit the .bbl file that BibTeX produces to do anything you wish. +File: eplain.info, Node: Commands from LaTeX, Prev: Formatting bibliographies, Up: Citations + +4.3.3 Commands from LaTeX +------------------------- + +Because of the historical connection between BibTeX and LaTeX, in +practice many bibliography styles and bibliographies use LaTeX commmands +that are not part of bibliography handling, per se. + + To support this, 'btxmac.tex' (and thus Eplain) define the following. +In all cases, an existing definition (e.g., from 'miniltx.tex', *note +Loading LaTeX packages: Loading LaTeX packages.) will not be +overwritten. Here is the list: + +'\newcommand' +'\renewcommand' +'\providecommand' + Defining new commands in various ways. The Eplain versions do not + support the *-form of these; use 'miniltx' for that. + +'\em' +'\emph' +'\sc' +'\textbf' + Selecting fonts. + +'\mbox' + A horizontal box. + +'\newblock' + Starts elements of a bibliography entry. + + For full information about these, see the LaTeX manual and sources. + + File: eplain.info, Node: Displays, Next: Time of day, Prev: Citations, Up: User definitions 4.4 Displays ============ -By default, TeX centers displayed material. (Displayed material is -just whatever you put between `$$''s--it's not necessarily -mathematics.) Many layouts would be better served if the displayed -material was left-justified. Therefore, Eplain provides the command -`\leftdisplays', which indents displayed material by `\parindent' plus -`\leftskip', plus `\leftdisplayindent'. +By default, TeX centers displayed material. (Displayed material is just +whatever you put between '$$''s--it's not necessarily mathematics.) Many +layouts would be better served if the displayed material was +left-justified. Therefore, Eplain provides the command '\leftdisplays', +which indents displayed material by '\parindent' plus '\leftskip', plus +'\leftdisplayindent'. - You can go back to centering displays with `\centereddisplays'. (It + You can go back to centering displays with '\centereddisplays'. (It is usually poor typography to have both centered and left-justified displays in a single publication, though.) - `\leftdisplays' also changes the plain TeX commands that deal with -alignments inside math displays, `\displaylines', `\eqalignno', and -`\leqalignno', to produce left-justified text. You can still override -this formatting by inserting `\hfill' glue, as explained in `The + '\leftdisplays' also changes the plain TeX commands that deal with +alignments inside math displays, '\displaylines', '\eqalignno', and +'\leqalignno', to produce left-justified text. You can still override +this formatting by inserting '\hfill' glue, as explained in 'The TeXbook'. - Eplain defines `\eqnum' and `\eqalignnum' which can be set up to + Eplain defines '\eqnum' and '\eqalignnum' which can be set up to produce either left-aligned or right-aligned equation numbers. -`\lefteqnumbers' (`\righteqnumbers') will define `\eqnum' to expand to -`\eqno' (`\leqno'), and `\eqalignnum' to expand to `\eqalignno' -(`\leqalignno'). Default is `\righteqnumbers' (right-aligned equation +'\lefteqnumbers' ('\righteqnumbers') will define '\eqnum' to expand to +'\eqno' ('\leqno'), and '\eqalignnum' to expand to '\eqalignno' +('\leqalignno'). Default is '\righteqnumbers' (right-aligned equation numbers). * Menu: @@ -841,15 +884,15 @@ File: eplain.info, Node: Formatting displays, Up: Displays 4.4.1 Formatting displays ------------------------- -If you want some other kind of formatting, you can write a definition -of your own, analogous to `\leftdisplays'. You need only make sure -that `\leftdisplaysetup' is called at the beginning of every display -(presumably by invoking it in TeX's `\everydisplay' parameter). +If you want some other kind of formatting, you can write a definition of +your own, analogous to '\leftdisplays'. You need only make sure that +'\leftdisplaysetup' is called at the beginning of every display +(presumably by invoking it in TeX's '\everydisplay' parameter). - `\leftdisplays' expands the old value of `\everydisplay' before -calling `\leftdisplaysetup', so that any changes you have made to it -won't be lost. That old token list as available as the value of the -token register `\previouseverydisplay'. + '\leftdisplays' expands the old value of '\everydisplay' before +calling '\leftdisplaysetup', so that any changes you have made to it +won't be lost. That old token list as available as the value of the +token register '\previouseverydisplay'. File: eplain.info, Node: Time of day, Next: Lists, Prev: Displays, Up: User definitions @@ -857,22 +900,22 @@ File: eplain.info, Node: Time of day, Next: Lists, Prev: Displays, Up: User 4.5 Time of day =============== -TeX provides the day, month, and year as numeric quantities (unless -your TeX implementation is woefully deficient). Eplain provides some -control sequences to make them a little more friendly to humans. +TeX provides the day, month, and year as numeric quantities (unless your +TeX implementation is woefully deficient). Eplain provides some control +sequences to make them a little more friendly to humans. - `\monthname' produces the name of the current month, abbreviated to + '\monthname' produces the name of the current month, abbreviated to three letters. - `\fullmonthname' produces the name of the current month, + '\fullmonthname' produces the name of the current month, unabbreviated (in English). - `\timestring' produces the current time, as in `1:14 p.m.' + '\timestring' produces the current time, as in '1:14 p.m.' - `\timestamp' produces the current date and time, as in `23 Apr 64 -1:14 p.m.'. (Except the spacing is slightly different.) + '\timestamp' produces the current date and time, as in '23 Apr 64 +1:14 p.m.'. (Except the spacing is slightly different.) - `\today' produces the current date, as in `23 April 1964'. + '\today' produces the current date, as in '23 April 1964'. File: eplain.info, Node: Lists, Next: Verbatim listing, Prev: Time of day, Up: User definitions @@ -881,44 +924,41 @@ File: eplain.info, Node: Lists, Next: Verbatim listing, Prev: Time of day, U ========= Many documents require lists of items, either numbered or simply -enumerated. Plain TeX defines one macro to help with creating lists, -`\item', but that is insufficient in many cases. Therefore, Eplain +enumerated. Plain TeX defines one macro to help with creating lists, +'\item', but that is insufficient in many cases. Therefore, Eplain provides two pairs of commands: -`\numberedlist ... \endnumberedlist' - -`\orderedlist ... \endorderedlist' +'\numberedlist ... \endnumberedlist' +'\orderedlist ... \endorderedlist' These commands (they are synonyms) produce a list with the items - numbered sequentially, starting from one. A nested `\numberedlist' - labels the items with lowercase letters, starting with `a'. - Another nested `\numberedlist' labels the items with roman - numerals. Yet more deeply nested numbered lists label items with - `*'. + numbered sequentially, starting from one. A nested '\numberedlist' + labels the items with lowercase letters, starting with 'a'. Another + nested '\numberedlist' labels the items with roman numerals. Yet + more deeply nested numbered lists label items with '*'. -`\unorderedlist ... \endunorderedlist' +'\unorderedlist ... \endunorderedlist' This produces a list with the items labelled with small black boxes - ("square bullets"). A nested `\unorderedlist' labels items with - em-dashes. Doubly (and deeper) nested unordered lists label items - with `*'s. - + ("square bullets"). A nested '\unorderedlist' labels items with + em-dashes. Doubly (and deeper) nested unordered lists label items + with '*'s. The two kinds of lists can be nested within each other, as well. - In both kinds of lists, you begin an item with `\li'. An item may -continue for several paragraphs. Each item starts a paragraph. + In both kinds of lists, you begin an item with '\li'. An item may +continue for several paragraphs. Each item starts a paragraph. - You can give `\li' an optional argument, a cross-reference label. -It's defined to be the "marker" for the current item. This is useful -if the list items are numbered. You can produce the value of the label -with `\xrefn'. *Note Cross-references::. + You can give '\li' an optional argument, a cross-reference label. +It's defined to be the "marker" for the current item. This is useful if +the list items are numbered. You can produce the value of the label with +'\xrefn'. *Note Cross-references::. Eplain can create hypertext links for the markers produced by -`\xrefn' pointing to the relevant list item (*note List hyperlinks::). +'\xrefn' pointing to the relevant list item (*note List hyperlinks::). - You can also say `\listcompact' right after `\numberedlist' or -`\unorderedlist'. The items in the list will then not have any extra -space between them (*note Formatting lists::). You might want to do -this if the items in this particular list are short. + You can also say '\listcompact' right after '\numberedlist' or +'\unorderedlist'. The items in the list will then not have any extra +space between them (*note Formatting lists::). You might want to do this +if the items in this particular list are short. Here is an example: @@ -939,55 +979,53 @@ File: eplain.info, Node: Formatting lists, Up: Lists 4.6.1 Formatting lists ---------------------- -Several registers define the spacing associated with lists. It is -likely that their default values won't suit your particular layout. +Several registers define the spacing associated with lists. It is likely +that their default values won't suit your particular layout. -`\abovelistskipamount, \belowlistskipamount' +'\abovelistskipamount, \belowlistskipamount' The vertical glue inserted before and after every list, respectively. -`\interitemskipamount' +'\interitemskipamount' The vertical glue inserted before each item except the first. - `\listcompact' resets this to zero, as mentioned above. - -`\listleftindent, \listrightindent' - `\listrightindent' is the amount of space by which the list is - indented on the right; i.e., it is added to `\rightskip'. - `\listleftindent' is the amount of space, _relative to_ - `\parindent', by which the list is indented on the left. Why treat - the two parameters differently? Because (a) it is more useful to + '\listcompact' resets this to zero, as mentioned above. + +'\listleftindent, \listrightindent' + '\listrightindent' is the amount of space by which the list is + indented on the right; i.e., it is added to '\rightskip'. + '\listleftindent' is the amount of space, _relative to_ + '\parindent', by which the list is indented on the left. Why treat + the two parameters differently? Because (a) it is more useful to make the list indentation depend on the paragraph indentation; - (b) footnotes aren't formatted right if `\parindent' is reset to + (b) footnotes aren't formatted right if '\parindent' is reset to zero. - The three vertical glues are inserted by macros, and preceded by -penalties: `\abovelistskip' does `\vpenalty\abovelistpenalty' and then -`\vskip\abovelistskip'. `\belowlistskip' and `\interitemskip' are +penalties: '\abovelistskip' does '\vpenalty\abovelistpenalty' and then +'\vskip\abovelistskip'. '\belowlistskip' and '\interitemskip' are analogous. - In addition, the macro `\listmarkerspace' is called to separate the -item label from the item text. This is set to `\enspace' by default. + In addition, the macro '\listmarkerspace' is called to separate the +item label from the item text. This is set to '\enspace' by default. If you want to change the labels on the items, you can redefine these -macros: `\numberedmarker' or `\unorderedmarker'. The following -registers might be useful if you do: +macros: '\numberedmarker' or '\unorderedmarker'. The following registers +might be useful if you do: -`\numberedlistdepth, \unorderedlistdepth' +'\numberedlistdepth, \unorderedlistdepth' These keep track of the depth of nesting of the two kinds of lists. -`\itemnumber, \itemletter' +'\itemnumber, \itemletter' These keep track of the number of items that have been seen in the - current numbered list. They are both integer registers. The - difference is that `\itemnumber' starts at one, and `\itemletter' - starts at 97, i.e., lowercase `a'. - + current numbered list. They are both integer registers. The + difference is that '\itemnumber' starts at one, and '\itemletter' + starts at 97, i.e., lowercase 'a'. You can also redefine the control sequences that are used internally, -if you want to do something radically different: `\beginlist' is -invoked to begin both kinds of lists; `\printitem' is invoked to print -the label (and space following the label) for each item; and `\endlist' is -invoked to end both kinds of lists. +if you want to do something radically different: '\beginlist' is invoked +to begin both kinds of lists; '\printitem' is invoked to print the label +(and space following the label) for each item; and '\endlist' is invoked +to end both kinds of lists. File: eplain.info, Node: Verbatim listing, Next: Contents, Prev: Lists, Up: User definitions @@ -996,76 +1034,76 @@ File: eplain.info, Node: Verbatim listing, Next: Contents, Prev: Lists, Up: ==================== It is sometimes useful to include a file verbatim in your document; for -example, part of a computer program. The `\listing' command is given -one argument, a filename, and produces the contents of that file in -your document. `\listing' expands `\listingfont' to set the current -font. The default value of `\listingfont' is `\tt'. +example, part of a computer program. The '\listing' command is given one +argument, a filename, and produces the contents of that file in your +document. '\listing' expands '\listingfont' to set the current font. The +default value of '\listingfont' is '\tt'. You can take arbitrary actions before reading the file by defining -the macro `\setuplistinghook'. This is expanded just before the file -is input. +the macro '\setuplistinghook'. This is expanded just before the file is +input. If you want to have line numbers on the output, you can say -`\let\setuplistinghook = \linenumberedlisting'. The line numbers are -stored in the count register `\lineno' while the file is being read. -You can redefine the macro `\printlistinglineno' to change how they are +'\let\setuplistinghook = \linenumberedlisting'. The line numbers are +stored in the count register '\lineno' while the file is being read. You +can redefine the macro '\printlistinglineno' to change how they are printed. - Normally, the `\listing' command will add a final empty line at the -end of the output, even if the file does not end in a newline. To -suppress this final line, you can say `\let\setuplistinghook = -\nolastlinelisting'. This also works with line numbers (say -`\def\setuplistinghook{\linenumberedlisting \nolastlinelisting}'), but -only if `\printlistinglineno' consists exclusively of boxes at the top -level (i.e., any `\kern's or glue should be wrapped up in a box). + Normally, the '\listing' command will add a final empty line at the +end of the output, even if the file does not end in a newline. To +suppress this final line, you can say '\let\setuplistinghook = +\nolastlinelisting'. This also works with line numbers (say +'\def\setuplistinghook{\linenumberedlisting \nolastlinelisting}'), but +only if '\printlistinglineno' consists exclusively of boxes at the top +level (i.e., any '\kern's or glue should be wrapped up in a box). You can use the form feed control character (ASCII code 12, typed as -`CTRL-L') in the file to force a page break in the output. +'CTRL-L') in the file to force a page break in the output. You can produce in-line verbatim text in your document with -`\verbatim'. End the text with `|endverbatim'. If you need a `|' in -the text, double it. If the first character of the verbatim text is a -space, use `| '. (`| ' will work elsewhere in the argument, too, but -isn't necessary.) +'\verbatim'. End the text with '|endverbatim'. If you need a '|' in the +text, double it. If the first character of the verbatim text is a space, +use '| '. ('| ' will work elsewhere in the argument, too, but isn't +necessary.) For example: \verbatim| ||\#%&!|endverbatim -produces ` |\#%&!'. +produces ' |\#%&!'. Line breaks and spaces in the verbatim text are preserved. - You can change the verbatim escape character from the default `|' -with `\verbatimescapechar CHAR'; for example, this changes it to `@'. + You can change the verbatim escape character from the default '|' +with '\verbatimescapechar CHAR'; for example, this changes it to '@'. \verbatimescapechar \@ The backslash is not necessary in some cases, but is in others, -depending on the catcode of the character. The argument to -`\verbatimescapechar' is used as `\catcode `CHAR', so the exact rules -follow that for `\catcode'. +depending on the catcode of the character. The argument to +'\verbatimescapechar' is used as '\catcode `CHAR', so the exact rules +follow that for '\catcode'. - To reset the category code of all special characters to 12 -("other"), `\verbatim' uses `\uncatcodespecials' (*note Category -codes::). If you make additional characters "special", you should -extend `\dospecials' to include those characters, lest they be given -special treatment inside verbatim environments. For example, + To reset the category code of all special characters to 12 ("other"), +'\verbatim' uses '\uncatcodespecials' (*note Category codes::). If you +make additional characters "special", you should extend '\dospecials' to +include those characters, lest they be given special treatment inside +verbatim environments. For example, \catcode`\A=\active % Try commenting out the following line. \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\A} \verbatimA#$%_^|endverbatim - Because `\verbatim' must change the category code of special + Because '\verbatim' must change the category code of special characters, calling inside a macro definition of your own does not work -properly. For example: +properly. For example: \def\mymacro{\verbatim &#%|endverbatim}% Doesn't work! To accomplish this, you must change the category codes yourself before -making the macro definition. Perhaps `\uncatcodespecials' will help -you (*note Category codes::). +making the macro definition. Perhaps '\uncatcodespecials' will help you +(*note Category codes::). File: eplain.info, Node: Contents, Next: Cross-references, Prev: Verbatim listing, Up: User definitions @@ -1074,10 +1112,10 @@ File: eplain.info, Node: Contents, Next: Cross-references, Prev: Verbatim lis ============ Producing a table of contents that is both useful and aesthetic is one -of the most difficult design problems in any work. Naturally, Eplain -does not pretend to solve the design problem. Collecting the raw data +of the most difficult design problems in any work. Naturally, Eplain +does not pretend to solve the design problem. Collecting the raw data for a table of contents, however, is much the same across documents. -Eplain uses an auxiliary file with extension `.toc' (and the same root +Eplain uses an auxiliary file with extension '.toc' (and the same root name as your document) to save the information. * Menu: @@ -1094,39 +1132,38 @@ File: eplain.info, Node: Writing the .toc file, Next: Reading the .toc file, --------------------------- To write an entry for the table of contents, you say -`\writetocentry{PART}{TEXT}', where PART is the type of part this entry -is, e.g., `chapter', and TEXT is the text of the title. -`\writetocentry' puts an entry into the .toc file that looks like -`\tocPARTentry{TEXT}{PAGE NUMBER}' (unless PART is an integer, see -below). The TEXT is written unexpanded. +'\writetocentry{PART}{TEXT}', where PART is the type of part this entry +is, e.g., 'chapter', and TEXT is the text of the title. '\writetocentry' +puts an entry into the .toc file that looks like +'\tocPARTentry{TEXT}{PAGE NUMBER}' (unless PART is an integer, see +below). The TEXT is written unexpanded. - A related command, `\writenumberedtocentry', takes one additional + A related command, '\writenumberedtocentry', takes one additional argument, the first token of which is expanded at the point of the -`\writenumberedtocentry', but the rest of the argument is not expanded. -The usual application is when the parts of the document are numbered. -On the other hand, the one-level expansion allows you to use the -argument for other things as well (author's names in a proceedings, -say), and not have accents or other control sequences expanded. The -downside is that if you _want_ full expansion of the third argument, -you don't get it--you must expand it yourself, before you call -`\writenumberedtocentry'. +'\writenumberedtocentry', but the rest of the argument is not expanded. +The usual application is when the parts of the document are numbered. On +the other hand, the one-level expansion allows you to use the argument +for other things as well (author's names in a proceedings, say), and not +have accents or other control sequences expanded. The downside is that +if you _want_ full expansion of the third argument, you don't get +it--you must expand it yourself, before you call +'\writenumberedtocentry'. For example: \writenumberedtocentry{chapter}{A $\sin$ wave}{\the\chapno} \writetocentry{section}{A section title} -Supposing `\the\chapno' expanded to `3' and that the `\write''s -occurred on pages eight and nine, respectively, the above writes the -following to the .toc file: +Supposing '\the\chapno' expanded to '3' and that the '\write''s occurred +on pages eight and nine, respectively, the above writes the following to +the .toc file: \tocchapterentry{A $\sin$ wave}{3}{8} \tocsectionentry{A section title}{9} - A variation on `\writenumberedtocentry' is `\writenumberedtocline', + A variation on '\writenumberedtocentry' is '\writenumberedtocline', differing only in the order of the parameters it takes and writes for -the `\tocPARTentry' control sequences. To continue the previous -example: +the '\tocPARTentry' control sequences. To continue the previous example: \writenumberedtocline{chapter}{\the\chapno}{A $\sin$ wave} @@ -1134,17 +1171,17 @@ writes the following to the .toc file: \tocchapterentry{3}{A $\sin$ wave}{8} -Such ordering of the parameters allows the `\tocPARTentry' macros to +Such ordering of the parameters allows the '\tocPARTentry' macros to typeset the text of the entry without actually reading it as an -argument. This is required for entries which need to change character +argument. This is required for entries which need to change character catcodes, e.g., to produce verbatim text (*note Verbatim listing::). - Each of `\writetocentry', `\writenumberedtocentry' and -`\writenumberedtocline' processes a numeric PART argument specially. -If you pass PART expanding to an integer, these macros write into the -.toc file an entry that starts with `\tocentry{PART}'. Thus, you can -define a single `\tocentry' macro which formats all entries for a table -of contents. To continue the previous examples: + Each of '\writetocentry', '\writenumberedtocentry' and +'\writenumberedtocline' processes a numeric PART argument specially. If +you pass PART expanding to an integer, these macros write into the .toc +file an entry that starts with '\tocentry{PART}'. Thus, you can define a +single '\tocentry' macro which formats all entries for a table of +contents. To continue the previous examples: \writenumberedtocentry{1}{A $\sin$ wave}{\the\chapno} \writenumberedtocline{1}{\the\chapno}{A $\sin$ wave} @@ -1162,27 +1199,27 @@ File: eplain.info, Node: Reading the .toc file, Next: Changing the .toc file's 4.8.2 Reading the .toc file --------------------------- -You read the .toc file with the command `\readtocfile'. Naturally, -whatever `\toc... entry' commands that were written to the file must be -defined when `\readtocfile' is invoked. Eplain has minimal definitions -for `\tocchapterentry', `\tocsectionentry', and `\tocsubsectionentry', -just to prevent undefined control sequence errors in common cases. -They aren't suitable for anything but preliminary proofs. - - Each of `\writetocentry', `\writenumberedtocentry' and -`\writenumberedtocline' opens the .toc file for writing, thereby -deleting the information from the previous run. You should therefore -arrange that `\readtocfile' be called _before_ the first call to a -`\writetoc...' macro. `\readtocfile' does not itself delete the +You read the .toc file with the command '\readtocfile'. Naturally, +whatever '\toc... entry' commands that were written to the file must be +defined when '\readtocfile' is invoked. Eplain has minimal definitions +for '\tocchapterentry', '\tocsectionentry', and '\tocsubsectionentry', +just to prevent undefined control sequence errors in common cases. They +aren't suitable for anything but preliminary proofs. + + Each of '\writetocentry', '\writenumberedtocentry' and +'\writenumberedtocline' opens the .toc file for writing, thereby +deleting the information from the previous run. You should therefore +arrange that '\readtocfile' be called _before_ the first call to a +'\writetoc...' macro. '\readtocfile' does not itself delete the information from the .toc file, so that you can call it several times, -e.g., to create both a short and normal table of contents. (To produce -this in particular, define `\tocsectionentry' to produce nothing while +e.g., to create both a short and normal table of contents. (To produce +this in particular, define '\tocsectionentry' to produce nothing while you are reading .toc file for a short table of contents (*note Macro arguments::).) - On the other hand, if you don't want to rewrite the .toc file at -all, perhaps because you are only running TeX on part of your -manuscript, you can set `\rewritetocfilefalse'. + On the other hand, if you don't want to rewrite the .toc file at all, +perhaps because you are only running TeX on part of your manuscript, you +can set '\rewritetocfilefalse'. File: eplain.info, Node: Changing the .toc file's root name, Next: Alternative contents files, Prev: Reading the .toc file, Up: Contents @@ -1190,19 +1227,19 @@ File: eplain.info, Node: Changing the .toc file's root name, Next: Alternative 4.8.3 Changing the .toc file's root name ---------------------------------------- -By default, the `.toc' file has the root `\jobname'. If your document +By default, the '.toc' file has the root '\jobname'. If your document has more than one contents--for example, if it is a collection of papers, some of which have their own contents--you can tell Eplain to use a different root name by defining the control sequence -`\tocfilebasename'. +'\tocfilebasename'. - Note that `\writetocentry', `\writenumberedtocentry' and -`\writenumberedtocline' will open the contents file for writing only at -the first call, using the value of `\tocfilebasename' at that time. -Changing the value of `\tocfilebasename' afterwards will not affect + Note that '\writetocentry', '\writenumberedtocentry' and +'\writenumberedtocline' will open the contents file for writing only at +the first call, using the value of '\tocfilebasename' at that time. +Changing the value of '\tocfilebasename' afterwards will not affect which file gets _written_, although it will affect which file gets -_read_ by `\readcontentsfile'. In case you need to write several -contents files from a single TeX job, use `\definecontentsfile' (*note +_read_ by '\readcontentsfile'. In case you need to write several +contents files from a single TeX job, use '\definecontentsfile' (*note Alternative contents files::). @@ -1213,7 +1250,7 @@ File: eplain.info, Node: Alternative contents files, Prev: Changing the .toc f In addition to the usual table of contents, you may want to have a list of figures, list of tables, or other such contents-like list. You can do -this with `\definecontentsfile{ABBREV}'. All of the above commands are +this with '\definecontentsfile{ABBREV}'. All of the above commands are actually a special case that Eplain predefines with \definecontentsfile{toc} @@ -1231,32 +1268,32 @@ It is often useful to refer the reader to other parts of your document; but putting literal page, section, equation, or whatever numbers in the text is certainly a bad thing. - Eplain therefore provides commands for symbolic cross-references. It + Eplain therefore provides commands for symbolic cross-references. It uses an auxiliary file with extension .aux (and the same root name as -your document) to keep track of the information. Therefore, it takes -two passes to get the cross-references right--one to write them out, -and one to read them in. Eplain automatically reads the .aux file at -the first reference; after reading it, Eplain reopens it for writing. +your document) to keep track of the information. Therefore, it takes two +passes to get the cross-references right--one to write them out, and one +to read them in. Eplain automatically reads the .aux file at the first +reference; after reading it, Eplain reopens it for writing. You can control whether or not Eplain warns you about undefined -labels. *Note Citations::. +labels. *Note Citations::. Labels in Eplain's cross-reference commands can use characters of category code eleven (letter), twelve (other), ten (space), three (math shift), four (alignment tab), seven (superscript), or eight (subscript). -For example, `(a1 $&^_' is a valid label (assuming the category codes -of plain TeX), but `%#\{' has no valid characters. +For example, '(a1 $&^_' is a valid label (assuming the category codes of +plain TeX), but '%#\{' has no valid characters. You can also do symbolic cross-references for bibliographic citations -and list items. *Note Citations::, and *note Lists::. +and list items. *Note Citations::, and *note Lists::. Eplain can create hypertext links for the cross-references (*note Cross-reference hyperlinks::). * Menu: -* Defining generic references:: -* Using generic references:: +* Defining generic references:: +* Using generic references:: File: eplain.info, Node: Defining generic references, Next: Using generic references, Up: Cross-references @@ -1264,22 +1301,22 @@ File: eplain.info, Node: Defining generic references, Next: Using generic refe 4.9.1 Defining generic references --------------------------------- -Eplain provides the command `\definexref' for general cross-references. +Eplain provides the command '\definexref' for general cross-references. It takes three arguments: the name of the label (see section above for valid label names), the value of the label (which can be anything), and the "class" of the reference--whether it's a section, or theorem, or -what. For example: +what. For example: \definexref{sec-intro}{3.1}{section} Of course, the label value is usually generated by another macro using TeX count registers or some such. - `\definexref' doesn't actually define LABEL; instead, it writes out + '\definexref' doesn't actually define LABEL; instead, it writes out the definition to the .aux file, where Eplain will read it on the next TeX run. - The CLASS argument is used by the `\ref' and `\refs' commands. See + The CLASS argument is used by the '\ref' and '\refs' commands. See the next section. @@ -1288,29 +1325,27 @@ File: eplain.info, Node: Using generic references, Prev: Defining generic refe 4.9.2 Using generic references ------------------------------ -To retrieve the value of the label defined via `\definexref' (see the +To retrieve the value of the label defined via '\definexref' (see the previous section), Eplain provides the following macros: -`\refn{LABEL}' - -`\xrefn{LABEL}' - `\refn' and `\xrefn' (they are synonyms) produce the bare - definition of LABEL. If LABEL isn't defined, issue a warning, and - produce LABEL itself instead, in typewriter. (The warning isn't - given if `\xrefwarningfalse'.) - -`\ref{LABEL}' - Given the class C for LABEL (see the description of `\definexref' - in the previous section), expand the control sequence `\C word' - (if it's defined) followed by a tie. Then call `\refn' on LABEL. +'\refn{LABEL}' +'\xrefn{LABEL}' + '\refn' and '\xrefn' (they are synonyms) produce the bare + definition of LABEL. If LABEL isn't defined, issue a warning, and + produce LABEL itself instead, in typewriter. (The warning isn't + given if '\xrefwarningfalse'.) + +'\ref{LABEL}' + Given the class C for LABEL (see the description of '\definexref' + in the previous section), expand the control sequence '\C word' (if + it's defined) followed by a tie. Then call '\refn' on LABEL. (Example below.) -`\refs{LABEL}' - Like `\ref', but append the letter `s' to the `\...word'. - +'\refs{LABEL}' + Like '\ref', but append the letter 's' to the '\...word'. - The purpose of the `\...word' macro is to produce the word `Section' -or `Figure' or whatever that usually precedes the actual reference + The purpose of the '\...word' macro is to produce the word 'Section' +or 'Figure' or whatever that usually precedes the actual reference number. Here is an example: @@ -1320,7 +1355,7 @@ number. \definexref{sec-next}{3.2}{section} See \refs{sec-intro} and \refn{sec-next} ... -This produces `See Sections 3.1 and 3.2 ...' +This produces 'See Sections 3.1 and 3.2 ...' File: eplain.info, Node: Page references, Next: Equation references, Prev: Cross-references, Up: User definitions @@ -1331,20 +1366,19 @@ File: eplain.info, Node: Page references, Next: Equation references, Prev: Cr Eplain provides two commands for handling references to page numbers, one for definition and one for use. -`\xrdef{LABEL}' - Define LABEL to be the current page number. This produces no +'\xrdef{LABEL}' + Define LABEL to be the current page number. This produces no printed output, and ignores following spaces. -`\xref{LABEL}' - Produce the text `p. PAGENO', which is the usual form for - cross-references. The PAGENO is actually LABEL's definition; if - LABEL isn't defined, the text of the label itself is printed. The - `p. ' prefix is defined by `\xrefpageword'. Its default - definition is `p.\thinspace'. +'\xref{LABEL}' + Produce the text 'p. PAGENO', which is the usual form for + cross-references. The PAGENO is actually LABEL's definition; if + LABEL isn't defined, the text of the label itself is printed. The + 'p. ' prefix is defined by '\xrefpageword'. Its default definition + is 'p.\thinspace'. - - Eplain can create hypertext links for the page references (*note -Page reference hyperlinks::). + Eplain can create hypertext links for the page references (*note Page +reference hyperlinks::). File: eplain.info, Node: Equation references, Next: Indexing, Prev: Page references, Up: User definitions @@ -1352,55 +1386,53 @@ File: eplain.info, Node: Equation references, Next: Indexing, Prev: Page refe 4.11 Equation references ======================== -Instead of referring to pages, it's most useful if equation labels -refer to equation numbers. Therefore, Eplain reserves a `\count' -register, `\eqnumber', for the current equation number, and increments -it at each numbered equation. +Instead of referring to pages, it's most useful if equation labels refer +to equation numbers. Therefore, Eplain reserves a '\count' register, +'\eqnumber', for the current equation number, and increments it at each +numbered equation. Here are the commands to define equation labels and then refer to them: -`\eqdef{LABEL}' - This defines LABEL to be the current value of `\eqnumber', and, if - the current context is not inner, then produces a `\eqnum' command - (*note Displays::). (The condition makes it possible to use - `\eqdef' in an `\eqalignno' construction, for example.) The text - of the equation number is produced using `\eqprint'. *Note - Formatting equation references::. +'\eqdef{LABEL}' + This defines LABEL to be the current value of '\eqnumber', and, if + the current context is not inner, then produces a '\eqnum' command + (*note Displays::). (The condition makes it possible to use + '\eqdef' in an '\eqalignno' construction, for example.) The text of + the equation number is produced using '\eqprint'. *Note Formatting + equation references::. If LABEL is empty, you still get an equation number (although - naturally you can't reliably refer to it). This is useful if you + naturally you can't reliably refer to it). This is useful if you want to put numbers on all equations in your document, and you don't want to think up unique labels. To refer to the last equation with the empty label, you just use the empty label in one of the equation reference macros (see - below). This can be handy when you want to refer to an equation + below). This can be handy when you want to refer to an equation shortly after its definition, say, in the sentence following the displayed equation, and do not intend to refer to the equation - later. But use this trick with extreme caution: if later you - change the text and insert another empty definition between the - original definition and the reference, the reference will start to - refer to the new empty-labeled equation. - -`\eqdefn{LABEL}' - This is like `\eqdef', except it always omits the `\eqnum' - command. It can therefore be used in places where `\eqdef' can't; - for example, in a non-displayed equation. The text of the equation + later. But use this trick with extreme caution: if later you change + the text and insert another empty definition between the original + definition and the reference, the reference will start to refer to + the new empty-labeled equation. + +'\eqdefn{LABEL}' + This is like '\eqdef', except it always omits the '\eqnum' command. + It can therefore be used in places where '\eqdef' can't; for + example, in a non-displayed equation. The text of the equation number is not produced, so you can also use it in the (admittedly - unusual) circumstance when you want to define an equation label - but not print that label. - -`\eqref{LABEL}' - This produces a formatted reference to LABEL. If LABEL is - undefined (perhaps because it is a forward reference), it just - produces the text of the label itself. Otherwise, it calls - `\eqprint'. + unusual) circumstance when you want to define an equation label but + not print that label. -`\eqrefn{LABEL}' - This produces the cross-reference text for LABEL. That is, it is - like `\eqref', except it doesn't call `\eqprint'. +'\eqref{LABEL}' + This produces a formatted reference to LABEL. If LABEL is undefined + (perhaps because it is a forward reference), it just produces the + text of the label itself. Otherwise, it calls '\eqprint'. +'\eqrefn{LABEL}' + This produces the cross-reference text for LABEL. That is, it is + like '\eqref', except it doesn't call '\eqprint'. Equation labels can contain the same characters that are valid in general cross-references. @@ -1410,8 +1442,8 @@ Equation reference hyperlinks::). * Menu: -* Formatting equation references:: -* Subequation references:: +* Formatting equation references:: +* Subequation references:: File: eplain.info, Node: Formatting equation references, Next: Subequation references, Up: Equation references @@ -1420,42 +1452,41 @@ File: eplain.info, Node: Formatting equation references, Next: Subequation ref ------------------------------------- Both defining an equation label and referring to it should usually -produce output. This output is produced with the `\eqprint' macro, -which takes one argument, the equation number being defined or referred -to. By default, this just produces `(NUMBER)', where NUMBER is the -equation number. To produce the equation number in a different font, -or with different surrounding symbols, or whatever, you can redefine -`\eqprint'. For example, the following definition would print all -equation numbers in italics. (The extra braces define a group, to keep -the font change from affecting surrounding text.) +produce output. This output is produced with the '\eqprint' macro, which +takes one argument, the equation number being defined or referred to. By +default, this just produces '(NUMBER)', where NUMBER is the equation +number. To produce the equation number in a different font, or with +different surrounding symbols, or whatever, you can redefine '\eqprint'. +For example, the following definition would print all equation numbers +in italics. (The extra braces define a group, to keep the font change +from affecting surrounding text.) \def\eqprint#1{{\it (#1)}} - In addition to changing the formatting of equation numbers, you -might want to add more structure to the equation number; for example, -you might want to include the chapter number, to get equation numbers -like `(1.2)'. To achieve this, you redefine `\eqconstruct'. For -example: + In addition to changing the formatting of equation numbers, you might +want to add more structure to the equation number; for example, you +might want to include the chapter number, to get equation numbers like +'(1.2)'. To achieve this, you redefine '\eqconstruct'. For example: \def\eqconstruct#1{\the\chapternumber.#1} (If you are keeping the chapter number in a count register named -`\chapternumber', naturally.) +'\chapternumber', naturally.) - The reason for having both `\eqconstruct' and `\eqprint' may not be -immediately apparent. The difference is that `\eqconstruct' affects -the text that cross-reference label is defined to be, while `\eqprint' -affects only what is typeset on the page. The example just below might + The reason for having both '\eqconstruct' and '\eqprint' may not be +immediately apparent. The difference is that '\eqconstruct' affects the +text that cross-reference label is defined to be, while '\eqprint' +affects only what is typeset on the page. The example just below might help. - Usually, you want equation labels to refer to equation numbers. But -sometimes you might want a more complicated text. For example, you -might have an equation `(1)', and then have a variation several pages -later which you want to refer to as `(1*)'. + Usually, you want equation labels to refer to equation numbers. But +sometimes you might want a more complicated text. For example, you might +have an equation '(1)', and then have a variation several pages later +which you want to refer to as '(1*)'. Therefore, Eplain allows you to give an optional argument (i.e., arbitrary text in square brackets) before the cross-reference label to -`\eqdef'. Then, when you refer to the equation, that text is produced. +'\eqdef'. Then, when you refer to the equation, that text is produced. Here's how to get the example just mentioned: $$...\eqdef{a-eq}$$ @@ -1463,26 +1494,26 @@ Here's how to get the example just mentioned: $$...\eqdef[\eqrefn{a-eq}*]{a-eq-var}$$ In \eqref{a-eq-var}, we expand on \eqref{a-eq}, ... -We use `\eqrefn' in the cross-reference text, not `\eqref', so that -`\eqprint' is called only once. +We use '\eqrefn' in the cross-reference text, not '\eqref', so that +'\eqprint' is called only once. As another example, consider the following requirement: we want to include chapter number in all equation references, and additionally we want to include the part number when referencing an equation from any -part other than the one where the equation appears. For example, +part other than the one where the equation appears. For example, references to the third equation in chapter 2 of part 1 should be -typeset as `(2.3)' throughout part 1, but as `(I.2.3)' in any other -part. Let's assume we have the current chapter and part numbers in -count registers `\chapnum' and `\partnum', respectively. - - The idea is to have `\eqconstruct' store the part number of the -equation (that is, the part number _at the time of definition_), so -that later `\eqprint' can compare the stored number with the current -part number (that is, the part number _at the time of reference_). The -complicating factor is that internally, the result of `\eqconstruct' is -both expanded and written out to the `.aux' file, _and_ used to typeset +typeset as '(2.3)' throughout part 1, but as '(I.2.3)' in any other +part. Let's assume we have the current chapter and part numbers in count +registers '\chapnum' and '\partnum', respectively. + + The idea is to have '\eqconstruct' store the part number of the +equation (that is, the part number _at the time of definition_), so that +later '\eqprint' can compare the stored number with the current part +number (that is, the part number _at the time of reference_). The +complicating factor is that internally, the result of '\eqconstruct' is +both expanded and written out to the '.aux' file, _and_ used to typeset the equation number, so the commands that store the part number should -behave correctly in both situations. This is difficult to achieve with +behave correctly in both situations. This is difficult to achieve with expandable commands; therefore, to avoid expansion problems, we are going to use only TeX primitives, which are non-expandable: @@ -1501,14 +1532,14 @@ going to use only TeX primitives, which are non-expandable: \box0)% }% -In `\eqconstruct', besides constructing the base equation number (e.g., -`1.2'), we also store the part number of the equation in the count -register `\eqpartnum' (`\the\partnum' is expanded when the equation -number is written to the `.aux' file, so the equation label definition -in the `.aux' file will contain the actual part number). In -`\eqprint', we need to know the equation's part number before we -typeset the base equation number, therefore we first put the argument -in a box, thus causing `\eqpartnum' to be set. +In '\eqconstruct', besides constructing the base equation number (e.g., +'1.2'), we also store the part number of the equation in the count +register '\eqpartnum' ('\the\partnum' is expanded when the equation +number is written to the '.aux' file, so the equation label definition +in the '.aux' file will contain the actual part number). In '\eqprint', +we need to know the equation's part number before we typeset the base +equation number, therefore we first put the argument in a box, thus +causing '\eqpartnum' to be set. File: eplain.info, Node: Subequation references, Prev: Formatting equation references, Up: Equation references @@ -1516,34 +1547,33 @@ File: eplain.info, Node: Subequation references, Prev: Formatting equation ref 4.11.2 Subequation references ----------------------------- -Eplain also provides for one level of substructure for equations. That +Eplain also provides for one level of substructure for equations. That is, you might want to define a related group of equations with numbers -like `2.1' and `2.2', and then be able to refer to the group as a whole: +like '2.1' and '2.2', and then be able to refer to the group as a whole: "... in the system of equations (2)...". - The commands to do this are `\eqsubdef' and `\eqsubdefn'. They take + The commands to do this are '\eqsubdef' and '\eqsubdefn'. They take one LABEL argument like their counterparts above, and generally behave -in the same way. The difference is in how they construct the equation -number: instead of using just `\eqnumber', they also use another -counter, `\subeqnumber'. This counter is advanced by one at every -`\eqsubdef' or `\eqsubdefn', and reset to zero at every `\eqdef' or -`\eqdefn'. +in the same way. The difference is in how they construct the equation +number: instead of using just '\eqnumber', they also use another +counter, '\subeqnumber'. This counter is advanced by one at every +'\eqsubdef' or '\eqsubdefn', and reset to zero at every '\eqdef' or +'\eqdefn'. - You use `\eqref' to refer to subequations as well as main equations. + You use '\eqref' to refer to subequations as well as main equations. To put the two together to construct the text that the label will -produce, they use a macro `\eqsubreftext'. This macros takes two -arguments, the "main" equation number (which, because the equation -label can be defined as arbitrary text, as described in the previous -section, might be anything at all) and the "sub" equation number (which -is always just a number). Eplain's default definition just puts a -period between them: +produce, they use a macro '\eqsubreftext'. This macros takes two +arguments, the "main" equation number (which, because the equation label +can be defined as arbitrary text, as described in the previous section, +might be anything at all) and the "sub" equation number (which is always +just a number). Eplain's default definition just puts a period between +them: \def\eqsubreftext#1#2{#1.#2}% -You can redefine `\eqsubreftext' to print however you like. For -example, this definition makes the labels print as `2a', `2b', and so -on. +You can redefine '\eqsubreftext' to print however you like. For example, +this definition makes the labels print as '2a', '2b', and so on. \newcount\subref \def\eqsubreftext#1#2{% @@ -1552,9 +1582,9 @@ on. #1\char\subref } -Sadly, we must define a new count register, `\subref', instead of using -the scratch count register `\count255', because `#1' might include -other macro calls which use `\count255'. +Sadly, we must define a new count register, '\subref', instead of using +the scratch count register '\count255', because '#1' might include other +macro calls which use '\count255'. File: eplain.info, Node: Indexing, Next: Justification, Prev: Equation references, Up: User definitions @@ -1572,57 +1602,55 @@ index terms (*note Index hyperlinks::). Eplain's indexing commands were designed to work with the program MakeIndex, available from CTAN hosts in -`tex-archive/indexing/makeindex'; MakeIndex is also commonly included -in prepackaged TeX distributions. It is beyond the scope of this -manual to explain how to run MakeIndex, and all of its many options. -See `http://www.ctan.org/tex-archive/indexing/makeindex'. +'tex-archive/indexing/makeindex'; MakeIndex is also commonly included in +prepackaged TeX distributions. It is beyond the scope of this manual to +explain how to run MakeIndex, and all of its many options. See +<http://www.ctan.org/tex-archive/indexing/makeindex>. The basic strategy for indexing works like this: - 1. For a document `foo.tex', Eplain's indexing commands (e.g., - `\idx'; see the section `Indexing terms' below) write the raw index - material to `foo.idx'. + 1. For a document 'foo.tex', Eplain's indexing commands (e.g., '\idx'; + see the section 'Indexing terms' below) write the raw index + material to 'foo.idx'. - 2. MakeIndex reads `foo.idx', collects and sorts the index, and - writes the result to `foo.ind'. + 2. MakeIndex reads 'foo.idx', collects and sorts the index, and writes + the result to 'foo.ind'. - 3. Eplain reads and typesets `foo.ind' on a subsequent run of TeX. - See the section `Typesetting an index' below. + 3. Eplain reads and typesets 'foo.ind' on a subsequent run of TeX. See + the section 'Typesetting an index' below. - -The `texi2dvi' program can help you automate this process (*note +The 'texi2dvi' program can help you automate this process (*note Invoking Eplain::). If your document needs more than one index, each must have its own -file. Therefore, Eplain provides the command `\defineindex', which -takes an argument that is a single letter, which replaces `i' in the -filenames and in the indexing command names described below. For -example, +file. Therefore, Eplain provides the command '\defineindex', which takes +an argument that is a single letter, which replaces 'i' in the filenames +and in the indexing command names described below. For example, \defineindex{m} -defines the command `\mdx' to write to the file `foo.mdx'. Eplain -simply does `\defineindex{i}' to define the default commands. +defines the command '\mdx' to write to the file 'foo.mdx'. Eplain simply +does '\defineindex{i}' to define the default commands. Note that MakeIndex does not use the above naming scheme for multiple -indexes. Unless instructed otherwise, MakeIndex always writes its -output to a file with extension `.ind'. For example, if you define an -additional index with the command `\defineindex{j}', you'll need to run +indexes. Unless instructed otherwise, MakeIndex always writes its output +to a file with extension '.ind'. For example, if you define an +additional index with the command '\defineindex{j}', you'll need to run MakeIndex like this: $ makeindex book.jdx -o book.jnd - For each index defined with `\defineindex{N}', Eplain provides a -switch `\ifNdx' which controls whether indexing commands write index -entries to the corresponding index file. However, even when index term + For each index defined with '\defineindex{N}', Eplain provides a +switch '\ifNdx' which controls whether indexing commands write index +entries to the corresponding index file. However, even when index term writing is disabled, indexing commands still do all other processing of their arguments, including typesetting of proof index terms (*note Proofing index terms::. - For example, if you write `\idxfalse' near the beginning of a -document `foo.tex' (before the first indexing command), Eplain will not -open the default index file (`foo.idx') and the corresponding indexing -commands (`\idx', `\sidx', etc.) will not write index entries there. + For example, if you write '\idxfalse' near the beginning of a +document 'foo.tex' (before the first indexing command), Eplain will not +open the default index file ('foo.idx') and the corresponding indexing +commands ('\idx', '\sidx', etc.) will not write index entries there. This may be useful for draft compilations of a manuscript, e.g., to avoid the overhead of index file input/output. @@ -1639,21 +1667,21 @@ File: eplain.info, Node: Indexing terms, Next: Typesetting an index, Up: Inde --------------------- Indexing commands in Eplain come in pairs: one command that only writes -the index entry to the `.idx' file (see above section), and one that -also typesets the term being indexed. The former always starts with `s' -(for "silent"). In either case, the name always includes `Idx', where I -is the index letter, also described above. Eplain defines the index `i' +the index entry to the '.idx' file (see above section), and one that +also typesets the term being indexed. The former always starts with 's' +(for "silent"). In either case, the name always includes 'Idx', where I +is the index letter, also described above. Eplain defines the index 'i' itself, so that's what we'll use in the names below. The silent form of the commands take a subterm as a trailing optional -argument. For example, `\sidx{truth}[definition of]' on page 75 makes -an index entry that will eventually be typeset (by default) as +argument. For example, '\sidx{truth}[definition of]' on page 75 makes an +index entry that will eventually be typeset (by default) as truth definition of, 75 - Also, the silent commands ignore trailing spaces. The non-silent -ones do not. + Also, the silent commands ignore trailing spaces. The non-silent ones +do not. * Menu: @@ -1670,31 +1698,31 @@ File: eplain.info, Node: Indexing commands, Next: Modifying index entries, Up Here are the commands. - * `\sidx{TERM}[SUBTERM]' makes an index entry for TERM, optionally - with subterm SUBTERM. `\idx{TERM}' also produces TERM as output. + * '\sidx{TERM}[SUBTERM]' makes an index entry for TERM, optionally + with subterm SUBTERM. '\idx{TERM}' also produces TERM as output. Example: \sidx{truth}[beauty of] The beauty of truth is \idx{death}. Subterms at the second and further levels can also be specified in - SUBTERM, using the `\idxsubentryseparator' character to separate - them. This character is by default `!'. + SUBTERM, using the '\idxsubentryseparator' character to separate + them. This character is by default '!'. - * `\sidxname{FIRST M.}{VON LAST}[SUBTERM]' makes an index entry for - `VON LAST, FIRST M.'. You can change the `, ' by redefining - `\idxnameseparator'. `\idxname{FIRST M.}{VON LAST}' also produces + * '\sidxname{FIRST M.}{VON LAST}[SUBTERM]' makes an index entry for + 'VON LAST, FIRST M.'. You can change the ', ' by redefining + '\idxnameseparator'. '\idxname{FIRST M.}{VON LAST}' also produces FIRST M. VON LAST as output. (These commands are useful special - cases of `\idx' and `\sidx'.) Example: + cases of '\idx' and '\sidx'.) Example: \sidxname{Richard}{Stark} \idxname{Donald}{Westlake} has written many kinds of novels, under almost as many names. - * `\sidxmarked\CS{TERM}[SUBTERM]' makes an index entry for - `TERM[SUBTERM]', but TERM will be put in the index as `\CS{term}', - but still sorted as just TERM. `\idxmarked\CS{TERM}' also typesets - `\CS{term}'. This provides for the usual ways of changing the + * '\sidxmarked\CS{TERM}[SUBTERM]' makes an index entry for + 'TERM[SUBTERM]', but TERM will be put in the index as '\CS{term}', + but still sorted as just TERM. '\idxmarked\CS{TERM}' also typesets + '\CS{term}'. This provides for the usual ways of changing the typesetting of index entries. Example: \def\article#1{``#1''} @@ -1702,34 +1730,33 @@ Here are the commands. Peter Drucker's \idxmarked\article{The Polanyis} is a remarkable essay about a remarkable family. - * `\sidxsubmarked{TERM}\CS{subterm}' makes an index entry for TERM, + * '\sidxsubmarked{TERM}\CS{subterm}' makes an index entry for TERM, SUBTERM as usual, but also puts SUBTERM in the index as - `\CS{term}'. `\idxsubmarked{TERM}\CS{subterm}' also typesets - `TERM \CS{subterm}', in the unlikely event that your syntax is - convoluted enough to make this useful. Example: + '\CS{term}'. '\idxsubmarked{TERM}\CS{subterm}' also typesets 'TERM + \CS{subterm}', in the unlikely event that your syntax is convoluted + enough to make this useful. Example: \def\title#1{{\sl #1}} \sidxsubmarked{Anderson, Laurie}\title{Strange Angels} The \idxsubmarked{Anderson}\title{Carmen} is a strange twist. - - The commands above rely on MakeIndex's feature for separating -sorting of an index entry's from its typesetting. You can use this -directly by specifying an index entry as `SORT@TYPESET'. For example: + The commands above rely on MakeIndex's feature for separating sorting +of an index entry's from its typesetting. You can use this directly by +specifying an index entry as 'SORT@TYPESET'. For example: \sidx{Ap-weight@$A_\pi$-weight} -will sort as `Ap-weight', but print with the proper math. The `@' here -is MakeIndex's default character for this purpose. See -`http://www.ctan.org/tex-archive/indexing/makeindex'. To make an index -entry with an `@' in it, you have to escape it with a backslash; Eplain +will sort as 'Ap-weight', but print with the proper math. The '@' here +is MakeIndex's default character for this purpose. See +<http://www.ctan.org/tex-archive/indexing/makeindex>. To make an index +entry with an '@' in it, you have to escape it with a backslash; Eplain provides no macros for doing this. - After any index command, Eplain runs `\hookaction{afterindexterm}'. + After any index command, Eplain runs '\hookaction{afterindexterm}'. Because the index commands always add a whatsit item to the current -list, you may wish to preserve a penalty or space past the new item. -For example, given a conditional `\if@aftersctnhead' set true when -you're at a section heading, you could do: +list, you may wish to preserve a penalty or space past the new item. For +example, given a conditional '\if@aftersctnhead' set true when you're at +a section heading, you could do: \hookaction{afterindexterm}{\if@aftersctnhead \nobreak \fi} @@ -1741,20 +1768,20 @@ File: eplain.info, Node: Modifying index entries, Next: Index entries with spe All the index commands described in the previous section take an initial optional argument before the index term, which modify the index entry's -meaning in various ways. You can specify only one of the following in -any given command, except that `begin' and `end' can be specified -together with `pagemarkup=CS' (separate them with a comma without a -following space, like this: `[begin,pagemarkup=defn]'). +meaning in various ways. You can specify only one of the following in +any given command, except that 'begin' and 'end' can be specified +together with 'pagemarkup=CS' (separate them with a comma without a +following space, like this: '[begin,pagemarkup=defn]'). - These work via MakeIndex's "encapsulation" feature. *Note -Customizing indexing::, if you're not using the default characters for -the MakeIndex operators. The other optional argument (specifying a -subterm) is independent of these. + These work via MakeIndex's "encapsulation" feature. *Note Customizing +indexing::, if you're not using the default characters for the MakeIndex +operators. The other optional argument (specifying a subterm) is +independent of these. Here are the possibilities: -`begin' -`end' +'begin' +'end' These mark an index entry as the beginning or end of a range. The index entries must match exactly for MakeIndex to recognize them. Example: @@ -1768,7 +1795,7 @@ subterm) is independent of these. future, Cohen, Leonard, 65-94 -`see' +'see' This marks an index entry as pointing to another; the real index term is an additional (non-optional) argument to the command. Thus you can anticipate a term readers may wish to look up, yet which @@ -1781,12 +1808,12 @@ subterm) is independent of these. analysis, archetypal, see archetypal criticism -`seealso' - Similar to `see' (the previous item), but also allows for normal - index entries of the referencing term. The normal index entries - have to be created separately--`seealso' does _not_ contribute a - page number to the index entry. For example, if you have indexed a - term on pages 75, 97 and 114, and then add a `seealso' entry for +'seealso' + Similar to 'see' (the previous item), but also allows for normal + index entries of the referencing term. The normal index entries + have to be created separately--'seealso' does _not_ contribute a + page number to the index entry. For example, if you have indexed a + term on pages 75, 97 and 114, and then add a 'seealso' entry for the term: \sidx[seealso]{archetypal criticism}[elements of]{dichotomies} @@ -1796,12 +1823,12 @@ subterm) is independent of these. archetypal criticism, elements of, 75, 97, 114, see also dichotomies - (Aside for the academically curious: The archetypally critical - book I took these dichotomous examples from is Laurence Berman's - `The Musical Image', which I happened to co-design and typeset.) + (Aside for the academically curious: The archetypally critical book + I took these dichotomous examples from is Laurence Berman's 'The + Musical Image', which I happened to co-design and typeset.) -`pagemarkup=CS' - This puts `\CS' before the page number in the typeset index, thus +'pagemarkup=CS' + This puts '\CS' before the page number in the typeset index, thus allowing you to underline definitive entries, italicize examples, and the like. You do _not_ precede the control sequence CS with a backslash. (That just leads to expansive difficulties.) Naturally @@ -1813,8 +1840,7 @@ subterm) is independent of these. becomes something like - indexing, `\defn{75}' - + indexing, \defn{75} File: eplain.info, Node: Index entries with special characters, Next: Proofing index terms, Prev: Modifying index entries, Up: Indexing terms @@ -1824,17 +1850,17 @@ File: eplain.info, Node: Index entries with special characters, Next: Proofing Indexing terms with special characters can become quite cumbersome because you have to keep both TeX and MakeIndex happy at the same time. -For example, while `!' has no special meaning for TeX, it is a subentry +For example, while '!' has no special meaning for TeX, it is a subentry separator for MakeIndex, therefore you'd have to escape occurrences of -literal `!' in index terms. Things get even more interesting with +literal '!' in index terms. Things get even more interesting with characters which are special in both TeX and MakeIndex. This in turn has some implications for the non-silent forms of the indexing commands (*note Indexing terms::), since TeX and MakeIndex use -different conventions for escaping characters. For example, this will +different conventions for escaping characters. For example, this will not typeset the exclamation point correctly within the text, while it -will come out right inside the index, after MakeIndex strips the -quoting character (`"'): +will come out right inside the index, after MakeIndex strips the quoting +character ('"'): \idx{"!} @@ -1842,17 +1868,17 @@ This would have to be rewritten using the silent command: !\sidx{"!} -In general, it is a good idea to eschew the non-silent commands -whenever index term contains anything unusual. +In general, it is a good idea to eschew the non-silent commands whenever +index term contains anything unusual. To understand this keep in mind that indexing commands read the terms verbatim so that the terms can embed almost any character, and that's -what gets written into the `.idx' file. The non-silent forms then +what gets written into the '.idx' file. The non-silent forms then typeset the term by rescanning the verbatim copy, hence for the non-silent commands the term, besides being a valid MakeIndex input, -must also represent a valid TeX input. The silent commands don't have +must also represent a valid TeX input. The silent commands don't have this restriction--their terms only need to become valid TeX input -_after_ MakeIndex processes the `.idx' file and writes the `.ind' file. +_after_ MakeIndex processes the '.idx' file and writes the '.ind' file. This is what makes the non-silent commands less powerful and more troublesome when dealing with special characters. @@ -1862,48 +1888,47 @@ contain almost any character: \sidx[see]{comments}[with %@with \verbatim %"|endverbatim] {commenting with \verbatim %"|endverbatim} -We didn't have to escape `%' in the sort string for MakeIndex, while we -had to put it inside the verbatim environment (*note Verbatim -listing::) in the part which MakeIndex will pass back to TeX. Also, we -had to escape the `|' character because it is special for MakeIndex. -If you have trouble understanding the reasons for the different types -of escaping used, it is best to examine the `.idx' and `.ind' files +We didn't have to escape '%' in the sort string for MakeIndex, while we +had to put it inside the verbatim environment (*note Verbatim listing::) +in the part which MakeIndex will pass back to TeX. Also, we had to +escape the '|' character because it is special for MakeIndex. If you +have trouble understanding the reasons for the different types of +escaping used, it is best to examine the '.idx' and '.ind' files resulting from processing the above input. As was mentioned, index terms can embed "almost any character", so now we'll describe the exceptions. The following characters are reset to their usual meanings because -they are not useful verbatim: multiple consequent spaces are converted +they are not useful verbatim: multiple consequent spaces are converted into a single space; ASCII tab characters are treated as spaces; ASCII return is treated as end-of-line (this means, among other things, that long terms can be broken across several lines). - You have to be careful with the begin- and end-group characters (`{' -and `}' by default). If they are matched, you don't have to do -anything special. For example: + You have to be careful with the begin- and end-group characters ('{' +and '}' by default). If they are matched, you don't have to do anything +special. For example: \sidx {braces {, }@braces \verbatim {"|endverbatim, \verbatim }"|endverbatim} -However, if they are not matched you have two problems on hand. The +However, if they are not matched you have two problems on hand. The first one is TeX--you have to instruct TeX to use something else as -begin- and/or end-group characters. Eplain provides an easy way to do -this: just define `\idxargopen' and/or `\idxargclose' to the begin- -and end-group characters you are going to use with indexing macros, and -use braces inside index terms without any restrictions. Here's an -example: +begin- and/or end-group characters. Eplain provides an easy way to do +this: just define '\idxargopen' and/or '\idxargclose' to the begin- and +end-group characters you are going to use with indexing macros, and use +braces inside index terms without any restrictions. Here's an example: \def\idxargopen{`\<} \def\idxargclose{`\>} \sidx <left brace "{@left brace \verbatim "{"|endverbatim> In this example we've also dealt with the second problem--braces are -MakeIndex's grouping characters as well (by default), so we have -escaped unmatched braces with `"'. +MakeIndex's grouping characters as well (by default), so we have escaped +unmatched braces with '"'. - And the final note: if you need a subentry containing brackets (`[' -and `]'), avoid the optional argument of `\sidx' and friends, and use + And the final note: if you need a subentry containing brackets ('[' +and ']'), avoid the optional argument of '\sidx' and friends, and use instead MakeIndex's subentry separator to create the subentry with the brackets in it: @@ -1922,27 +1947,27 @@ error-prone to leave all indexing to the end of the writing, since it involves adding many TeX commands to the source files.) So Eplain puts index terms in the margin of each page, if you set -`\indexproofingtrue'. It is `false' by default. The terms are typeset -by the macro `\indexproofterm', which takes a single argument, the term -to be typeset. Eplain's definition of `\indexproofterm' just puts it -into an `\hbox', first doing `\indexprooffont', which Eplain defines to -select the font `cmtt8'. With this definition long terms run off the +'\indexproofingtrue'. It is 'false' by default. The terms are typeset by +the macro '\indexproofterm', which takes a single argument, the term to +be typeset. Eplain's definition of '\indexproofterm' just puts it into +an '\hbox', first doing '\indexprooffont', which Eplain defines to +select the font 'cmtt8'. With this definition long terms run off the page, but since this is just for proofreading anyway, it seems acceptable. On the other hand, we certainly don't want the index term to run into the text of the page, so Eplain uses the right-hand side of the page rather than the left-hand page (assuming a language read left to right -here). So `\ifodd\pageno', Eplain kerns by `\outsidemargin', otherwise -by `\insidemargin'. If those macros are undefined, `\indexsetmargins' -defines them to be one inch plus `\hoffset'. +here). So '\ifodd\pageno', Eplain kerns by '\outsidemargin', otherwise +by '\insidemargin'. If those macros are undefined, '\indexsetmargins' +defines them to be one inch plus '\hoffset'. To get the proofing index entries on the proper page, Eplain defines -a new insertion class `\@indexproof'. To unbox any index proofing -material, Eplain redefines `\makeheadline' to call `\indexproofunbox' -before the original `\makeheadline'. Thus, if you have your own output -routine, that redefines or doesn't use `\makeheadline', it's up to you -to call `\indexproofunbox' at the appropriate time. +a new insertion class '\@indexproof'. To unbox any index proofing +material, Eplain redefines '\makeheadline' to call '\indexproofunbox' +before the original '\makeheadline'. Thus, if you have your own output +routine, that redefines or doesn't use '\makeheadline', it's up to you +to call '\indexproofunbox' at the appropriate time. File: eplain.info, Node: Typesetting an index, Next: Customizing indexing, Prev: Indexing terms, Up: Indexing @@ -1950,41 +1975,41 @@ File: eplain.info, Node: Typesetting an index, Next: Customizing indexing, Pr 4.12.2 Typesetting an index --------------------------- -The command `\readindexfile{i}' reads and typesets the `.ind' file that -MakeIndex outputs (from the `.idx' file which the indexing commands in -the previous sections write). Eplain defines a number of commands that +The command '\readindexfile{i}' reads and typesets the '.ind' file that +MakeIndex outputs (from the '.idx' file which the indexing commands in +the previous sections write). Eplain defines a number of commands that support the default MakeIndex output. - More precisely, `\readindexfile' reads -`\indexfilebasename.INDEX-LETTERnd', where the INDEX-LETTER is the -argument. `\indexfilebasename' is `\jobname' by default, but if you -have different indexes in different parts of a book, you may wish to -change it, just as with bibliographies (*note Citations::). + More precisely, '\readindexfile' reads +'\indexfilebasename.INDEX-LETTERnd', where the INDEX-LETTER is the +argument. '\indexfilebasename' is '\jobname' by default, but if you have +different indexes in different parts of a book, you may wish to change +it, just as with bibliographies (*note Citations::). MakeIndex was designed to work with LaTeX; therefore, by default the -`.ind' file starts with `\begin{theindex}' and ends with -`\end{theindex}'. If no `\begin' has been defined, Eplain defines one -to ignore its argument and set up for typesetting the index (see -below), and also defines a `\end' to ignore its argument. (In a group, -naturally, since there is a primitive `\end'). - - Eplain calls `\indexfonts', sets `\parindent = 0pt', and does -`\doublecolumns' (*note Multiple columns::) at the `\begin{theindex}'. -`\indexfonts' does nothing by default; it's just there for you to +'.ind' file starts with '\begin{theindex}' and ends with +'\end{theindex}'. If no '\begin' has been defined, Eplain defines one to +ignore its argument and set up for typesetting the index (see below), +and also defines a '\end' to ignore its argument. (In a group, +naturally, since there is a primitive '\end'). + + Eplain calls '\indexfonts', sets '\parindent = 0pt', and does +'\doublecolumns' (*note Multiple columns::) at the '\begin{theindex}'. +'\indexfonts' does nothing by default; it's just there for you to override. (Indexes are usually typeset in smaller type than the main text.) - It ends the setup with `\hookrun{beginindex}', so you can override + It ends the setup with '\hookrun{beginindex}', so you can override anything you like in that hook (*note Hooks::). For example: \hookaction{beginindex}{\triplecolumns} - MakeIndex turns each main index entry into an `\item', subentries -into `\subitem', and subsubentries into `\subsubitem'. By default, the -first line of main entries are not indented, and subentries are -indented 1em per level. Main entries are preceded by a `\vskip' of -`\aboveitemskipamount', `0pt plus2pt' by default. Page breaks are -encouraged before main entries (`\penalty -100'), but prohibited + MakeIndex turns each main index entry into an '\item', subentries +into '\subitem', and subsubentries into '\subsubitem'. By default, the +first line of main entries are not indented, and subentries are indented +1em per level. Main entries are preceded by a '\vskip' of +'\aboveitemskipamount', '0pt plus2pt' by default. Page breaks are +encouraged before main entries ('\penalty -100'), but prohibited afterwards--Eplain has no provision for "continued" index entries. All levels do the following: @@ -1993,13 +2018,13 @@ afterwards--Eplain has no provision for "continued" index entries. \raggedright \hyphenpenalty = 10000 - Each entry ends with `\hookrun{indexitem}', so you can change any of + Each entry ends with '\hookrun{indexitem}', so you can change any of this. For example, to increase the allowable rag: \hookaction{indexitem}{\advance\rightskip by 2em} - Finally, MakeIndex outputs `\indexspace' between each group of -entries in the `.ind' file. Eplain makes this equivalent to `\bigbreak'. + Finally, MakeIndex outputs '\indexspace' between each group of +entries in the '.ind' file. Eplain makes this equivalent to '\bigbreak'. File: eplain.info, Node: Customizing indexing, Prev: Typesetting an index, Up: Indexing @@ -2007,71 +2032,69 @@ File: eplain.info, Node: Customizing indexing, Prev: Typesetting an index, Up 4.12.3 Customizing indexing --------------------------- -By default, MakeIndex outputs `, ' after each term in the index. To -change this, you can add the following to your MakeIndex style (`.ist') +By default, MakeIndex outputs ', ' after each term in the index. To +change this, you can add the following to your MakeIndex style ('.ist') file: delim_0 "\\afterindexterm " delim_1 "\\afterindexterm " delim_2 "\\afterindexterm " -Eplain makes `\afterindexterm' equivalent to `\quad'. +Eplain makes '\afterindexterm' equivalent to '\quad'. You can also change the keywords Eplain recognizes (*note Modifying index entries::): -`\idxrangebeginword' - `begin' - -`\idxrangeendword' - `end' +'\idxrangebeginword' + 'begin' -`\idxseecmdword' - `see' +'\idxrangeendword' + 'end' -`\idxseealsocmdword' - `seealso' +'\idxseecmdword' + 'see' +'\idxseealsocmdword' + 'seealso' - You can also change the magic characters Eplain puts into the `.idx' -file, in case you've changed them in the `.ist' file: + You can also change the magic characters Eplain puts into the '.idx' +file, in case you've changed them in the '.ist' file: -`\idxsubentryseparator' - `!' +'\idxsubentryseparator' + '!' -`\idxencapoperator' - `|' +'\idxencapoperator' + '|' -`\idxbeginrangemark' - `(' +'\idxbeginrangemark' + '(' -`\idxendrangemark' - `)' +'\idxendrangemark' + ')' - - There is no macro for the `actual' (`@' by default) character, + There is no macro for the 'actual' ('@' by default) character, because it's impossible to make it expand properly. You can change the (imaginary) page number that "see also" entries -sort as by redefining `\idxmaxpagenum'. This is 99999 by default, which +sort as by redefining '\idxmaxpagenum'. This is 99999 by default, which is one digit too many for old versions of MakeIndex. - The words output by Eplain for "see" and "see also" index entries -are defined by `\indexseeword' and `\indexseealsowords' respectively. -You can change the typeface used for these words by redefining -`\seevariant'. And finally, the macros `\indexsee' and `\indexseealso' + The words output by Eplain for "see" and "see also" index entries are +defined by '\indexseeword' and '\indexseealsowords' respectively. You +can change the typeface used for these words by redefining +'\seevariant'. And finally, the macros '\indexsee' and '\indexseealso' actually produce the "see ..." entries, so you can redefine them if you -want something entirely different. If you do redefine them, make them -take two parameters, the term being referenced and the `\idxmaxpagenum' -(the latter should normally be ignored). See the example below. +want something entirely different. If you do redefine them, make them +take two parameters, the term being referenced and the '\idxmaxpagenum' +(the latter should normally be ignored). See the example below. Unfortunately, it is impossible to reliably control the commas -produced by MakeIndex in front of "see ..." entries in the `.ind' file, -either at MakeIndex level or at Eplain level. However, the `sed' -script contained in `trimsee' distributed with Eplain in the `util' -directory can be used to filter out these commas from the output of -MakeIndex. For example, suppose you want the following style for your -"see ..." entries: +produced by MakeIndex in front of "see ..." entries in the '.ind' file, +either at MakeIndex level or at Eplain level. However, the 'sed' script +contained in 'trimsee' distributed with Eplain in the 'util' directory +can be used to filter out these commas from the output of MakeIndex. For +example, suppose you want the following style for your "see ..." +entries: analysis, archetypal (see archetypal criticism) @@ -2083,41 +2106,41 @@ You would need to redefine these macros in your TeX file: \def\indexsee#1#2{({\seevariant \indexseeword\/ }#1)} \def\indexseealso#1#2{({\seevariant \indexseealsowords\/ }#1)} -and then filter out the commas in front of the "see ..." entries by -running the following command to produce the `.ind' file (assuming the -name of the `.idx' file is `myfile.idx' and the `trimsee' script is +and then filter out the commas in front of the "see ..." entries by +running the following command to produce the '.ind' file (assuming the +name of the '.idx' file is 'myfile.idx' and the 'trimsee' script is placed in the current directory): prompt$ cat myfile.idx | makeindex | ./trimsee > myfile.ind - By default, `trimsee' uses default page list separators and default -"see ..." command names. If you set up MakeIndex to use different page -list separator or change the names of `\indexsee' and `\indexseealso' -commands, it is possible to adjust the `trimsee' script through its + By default, 'trimsee' uses default page list separators and default +"see ..." command names. If you set up MakeIndex to use different page +list separator or change the names of '\indexsee' and '\indexseealso' +commands, it is possible to adjust the 'trimsee' script through its command line options, which are the following: -`-i IS' +'-i IS' Use IS as a regular expression matching separator before "see ..." - commands in the input (default: `, \+'). + commands in the input (default: ', \+'). -`-o OS' - Use OS as a separator to replace IS before "see ..." commands - (default: ` '). +'-o OS' + Use OS as a separator to replace IS before "see ..." commands + (default: ' '). -`-s SEE' - Use SEE as a regular expression matching "see ..." commands - (default: `\\indexsee'). +'-s SEE' + Use SEE as a regular expression matching "see ..." commands + (default: '\\indexsee'). -`-h' -`--help' +'-h' +'--help' Print a usage message. -`-v' -`--version' +'-v' +'--version' Print version. - `trimsee' reads input from the standard input, and directs its -output to the standard output. + 'trimsee' reads input from the standard input, and directs its output +to the standard output. File: eplain.info, Node: Justification, Next: Tables, Prev: Indexing, Up: User definitions @@ -2126,24 +2149,23 @@ File: eplain.info, Node: Justification, Next: Tables, Prev: Indexing, Up: Us ================== Eplain defines three commands to conveniently justify multiple lines of -text: `\flushright', `\flushleft', and `\center'. - - They all work in the same way; let's take `\center' as the example. -To start centering lines, you say `\center' inside a group; to stop, -you end the group. Between the two commands, each end-of-line in the -input file also starts a new line in the output file. - - The entire block of text is broken into paragraphs at blank lines, -so all the TeX paragraph-shaping parameters apply in the usual way. -This is convenient, but it implies something else that isn't so -convenient: changes to any linespacing parameters, such as -`\baselineskip', will have _no effect_ on the paragraph in which they -are changed. TeX does not handle linespacing changes within a -paragraph (because it doesn't know where the line breaks are until the -end of the paragraph). +text: '\flushright', '\flushleft', and '\center'. + + They all work in the same way; let's take '\center' as the example. +To start centering lines, you say '\center' inside a group; to stop, you +end the group. Between the two commands, each end-of-line in the input +file also starts a new line in the output file. + + The entire block of text is broken into paragraphs at blank lines, so +all the TeX paragraph-shaping parameters apply in the usual way. This is +convenient, but it implies something else that isn't so convenient: +changes to any linespacing parameters, such as '\baselineskip', will +have _no effect_ on the paragraph in which they are changed. TeX does +not handle linespacing changes within a paragraph (because it doesn't +know where the line breaks are until the end of the paragraph). The space between paragraphs is by default one blank line's worth. -You can adjust this space by assigning to `\blanklineskipamount'; this +You can adjust this space by assigning to '\blanklineskipamount'; this (vertical) glue is inserted after each blank line. Here is an example: @@ -2156,12 +2178,11 @@ You can adjust this space by assigning to `\blanklineskipamount'; this This produces: First line. - Second line, with a blank line before. You may wish to use the justification macros inside of your own -macros. Just be sure to put them in a group. For example, here is how -a title macro might be defined: +macros. Just be sure to put them in a group. For example, here is how a +title macro might be defined: \def\title{\begingroup\titlefont\center} \def\endtitle{\endgroup} @@ -2172,43 +2193,43 @@ File: eplain.info, Node: Tables, Next: Margins, Prev: Justification, Up: Use 4.14 Tables =========== -Eplain provides a single command, `\makecolumns', to make generating -one particular kind of table easier. More ambitious LaTeX styles and -macro packages tackle more difficult applications. The `autorows' -feature of the Memoir package provides similar functionality to this. +Eplain provides a single command, '\makecolumns', to make generating one +particular kind of table easier. More ambitious LaTeX styles and macro +packages tackle more difficult applications. The 'autorows' feature of +the Memoir package provides similar functionality to this. Many tables are homogenous, i.e., all the entries are semantically -the same. The arrangement into columns is to save space on the page, -not to encode different meanings. In this kind of the table, it is -useful to have the column breaks chosen automatically, so that you can -add or delete entries without worrying about the column breaks. - - `\makecolumns' takes two arguments: the number of entries in the -table, and the number of columns to break them into. As you can see -from the example below, the first argument is delimited by a slash, and -the second by a colon and a space (or end-of-line). The entries for the +the same. The arrangement into columns is to save space on the page, not +to encode different meanings. In this kind of the table, it is useful to +have the column breaks chosen automatically, so that you can add or +delete entries without worrying about the column breaks. + + '\makecolumns' takes two arguments: the number of entries in the +table, and the number of columns to break them into. As you can see from +the example below, the first argument is delimited by a slash, and the +second by a colon and a space (or end-of-line). The entries for the table then follow, one per line (not including the line with the -`\makecolumns' command itself). +'\makecolumns' command itself). - `\parindent' defines the space to the left of the table. `\hsize' -defines the width of the table. So you can adjust the position of the + '\parindent' defines the space to the left of the table. '\hsize' +defines the width of the table. So you can adjust the position of the table on the page by assignments to these parameters, probably inside a group. You can also control the penalty at a page break before the -`\makecolumns' by setting the parameter `\abovecolumnspenalty'. Usually, -the table is preceded by some explanatory text. You wouldn't want a -page break to occur after the text and before the table, so Eplain sets -it to `10000'. But if the table produced by `\makecolumns' is standing -on its own, `\abovecolumnspenalty' should be decreased. - - If you happen to give `\makecolumns' a smaller number of entries -than you really have, some text beyond the (intended) end of the table -will be incorporated into the table, probably producing an error -message, or at least some strange looking entries. And if you give -`\makecolumns' a larger number of entries than you really have, some of -the entries will be typeset as straight text, probably also looking -somewhat out of place. +'\makecolumns' by setting the parameter '\abovecolumnspenalty'. Usually, +the table is preceded by some explanatory text. You wouldn't want a page +break to occur after the text and before the table, so Eplain sets it to +'10000'. But if the table produced by '\makecolumns' is standing on its +own, '\abovecolumnspenalty' should be decreased. + + If you happen to give '\makecolumns' a smaller number of entries than +you really have, some text beyond the (intended) end of the table will +be incorporated into the table, probably producing an error message, or +at least some strange looking entries. And if you give '\makecolumns' a +larger number of entries than you really have, some of the entries will +be typeset as straight text, probably also looking somewhat out of +place. Here is an example: @@ -2222,8 +2243,8 @@ somewhat out of place. six Text after the table. -This produces `one', `two', and `three' in the first column, and -`four', `five', and `six' in the second. +This produces 'one', 'two', and 'three' in the first column, and 'four', +'five', and 'six' in the second. File: eplain.info, Node: Margins, Next: Multiple columns, Prev: Tables, Up: User definitions @@ -2232,47 +2253,45 @@ File: eplain.info, Node: Margins, Next: Multiple columns, Prev: Tables, Up: ============ TeX's primitives describe the type area in terms of an offset from the -upper left corner, and the width and height of the type. Some people +upper left corner, and the width and height of the type. Some people prefer to think in terms of the "margins" at the top, bottom, left, and right of the page, and most composition systems other than TeX conceive -of the page laid out in this way. Therefore, Eplain provides commands -to directly assign and increment the margins. - -`\topmargin = DIMEN' -`\bottommargin = DIMEN' -`\leftmargin = DIMEN' - -`\rightmargin = DIMEN' - These commands set the specified margin to the DIMEN given. The - `=' and the spaces around it are optional. The control sequences - here are not TeX registers, despite appearances; therefore, - commands like `\showthe\topmargin' will not do what you expect. - -`\advancetopmargin by DIMEN' -`\advancebottommargin by DIMEN' -`\advanceleftmargin by DIMEN' - -`\advancerightmargin by DIMEN' +of the page laid out in this way. Therefore, Eplain provides commands to +directly assign and increment the margins. + +'\topmargin = DIMEN' +'\bottommargin = DIMEN' +'\leftmargin = DIMEN' +'\rightmargin = DIMEN' + These commands set the specified margin to the DIMEN given. The '=' + and the spaces around it are optional. The control sequences here + are not TeX registers, despite appearances; therefore, commands + like '\showthe\topmargin' will not do what you expect. + +'\advancetopmargin by DIMEN' +'\advancebottommargin by DIMEN' +'\advanceleftmargin by DIMEN' +'\advancerightmargin by DIMEN' These commands change the specified margin by the DIMEN given. Regardless of whether you use the assignment or the advance commands, Eplain always changes the type area in response, not the other margins. For example, when TeX starts, the left and right margins are both one -inch. If you then say `\leftmargin = 2in', the right margin will -remain at one inch, and the width of the lines (i.e., `\hsize') will -decrease by one inch. +inch. If you then say '\leftmargin = 2in', the right margin will remain +at one inch, and the width of the lines (i.e., '\hsize') will decrease +by one inch. When you use any of these commands, Eplain computes the old value of the particular margin, by how much you want to change it, and then resets the values of TeX's primitive parameters to correspond. Unfortunately, Eplain cannot compute the right or bottom margin without help: you must tell it the full width and height of the final output -page. It defines two new parameters for this: +page. It defines two new parameters for this: -`\paperheight' +'\paperheight' The height of the output page; default is 11truein. -`\paperwidth' +'\paperwidth' The width of the output page; default is 8.5truein. If your output page has different dimensions than this, you must @@ -2287,40 +2306,40 @@ File: eplain.info, Node: Multiple columns, Next: Footnotes, Prev: Margins, U 4.16 Multiple columns ===================== -Eplain provides for double, triple, and quadruple column output: say -`\doublecolumns', `\triplecolumns', or `\quadcolumns', and from that -point on, the manuscript will be set in columns. To go back to one -column, say `\singlecolumn'. +Eplain provides for double, triple, and quadruple column output: say +'\doublecolumns', '\triplecolumns', or '\quadcolumns', and from that +point on, the manuscript will be set in columns. To go back to one +column, say '\singlecolumn'. - You may need to invoke `\singlecolumn' to balance the columns on the + You may need to invoke '\singlecolumn' to balance the columns on the last page of output. To do a "column eject", i.e., move to the top of the next column, do -`\columnfill'. This does not actually force an eject, however: it -merely inserts a kern of size `\@normalvsize' minus `\pagetotal' -(`\@normalvsize' being the usual height of the page; to implement -multicolumns, Eplain multiplies `\vsize' itself by the number of -columns). In most circumstances, a column break will be forced after -this kern (during the column splitting operation when the whole page is -output), as desired. +'\columnfill'. This does not actually force an eject, however: it merely +inserts an unbreakable space of (essentially) size '\@normalvsize' minus +'\pagetotal' (where '\@normalvsize' is the usual height of the page; to +implement multicolumns, Eplain multiplies '\vsize' itself by the number +of columns). In most circumstances, a column break will be forced after +this space (during the column splitting operation when the whole page is +output). Bugs are easily possible, unfortunately. The columns are separated by the value of the dimen parameter -`\gutter'. Default value is two picas. If you want to add vertical -material between the columns, use `\gutterbox'. For example, to put a -vertical line between columns, define `\gutterbox' as +'\gutter'. Default value is two picas. If you want to add vertical +material between the columns, use '\gutterbox'. For example, to put a +vertical line between columns, define '\gutterbox' as \def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}% -The dimension counter `\dimen0' contains the height of the column. +The dimension counter '\dimen0' contains the height of the column. - All the `\...columns' macros insert the value of the glue parameter -`\abovecolumnskip' before the multicolumn text, and the value of the -glue parameter `\belowcolumnskip' after it. The default value for both -of these parameters is `\bigskipamount', i.e., one linespace in plain + All the '\...columns' macros insert the value of the glue parameter +'\abovecolumnskip' before the multicolumn text, and the value of the +glue parameter '\belowcolumnskip' after it. The default value for both +of these parameters is '\bigskipamount', i.e., one linespace in plain TeX. The macros take into account only the insertion classes defined by -plain TeX; namely, footnotes and `\topinsert's. If you have additional +plain TeX; namely, footnotes and '\topinsert's. If you have additional insertion classes, you will need to change the implementation. Also, Eplain makes insertions the full page width. There is no @@ -2333,54 +2352,54 @@ File: eplain.info, Node: Footnotes, Next: Fractions, Prev: Multiple columns, ============== The most common reference mark for footnotes is a raised number, -incremented on each footnote. The `\numberedfootnote' macro provides -this. It takes one argument, the footnote text. +incremented on each footnote. The '\numberedfootnote' macro provides +this. It takes one argument, the footnote text. If your document uses only numbered footnotes, you could make typing -`\numberedfootnote' more convenient with a command such as: +'\numberedfootnote' more convenient with a command such as: \let\footnote = \numberedfootnote -After doing this, you can type your footnotes as `\footnote{FOOTNOTE -TEXT}', instead of as `\numberedfootnote{FOOTNOTE TEXT}'. +After doing this, you can type your footnotes as '\footnote{FOOTNOTE +TEXT}', instead of as '\numberedfootnote{FOOTNOTE TEXT}'. Eplain keeps the current footnote number in the count register -`\footnotenumber'. So, to reset the footnote number to zero, as you +'\footnotenumber'. So, to reset the footnote number to zero, as you might want to do at, for example, the beginning of a chapter, you could -say `\footnotenumber=0'. +say '\footnotenumber=0'. Plain TeX separates the footnote marker from the footnote text by an -en space (it uses the `\textindent' macro). In Eplain, you can change -this space by setting the dimension register `\footnotemarkseparation'. The -default is still an en. +en space (it uses the '\textindent' macro). In Eplain, you can change +this space by setting the dimension register '\footnotemarkseparation'. +The default is still an en. You can produce a space between footenotes by setting the glue -register `\interfootnoteskip'. The default is zero. +register '\interfootnoteskip'. The default is zero. - `\parskip' is also set to zero by default before the beginning of + '\parskip' is also set to zero by default before the beginning of each footnote (but not for the text of the footnote). You can also control footnote formatting in a more general way: -Eplain expands the token register `\everyfootnote' before a footnote is +Eplain expands the token register '\everyfootnote' before a footnote is typeset, but after the default values for all the parameters have been -established. For example, if you want your footnotes to be printed in +established. For example, if you want your footnotes to be printed in seven-point type, indented by one inch, you could say: \everyfootnote = {\sevenrm \leftskip = 1in} - By default, an `\hrule' is typeset above each group of footnotes on -a page. You can control the dimensions of this rule by setting the -dimension registers `\footnoterulewidth' and `\footnoteruleheight'. The + By default, an '\hrule' is typeset above each group of footnotes on a +page. You can control the dimensions of this rule by setting the +dimension registers '\footnoterulewidth' and '\footnoteruleheight'. The space between the rule and the first footnote on the page is determined -by the dimension register `\belowfootnoterulespace'. If you don't want -any rule at all, set `\footenoteruleheight=0pt', and, most likely, -`\belowfootnoterulespace=0pt'. The defaults for these parameters -typeset the rule in the same way as plain TeX: the rule is 0.4 points -high, 2 true inches wide, with 2.6 points below it. +by the dimension register '\belowfootnoterulespace'. If you don't want +any rule at all, set '\footenoteruleheight=0pt', and, most likely, +'\belowfootnoterulespace=0pt'. The defaults for these parameters typeset +the rule in the same way as plain TeX: the rule is 0.4 points high, 2 +true inches wide, with 2.6 points below it. The space above the rule and below the text on the page is controlled -by the glue register `\skip\footins'. The default is a plain TeX -`\bigskip'. +by the glue register '\skip\footins'. The default is a plain TeX +'\bigskip'. Eplain can create hypertext links for the footnote marks (*note Footnote hyperlinks::). @@ -2391,18 +2410,18 @@ File: eplain.info, Node: Fractions, Next: Paths, Prev: Footnotes, Up: User d 4.18 Fractions ============== -Exercise 11.6 of `The TeXbook' describes a macro `\frac' for setting -fractions, but `\frac' never made it into plain TeX. So Eplain -includes it. +Exercise 11.6 of 'The TeXbook' describes a macro '\frac' for setting +fractions, but '\frac' never made it into plain TeX. So Eplain includes +it. - `\frac' typesets the numerator and denominator in `\scriptfont0', -slightly raised and lowered. The numerator and denominator are -separated by a slash. The denominator must be enclosed in braces if -it's more than one token long, but the numerator need not be. (This is -a consequence of `\frac' taking delimited arguments; see page 203 of -`The TeXbook' for an explanation of delimited macro arguments.) + '\frac' typesets the numerator and denominator in '\scriptfont0', +slightly raised and lowered. The numerator and denominator are separated +by a slash. The denominator must be enclosed in braces if it's more than +one token long, but the numerator need not be. (This is a consequence of +'\frac' taking delimited arguments; see page 203 of 'The TeXbook' for an +explanation of delimited macro arguments.) - For example, `\frac 23/{64}' turns `23/64' into 23/64 (you can't see + For example, '\frac 23/{64}' turns '23/64' into 23/64 (you can't see the difference in the Info file). @@ -2414,33 +2433,33 @@ File: eplain.info, Node: Paths, Next: Logos, Prev: Fractions, Up: User defin When you typeset long pathnames, electronic mail addresses, or other such "computer" names, you would like TeX to break lines at punctuation characters within the name, rather than trying to find hyphenation -points within the words. For example, it would be better to break the -email address `letters@alpha.gnu.ai.mit.edu' at the `@' or a `.', -rather than at the hyphenation points in `letters' and `alpha'. +points within the words. For example, it would be better to break the +email address 'letters@alpha.gnu.ai.mit.edu' at the '@' or a '.', rather +than at the hyphenation points in 'letters' and 'alpha'. - If you use the `\path' macro to typeset the names, TeX will find -these good breakpoints. The argument to `\path' is delimited by any -character other other than `\' which does not appear in the name itself. -`|' is often a good choice, as in: + If you use the '\path' macro to typeset the names, TeX will find +these good breakpoints. The argument to '\path' is delimited by any +character other other than '\' which does not appear in the name itself. +'|' is often a good choice, as in: \path|letters@alpha.gnu.ai.mit.edu| - You can control the exact set of characters at which breakpoints -will be allowed by calling `\discretionaries'. This takes the same -sort of delimited argument; any character in the argument will -henceforth be a valid breakpoint within `\path'. The default set is -essentially all the punctuation characters: + You can control the exact set of characters at which breakpoints will +be allowed by calling '\discretionaries'. This takes the same sort of +delimited argument; any character in the argument will henceforth be a +valid breakpoint within '\path'. The default set is essentially all the +punctuation characters: \discretionaries |~!@$%^&*()_+`-=#{}[]:";'<>,.?\/| - If for some reason you absolutely must use `\' as the delimiter -character for `\path', you can set `\specialpathdelimiterstrue'. -(Other delimiter characters can still be used.) TeX then processes the -`\path' argument about four times more slowly. + If for some reason you absolutely must use '\' as the delimiter +character for '\path', you can set '\specialpathdelimiterstrue'. (Other +delimiter characters can still be used.) TeX then processes the '\path' +argument about four times more slowly. - The `\path' macro comes from `path.sty', written by Nelson Beebe and + The '\path' macro comes from 'path.sty', written by Nelson Beebe and Philip Taylor and available at -`http://www.ctan.org/tex-archive/macros/latex/contrib/misc/path.sty'. +<http://www.ctan.org/tex-archive/macros/latex/contrib/misc/path.sty>. File: eplain.info, Node: Logos, Next: Boxes, Prev: Paths, Up: User definitions @@ -2448,17 +2467,18 @@ File: eplain.info, Node: Logos, Next: Boxes, Prev: Paths, Up: User definitio 4.20 Logos ========== -Eplain redefines the `\TeX' macro of plain TeX to end with `\null', so -that the proper spacing is produced when `\TeX' is used at the end of a -sentence. The other ...TeX macros listed here do this, also. +Eplain redefines the '\TeX' macro of plain TeX to end with '\null', so +that the proper spacing is produced when '\TeX' is used at the end of a +sentence. The other ...TeX macros listed here do this, also. - Eplain defines `\AMSLaTeX', `\AMSTeX', `\BibTeX' `\eTeX', `\ExTeX', `\LAMSTeX', `\LaTeX', `\MF', `\SLiTeX', `\XeLaTeX', and -`\XeTeX' to produce their respective logos. (Sorry, the logos are not -shown here.) Some spelling variants of these are also supported. + Eplain defines '\AMSLaTeX', '\AMSTeX', '\BibTeX' '\eTeX', '\ExTeX', +'\LAMSTeX', '\LaTeX', '\MF', '\SLiTeX', '\XeLaTeX', and '\XeTeX' to +produce their respective logos. (Sorry, the logos are not shown here.) +Some spelling variants of these are also supported. - Most of these macros come from `texnames.sty', compiled by Nelson + Most of these macros come from 'texnames.sty', compiled by Nelson Beebe and available at -`http://www.ctan.org/tex-archive/info/biblio/texnames.sty'. +<http://www.ctan.org/tex-archive/info/biblio/texnames.sty>. File: eplain.info, Node: Boxes, Next: Checking for PDF output, Prev: Logos, Up: User definitions @@ -2467,21 +2487,20 @@ File: eplain.info, Node: Boxes, Next: Checking for PDF output, Prev: Logos, ========== The solid rectangle that Eplain uses as a marker in unordered lists -(*note Lists::) is available by itself: just say `\blackbox'. +(*note Lists::) is available by itself: just say '\blackbox'. - You can create black boxes of arbitrary size with `\hrule' or -`\vrule'. + You can create black boxes of arbitrary size with '\hrule' or +'\vrule'. - You can also get unfilled rectangles with `\makeblankbox'. This -takes two explicit arguments: the height and depth of the rules that -define the top and bottom of the rectangle. (The two arguments are -added to get the width of the left and right borders, so that the -thickness of the border is the same on all four sides.) It also uses, -as implicit arguments, the dimensions of `\box0' to define the -dimensions of the rectangle it produces. (The contents of `\box0' are -ignored.) + You can also get unfilled rectangles with '\makeblankbox'. This takes +two explicit arguments: the height and depth of the rules that define +the top and bottom of the rectangle. (The two arguments are added to get +the width of the left and right borders, so that the thickness of the +border is the same on all four sides.) It also uses, as implicit +arguments, the dimensions of '\box0' to define the dimensions of the +rectangle it produces. (The contents of '\box0' are ignored.) - Here is an example. This small raised open box is suitable for + Here is an example. This small raised open box is suitable for putting next to numbers in, e.g., a table of contents. \def\openbox{% @@ -2489,21 +2508,21 @@ putting next to numbers in, e.g., a table of contents. \raise 2.75pt \makeblankbox{.2pt}{.2pt} } - Finally, you can put a box around arbitrary text with `\boxit'. This -takes one argument, which must itself be a (TeX) box, and puts a -printed box around it, separated by `\boxitspace' white space (3 points -by default) on all four sides. For example: + Finally, you can put a box around arbitrary text with '\boxit'. This +takes one argument, which must itself be a (TeX) box, and puts a printed +box around it, separated by '\boxitspace' white space (3 points by +default) on all four sides. For example: \boxit{\hbox{This text is boxed.}} The reason that the argument must be a box is that when the text is more than one line long, TeX cannot figure out the line length for -itself. Eplain does set `\parindent' to zero inside `\boxit', since it -is very unlikely you would want indentation there. (If you do, you can +itself. Eplain does set '\parindent' to zero inside '\boxit', since it +is very unlikely you would want indentation there. (If you do, you can always reset it yourself.) - `\boxit' uses `\ehrule' and `\evrule' so that you can easily adjust -the thicknesses of the box rules. *Note Rules::. + '\boxit' uses '\ehrule' and '\evrule' so that you can easily adjust +the thicknesses of the box rules. *Note Rules::. File: eplain.info, Node: Checking for PDF output, Next: Loading LaTeX packages, Prev: Boxes, Up: User definitions @@ -2511,11 +2530,11 @@ File: eplain.info, Node: Checking for PDF output, Next: Loading LaTeX packages 4.22 Checking for PDF output ============================ -pdfTeX is a TeX variant that can output both `.dvi' and `.pdf' (Adobe's +pdfTeX is a TeX variant that can output both '.dvi' and '.pdf' (Adobe's Portable Document Format) files (see -`http://www.ctan.org/tex-archive/systems/pdftex'). You might sometimes -want to know whether the target format is `.pdf' or `.dvi'. The -`\ifpdf' switch can be used to detect pdfTeX in PDF mode: +<http://www.ctan.org/tex-archive/systems/pdftex>). You might sometimes +want to know whether the target format is '.pdf' or '.dvi'. The '\ifpdf' +switch can be used to detect pdfTeX in PDF mode: \ifpdf This text is produced when pdfTeX is in PDF mode. @@ -2524,14 +2543,14 @@ want to know whether the target format is `.pdf' or `.dvi'. The or when some program other than pdfTeX is used. \fi - Keep in mind that `\ifpdf' is set based on the value of the -`\pdfoutput' primitive of pdfTeX at the time Eplain is loaded. If you -change the value of `\pdfoutput' after you load Eplain, `\ifpdf' will + Keep in mind that '\ifpdf' is set based on the value of the +'\pdfoutput' primitive of pdfTeX at the time Eplain is loaded. If you +change the value of '\pdfoutput' after you load Eplain, '\ifpdf' will not reflect the change. - Eplain defines `\ifpdf' by incorporating Heiko Oberdiek's -`ifpdf.sty', which is available at -`http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifpdf.sty'. + Eplain defines '\ifpdf' by incorporating Heiko Oberdiek's +'ifpdf.sty', which is available at +<http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifpdf.sty>. File: eplain.info, Node: Loading LaTeX packages, Prev: Checking for PDF output, Up: User definitions @@ -2539,56 +2558,56 @@ File: eplain.info, Node: Loading LaTeX packages, Prev: Checking for PDF output 4.23 Loading LaTeX packages =========================== -Eplain provides a limited support for loading LaTeX packages (`.sty' -files--not `.cls'). This will mostly work for packages which were +Eplain provides a limited support for loading LaTeX packages ('.sty' +files--not '.cls'). This will mostly work for packages which were designed with plain TeX compatibility in mind, which means that most -LaTeX packages cannot be loaded. The packages which are known to work -are listed below (*note Packages known to work::). If you discover a -working package which is not in the list, please report it to the -Eplain mailing list (*note Introduction::). +LaTeX packages cannot be loaded. The packages which are known to work +are listed below (*note Packages known to work::). If you discover a +working package which is not in the list, please report it to the Eplain +mailing list (*note Introduction::). To set up a pseudo-LaTeX environment for the packages, Eplain uses -`miniltx.tex' -(`http://www.ctan.org/tex-archive/macros/plain/graphics/miniltx.tex') +'miniltx.tex' +(<http://www.ctan.org/tex-archive/macros/plain/graphics/miniltx.tex>) from the LaTeX graphics collection, written by David Carlisle and Sebastian Rahtz (the collection is available at -`http://www.ctan.org/tex-archive/macros/latex/required/graphics'). -Eplain extends `miniltx.tex' to provide some additional features, e.g., +<http://www.ctan.org/tex-archive/macros/latex/required/graphics>). +Eplain extends 'miniltx.tex' to provide some additional features, e.g., support for package options. * Menu: * The \usepackage command:: Command to load packages. * Environment for loading packages:: Environment for the \usepackage commands. -* Packages known to work:: Supported packages. +* Packages known to work:: Packages supported with Eplain. * Packages known not to work:: Packages known not to work with Eplain. File: eplain.info, Node: The \usepackage command, Next: Environment for loading packages, Up: Loading LaTeX packages -4.23.1 The `\usepackage' command +4.23.1 The '\usepackage' command -------------------------------- -`\usepackage' loads a LaTeX package. Its syntax is similar to that of -LaTeX's `\usepackage' command: +'\usepackage' loads a LaTeX package. Its syntax is similar to that of +LaTeX's '\usepackage' command: \usepackage[OPTIONS]{PACKAGES}[VERSION] where OPTIONS is a comma-separated list of package options, PACKAGES is -a comma-separated list of packages to load (without the `.sty' suffix), +a comma-separated list of packages to load (without the '.sty' suffix), and VERSION is a package version number given as a date in the format -`YYYY/MM/DD'. If an older version of the package is found, a warning -is issued. If several packages are loaded within a single `\usepackage' -command, the OPTIONS will be applied to each of the packages. As -usual, parameters in square brackets are optional and can be omitted -(together with the square brackets). +'YYYY/MM/DD'. If an older version of the package is found, a warning is +issued. If several packages are loaded within a single '\usepackage' +command, the OPTIONS will be applied to each of the packages. As usual, +parameters in square brackets are optional and can be omitted (together +with the square brackets). For example: \usepackage[foo,bar]{pack1,pack2}[2005/08/29] -will load packages `pack1' and `pack2', each with the options `foo' and -`bar', and will check that each of the packages are dated 2005/08/29 or +will load packages 'pack1' and 'pack2', each with the options 'foo' and +'bar', and will check that each of the packages are dated 2005/08/29 or newer. @@ -2598,39 +2617,45 @@ File: eplain.info, Node: Environment for loading packages, Next: Packages know --------------------------------------- Some packages request that certain commands are executed after all -packages have been loaded. In LaTeX, this means that the commands are +packages have been loaded. In LaTeX, this means that the commands are executed at the beginning of the document, after the so-called -"preamble". Neither plain TeX nor Eplain have any kind of preamble; +"preamble". Neither plain TeX nor Eplain have a concept of preamble; therefore, Eplain requires that all packages be loaded inside a -`\beginpackages...\endpackages' block, for example: +'\beginpackages...\endpackages' block. For example: \beginpackages \usepackage[foo,bar]{pack1} \usepackage{pack2} \endpackages -This requirement enables Eplain to execute the "delayed" commands at -the end of the `\beginpackages...\endpackages' block. +This requirement enables Eplain to execute the "delayed" commands at the +end of the '\beginpackages...\endpackages' block. For the same reason, it is advisable to specify only one such block per document, just like there is only one preamble in LaTeX. - Some packages (and the pseudo-LaTeX environment, `miniltx.tex') -redefine TeX's primitive `\input' to be a macro. Non-primitive -`\input' is probably not what the user expects under plain TeX. -Therefore, at the beginning of the `\beginpackages...\endpackages' -block Eplain saves the meaning of `\input' as `\eplaininput' and -restores the original `\input' at the end of the block. This usually -means that the primitive `\input' is restored, unless you (or some -other macro package you've loaded directly) have redefined it before -calling `\beginpackages'. In case you need to access the -package-provided `\input', Eplain saves it as `\packageinput'. + Both the 'miniltx.tex' file used by Eplain and some LaTeX packages +redefine TeX's primitive '\input' to be a macro. Under plain TeX, users +probably expect the primitive '\input'. Therefore, at the beginning of +the '\beginpackages...\endpackages' block Eplain saves the meaning of +'\input' as '\eplaininput' and restores the original '\input' at the end +of the block. This usually means that the primitive '\input' is +restored, unless you (or some other macro package you've loaded +directly) have redefined it before calling '\beginpackages'. In case you +need to access the package-provided '\input', Eplain saves it as +'\packageinput'. + + Along the same lines, Eplain restores the catcode of '@' at +'\endpackages' to whatever it was before (using '\resetatcatcode', as +defined by 'miniltx.tex'). This is needed because 'miniltx.tex', read by +'\beginpackages', does not restore the catcode of '@', but leaves it as +11 (letter). Sometimes you may encounter packages which make conflicting -redefinitions of `\input'. Common symptoms are TeX spewing +redefinitions of '\input'. Common symptoms are TeX spewing incomprehensible error messages or hanging in a loop at a call to -`\input'. This sometimes can be cured by restoring `\input' to -`\eplaininput' before loading each package. For example: +'\input'. This sometimes cna be cured by restoring '\input' to +'\eplaininput' before loading each package. For example: \beginpackages \usepackage{pack1} @@ -2644,37 +2669,37 @@ File: eplain.info, Node: Packages known to work, Next: Packages known not to w 4.23.3 Packages known to work ----------------------------- -The following table lists packages that had been tested and are known -to work with Eplain, and locations where you can find manuals for these -packages. Some of the short descriptions of the packages were taken -from the documentation for those packages. +The following table lists packages that had been tested and are known to +work with Eplain, and locations where you can find manuals for these +packages. Some of the short descriptions of the packages were taken from +the documentation for those packages. -autopict (`2001/06/04 v1.1j Picture mode autoload file') - `http://tug.org/eplain/misc/ltpictur.pdf' +autopict ('2001/06/04 v1.1j Picture mode autoload file') + <http://tug.org/eplain/misc/ltpictur.pdf> - This is the LaTeX "picture mode", started by `\begin{picture}' and - ended by `\end{picture}' (in LaTeX, this package is not explicitly - loaded since it is part of the LaTeX kernel). It provides - commands to draw simple figures inside your document without - resorting to any external tools. + This is the LaTeX "picture mode", started by '\begin{picture}' and + ended by '\end{picture}' (in LaTeX, this package is not explicitly + loaded since it is part of the LaTeX kernel). It provides commands + to draw simple figures inside your document without resorting to + any external tools. -color (`1999/02/16 v1.0i Standard LaTeX Color (DPC)') -graphics (`2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)') -graphicx (`1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)') - `http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf' +color ('1999/02/16 v1.0i Standard LaTeX Color (DPC)') +graphics ('2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)') +graphicx ('1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)') + <http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf> - These packages are from the LaTeX graphics collection. They - provide commands for changing text/page colors, text rotation and - scaling, and much more. + These packages are from the LaTeX graphics collection. They provide + commands for changing text/page colors, text rotation and scaling, + and much more. - *Warning 1:* If you encounter problems loading one of these + *Warning 1:* If you encounter problems loading one of these packages under pdfTeX (more specifically, when pdfTeX reads - `supp-mis.tex'), the cause may be an outdated `supp-mis.tex' (part - of ConTeXt, a typesetting system for TeX) installed on your - system. The problem was fixed in `supp-mis.tex' - version 2004.10.26. You can obtain up-to-date versions of - `supp-mis.tex' and the accompanying `supp-pdf.tex' from - `http://www.ctan.org/tex-archive/macros/pdftex/graphics'. To + 'supp-mis.tex'), the cause may be an outdated 'supp-mis.tex' (part + of ConTeXt, a typesetting system for TeX) installed on your system. + The problem was fixed in 'supp-mis.tex' version 2004.10.26. You can + obtain up-to-date versions of 'supp-mis.tex' and the accompanying + 'supp-pdf.tex' from + <http://www.ctan.org/tex-archive/macros/pdftex/graphics>. To convince TeX to use the new files, you have the following options in the decreasing order of preference: @@ -2683,88 +2708,87 @@ graphicx (`1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)') 2. overwrite the outdated files installed by your TeX distribution; - 3. install the new `supp-mis.tex' and `supp-pdf.tex' files in - the relevant subdirectory of your local `texmf' tree (for - info on TeX directory structure see - `http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds'); + 3. install the new 'supp-mis.tex' and 'supp-pdf.tex' files in the + relevant subdirectory of your local 'texmf' tree (for info on + TeX directory structure see + <http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds>); 4. upgrade your ConTeXt installation. - Note that option 1 is the safest but provides the fix only for - your current document. Options 2 and 3 will usually suffice for - Eplain but may break ConTeXt. Option 4 is the most general but is - more complicated than the first three. Be sure to backup any - files you overwrite. Also keep in mind that upgrading your TeX - distribution may overwrite files you install in the system `texmf' - tree. + Note that option 1 is the safest but provides the fix only for your + current document. Options 2 and 3 will usually suffice for Eplain + but may break ConTeXt. Option 4 is the most general but is more + complicated than the first three. Be sure to backup any files you + overwrite. Also keep in mind that upgrading your TeX distribution + may overwrite files you install in the system 'texmf' tree. *End of warning 1.* - *Warning 2:* If you encounter problems using the `\pagecolor' - command from the `color.sty' package under pdfTeX, the cause may - be an outdated pdfTeX color and graphics driver `pdftex.def'. The - problem was fixed in `pdftex.def' version 0.03p. You can obtain - an up-to-date version from - `http://www.ctan.org/tex-archive/graphics/pdftex/pdftex.def'. + *Warning 2:* If you encounter problems using the '\pagecolor' + command from the 'color.sty' package under pdfTeX, the cause may be + an outdated pdfTeX color and graphics driver 'pdftex.def'. The + problem was fixed in 'pdftex.def' version 0.03p. You can obtain an + up-to-date version from + <http://www.ctan.org/tex-archive/graphics/pdftex/pdftex.def>. *End of warning 2.* - The `graphics'/`graphicx' packages have the option `draft' which - instructs `\includegraphics' not to include the graphics but + The 'graphics'/'graphicx' packages have the option 'draft' which + instructs '\includegraphics' not to include the graphics but instead typeset a box with the dimensions of the graphics and the name of the graphics file in typewriter type at the center of the - box. These packages expect the LaTeX-provided command `\ttfamily' - to switch to the typewrite type. This command is not defined by - `miniltx.tex', therefore Eplain defines it and makes it equivalent - to plain TeX's `\tt'. + box. These packages expect the LaTeX-provided command '\ttfamily' + to switch to the typewrite type. This command is not defined by + 'miniltx.tex', therefore Eplain defines it and makes it equivalent + to plain TeX's '\tt'. *Note Hyperlinks (xhyper.tex)::, for the demonstration of text - rotation and graphics inclusion using the `graphicx' package, and - using the `color' package to colorize hypertext links. + rotation and graphics inclusion using the 'graphicx' package, and + using the 'color' package to colorize hypertext links. Klaus Ho"ppner has written a nice introduction to the LaTeX - graphics packages and different graphics formats. You can - download it from - `http://www.tug.org/pracjourn/2005-3/hoeppner' + graphics packages and different graphics formats. You can download + it from + <http://www.tug.org/pracjourn/2005-3/hoeppner> -epstopdf (`2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)') - `http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek' +epstopdf ('2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek> This package does on-the-fly conversion of Encapsulated PostScript (EPS) graphics into Portable Document Format (PDF) graphics for - inclusion with the `\includegraphics' command from the - `graphics'/`graphicx' packages, so that you do not have to - explicitly call the `epstopdf' script. + inclusion with the '\includegraphics' command from the + 'graphics'/'graphicx' packages, so that you do not have to + explicitly call the 'epstopdf' script. -psfrag (`1998/04/11 v3.04 PSfrag (MCG)') - `http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf' +psfrag ('1998/04/11 v3.04 PSfrag (MCG)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf> PSfrag allows the user to precisely overlay Encapsulated PostScript - (EPS) files with arbitrary (La)TeX constructions. In order to + (EPS) files with arbitrary (La)TeX constructions. In order to accomplish this, the user places a simple text "tag" in the - graphics file, as a "position marker" of sorts. Then, using simple + graphics file, as a "position marker" of sorts. Then, using simple (La)TeX commands, the user instructs PSfrag to remove that tag from the figure, and replace it with a properly sized, aligned, and rotated (La)TeX equation. -soul (`2003/11/17 v2.4 letterspacing/underlining (mf)') - `http://www.ctan.org/tex-archive/macros/latex/contrib/soul' +soul ('2003/11/17 v2.4 letterspacing/underlining (mf)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/soul> This package provides hyphenatable letterspacing (spacing out), - underlining, and some derivatives. The package is optimized for - LaTeX, but works with plain TeX--you don't actually need to load - it with the `\usepackage' command, just say `\input soul.sty'. If - you intend to use the highlighting macros of `soul', don't forget - to load the `color' package. - -url (`2005/06/27 ver 3.2 Verb mode for urls, etc.') - `http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty' - - This package provides a form of `\verbatim' that allows line - breaks at certain characters or combinations of characters, - accepts reconfiguration, and can usually be used in the argument to - another command. It is intended for email addresses, hypertext - links, directories/paths, etc., which normally have no spaces. - - Eplain can create hypertext links with the `\url' command (*note + underlining, and some derivatives. The package is optimized for + LaTeX, but works with plain TeX--you don't actually need to load it + with the '\usepackage' command, just say '\input soul.sty'. If you + intend to use the highlighting macros of 'soul', don't forget to + load the 'color' package. + +url ('2005/06/27 ver 3.2 Verb mode for urls, etc.') + <http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty> + + This package provides a form of '\verbatim' that allows line breaks + at certain characters or combinations of characters, accepts + reconfiguration, and can usually be used in the argument to another + command. It is intended for email addresses, hypertext links, + directories/paths, etc., which normally have no spaces. + + Eplain can create hypertext links with the '\url' command (*note URL hyperlinks::). Be sure to get a version dated at least 2005/06/27, as older @@ -2779,17 +2803,17 @@ File: eplain.info, Node: Packages known not to work, Prev: Packages known to w The following packages are known not to work with Eplain: hyperref - `http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref' + <http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref> This package depends heavily on LaTeX, so that it is mostly - unusable outside of LaTeX. Eplain provides its own macros for + unusable outside of LaTeX. Eplain provides its own macros for creating hyperlinks, see *note Hyperlinks::. -pict2e (`2005/07/15 v0.2r Improved picture commands (HjG,RN)') - `http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e' +pict2e ('2005/07/15 v0.2r Improved picture commands (HjG,RN)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e> -xcolor (`2005/06/06 v2.03 LaTeX color extensions (UK)') - `http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor' +xcolor ('2005/06/06 v2.03 LaTeX color extensions (UK)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor> File: eplain.info, Node: Hyperlinks, Next: Arrow theoretic diagrams, Prev: User definitions, Up: Top @@ -2798,9 +2822,9 @@ File: eplain.info, Node: Hyperlinks, Next: Arrow theoretic diagrams, Prev: Us ************ This chapter describes the support which Eplain provides for hypertext -links ("hyperlinks" for short). Hyperlinks can be created implicitly -by the cross-reference, indexing and other macros in Eplain. Macros -for constructing explicit hyperlinks are also provided. +links ("hyperlinks" for short). Hyperlinks can be created implicitly by +the cross-reference, indexing and other macros in Eplain. Macros for +constructing explicit hyperlinks are also provided. * Menu: @@ -2818,52 +2842,52 @@ File: eplain.info, Node: Introduction to hyperlinks, Next: Explicit hyperlinks ============================== The original TeX engine has no built-in support for hyperlinks (a.k.a. -hypertext links). Many of the present-day file formats with -hyperlinking capabilities did not even exist at the time TeX was -written. However, TeX's `\special' primitive can be used to instruct -TeX to write special directives into its `.dvi' output file. These -directives are not interpreted by TeX in any way; they are intended for -programs which process the `.dvi' files produced by TeX, be it printing -or converting to other formats, such as `.ps' or `.pdf'. +hypertext links). Many of the present-day file formats with hyperlinking +capabilities did not even exist at the time TeX was written. However, +TeX's '\special' primitive can be used to instruct TeX to write special +directives into its '.dvi' output file. These directives are not +interpreted by TeX in any way; they are intended for programs which +process the '.dvi' files produced by TeX, be it printing or converting +to other formats, such as '.ps' or '.pdf'. Another approach is to extend the original TeX engine with the ability to generate one of the hyperlinking formats; TeX's set of -primitives can be extended to include hyperlink commands. This is the -approach used by the pdfTeX engine, which is capable of producing -`.pdf' files directly from the TeX source, skipping the `.dvi' -generation and processing step. +primitives can be extended to include hyperlink commands. This is the +approach used by the pdfTeX engine, which is capable of producing '.pdf' +files directly from the TeX source, skipping the '.dvi' generation and +processing step. It turns out that the sets of commands for different formats are mostly not interchangeable, as each of the file formats has its own -quirks and capabilities. And this is where Eplain "hyperlink drivers" +quirks and capabilities. And this is where Eplain "hyperlink drivers" come into play. In order for Eplain to generate proper commands, Eplain has to know -two things: which engine or `.dvi' processor you are using, and the set +two things: which engine or '.dvi' processor you are using, and the set of commands it understands. The knowledge about the commands that the various processors -understand is programmed into Eplain's hyperlink drivers. Eplain -provides three drivers: `hypertex' (implementation of the HyperTeX -standard, see `http://arxiv.org/hypertex'), and `pdftex' and `dvipdfm' +understand is programmed into Eplain's hyperlink drivers. Eplain +provides three drivers: 'hypertex' (implementation of the HyperTeX +standard, see <http://arxiv.org/hypertex>), and 'pdftex' and 'dvipdfm' (named after the programs which process the hyperlink commands, pdfTeX -and dvipdfm). Therefore, Eplain can only produce HyperTeX commands and +and dvipdfm). Therefore, Eplain can only produce HyperTeX commands and hyperlink commands for one of these two programs--except that the -extended `dvipdfmx' program can be used as well as the original -`dvipdfm', since they are compatible. +extended 'dvipdfmx' program can be used as well as the original +'dvipdfm', since they are compatible. - To tell Eplain which `.dvi' processor or extended TeX engine you are -using, use the command `\enablehyperlinks'. + To tell Eplain which '.dvi' processor or extended TeX engine you are +using, use the command '\enablehyperlinks'. For example: \enablehyperlinks -instructs Eplain to attempt to automatically detect which driver to -use, as follows: if it detects pdfTeX in PDF mode, it loads the -`pdftex' driver. If it does not detect pdfTeX in PDF mode, the -`hypertex' driver is loaded. The detection is based on the `\ifpdf' -switch (*note Checking for PDF output::). +instructs Eplain to attempt to automatically detect which driver to use, +as follows: if it detects pdfTeX in PDF mode, it loads the 'pdftex' +driver. If it does not detect pdfTeX in PDF mode, the 'hypertex' driver +is loaded. The detection is based on the '\ifpdf' switch (*note Checking +for PDF output::). If necessary, you can explicitly specify the driver name: @@ -2873,57 +2897,57 @@ will start producing hyperlinks under the assumption that you are using pdfTeX. Eplain does not produce any hyperlinks until you explicitly enable -them with `\enablehyperlinks'. For one thing, this keeps Eplain +them with '\enablehyperlinks'. For one thing, this keeps Eplain backward-compatible with previous releases without hyperlink support. -For another, you may be using a program other than pdfTeX or `dvipdfm', +For another, you may be using a program other than pdfTeX or 'dvipdfm', which does not understand their hyperlink commands or the HyperTeX commands. Concepts and Terminology ------------------------ -In general, hyperlinks work as follows. You mark some place in your +In general, hyperlinks work as follows. You mark some place in your document as a hyperlink destination, associating a "hyperlink label" -with that destination. Next, somewhere within your document, you -create a hyperlink, using a label to identify the destination you want -this link to point to. A hyperlink is a region in the document (which -can take many forms, for example, text or a picture); when a user -clicks on that region, they will be taken to a place in the document -marked by the corresponding destination. The following two sections -(*note Explicit hyperlinks::, and *note Implicit hyperlinks::) describe -the macros you can use to define destinations and create links pointing -to those destinations. +with that destination. Next, somewhere within your document, you create +a hyperlink, using a label to identify the destination you want this +link to point to. A hyperlink is a region in the document (which can +take many forms, for example, text or a picture); when a user clicks on +that region, they will be taken to a place in the document marked by the +corresponding destination. The following two sections (*note Explicit +hyperlinks::, and *note Implicit hyperlinks::) describe the macros you +can use to define destinations and create links pointing to those +destinations. In the rest of this chapter, we will often need to refer to links and destinations jointly, in which case we will use the term "hyperlinks". We will use the terms "links" and "destinations" in cases when we need to refer specifically to links or destinations. - Hyperlink drivers provide several kinds of links and destinations. -We will refer to them as "link types" and "destination types". + Hyperlink drivers provide several kinds of links and destinations. We +will refer to them as "link types" and "destination types". - For example, one of the destination types that the `pdftex' driver -provides is the `xyz' type; when the user follows a link pointing to an -`xyz' destination, the exact location marked by that destination is -displayed. Another destination type provided by the `pdftex' driver is -the `fit' type; when the user follows a link pointing to a `fit' + For example, one of the destination types that the 'pdftex' driver +provides is the 'xyz' type; when the user follows a link pointing to an +'xyz' destination, the exact location marked by that destination is +displayed. Another destination type provided by the 'pdftex' driver is +the 'fit' type; when the user follows a link pointing to a 'fit' destination, the page containing that destination is zoomed to fit into the window in which the document is displayed. - Similarly, drivers support various link types. For example, with the -`pdftex' driver, the usual link type used to refer to destinations in -the current document is called `name'. You can also create a link -pointing to another local document (by using the `filename' link type) -or to a URL (by using the `url' link type). + Similarly, drivers support various link types. For example, with the +'pdftex' driver, the usual link type used to refer to destinations in +the current document is called 'name'. You can also create a link +pointing to another local document (by using the 'filename' link type) +or to a URL (by using the 'url' link type). In addition, each hyperlink driver supports a number of destination -and link "options". By setting these options you can customize -hyperlink parameters (e.g., the thickness of the border drawn around a -hyperlink) or pass information to hyperlinks (for example, file name of -a document, for a link pointing to a destination in another document). +and link "options". By setting these options you can customize hyperlink +parameters (e.g., the thickness of the border drawn around a hyperlink) +or pass information to hyperlinks (for example, file name of a document, +for a link pointing to a destination in another document). *Note Hyperlink drivers::, for the description of hyperlink types and -options supported by the drivers. *Note Setting hyperlink types and +options supported by the drivers. *Note Setting hyperlink types and options::, for the information on how to set hyperlink options. @@ -2933,50 +2957,50 @@ File: eplain.info, Node: Explicit hyperlinks, Next: Implicit hyperlinks, Prev ======================= Explicit hyperlinks are created by you, in the source of your document. -The simplest command is `\hldest', which marks the current position in +The simplest command is '\hldest', which marks the current position in your document as a destination: \hldest{TYPE}{OPTIONS}{LABEL} Here TYPE is one of the destination types supported by the hyperlink -driver (*note Hyperlink drivers::), OPTIONS is a comma-separated list -of option assignments, and LABEL is the hyperlink label to associate -with this destination. This label will identify the destination when -creating links pointing to this destination. For example, with the -`pdftex' driver, the command +driver (*note Hyperlink drivers::), OPTIONS is a comma-separated list of +option assignments, and LABEL is the hyperlink label to associate with +this destination. This label will identify the destination when creating +links pointing to this destination. For example, with the 'pdftex' +driver, the command \hldest{xyz}{zoom=2000}{index} -creates a destination of type `xyz' ("the current position"), sets the +creates a destination of type 'xyz' ("the current position"), sets the magnification ratio for this destination to be 200%, and associates the -label `index' with the destination. +label 'index' with the destination. - Another command, `\hlstart', paired with `\hlend', turns all + Another command, '\hlstart', paired with '\hlend', turns all intervening material into a link: \hlstart{TYPE}{OPTIONS}{LABEL} ... \hlend -Here TYPE, OPTIONS and LABEL have the same meaning as for `\hldest'. +Here TYPE, OPTIONS and LABEL have the same meaning as for '\hldest'. Continuing the previous example, \hlstart{name}{bstyle=U,bwidth=2}{index} Index\hlend -typesets the word `Index' as a link with underline border of -width 2 PostScript points, pointing to the named destination `index' -defined in the previous example. (The other options, like highlight -mode and border color, are determined by the defaults, *note Setting -default types and options::). +typesets the word 'Index' as a link with underline border of +width 2 PostScript points, pointing to the named destination 'index' +defined in the previous example. (The other options, like highlight mode +and border color, are determined by the defaults, *note Setting default +types and options::). - The LABEL argument of both `\hldest' and `\hlstart' can contain -special characters (such as `#', `%', `&', `~', etc.) without any -escaping. This is especially important for URL links supported by some + The LABEL argument of both '\hldest' and '\hlstart' can contain +special characters (such as '#', '%', '&', '~', etc.) without any +escaping. This is especially important for URL links supported by some drivers (*note Hyperlink drivers::). - Both `\hldest' and `\hlstart' ignore following spaces. + Both '\hldest' and '\hlstart' ignore following spaces. - Both `\hldest' and `\hlstart' expand the first token of OPTIONS -once, so you can save a list of options in a macro and pass it for the -OPTIONS. For example: + Both '\hldest' and '\hlstart' expand the first token of OPTIONS once, +so you can save a list of options in a macro and pass it for the +OPTIONS. For example: \def\linkopts{bstyle=U,bwidth=2} \hlstart{name}{\linkopts}{index}Index\hlend @@ -2998,12 +3022,12 @@ indexing, etc. All such macros are divided into "link groups" and "destination groups" (or "linkgroups" and "destgroups" for short) so that parameters -can be set individually for each group. For example, all equation -macros which define a destination are assigned to the `eq' destgroup; -equation macros which create a link are assigned to the `eq' linkgroup. -By setting parameters for the `eq' linkgroup (destgroup), you can -uniformly customize all links (destinations) related to equation -references, without interfering with settings for the other groups. +can be set individually for each group. For example, all equation macros +which define a destination are assigned to the 'eq' destgroup; equation +macros which create a link are assigned to the 'eq' linkgroup. By +setting parameters for the 'eq' linkgroup (destgroup), you can uniformly +customize all links (destinations) related to equation references, +without interfering with settings for the other groups. *Note Setting hyperlink types and options::, for information on how to set parameters for a group. @@ -3038,27 +3062,27 @@ destgroups and the hyperlink support provided. File: eplain.info, Node: General hyperlinks, Next: URL hyperlinks, Up: Implicit hyperlinks -5.3.1 General hyperlinks: hrefint, hrefext -------------------------------------------- +5.3.1 General hyperlinks: hrefint, hrefext +------------------------------------------ -`\href{URL}{TEXT}' typesets TEXT as a link to URL. It basically does -what the explicit hyperlink macros do (*note Explicit hyperlinks::), -but is more convenient (at the expense of flexibility). +'\href{URL}{TEXT}' typesets TEXT as a link to URL. It basically does +what the explicit hyperlink macros do (*note Explicit hyperlinks::), but +is more convenient (at the expense of flexibility). - If URL starts with `#', the rest of URL is assumed to be a local + If URL starts with '#', the rest of URL is assumed to be a local hyperlink destination name (destination within the same document). -Parameters for these links can be set by customizing the `hrefint' -linkgroup. For example: +Parameters for these links can be set by customizing the 'hrefint' +linkgroup. For example: See \href{#intro}{Introduction} -will make `Introduction' into an internal link, which might have been -created, e.g., with `\xrdef{intro}'. +will make 'Introduction' into an internal link, which might have been +created, e.g., with '\xrdef{intro}'. - If URL does not start with `#', it is assumed to be a URL link. -Parameters for these links can be set by customizing the `hrefext' -linkgroup. The special characters (such as `#' and `~') in the URL -don't need to be escaped. For example: + If URL does not start with '#', it is assumed to be a URL link. +Parameters for these links can be set by customizing the 'hrefext' +linkgroup. The special characters (such as '#' and '~') in the URL don't +need to be escaped. For example: \href{http://tug.org/eplain/doc/eplain.html#Hyperlinks}{Hyperlinks in Eplain} @@ -3066,38 +3090,38 @@ don't need to be escaped. For example: *Note URL hyperlinks::, for another way to create URL hyperlinks. - The TEXT argument of `\href' can contain verbatim text (*note -Verbatim listing::) or other macros which manipulate character -catcodes. For example: + The TEXT argument of '\href' can contain verbatim text (*note +Verbatim listing::) or other macros which manipulate character catcodes. +For example: \href{#WeirdChars}{The weird chars \verbatim #&%$~|endverbatim} - `\href' does not currently handle other link types, such as `file:' -and `run:' links. + '\href' does not currently handle other link types, such as 'file:' +and 'run:' links. File: eplain.info, Node: URL hyperlinks, Next: Citation hyperlinks, Prev: General hyperlinks, Up: Implicit hyperlinks -5.3.2 URL hyperlinks: url --------------------------- +5.3.2 URL hyperlinks: url +------------------------- -The `url' linkgroup covers the `\url' command from the LaTeX package `url' -(*note Packages known to work::), as well as any new `\url'-like -commands you define. The type for this linkgroup is set to `url' by -the drivers which support this link type. `url' links use the -parameter to the `\url' command as the URL to point to. +The 'url' linkgroup covers the '\url' command from the LaTeX package +'url' (*note Packages known to work::), as well as any new '\url'-like +commands you define. The type for this linkgroup is set to 'url' by the +drivers which support this link type. 'url' links use the parameter to +the '\url' command as the URL to point to. - You may be using the `\url' command to typeset something other than -a URL, e.g., a path, for which you do not want a link to be created; in -that case, you can disable the `url' linkgroup with the command -`\hloff[url]' (*note Turning hyperlinks on/off for a group::). + You may be using the '\url' command to typeset something other than a +URL, e.g., a path, for which you do not want a link to be created; in +that case, you can disable the 'url' linkgroup with the command +'\hloff[url]' (*note Turning hyperlinks on/off for a group::). By default, URL (and other types of) links are boxed, so that they -are visually marked even if you do not load the LaTeX `color' package -(*note Loading LaTeX packages::) and therefore link text is not -colored. You can see the effect by compiling the following code -snippet (be sure to get a modern `url.sty', older versions do not work -in plain TeX; *note Packages known to work::): +are visually marked even if you do not load the LaTeX 'color' package +(*note Loading LaTeX packages::) and therefore link text is not colored. +You can see the effect by compiling the following code snippet (be sure +to get a modern 'url.sty', older versions do not work in plain TeX; +*note Packages known to work::): \input eplain \beginpackages @@ -3112,9 +3136,9 @@ in plain TeX; *note Packages known to work::): \bye - If the hyperlink driver you use supports the link option `bwidth' + If the hyperlink driver you use supports the link option 'bwidth' (*note Hyperlink drivers::), you can produce colored links with no -border around them. Try this: +border around them. Try this: \input eplain \beginpackages @@ -3131,143 +3155,142 @@ border around them. Try this: \bye -The command `\hlopts{bwidth=0}' sets border width to zero as the -default for all links, and loading the `color' package automatically -colors links using the default color (*note Options supported by all -drivers::). If you want the border width setting to apply to URL links -only, say `\hlopts[url]{bwidth=0}' (*note Setting hyperlink types and +The command '\hlopts{bwidth=0}' sets border width to zero as the default +for all links, and loading the 'color' package automatically colors +links using the default color (*note Options supported by all +drivers::). If you want the border width setting to apply to URL links +only, say '\hlopts[url]{bwidth=0}' (*note Setting hyperlink types and options::). File: eplain.info, Node: Citation hyperlinks, Next: List hyperlinks, Prev: URL hyperlinks, Up: Implicit hyperlinks -5.3.3 Citation hyperlinks: cite, bib -------------------------------------- +5.3.3 Citation hyperlinks: cite, bib +------------------------------------ -The `cite' linkgroup includes only the `\cite' command (*note -Citations::). `\cite' turns each of the references in the list into a +The 'cite' linkgroup includes only the '\cite' command (*note +Citations::). '\cite' turns each of the references in the list into a link pointing to the respective bibliography entry produced by the -`\bibliography' command. +'\bibliography' command. - The `bib' destgroup includes the macros related to the -`\bibliography' command (*note Citations::). `\bibliography' inputs a -`.bbl' file, which contains a list of bibliography entries. For each -of the entries, a destination is defined. + The 'bib' destgroup includes the macros related to the +'\bibliography' command (*note Citations::). '\bibliography' inputs a +'.bbl' file, which contains a list of bibliography entries. For each of +the entries, a destination is defined. Both commands use the citation label as the hyperlink label. File: eplain.info, Node: List hyperlinks, Next: Cross-reference hyperlinks, Prev: Citation hyperlinks, Up: Implicit hyperlinks -5.3.4 List hyperlinks: li --------------------------- +5.3.4 List hyperlinks: li +------------------------- -The `li' destgroup consists of the `\li' command (*note Lists::), which +The 'li' destgroup consists of the '\li' command (*note Lists::), which defines a destination if you supply the optional argument -(cross-reference label). This label is also used as the hyperlink -label. +(cross-reference label). This label is also used as the hyperlink label. File: eplain.info, Node: Cross-reference hyperlinks, Next: Page reference hyperlinks, Prev: List hyperlinks, Up: Implicit hyperlinks -5.3.5 Cross-reference hyperlinks: definexref, ref --------------------------------------------------- +5.3.5 Cross-reference hyperlinks: definexref, ref +------------------------------------------------- -The `definexref' destgroup is for the `\definexref' command (*note -Defining generic references::). `\definexref' defines a destination +The 'definexref' destgroup is for the '\definexref' command (*note +Defining generic references::). '\definexref' defines a destination using the cross-reference label (the first argument) as the hyperlink label. - The `ref' linkgroup includes `\refn' and `\xrefn' (they are -synonyms), `\ref', and `\refs' (*note Using generic references::). + The 'ref' linkgroup includes '\refn' and '\xrefn' (they are +synonyms), '\ref', and '\refs' (*note Using generic references::). - `\refn' turns the cross-reference it produces into a link, using the -cross-reference label as the hyperlink label. If an optional argument -is present, it is tied by `\reftie' to the reference and become part of -the link. + '\refn' turns the cross-reference it produces into a link, using the +cross-reference label as the hyperlink label. If an optional argument is +present, it is tied by '\reftie' to the reference and become part of the +link. - `\ref' works similarly to `\refn'. It takes an optional argument, -which is treated the same way as the optional argument to `\refn'. In -addition, `\ref' can produce a "class word". Both the optional -argument and the class word become part of the link, when present. The -cross-reference is tied by `\reftie' to the preceding word. The -optional argument is separated from the class word by `\refspace'. + '\ref' works similarly to '\refn'. It takes an optional argument, +which is treated the same way as the optional argument to '\refn'. In +addition, '\ref' can produce a "class word". Both the optional argument +and the class word become part of the link, when present. The +cross-reference is tied by '\reftie' to the preceding word. The optional +argument is separated from the class word by '\refspace'. - Unlike `\ref', `\refs' does not take an optional argument and does + Unlike '\ref', '\refs' does not take an optional argument and does not make the class word part of the link, which is appropriate for its intended use. File: eplain.info, Node: Page reference hyperlinks, Next: Equation reference hyperlinks, Prev: Cross-reference hyperlinks, Up: Implicit hyperlinks -5.3.6 Page reference hyperlinks: xrdef, xref ---------------------------------------------- +5.3.6 Page reference hyperlinks: xrdef, xref +-------------------------------------------- -The `xrdef' destgroup is for `\xrdef' (*note Page references::). -`\xrdef' defines a destination using cross-reference label as the +The 'xrdef' destgroup is for '\xrdef' (*note Page references::). +'\xrdef' defines a destination using cross-reference label as the hyperlink label. - The `xref' linkgroup includes the `\xref' command (*note Page -references::). `\xref' turns its optional argument (followed by -`\refspace'), `\xrefpageword' and the cross-reference (page number) -into a link, using the cross-reference label as the hyperlink label. + The 'xref' linkgroup includes the '\xref' command (*note Page +references::). '\xref' turns its optional argument (followed by +'\refspace'), '\xrefpageword' and the cross-reference (page number) into +a link, using the cross-reference label as the hyperlink label. File: eplain.info, Node: Equation reference hyperlinks, Next: Index hyperlinks, Prev: Page reference hyperlinks, Up: Implicit hyperlinks -5.3.7 Equation reference hyperlinks: eq ----------------------------------------- +5.3.7 Equation reference hyperlinks: eq +--------------------------------------- -All commands that define equation labels are part of the `eq' destgroup. -These are `\eqdef', `\eqdefn', `\eqsubdef' and `\eqsubdefn' (*note -Equation references::). All these commands use the equation label as -the hyperlink label. However, if the equation label is empty, they -make up a (hopefully) unique hyperlink label for the destination. This -label will be used for the link when you refer to this empty-labeled -equation with one of the equation reference macros. - - The command `\phantomeqlabel' is called to generate hyperlink labels -for the empty-labeled equations. By default, it produces the labels in -the format `PHEQNUMBER', where NUMBER comes from the count register -`\phantomeqnumber'; this count register is incremented at every +All commands that define equation labels are part of the 'eq' destgroup. +These are '\eqdef', '\eqdefn', '\eqsubdef' and '\eqsubdefn' (*note +Equation references::). All these commands use the equation label as the +hyperlink label. However, if the equation label is empty, they make up a +(hopefully) unique hyperlink label for the destination. This label will +be used for the link when you refer to this empty-labeled equation with +one of the equation reference macros. + + The command '\phantomeqlabel' is called to generate hyperlink labels +for the empty-labeled equations. By default, it produces the labels in +the format 'PHEQNUMBER', where NUMBER comes from the count register +'\phantomeqnumber'; this count register is incremented at every empty-labeled equation definition. - The commands `\eqref' and `\eqrefn' (*note Equation references::) -form the `eq' linkgroup. These commands take an optional argument, -which, when present, is tied with `\reftie' to the equation reference -and becomes part of the link. The equation label is used for the + The commands '\eqref' and '\eqrefn' (*note Equation references::) +form the 'eq' linkgroup. These commands take an optional argument, +which, when present, is tied with '\reftie' to the equation reference +and becomes part of the link. The equation label is used for the hyperlink label; if the label is empty, the link is for the label generated for the last empty-labeled equation. File: eplain.info, Node: Index hyperlinks, Next: Footnote hyperlinks, Prev: Equation reference hyperlinks, Up: Implicit hyperlinks -5.3.8 Index hyperlinks: idx ----------------------------- +5.3.8 Index hyperlinks: idx +--------------------------- -All indexing commands (`\idx', `\idxname', `\idxmarked', -`\idxsubmarked' and their silent equivalents, *note Indexing -commands::) form the `idx' destgroup. The `idx' linkgroup consists of -the macros which are used to typeset the index when you say `\readindexfile{INDEX-LETTER}' -(*note Typesetting an index::). +All indexing commands ('\idx', '\idxname', '\idxmarked', '\idxsubmarked' +and their silent equivalents, *note Indexing commands::) form the 'idx' +destgroup. The 'idx' linkgroup consists of the macros which are used to +typeset the index when you say '\readindexfile{INDEX-LETTER}' (*note +Typesetting an index::). To create the links in index entries, Eplain uses MakeIndex's -"encapsulation" feature. When you use an indexing macro to mark an -index term, Eplain writes out a line to the `.idx' file of the -following general form: +"encapsulation" feature. When you use an indexing macro to mark an index +term, Eplain writes out a line to the '.idx' file of the following +general form: \indexentry{ENTRY|PAGEMARKUP}{PAGENO} where ENTRY is the index entry (converted into the internal format that MakeIndex understands), CS is the markup command you specified with the -`pagemarkup=CS' optional argument to the indexing commands (*note +'pagemarkup=CS' optional argument to the indexing commands (*note Modifying index entries::), and PAGENO is the page number on which the -term appeared. When processing the `.idx' file, MakeIndex makes the -page number an argument to the page markup command ("encapsulates" the -page number), so the page number in the `.ind' file appears as -`\CS{PAGENO}'. Eplain internally replaces the CS command name with its -own command, which, in addition to calling the original `\CS' -encapsulator, turns the page number into a link. +term appeared. When processing the '.idx' file, MakeIndex makes the page +number an argument to the page markup command ("encapsulates" the page +number), so the page number in the '.ind' file appears as '\CS{PAGENO}'. +Eplain internally replaces the CS command name with its own command, +which, in addition to calling the original '\CS' encapsulator, turns the +page number into a link. Eplain provides two approaches to linking page numbers in the index to locations of index terms in the text. @@ -3287,44 +3310,43 @@ File: eplain.info, Node: Exact destinations for index terms, Next: Page destin .......................................... In this approach, each command that marks an index term defines a unique -destination and passes its label on to the `.idx' file as part of the -`\indexentry' command. The `\indexentry' line that Eplain writes to -the `.idx' file becomes +destination and passes its label on to the '.idx' file as part of the +'\indexentry' command. The '\indexentry' line that Eplain writes to the +'.idx' file becomes \indexentry{ENTRY|hlidx{LABEL}{CS}}{PAGENO} -where `\hlidx' is the command that is defined by Eplain to take three -arguments: a hyperlink label (LABEL), a name of page number -encapsulator (CS) and a page number (PAGENO). In the `.ind' file that -MakeIndex will generate, the page number will now appear as +where '\hlidx' is the command that is defined by Eplain to take three +arguments: a hyperlink label (LABEL), a name of page number encapsulator +(CS) and a page number (PAGENO). In the '.ind' file that MakeIndex will +generate, the page number will now appear as \hlidx{LABEL}{CS}{PAGENO} -The result of this command is `\CS{PAGENO}', wrapped up into a link +The result of this command is '\CS{PAGENO}', wrapped up into a link pointing to LABEL destination. - The hyperlink labels for the index terms are generated by the `\hlidxlabel' -command, by default in the format `IDXNUMBER', where NUMBER is the -value of the count register `\hlidxlabelnumber'. This count register -is incremented at each index term. + The hyperlink labels for the index terms are generated by the +'\hlidxlabel' command, by default in the format 'IDXNUMBER', where +NUMBER is the value of the count register '\hlidxlabelnumber'. This +count register is incremented at each index term. The advantage of this approach, as compared to the second approach described below, is that links in the index point to exact locations of -the indexed terms on the page. The disadvantage of this approach is -that MakeIndex will regard _all_ index entries as distinct, because -each one contains a (unique) hyperlink label. This disadvantage can be -partially overcome by the script `idxuniq' distributed with Eplain in -the `util' directory. This script filters out `\indexentry' lines -differing only in the hyperlink label but identical otherwise. You -should process the `.idx' with this script before passing it on to -MakeIndex. For example: +the indexed terms on the page. The disadvantage of this approach is that +MakeIndex will regard _all_ index entries as distinct, because each one +contains a (unique) hyperlink label. This disadvantage can be partially +overcome by the script 'idxuniq' distributed with Eplain in the 'util' +directory. This script filters out '\indexentry' lines differing only in +the hyperlink label but identical otherwise. You should process the +'.idx' with this script before passing it on to MakeIndex. For example: prompt$ ./idxuniq file.idx | makeindex > file.ind Still, this solution is not ideal, as the page-range formation ability of MakeIndex will not work, and there will be problems of apparently identical index entries clashing (e.g., when a range-end entry appears -on the same page as another entry with the same definition; `idxuniq' +on the same page as another entry with the same definition; 'idxuniq' will not filter out the second entry). @@ -3334,47 +3356,46 @@ File: eplain.info, Node: Page destinations for index terms, Next: Choosing des ......................................... In the second approach, Eplain does not write out any destination labels -for the index terms. Instead, Eplain writes out a wrapper for page +for the index terms. Instead, Eplain writes out a wrapper for page number encapsulator which can parse the page number and generate a link -pointing to the _page_ on which the term appeared. On top of each page +pointing to the _page_ on which the term appeared. On top of each page containing an index term, Eplain defines a destination with label -produced by `\hlidxpagelabel'. The `\hlidxpagelabel' command takes a +produced by '\hlidxpagelabel'. The '\hlidxpagelabel' command takes a single argument (page number NUMBER) and by default produces the label -in the format `IDXPGNUMBER'. +in the format 'IDXPGNUMBER'. - With this approach, the `\indexentry' line which Eplain writes to -the `.idx' file looks like this: + With this approach, the '\indexentry' line which Eplain writes to the +'.idx' file looks like this: \indexentry{ENTRY|hlidxpage{CS}}{PAGENO} -where `\hlidxpage' is the command that is defined by Eplain to take two -arguments: a name of page number encapsulator (CS) and a page number -(PAGENO). In the `.ind' file that MakeIndex will generate, the page +where '\hlidxpage' is the command that is defined by Eplain to take two +arguments: a name of page number encapsulator (CS) and a page number +(PAGENO). In the '.ind' file that MakeIndex will generate, the page number will appear as \hlidxpage{CS}{PAGENO} The advantage of this approach is that all features of MakeIndex are -intact. The drawback is that links in the index do not point to exact +intact. The drawback is that links in the index do not point to exact locations of indexed terms on a page, but to the top of a page on which the term appears. Another disadvantage is that this approach depends on the page range and page list separators which MakeIndex was configured to output. -`\hlidxpage' must be able to parse the first page number in a page -range like `1--4'. In addition, page list parsing is needed because -MakeIndex combines two consecutive page numbers in one call to the page -number encapsulator, so `\hlidxpage' can be passed, e.g., `1, 2' for -the PAGENO. In this last case, `\hlidxpage' splits the two page -numbers, applies `\CS' to each of them, and makes each of the page -numbers a link to the appropriate page. Note that this will alter -typesetting slightly, because now the page list separator (a comma -followed by a space, by default) is not typeset using the page number -encapsulator (`\CS'). +'\hlidxpage' must be able to parse the first page number in a page range +like '1--4'. In addition, page list parsing is needed because MakeIndex +combines two consecutive page numbers in one call to the page number +encapsulator, so '\hlidxpage' can be passed, e.g., '1, 2' for the +PAGENO. In this last case, '\hlidxpage' splits the two page numbers, +applies '\CS' to each of them, and makes each of the page numbers a link +to the appropriate page. Note that this will alter typesetting slightly, +because now the page list separator (a comma followed by a space, by +default) is not typeset using the page number encapsulator ('\CS'). Eplain's defaults for the page list and page number delimiters are -the same as those in MakeIndex, a comma followed by a space (`, ') and -two dashes (`--'), respectively. If you customize MakeIndex to use +the same as those in MakeIndex, a comma followed by a space (', ') and +two dashes ('--'), respectively. If you customize MakeIndex to use different delimiters, you must not forget to let Eplain know about them with the commands @@ -3390,12 +3411,12 @@ File: eplain.info, Node: Choosing destination placement, Next: Index page list ...................................... The approach that Eplain should use for the index terms can be selected -in the `\enablehyperlinks' command. The optional argument it accepts is -a comma-separated list of options. The `idxexact' option selects the -first approach, `idxpage' the second, and `idxnone' disables hyperlink +in the '\enablehyperlinks' command. The optional argument it accepts is +a comma-separated list of options. The 'idxexact' option selects the +first approach, 'idxpage' the second, and 'idxnone' disables hyperlink support for the index terms altogether, in case you want to stop Eplain -from writing its link wrappers into the `.idx' file. The default is -`idxpage'. +from writing its link wrappers into the '.idx' file. The default is +'idxpage'. For example: @@ -3410,8 +3431,8 @@ File: eplain.info, Node: Index page list and page range parsers, Next: Hyperli .............................................. The macros that Eplain uses to parse page lists and page ranges, -`\idxparselist' and `\idxparserange', can sometimes be useful when -defining page number encapsulators. *Note Page list and page range +'\idxparselist' and '\idxparserange', can sometimes be useful when +defining page number encapsulators. *Note Page list and page range parsers::, for the description of these commands and an example of their usage. @@ -3423,9 +3444,9 @@ File: eplain.info, Node: Hyperlinks in see and see also entries, Prev: Index p There is no automatic support for hyperlinks with "see" and "see also" index entries, as there is not enough information to trace the -parameters of `\indexsee' and `\indexseealso' to corresponding index -entries. But if desired, this can be implemented with `\hldest' and -`\hlstart' (*note Explicit hyperlinks::); for example: +parameters of '\indexsee' and '\indexseealso' to corresponding index +entries. But if desired, this can be implemented with '\hldest' and +'\hlstart' (*note Explicit hyperlinks::); for example: \sidx{semantic theory of truth@% \leavevmode\hldest{}{}{idx:theo truth}semantic theory of truth} @@ -3436,23 +3457,24 @@ entries. But if desired, this can be implemented with `\hldest' and File: eplain.info, Node: Footnote hyperlinks, Next: Contents hyperlinks, Prev: Index hyperlinks, Up: Implicit hyperlinks -5.3.9 Footnote hyperlinks: foot, footback ------------------------------------------- +5.3.9 Footnote hyperlinks: foot, footback +----------------------------------------- -The `foot' link and destination groups include the `\numberedfootnote' -and `\footnote' macros (*note Footnotes::). The `footback' groups +The 'foot' link and destination groups include the '\numberedfootnote' +and '\footnote' macros (*note Footnotes::). The 'footback' groups include the same macros, but control parameters for links and destinations created inside the footnote to point back to the footnote mark within the text body. - The macros use hyperlink labels generated by `\hlfootlabel' and `\hlfootbacklabel'. -The default formats for the labels are `FOOTNUMBER' and `FOOTBNUMBER', -respectively, where NUMBER is the value of the count register `\hlfootlabelnumber'. -This register is incremented at every footnote. + The macros use hyperlink labels generated by '\hlfootlabel' and +'\hlfootbacklabel'. The default formats for the labels are 'FOOTNUMBER' +and 'FOOTBNUMBER', respectively, where NUMBER is the value of the count +register '\hlfootlabelnumber'. This register is incremented at every +footnote. Generally, footnote hyperlinks are not of much use, because the footnotes are usually placed on the same page as the footnote mark. -Therefore, footnote hyperlinks are disabled by default. Here is how you +Therefore, footnote hyperlinks are disabled by default. Here is how you can turn them on selectively, without affecting the other kinds of hyperlinks (*note Turning hyperlinks on/off for a group::): @@ -3466,8 +3488,8 @@ File: eplain.info, Node: Contents hyperlinks, Prev: Footnote hyperlinks, Up: -------------------------- There is currently no special support for hyperlinks in the table of -contents (*note Contents::), but implementing them with the `\hldest' -and `\hlstart ... \hlend' commands (*note Explicit hyperlinks::) should +contents (*note Contents::), but implementing them with the '\hldest' +and '\hlstart ... \hlend' commands (*note Explicit hyperlinks::) should be possible. @@ -3477,10 +3499,10 @@ File: eplain.info, Node: Hyperlink drivers, Next: Setting hyperlink types and ===================== This section describes the hyperlink drivers: the types of hyperlinks -they support, and the options they accept. During the first reading, -you may only want to skim through this section. +they support, and the options they accept. During the first reading, you +may only want to skim through this section. - Some of the descriptions below come from `Portable Document Format + Some of the descriptions below come from 'Portable Document Format Reference Manual Version 1.3', March 11, 1999. * Menu: @@ -3502,48 +3524,48 @@ supported by all hyperlink drivers. Destination options supported by all drivers ............................................ -`raise' - Specifies how much to raise destinations above the baseline. When +'raise' + Specifies how much to raise destinations above the baseline. When set to zero or empty, destinations are placed at the baseline. It is usually convenient to set this option to some variable parameter, so that the height to which destinations are raised is - automatically adjusted according to the current context. For - example, setting it to `\normalbaselineskip' (or some fraction of - it, like `1.7\normalbaselineskip') makes the setting appropriate + automatically adjusted according to the current context. For + example, setting it to '\normalbaselineskip' (or some fraction of + it, like '1.7\normalbaselineskip') makes the setting appropriate for different point sizes, in case your document uses more than one. - The default setting is `\normalbaselineskip'. Initially, the + The default setting is '\normalbaselineskip'. Initially, the destgroups do not define this option, so they fall back on the - default, except for the `eq' destgroup, for which this option is - set to `1.7\normalbaselineskip', to accommodate the usual cases of + default, except for the 'eq' destgroup, for which this option is + set to '1.7\normalbaselineskip', to accommodate the usual cases of large operators in displayed math. - Example: `\hldestopts[eq]{raise=2.5\normalbaselineskip}' + Example: '\hldestopts[eq]{raise=2.5\normalbaselineskip}' Link options supported by all drivers ..................................... -`colormodel' -`color' +'colormodel' +'color' These two options define the color to be used for rendering the - link text. The colors are used only when a `\color' command is - defined, e.g., by loading the LaTeX `color' package (*note - Packages known to work::). The `\color' command is called as - `\color[COLORMODEL]{COLOR}', where COLORMODEL and COLOR are the - definitions of the `colormodel' and `color' options, respectively. - However, if COLORMODEL is empty, the optional argument to `\color' - is omitted; and if COLOR is empty, the `\color' command is omitted - altogether. The default setting is `COLORMODEL=cmyk' and - `COLOR=0.28,1,1,0.35'. + link text. The colors are used only when a '\color' command is + defined, e.g., by loading the LaTeX 'color' package (*note Packages + known to work::). The '\color' command is called as + '\color[COLORMODEL]{COLOR}', where COLORMODEL and COLOR are the + definitions of the 'colormodel' and 'color' options, respectively. + However, if COLORMODEL is empty, the optional argument to '\color' + is omitted; and if COLOR is empty, the '\color' command is omitted + altogether. The default setting is 'COLORMODEL=cmyk' and + 'COLOR=0.28,1,1,0.35'. When specifying colors with several components delimited by commas - (e.g., RGB and CMYK colors in the LaTeX `color' package), it is not + (e.g., RGB and CMYK colors in the LaTeX 'color' package), it is not possible to specify the components directly in the option list of - `\hlopts', because comma is the option list delimiter. With the - `color' package, it is possible to specify such colors by defining - a custom color with `\definecolor' and using the new color name + '\hlopts', because comma is the option list delimiter. With the + 'color' package, it is possible to specify such colors by defining + a custom color with '\definecolor' and using the new color name with an empty COLORMODEL (see examples below). Examples: @@ -3556,64 +3578,63 @@ Link options supported by all drivers File: eplain.info, Node: Hyperlink driver hypertex, Next: Hyperlink drivers pdftex and dvipdfm, Prev: Options supported by all drivers, Up: Hyperlink drivers -5.4.2 Hyperlink driver `hypertex' +5.4.2 Hyperlink driver 'hypertex' --------------------------------- HyperTeX is a standard for inclusion of hyperlink information in TeX -(and LaTeX) documents (see `http://arxiv.org/hypertex'). This standard -defines a set of hyperlink tags implemented as `\special' commands -written into the DVI file. The major advantage of such standard is -that a single `.dvi' file containing HyperTeX commands can be viewed by -any HyperTeX-enabled viewer (e.g., any more or less modern version of `xdvi') -or converted to other file formats (e.g., PDF) by any HyperTeX-enabled -DVI converter (e.g., `dvipdfmx' or `dvips' with Ghostscript's `ps2pdf' -script). +(and LaTeX) documents (see <http://arxiv.org/hypertex>). This standard +defines a set of hyperlink tags implemented as '\special' commands +written into the DVI file. The major advantage of such standard is that +a single '.dvi' file containing HyperTeX commands can be viewed by any +HyperTeX-enabled viewer (e.g., any more or less modern version of +'xdvi') or converted to other file formats (e.g., PDF) by any +HyperTeX-enabled DVI converter (e.g., 'dvipdfmx' or 'dvips' with +Ghostscript's 'ps2pdf' script). The downside to the standard is that it is by design "the common factor" of other formats supporting hyperlinks, so many features of a -particular file format cannot be supported by HyperTeX. Therefore, if -you need to use special features of a particular format, HyperTeX is -not a good choice. For the PDF file format, Eplain provides the -`pdftex' and `dvipdfm' drivers which provide fine control over the PDF -options (*note Hyperlink drivers pdftex and dvipdfm::). +particular file format cannot be supported by HyperTeX. Therefore, if +you need to use special features of a particular format, HyperTeX is not +a good choice. For the PDF file format, Eplain provides the 'pdftex' and +'dvipdfm' drivers which provide fine control over the PDF options (*note +Hyperlink drivers pdftex and dvipdfm::). For more information on programs which support the HyperTeX standard, please see - `http://arxiv.org/hypertex' - `http://www.tug.org/tex-archive/support/hypertex/hypertex' + <http://arxiv.org/hypertex> + <http://www.tug.org/tex-archive/support/hypertex/hypertex> For convenience, we list a few HyperTeX-enabled converters: -`dvips' - Note that you need to pass the `-z' option to `dvips' to tell it - to preserve the information about the hyperlinks. To generate a - `.pdf' file with hyperlinks, you can use the `ps2pdf' script of Ghostscript. - For example, if `foo.tex' is a TeX file using HyperTeX commands, - then +'dvips' + Note that you need to pass the '-z' option to 'dvips' to tell it to + preserve the information about the hyperlinks. To generate a '.pdf' + file with hyperlinks, you can use the 'ps2pdf' script of + Ghostscript. For example, if 'foo.tex' is a TeX file using HyperTeX + commands, then prompt$ tex foo.tex prompt$ dvips -z foo.dvi -o prompt$ ps2pdf foo.ps - will produce `foo.pdf' with hyperlinks. + will produce 'foo.pdf' with hyperlinks. -`dvipdfm' -`dvipdfmx' +'dvipdfm' +'dvipdfmx' No special command line arguments are required, these programs automatically detect the HyperTeX commands. - - One more note is in place: support for the HyperTeX commands varies + One more note is in place: support for the HyperTeX commands varies from one previewer/converter to another, so you might need to experiment to see if what you need is supported by the program(s) you intend to -use. For example, dvips(k) as of version 5.92b converts all internal +use. For example, dvips(k) as of version 5.92b converts all internal hyperlinks into page links pointing to a page containing the destination, so that "exact" linking to destinations is not possible (this was confirmed to be a bug and most probably has already been fixed in later versions of dvips(k)); dvipdfm as of version 0.13.2c and -dvipdfmx as of version 20040411 do not correctly parse links to -external local files, and produce a URL link instead of a file link. +dvipdfmx as of version 20040411 do not correctly parse links to external +local files, and produce a URL link instead of a file link. * Menu: @@ -3625,22 +3646,22 @@ external local files, and produce a URL link instead of a file link. File: eplain.info, Node: Destination types for hypertex, Next: Destination options for hypertex, Up: Hyperlink driver hypertex -5.4.2.1 Destination types for `hypertex' +5.4.2.1 Destination types for 'hypertex' ........................................ -`xyz' - "Current position". This is the default type. +'xyz' + "Current position". This is the default type. - Example: `\hldest{xyz}{}{dest123}' + Example: '\hldest{xyz}{}{dest123}' -`raw' +'raw' The destination specification (in the form of a HyperTeX - `\special') is taken from the command sequence `\CS', where CS is - the value of the `cmd' option. In the definition of `\CS', use `\@hllabel' - to refer to the hyperlink label. This option is intended to be - used with destgroups (*note Setting hyperlink types and - options::), as it does not make sense in a direct call to `\hldest'--you - can just call the raw command. + '\special') is taken from the command sequence '\CS', where CS is + the value of the 'cmd' option. In the definition of '\CS', use + '\@hllabel' to refer to the hyperlink label. This option is + intended to be used with destgroups (*note Setting hyperlink types + and options::), as it does not make sense in a direct call to + '\hldest'--you can just call the raw command. Example: @@ -3651,45 +3672,44 @@ File: eplain.info, Node: Destination types for hypertex, Next: Destination opt \indent\hldest{raw}{cmd=mydest}{SpecialDest} Special destination. - File: eplain.info, Node: Destination options for hypertex, Next: Link types for hypertex, Prev: Destination types for hypertex, Up: Hyperlink driver hypertex -5.4.2.2 Destination options for `hypertex' +5.4.2.2 Destination options for 'hypertex' .......................................... -`cmd' - Name of the macro (without the leading `\') containing a HyperTeX - `\special' for the `raw' destination. +'cmd' + Name of the macro (without the leading '\') containing a HyperTeX + '\special' for the 'raw' destination. *Note Destination types for hypertex::, the description of the - `raw' destination, for an example. + 'raw' destination, for an example. File: eplain.info, Node: Link types for hypertex, Next: Link options for hypertex, Prev: Destination options for hypertex, Up: Hyperlink driver hypertex -5.4.2.3 Link types for `hypertex' +5.4.2.3 Link types for 'hypertex' ................................. -`name' - Go to a "named destination". The label is the destination name. - All destinations in HyperTeX are named destinations. This is the +'name' + Go to a "named destination". The label is the destination name. All + destinations in HyperTeX are named destinations. This is the default type. - Example: `\hlstart{name}{}{dest123}Link to dest123\hlend' + Example: '\hlstart{name}{}{dest123}Link to dest123\hlend' -`url' - Go to a URL. The label is the URL. +'url' + Go to a URL. The label is the URL. Example: - `\hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend' + \hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend -`filename' - Go to a named destination in another file. The label is the - destination name. The file name is specified by the `file' - option. The file name extension can be specified separately by the `ext' - option. The idea is to set the `ext' option globally at the +'filename' + Go to a named destination in another file. The label is the + destination name. The file name is specified by the 'file' option. + The file name extension can be specified separately by the 'ext' + option. The idea is to set the 'ext' option globally at the beginning of the document to avoid hard-coding the extension together with the file name within each link--HyperTeX is not restricted to any single output format, it can be DVI, PDF, @@ -3701,15 +3721,15 @@ File: eplain.info, Node: Link types for hypertex, Next: Link options for hyper \hlstart{filename}{file=book}{dest123} Link to dest123 in file `book.pdf'\hlend -`raw' - The link specification (in the form of a HyperTeX `\special') is - taken from the command sequence `\CS', where CS is the value of the `cmd' - option. In the definition of `\CS', use `\@hllabel' to refer to - the hyperlink label. Use the predefined command `\hlhash' to - insert the `#' characters. This option is intended to be used - with linkgroups (*note Setting hyperlink types and options::), as - it does not make sense in a direct call to `\hlstart'--you can - just call the raw command. +'raw' + The link specification (in the form of a HyperTeX '\special') is + taken from the command sequence '\CS', where CS is the value of the + 'cmd' option. In the definition of '\CS', use '\@hllabel' to refer + to the hyperlink label. Use the predefined command '\hlhash' to + insert the '#' characters. This option is intended to be used with + linkgroups (*note Setting hyperlink types and options::), as it + does not make sense in a direct call to '\hlstart'--you can just + call the raw command. Example: @@ -3719,44 +3739,43 @@ File: eplain.info, Node: Link types for hypertex, Next: Link options for hyper \hlstart{raw}{cmd=mylink}{SpecialDest} Link to the special destination.\hlend - File: eplain.info, Node: Link options for hypertex, Prev: Link types for hypertex, Up: Hyperlink driver hypertex -5.4.2.4 Link options for `hypertex' +5.4.2.4 Link options for 'hypertex' ................................... -`cmd' - Name of the macro (without the leading `\') containing a HyperTeX - `\special' for the `raw' link. +'cmd' + Name of the macro (without the leading '\') containing a HyperTeX + '\special' for the 'raw' link. - *Note Link types for hypertex::, the description of the `raw' link, + *Note Link types for hypertex::, the description of the 'raw' link, for an example. -`file' - File name for the `filename' link type. See also the `ext' option. +'file' + File name for the 'filename' link type. See also the 'ext' option. - *Note Link types for hypertex::, the description of the `filename' + *Note Link types for hypertex::, the description of the 'filename' link, for an example. -`ext' - File name extension for the `filename' link type. The idea is to - set the `ext' option globally at the beginning of the document to +'ext' + File name extension for the 'filename' link type. The idea is to + set the 'ext' option globally at the beginning of the document to avoid hard-coding the extension together with the file name within each link--HyperTeX is not restricted to any single output format, it can be DVI, PDF, possibly other formats. - *Note Link types for hypertex::, the description of the `filename' + *Note Link types for hypertex::, the description of the 'filename' link, for an example. File: eplain.info, Node: Hyperlink drivers pdftex and dvipdfm, Next: Hyperlink driver nolinks, Prev: Hyperlink driver hypertex, Up: Hyperlink drivers -5.4.3 Hyperlink drivers `pdftex' and `dvipdfm' +5.4.3 Hyperlink drivers 'pdftex' and 'dvipdfm' ---------------------------------------------- This subsection describes link and destination types and options -supported by the `pdftex' and `dvipdfm' drivers. Many of the hyperlink +supported by the 'pdftex' and 'dvipdfm' drivers. Many of the hyperlink types and options are common to both drivers, so we describe them together. @@ -3770,93 +3789,93 @@ together. File: eplain.info, Node: Destination types for pdftex and dvipdfm, Next: Destination options for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm -5.4.3.1 Destination types for `pdftex' and `dvipdfm' +5.4.3.1 Destination types for 'pdftex' and 'dvipdfm' .................................................... -`xyz' - "Current position". The option `zoom' specifies magnification to +'xyz' + "Current position". The option 'zoom' specifies magnification to use (zero or empty means leave magnification unchanged, which is - the default). This is the default type. + the default). This is the default type. - For `dvipdfm': the options `left' and `top' specify position - coordinates to use (empty options mean current position - coordinate, which is the default). + For 'dvipdfm': the options 'left' and 'top' specify position + coordinates to use (empty options mean current position coordinate, + which is the default). - Example: `\hldest{xyz}{zoom=2000}{dest123}' + Example: '\hldest{xyz}{zoom=2000}{dest123}' -`fit' +'fit' Fit the page to the window. - Example: `\hldest{fit}{}{dest123}' + Example: '\hldest{fit}{}{dest123}' -`fith' +'fith' Fit the width of the page to the window. - For `dvipdfm': the `top' option specifies vertical position + For 'dvipdfm': the 'top' option specifies vertical position (default is empty, meaning current position). - Example: `\hldest{fith}{}{dest123}' + Example: '\hldest{fith}{}{dest123}' -`fitv' +'fitv' Fit the height of the page to the window. - For `dvipdfm': The option `left' specifies horizontal position + For 'dvipdfm': The option 'left' specifies horizontal position (default is empty, meaning current position). - Example: `\hldest{fitv}{}{dest123}' + Example: '\hldest{fitv}{}{dest123}' -`fitb' +'fitb' Fit the page's bounding box to the window. - Example: `\hldest{fitb}{}{dest123}' + Example: '\hldest{fitb}{}{dest123}' -`fitbh' +'fitbh' Fit the width of the page's bounding box to the window. - For `dvipdfm': the option `top' specifies vertical position + For 'dvipdfm': the option 'top' specifies vertical position (default is empty, meaning current position). - Example: `\hldest{fitbh}{}{dest123}' + Example: '\hldest{fitbh}{}{dest123}' -`fitbv' +'fitbv' Fit the height of the page's bounding box to the window. - For `dvipdfm': the option `left' specifies horizontal position + For 'dvipdfm': the option 'left' specifies horizontal position (default is empty, meaning current position). - Example: `\hldest{fitbv}{}{dest123}' + Example: '\hldest{fitbv}{}{dest123}' -`fitr' - For `pdftex': fit the rectangle specified by the options `width', `height' - and `depth' (as a TeX rule specification) in the window. For - dimensions set to empty, the corresponding value of the parent box - is used (these are the defaults). +'fitr' + For 'pdftex': fit the rectangle specified by the options 'width', + 'height' and 'depth' (as a TeX rule specification) in the window. + For dimensions set to empty, the corresponding value of the parent + box is used (these are the defaults). - For `dvipdfm': fit the rectangle specified by the options `left', `bottom', `right' - and `top' (in PostScript points, 72 points per inch) in the - window. For dimensions set to empty, current position coordinate - is substituted (these are the defaults). + For 'dvipdfm': fit the rectangle specified by the options 'left', + 'bottom', 'right' and 'top' (in PostScript points, 72 points per + inch) in the window. For dimensions set to empty, current position + coordinate is substituted (these are the defaults). - Example for `pdftex': + Example for 'pdftex': \hldest{fitr}{width=\hsize, height=.5\vsize,depth=0pt}{dest123} - Example for `dvipdfm': + Example for 'dvipdfm': \hldest{fitr}{left=72,bottom=72, right=720,top=360}{dest123} -`raw' +'raw' The destination specification (in the form of a pdfTeX command or a - dvipdfm `\special') is taken from the command sequence `\CS', - where CS is the value of the `cmd' option. In the definition of - `\CS', use `\@hllabel' to refer to the hyperlink label. This - option is intended to be used with destgroups (*note Setting - hyperlink types and options::), as it does not make sense in a - direct call to `\hldest'--you can just call the raw command. + dvipdfm '\special') is taken from the command sequence '\CS', where + CS is the value of the 'cmd' option. In the definition of '\CS', + use '\@hllabel' to refer to the hyperlink label. This option is + intended to be used with destgroups (*note Setting hyperlink types + and options::), as it does not make sense in a direct call to + '\hldest'--you can just call the raw command. - Example for `pdftex': + Example for 'pdftex': \makeatletter \def\mydest{\pdfdest name{\@hllabel} xyz} @@ -3864,7 +3883,7 @@ File: eplain.info, Node: Destination types for pdftex and dvipdfm, Next: Desti \hldesttype{raw} \hldestopts{cmd=mydest} - Example for `dvipdfm': + Example for 'dvipdfm': \makeatletter \def\mydest{\special{pdf: dest (\@hllabel) @@ -3876,71 +3895,71 @@ File: eplain.info, Node: Destination types for pdftex and dvipdfm, Next: Desti File: eplain.info, Node: Destination options for pdftex and dvipdfm, Next: Link types for pdftex and dvipdfm, Prev: Destination types for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm -5.4.3.2 Destination options for `pdftex' and `dvipdfm' +5.4.3.2 Destination options for 'pdftex' and 'dvipdfm' ...................................................... -With respect to the destination options, the `pdftex' and `dvipdfm' +With respect to the destination options, the 'pdftex' and 'dvipdfm' differ in the way the fit rectangle is specified (relative coordinates -for `pdftex', absolute coordinates for `dvipdfm'). +for 'pdftex', absolute coordinates for 'dvipdfm'). Common destination options .......................... -`cmd' - Name of the macro (without the leading `\') containing a pdfTeX - command or a dvipdfm `\special' for the `raw' destination. +'cmd' + Name of the macro (without the leading '\') containing a pdfTeX + command or a dvipdfm '\special' for the 'raw' destination. *Note Destination types for pdftex and dvipdfm::, the description - of the `raw' destination, for an example. + of the 'raw' destination, for an example. -`zoom' - Magnification ratio times 1000 (like TeX's scale factor). Zero or +'zoom' + Magnification ratio times 1000 (like TeX's scale factor). Zero or empty means leave magnification unchanged, which is the default. - Example: `\hldest{xyz}{zoom=2000}{dest123}' + Example: '\hldest{xyz}{zoom=2000}{dest123}' -`pdftex'-specific destination options +'pdftex'-specific destination options ..................................... The dimension options below must be specified as a TeX rule -specification. When set to empty, the corresponding value of the -parent box is used (this is the default for all dimension options). +specification. When set to empty, the corresponding value of the parent +box is used (this is the default for all dimension options). -`depth' - Depth of the fit rectangle for the `fitr' destination. +'depth' + Depth of the fit rectangle for the 'fitr' destination. -`height' - Height of the fit rectangle for the `fitr' destination. +'height' + Height of the fit rectangle for the 'fitr' destination. -`width' - Width of the fit rectangle for the `fitr' destination. +'width' + Width of the fit rectangle for the 'fitr' destination. Example: \hldest{fitr}{width=\hsize, height=.5\vsize,depth=0pt}{dest123} -`dvipdfm'-specific destination options +'dvipdfm'-specific destination options ...................................... The dimension options below must be specified in PostScript points -(72 points per inch), as a number without the `bp' unit name. When set +(72 points per inch), as a number without the 'bp' unit name. When set to empty, the current position coordinate is used (this is the default for all dimension options). -`bottom' +'bottom' Bottom position coordinate of a box specification for the various destination types. -`left' +'left' Left position coordinate of a box specification for the various destination types. -`right' +'right' Right position coordinate of a box specification for the various destination types. -`top' +'top' Top position coordinate of a box specification for the various destination types. @@ -3952,13 +3971,13 @@ for all dimension options). File: eplain.info, Node: Link types for pdftex and dvipdfm, Next: Link options for pdftex and dvipdfm, Prev: Destination options for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm -5.4.3.3 Link types for `pdftex' and `dvipdfm' +5.4.3.3 Link types for 'pdftex' and 'dvipdfm' ............................................. -Link types are the same for the `pdftex' and `dvipdfm' drivers, except -that the `pdftex' driver provides one additional link type `num' (link -to a numbered destination). dvipdfm does not support numbered -destinations, therefore it does not have this link type. Note that all +Link types are the same for the 'pdftex' and 'dvipdfm' drivers, except +that the 'pdftex' driver provides one additional link type 'num' (link +to a numbered destination). dvipdfm does not support numbered +destinations, therefore it does not have this link type. Note that all destinations created by Eplain hyperlink macros are named destinations; to define a numbered destination, you have to use low-level pdfTeX commands. @@ -3966,32 +3985,31 @@ commands. Common link types ................. -`name' - Go to a "named destination". The label is the destination name. - All destinations created with `\hldest' are named destinations - (*note Explicit hyperlinks::). This is the default type. +'name' + Go to a "named destination". The label is the destination name. All + destinations created with '\hldest' are named destinations (*note + Explicit hyperlinks::). This is the default type. - Example: `\hlstart{name}{}{dest123}Link to dest123\hlend' + Example: '\hlstart{name}{}{dest123}Link to dest123\hlend' -`url' - Go to a URL. The label is the URL. +'url' + Go to a URL. The label is the URL. - Example: `\hlstart{url}{}{http://tug.org/eplain/}Eplain - home\hlend' + Example: '\hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend' -`page' - Go to a page. The label is the page number (counting from 1). - Page fitting is specified by the `pagefit' option. +'page' + Go to a page. The label is the page number (counting from 1). Page + fitting is specified by the 'pagefit' option. Example: \hlstart{page}{pagefit=/FitH 600}{123} Link to page~123\hlend -`filename' - Go to a named destination in another file. The label is the - destination name. The file name is specified by the `file' - option. Page fitting is specified by the `pagefit' option. The `newwin' +'filename' + Go to a named destination in another file. The label is the + destination name. The file name is specified by the 'file' option. + Page fitting is specified by the 'pagefit' option. The 'newwin' option specifies whether the destination document is opened in the same window or in a new window. @@ -4000,10 +4018,10 @@ Common link types \hlstart{filename}{file=book.pdf,newwin=1}{dest123} Link to dest123 in file `book.pdf'\hlend -`filepage' - Go to a page in another file. The label is the page number - (counting from 1). The file name is specified by the `file' - option. Page fitting is specified by the `pagefit' option. The `newwin' +'filepage' + Go to a page in another file. The label is the page number + (counting from 1). The file name is specified by the 'file' option. + Page fitting is specified by the 'pagefit' option. The 'newwin' option specifies whether the destination document is opened in the same window or in a new window. @@ -4013,23 +4031,23 @@ Common link types pagefit=/FitR 50 100 300 500}{1} Link to page~1 in file `book.pdf'\hlend -`raw' +'raw' The link specification (in the form of a pdfTeX command or a - dvipdfm `\special' primitive) is taken from the command sequence - `\CS', where CS is the value of the `cmd' option. In the - definition of `\CS', use `\@hllabel' to refer to the hyperlink - label. This option is intended to be used with linkgroups (*note - Setting hyperlink types and options::), as it does not make sense - in a direct call to `\hlstart'--you can just call the raw command. + dvipdfm '\special' primitive) is taken from the command sequence + '\CS', where CS is the value of the 'cmd' option. In the definition + of '\CS', use '\@hllabel' to refer to the hyperlink label. This + option is intended to be used with linkgroups (*note Setting + hyperlink types and options::), as it does not make sense in a + direct call to '\hlstart'--you can just call the raw command. - Example for `pdftex': + Example for 'pdftex': % Redirect all \url links to the first page \def\mycmd{\pdfstartlink goto page 1 {/Fit}} \hltype[url]{raw} \hlopts[url]{cmd=mycmd} - Example for `dvipdfm': + Example for 'dvipdfm': % Redirect all \url links to the first page \def\mycmd{\special{pdf: beginann <</Type/Annot /Subtype/Link @@ -4037,145 +4055,142 @@ Common link types \hltype[url]{raw} \hlopts[url]{cmd=mycmd} -`pdftex'-specific link types +'pdftex'-specific link types ............................ -`num' - Go to a "numbered destination". The label is the destination +'num' + Go to a "numbered destination". The label is the destination number. - Example: `\hlstart{num}{}{123}Link to 123\hlend' + Example: '\hlstart{num}{}{123}Link to 123\hlend' File: eplain.info, Node: Link options for pdftex and dvipdfm, Prev: Link types for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm -5.4.3.4 Link options for `pdftex' and `dvipdfm' +5.4.3.4 Link options for 'pdftex' and 'dvipdfm' ............................................... -Link options are mostly the same for the `pdftex' and `dvipdfm' -drivers. The `pdftex' driver has additional options to specify link -dimensions. +Link options are mostly the same for the 'pdftex' and 'dvipdfm' drivers. +The 'pdftex' driver has additional options to specify link dimensions. Common link options ................... -`bcolor' - Border color. An array of three numbers in the range 0 to 1, +'bcolor' + Border color. An array of three numbers in the range 0 to 1, representing a color in DeviceRGB. - Example: `\hlstart{name}{bcolor=.1 .5 1}{dest123}Link\hlend' + Example: '\hlstart{name}{bcolor=.1 .5 1}{dest123}Link\hlend' -`bdash' +'bdash' Array of numbers representing on and off stroke lengths for drawing dashes. - Example: `\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend' + Example: '\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend' -`bstyle' +'bstyle' Link border style: - `S' + 'S' The border is drawn as a solid line. - `D' + 'D' The border is drawn with a dashed line (the dash pattern is - specified by the `bdash' option). + specified by the 'bdash' option). - `B' + 'B' The border is drawn in a beveled style. - `I' + 'I' The border is drawn in an inset style. - `U' + 'U' The border is drawn as a line on the bottom of the link rectangle. - The default is `S'. + The default is 'S'. - Example: `\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend' + Example: '\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend' -`bwidth' - Border width in PostScript points (72 points per inch). The - default is 1. +'bwidth' + Border width in PostScript points (72 points per inch). The default + is 1. - Example: `\hlstart{name}{bwidth=2}{dest123}Link\hlend' + Example: '\hlstart{name}{bwidth=2}{dest123}Link\hlend' -`cmd' - Name of the macro (without the leading `\') containing a pdfTeX - command or a dvipdfm `\special' for the `raw' link. +'cmd' + Name of the macro (without the leading '\') containing a pdfTeX + command or a dvipdfm '\special' for the 'raw' link. *Note Link types for pdftex and dvipdfm::, the description of the - `raw' link, for an example. + 'raw' link, for an example. -`file' - File name for the `filename' and `filepage' link types. +'file' + File name for the 'filename' and 'filepage' link types. *Note Link types for pdftex and dvipdfm::, the descriptions of the - `filename' and `filepage' links, for an example. + 'filename' and 'filepage' links, for an example. -`hlight' +'hlight' Link border highlight modes: - `I' + 'I' The rectangle specified by the bounding box of the link is inverted. - `N' + 'N' No highlighting is done. - `O' + 'O' The border of the link is inverted. - `P' + 'P' The region underneath the bounding box of the link is drawn inset into the page. - The default is `I'. + The default is 'I'. - Example: `\hlstart{name}{bstyle=S,hlight=O}{dest123}Link\hlend' + Example: '\hlstart{name}{bstyle=S,hlight=O}{dest123}Link\hlend' -`newwin' - For the `filename' and `filepage' links, specifies whether the +'newwin' + For the 'filename' and 'filepage' links, specifies whether the destination document is opened in the same window or in a new - window. The settings are: + window. The settings are: - `0' + '0' Open in the same window. - - `non-0' + 'non-0' Open in a new window. - - `empty' + 'empty' Behavior according to the viewer settings. The default is empty. *Note Link types for pdftex and dvipdfm::, the descriptions of the - `filename' and `filepage' links, for an example. + 'filename' and 'filepage' links, for an example. -`pagefit' - For the `page' and `filepage links', specifies how the page must - be fitted to the window. `pagefit' specification is written to - the PDF file as is, so it must conform to the PDF standard. +'pagefit' + For the 'page' and 'filepage links', specifies how the page must be + fitted to the window. 'pagefit' specification is written to the PDF + file as is, so it must conform to the PDF standard. *Note Link types for pdftex and dvipdfm::, the descriptions of the - `page' and `filepage' links, for an example. + 'page' and 'filepage' links, for an example. -`pdftex'-specific link options +'pdftex'-specific link options .............................. The dimension options below must be specified as a TeX rule -specification. When set to empty, the corresponding value of the -parent box is used (this is the default for all dimension options). +specification. When set to empty, the corresponding value of the parent +box is used (this is the default for all dimension options). -`depth' +'depth' Depth of the link. -`height' +'height' Height of the link. -`width' +'width' Width of the link. Example: @@ -4186,50 +4201,50 @@ parent box is used (this is the default for all dimension options). File: eplain.info, Node: Hyperlink driver nolinks, Prev: Hyperlink drivers pdftex and dvipdfm, Up: Hyperlink drivers -5.4.4 Hyperlink driver `nolinks' +5.4.4 Hyperlink driver 'nolinks' -------------------------------- Select this driver to suppress all hyperlinks in your document. Selecting this driver is quite different from not selecting any -driver at all, or from selecting some driver and then turning -hyperlinks off for the entire document with `\hloff' and `\hldestoff' -(*note Turning hyperlinks on/off::). +driver at all, or from selecting some driver and then turning hyperlinks +off for the entire document with '\hloff' and '\hldestoff' (*note +Turning hyperlinks on/off::). - The purpose of `\hldestoff' and `\hloff' is to mark (parts) of your -document where hyperlinks should never appear. (Imagine you want to + The purpose of '\hldestoff' and '\hloff' is to mark (parts) of your +document where hyperlinks should never appear. (Imagine you want to prevent a cross-referencing macro from generating a link at a certain spot in your document.) - If instead you have prepared a document with hyperlinks and just -want to compile a version without them, it is better to select the -driver `nolinks'. This ensures that spacing and page-breaking are the -same as what you were getting with hyperlinks enabled. - - The reason for this is that hyperlinks are produced by the -`\special' primitives or low-level hyperlink commands. Each such -command is placed inside a "whatsit" (an internal TeX object), which -may introduce legitimate breakpoints at places where none would exist -without the whatsits. The macros `\hldestoff' and `\hloff' disable the -hyperlink macros completely, so that no whatsits are produced. - - In contrast, the `nolinks' driver does not completely disable -hyperlink macros. Instead, it defines them to merely write to the log -file (what gets written is unimportant). This also produces whatsits, -thus imitating the whatsits from the hyperlink commands. (This trick -was borrowed from the LaTeX `color' package.) - - Another reason for using `nolinks' is that in horizontal mode -`\hldest' places destinations inside boxes of zero width, height, and -depth. When you say `\hldestoff', `\hldest' will omit both destination -definitions and these boxes. The missing boxes can again cause the -typesetting to be inconsistent with that with destinations enabled. -Here again, the `nolinks' driver helps by defining `\hldest' to produce -the empty boxes. - - So, if you are planning to produce versions of your PDF document -both with and without hyperlinks, here is the recommended way to enable -the hyperlinks under pdfTeX: + If instead you have prepared a document with hyperlinks and just want +to compile a version without them, it is better to select the driver +'nolinks'. This ensures that spacing and page-breaking are the same as +what you were getting with hyperlinks enabled. + + The reason for this is that hyperlinks are produced by the '\special' +primitives or low-level hyperlink commands. Each such command is placed +inside a "whatsit" (an internal TeX object), which may introduce +legitimate breakpoints at places where none would exist without the +whatsits. The macros '\hldestoff' and '\hloff' disable the hyperlink +macros completely, so that no whatsits are produced. + + In contrast, the 'nolinks' driver does not completely disable +hyperlink macros. Instead, it defines them to merely write to the log +file (what gets written is unimportant). This also produces whatsits, +thus imitating the whatsits from the hyperlink commands. (This trick was +borrowed from the LaTeX 'color' package.) + + Another reason for using 'nolinks' is that in horizontal mode +'\hldest' places destinations inside boxes of zero width, height, and +depth. When you say '\hldestoff', '\hldest' will omit both destination +definitions and these boxes. The missing boxes can again cause the +typesetting to be inconsistent with that with destinations enabled. Here +again, the 'nolinks' driver helps by defining '\hldest' to produce the +empty boxes. + + So, if you are planning to produce versions of your PDF document both +with and without hyperlinks, here is the recommended way to enable the +hyperlinks under pdfTeX: \ifpdf \enablehyperlinks @@ -4244,18 +4259,18 @@ File: eplain.info, Node: Setting hyperlink types and options, Next: Turning hy ======================================= You can define default types for links and destinations, which will be -used when you do not specify a type in `\hlstart' or `\hldest'. +used when you do not specify a type in '\hlstart' or '\hldest'. Similarly, you can define default values for the options; the default value for an option is used when you do not set the option in the -argument to `\hlstart' or `\hldest'. +argument to '\hlstart' or '\hldest'. The parameters for implicit links and destinations can be customized -by setting the "group" types and options. When not set, the defaults -are used. +by setting the "group" types and options. When not set, the defaults are +used. All these settings are local to the current (TeX) group, so if you want to set an option temporarily, you can do so inside a -`\begingroup...\endgroup' block; when the group ends, the previous +'\begingroup...\endgroup' block; when the group ends, the previous settings are restored. * Menu: @@ -4286,18 +4301,18 @@ commands: \hldestopts{OPTIONS} where OPTIONS is a comma-separated list of option assignments in the -format `OPTION=VALUE'. Again, what options are allowed depends on the +format 'OPTION=VALUE'. Again, what options are allowed depends on the selected hyperlink driver. Many people regard the default boxed links as not aesthetic and -intruding on page layout. The reason why boxed links are the default is -that the links are not colored until you load the LaTeX `color' package +intruding on page layout. The reason why boxed links are the default is +that the links are not colored until you load the LaTeX 'color' package (*note Loading LaTeX packages::) or use other means to define the -`\color' command; therefore, not producing any kind of link border may -result in the links not being marked in any way. However, when the -links are actually colored, there is no need to produce the link boxes +'\color' command; therefore, not producing any kind of link border may +result in the links not being marked in any way. However, when the links +are actually colored, there is no need to produce the link boxes anymore; to avoid the boxes, you can set the default border width to -zero (if the driver you use supports the link option `bwidth'; *note +zero (if the driver you use supports the link option 'bwidth'; *note Hyperlink drivers::): \hlopts{bwidth=0} @@ -4313,28 +4328,28 @@ When called with an optional argument, as in \hltype[GROUPS]{TYPE} \hldesttype[GROUPS]{TYPE} -where GROUPS is a comma-separated list of groups, `\hltype' and -`\hldesttype' set the type for each group from GROUPS to TYPE. The +where GROUPS is a comma-separated list of groups, '\hltype' and +'\hldesttype' set the type for each group from GROUPS to TYPE. The default type is used for all groups with an empty type (this is the -initial setting for all groups, except that the type for the `url' -linkgroup is set to `url' by the drivers which support this link type). +initial setting for all groups, except that the type for the 'url' +linkgroup is set to 'url' by the drivers which support this link type). There are two special "groups" which can be used inside the GROUPS -list. An empty group sets the default type. This allows to set the +list. An empty group sets the default type. This allows to set the default type and group types in one command, for example: \hltype[eq,]{TYPE} -sets the link type for the `eq' linkgroup and the default link type to +sets the link type for the 'eq' linkgroup and the default link type to TYPE. - Another special group is a star (`*') group, which signifies all -defined groups. For example, the command + Another special group is a star ('*') group, which signifies all +defined groups. For example, the command \hldesttype[*,]{TYPE} -sets the destination type to TYPE for each group, as well as the -default destination type. +sets the destination type to TYPE for each group, as well as the default +destination type. File: eplain.info, Node: Setting group options, Prev: Setting group types, Up: Setting hyperlink types and options @@ -4342,13 +4357,12 @@ File: eplain.info, Node: Setting group options, Prev: Setting group types, Up 5.5.3 Setting group options --------------------------- -Option values for each group are stored as a list of option -assignments. This list does not have to contain every supported -option. Values for options missing from this list are taken from the -default option values. +Option values for each group are stored as a list of option assignments. +This list does not have to contain every supported option. Values for +options missing from this list are taken from the default option values. To manipulate the list of option values for the groups, you use the -`\hlopts' and `\hldestopts' commands with an optional argument: +'\hlopts' and '\hldestopts' commands with an optional argument: \hlopts[GROUPS]{OPTIONS} \hldestopts[GROUPS]{OPTIONS} @@ -4356,38 +4370,38 @@ default option values. \hldestopts![GROUPS]{OPTIONS} where GROUPS is a comma-separated list of groups and OPTIONS is a -comma-separated list of option assignments. The two special "groups", -the empty group and the star (`*') group, have the same meaning as for -`\hltype' and `\hldesttype'. When used without the exclamation mark, -`\hlopts' and `\hldestopts' preserve the current list of options for -the groups, and only update the options listed in OPTIONS. If you add -the exclamation mark, the current list of options for each group in -GROUPS is discarded and the new list is set to OPTIONS. - - The "overriding" nature of the `!' is appropriate when you give a +comma-separated list of option assignments. The two special "groups", +the empty group and the star ('*') group, have the same meaning as for +'\hltype' and '\hldesttype'. When used without the exclamation mark, +'\hlopts' and '\hldestopts' preserve the current list of options for the +groups, and only update the options listed in OPTIONS. If you add the +exclamation mark, the current list of options for each group in GROUPS +is discarded and the new list is set to OPTIONS. + + The "overriding" nature of the '!' is appropriate when you give a complete specification of the options for a group, e.g., at the -beginning of your document. On the other hand, when you want to adjust +beginning of your document. On the other hand, when you want to adjust some option(s) and leave others intact, you should use the macros -without the `!'. +without the '!'. For example, with displayed mathematical formulas, you often need to -adjust the `raise' option for the `eq' destgroup, because the formulas -often contain large parentheses and brackets. But when doing so, you -want to leave the other settings unchanged. To achieve this, call -`\hldestopts' without the `!', for example: +adjust the 'raise' option for the 'eq' destgroup, because the formulas +often contain large parentheses and brackets. But when doing so, you +want to leave the other settings unchanged. To achieve this, call +'\hldestopts' without the '!', for example: $$\hldestopts[eq]{raise=2.5\normalbaselineskip} ... $$ -The display commands (`$$') implicitly put the entire formula inside a -(TeX) group (`\begingroup...\endgroup'), so you do not need to isolate -the setting of the `raise' option--it will be restored after the -closing `$$'. +The display commands ('$$') implicitly put the entire formula inside a +(TeX) group ('\begingroup...\endgroup'), so you do not need to isolate +the setting of the 'raise' option--it will be restored after the closing +'$$'. Initially, Eplain sets the option lists for almost all groups to empty, so that the groups fall back on the default values for all -options. The one exception to this rule is the `eq' destgroup, whose +options. The one exception to this rule is the 'eq' destgroup, whose initial option list contains one setting: raise=1.7\normalbaselineskip @@ -4406,7 +4420,7 @@ the low-level commands, or for each group individually. All these settings are local to the current (TeX) group, so if you want to enable or disable links/destinations temporarily, you can do so -inside a `\begingroup...\endgroup' block; when the group ends, the +inside a '\begingroup...\endgroup' block; when the group ends, the previous settings are restored. * Menu: @@ -4420,7 +4434,7 @@ File: eplain.info, Node: Turning low-level commands on/off, Next: Turning hype 5.6.1 Turning low-level commands on/off --------------------------------------- -The low-level commands `\hlstart', `\hlend' and `\hldest' can be turned +The low-level commands '\hlstart', '\hlend' and '\hldest' can be turned on/off with the following commands: \hldeston @@ -4446,22 +4460,22 @@ commands: \hlon[GROUPS] \hloff[GROUPS] -where GROUPS is the list of linkgroups/destgroups. This list can -contain two special groups. The empty group switches the low-level -commands (*note Turning low-level commands on/off::), and the star -(`*') group operates on all defined groups. +where GROUPS is the list of linkgroups/destgroups. This list can contain +two special groups. The empty group switches the low-level commands +(*note Turning low-level commands on/off::), and the star ('*') group +operates on all defined groups. Note that turning off the low-level commands disables all hyperlinks -globally, including groups which have them enabled. Turning off certain +globally, including groups which have them enabled. Turning off certain linkgroups/destgroups records the fact that the macros in the group -should not produce links/destinations. To illustrate the distinction, +should not produce links/destinations. To illustrate the distinction, assume that all links are on; after the following sequence of commands: \hloff \hloff[eq] \hlon -all links are on except for the `eq' linkgroup. +all links are on except for the 'eq' linkgroup. File: eplain.info, Node: Arrow theoretic diagrams, Next: Programming definitions, Prev: Hyperlinks, Up: Top @@ -4475,8 +4489,8 @@ This chapter describes definitions for producing commutative diagrams. * Menu: -* Slanted lines and vectors:: -* Commutative diagrams:: +* Slanted lines and vectors:: +* Commutative diagrams:: File: eplain.info, Node: Slanted lines and vectors, Next: Commutative diagrams, Up: Arrow theoretic diagrams @@ -4484,11 +4498,11 @@ File: eplain.info, Node: Slanted lines and vectors, Next: Commutative diagrams 6.1 Slanted lines and vectors ============================= -The macros `\drawline' and `\drawvector' provide the capability found -in LaTeX's picture mode to draw slanted lines and vectors of certain -directions. Both of these macros take three arguments: two integer +The macros '\drawline' and '\drawvector' provide the capability found in +LaTeX's picture mode to draw slanted lines and vectors of certain +directions. Both of these macros take three arguments: two integer arguments to specify the direction of the line or vector, and one -argument to specify its length. For example, `\drawvector(-4,1){60pt}' +argument to specify its length. For example, '\drawvector(-4,1){60pt}' produces the vector (A vector in the 2d quadrant of length 60 pt appears here.) @@ -4496,27 +4510,27 @@ produces the vector which lies in the 2d quadrant, has a slope of minus 1/4, and a width of 60 pt. - Note that if an `\hbox' is placed around `\drawline' or -`\drawvector', then the width of the `\hbox' will be the positive + Note that if an '\hbox' is placed around '\drawline' or +'\drawvector', then the width of the '\hbox' will be the positive dimension specified in the third argument, except when a vertical line -or vector is specified, e.g., `\drawline(0,1){1in}', which has zero -width. If the specified direction lies in the 1st or 2d quadrant -(e.g., `(1,1)' or `(-2,3)'), then the `\hbox' will have positive height -and zero depth. Conversely, if the specified direction lies in the 3d -or 4th quadrant (e.g., `(-1,-1)' or `(2,-3)'), then the `\hbox' will -have positive depth and zero height. - - There are a finite number of directions that can be specified. For -`\drawline', the absolute value of each integer defining the direction -must be less than or equal to six, i.e., `(7,-1)' is incorrect, but -`(6,-1)' is acceptable. For `\drawvector', the absolute value of each -integer must be less than or equal to four. Furthermore, the two +or vector is specified, e.g., '\drawline(0,1){1in}', which has zero +width. If the specified direction lies in the 1st or 2d quadrant (e.g., +'(1,1)' or '(-2,3)'), then the '\hbox' will have positive height and +zero depth. Conversely, if the specified direction lies in the 3d or 4th +quadrant (e.g., '(-1,-1)' or '(2,-3)'), then the '\hbox' will have +positive depth and zero height. + + There are a finite number of directions that can be specified. For +'\drawline', the absolute value of each integer defining the direction +must be less than or equal to six, i.e., '(7,-1)' is incorrect, but +'(6,-1)' is acceptable. For '\drawvector', the absolute value of each +integer must be less than or equal to four. Furthermore, the two integers cannot have common divisors; therefore, if a line with slope 2 -is desired, say `(2,1)' instead of `(4,2)'. Also, specify `(1,0)' -instead of, say, `(3,0)' for horizontal lines and likewise for vertical +is desired, say '(2,1)' instead of '(4,2)'. Also, specify '(1,0)' +instead of, say, '(3,0)' for horizontal lines and likewise for vertical lines. - Finally, these macros depend upon the LaTeX font `line10'. If your + Finally, these macros depend upon the LaTeX font 'line10'. If your site doesn't have this font, ask your system administrator to get it. Future enhancements will include macros to draw dotted lines and dotted vectors of various directions. @@ -4527,17 +4541,17 @@ File: eplain.info, Node: Commutative diagrams, Prev: Slanted lines and vectors 6.2 Commutative diagrams ======================== -The primitive commands `\drawline' and `\drawvector' can be used to -typeset arrow theoretic diagrams. This section describes (1) macros to +The primitive commands '\drawline' and '\drawvector' can be used to +typeset arrow theoretic diagrams. This section describes (1) macros to facilitate typesetting arrows and morphisms, and (2) macros to -facilitate the construction of commutative diagrams. All macros +facilitate the construction of commutative diagrams. All macros described in this section must be used in math mode. * Menu: -* Arrows and morphisms:: -* Construction of commutative diagrams:: -* Commutative diagram parameters:: +* Arrows and morphisms:: +* Construction of commutative diagrams:: +* Commutative diagram parameters:: File: eplain.info, Node: Arrows and morphisms, Next: Construction of commutative diagrams, Up: Commutative diagrams @@ -4545,131 +4559,131 @@ File: eplain.info, Node: Arrows and morphisms, Next: Construction of commutati 6.2.1 Arrows and morphisms -------------------------- -The macros `\mapright' and `\mapleft' produce right and left pointing -arrows, respectively. Use superscript (`^') to place a morphism above -the arrow, e.g., `\mapright^\alpha'; use subscript (`_') to place a -morphism below the arrow, e.g., `\mapright_{\tilde l}'. Superscripts -and subscripts may be used simulataneously, e.g., `\mapright^\pi_{\rm +The macros '\mapright' and '\mapleft' produce right and left pointing +arrows, respectively. Use superscript ('^') to place a morphism above +the arrow, e.g., '\mapright^\alpha'; use subscript ('_') to place a +morphism below the arrow, e.g., '\mapright_{\tilde l}'. Superscripts and +subscripts may be used simulataneously, e.g., '\mapright^\pi_{\rm epimor.}'. - Similarly, the macros `\mapup' and `\mapdown' produce up and down -pointing arrows, respectively. Use `\rt' to place a morphism to the -right of the arrow, e.g., `\mapup\rt{\rm id}'; use `\lft' to place a -morphism to the left of the arrow, e.g., `\mapup\lft\omega'. `\lft' -and `\rt' may be used simultaneously, e.g., `\mapdown\lft\pi\rt{\rm + Similarly, the macros '\mapup' and '\mapdown' produce up and down +pointing arrows, respectively. Use '\rt' to place a morphism to the +right of the arrow, e.g., '\mapup\rt{\rm id}'; use '\lft' to place a +morphism to the left of the arrow, e.g., '\mapup\lft\omega'. '\lft' and +'\rt' may be used simultaneously, e.g., '\mapdown\lft\pi\rt{\rm monomor.}'. - Slanted arrows are produced by the macro `\arrow', which takes a -direction argument (e.g., `\arrow(3,-4)'). Use `\rt' and `\lft' to -place morphisms to the right and left, respectively, of the arrow. A -slanted line (no arrowhead) is produced with the macro `\sline', whose -syntax is identical to that of `\arrow'. + Slanted arrows are produced by the macro '\arrow', which takes a +direction argument (e.g., '\arrow(3,-4)'). Use '\rt' and '\lft' to place +morphisms to the right and left, respectively, of the arrow. A slanted +line (no arrowhead) is produced with the macro '\sline', whose syntax is +identical to that of '\arrow'. The length of these macros is predefined by the default TeX -dimensions `\harrowlength', for horizontal arrows (or lines), -`\varrowlength', for vertical arrows (or lines), and `\sarrowlength', for -slanted arrows (or lines). To change any of these dimensions, say, -e.g., `\harrowlength=40pt'. As with all other TeX dimensions, the -change may be as global or as local as you like. Furthermore, the -placement of morphisms on the arrows is controlled by the dimensions -`\hmorphposn', `\vmorphposn', and `\morphdist'. The first two -dimensions control the horizontal and vertical position of the morphism -from its default position; the latter dimension controls the distance -of the morphism from the arrow. If you have more than one morphism per -arrow (i.e., a `^'/`_' or `\lft'/`\rt' construction), use the parameters -`\hmorphposnup', `\hmorphposndn', `\vmorphposnup', `\vmorphposndn', `\hmorphposnrt', `\hmorphposnlft', `\vmorphposnrt', and -`\vmorphposnlft'. The default values of all these dimensions are +dimensions '\harrowlength', for horizontal arrows (or lines), +'\varrowlength', for vertical arrows (or lines), and '\sarrowlength', +for slanted arrows (or lines). To change any of these dimensions, say, +e.g., '\harrowlength=40pt'. As with all other TeX dimensions, the change +may be as global or as local as you like. Furthermore, the placement of +morphisms on the arrows is controlled by the dimensions '\hmorphposn', +'\vmorphposn', and '\morphdist'. The first two dimensions control the +horizontal and vertical position of the morphism from its default +position; the latter dimension controls the distance of the morphism +from the arrow. If you have more than one morphism per arrow (i.e., a +'^'/'_' or '\lft'/'\rt' construction), use the parameters +'\hmorphposnup', '\hmorphposndn', '\vmorphposnup', '\vmorphposndn', +'\hmorphposnrt', '\hmorphposnlft', '\vmorphposnrt', and +'\vmorphposnlft'. The default values of all these dimensions are provided in the section on parameters that follows below. There is a family of macros to produce horizontal lines, arrows, and -adjoint arrows. The following macros produce horizontal maps and have -the same syntax as `\mapright': +adjoint arrows. The following macros produce horizontal maps and have +the same syntax as '\mapright': -`\mapright' - `$X\mapright Y$' = (a right arrow). +'\mapright' + '$X\mapright Y$' = (a right arrow). -`\mapleft' - `$X\mapleft Y$' = (a left arrow). +'\mapleft' + '$X\mapleft Y$' = (a left arrow). -`\hline' - `$X\hline Y$' = (horizontal line) +'\hline' + '$X\hline Y$' = (horizontal line) -`\bimapright' - `$X\bimapright Y$' = (two right arrows). +'\bimapright' + '$X\bimapright Y$' = (two right arrows). -`\bimapleft' - `$X\bimapleft Y$' = (two left arrows) +'\bimapleft' + '$X\bimapleft Y$' = (two left arrows) -`\adjmapright' - `$X\adjmapright Y$' = (two adjoint arrows; left over right) +'\adjmapright' + '$X\adjmapright Y$' = (two adjoint arrows; left over right) -`\adjmapleft' - `$X\adjmapleft Y$' = (two adjoint arrows; right over left) +'\adjmapleft' + '$X\adjmapleft Y$' = (two adjoint arrows; right over left) -`\bihline' - `$X\bihline Y$' = (two horizontal lines) +'\bihline' + '$X\bihline Y$' = (two horizontal lines) There is also a family of macros to produce vertical lines, arrows, -and adjoint arrows. The following macros produce vertical maps and have -the same syntax as `\mapdown': +and adjoint arrows. The following macros produce vertical maps and have +the same syntax as '\mapdown': -`\mapdown' +'\mapdown' (a down arrow) -`\mapup' +'\mapup' (an up arrow) -`\vline' +'\vline' (vertical line) -`\bimapdown' +'\bimapdown' (two down arrows) -`\bimapup' +'\bimapup' (two up arrows) -`\adjmapdown' +'\adjmapdown' (two adjoint arrows; down then up) -`\adjmapup' +'\adjmapup' (two adjoint arrows; up then down) -`\bivline' +'\bivline' (two vertical lines) Finally, there is a family of macros to produce slanted lines, -arrows, and adjoint arrows. The following macros produce slanted maps -and have the same syntax as `\arrow': +arrows, and adjoint arrows. The following macros produce slanted maps +and have the same syntax as '\arrow': -`\arrow' +'\arrow' (a slanted arrow) -`\sline' +'\sline' (a slanted line) -`\biarrow' +'\biarrow' (two straight arrows) -`\adjarrow' +'\adjarrow' (two adjoint arrows) -`\bisline' +'\bisline' (two straight lines) - The width between double arrows is controlled by the parameter -`\channelwidth'. The parameters `\hchannel' and `\vchannel', if -nonzero, override `\channelwidth' by controlling the horizontal and -vertical shifting from the first arrow to the second. +'\channelwidth'. The parameters '\hchannel' and '\vchannel', if nonzero, +override '\channelwidth' by controlling the horizontal and vertical +shifting from the first arrow to the second. There are no adornments on these arrows to distinguish inclusions -from epimorphisms from monomorphisms. Many texts, such as Lang's book -`Algebra', use as a tasteful alternative the symbol `inc' (in roman) -next to an arrow to denote inclusion. +from epimorphisms from monomorphisms. Many texts, such as Lang's book +'Algebra', use as a tasteful alternative the symbol 'inc' (in roman) +next to an arrow to denote inclusion. Future enhancements will include a mechanism to draw curved arrows -found in, e.g., the Snake Lemma, by employing a version of the `\path' -macros of Appendix D of `The TeXbook'. +found in, e.g., the Snake Lemma, by employing a version of the '\path' +macros of Appendix D of 'The TeXbook'. File: eplain.info, Node: Construction of commutative diagrams, Next: Commutative diagram parameters, Prev: Arrows and morphisms, Up: Commutative diagrams @@ -4678,13 +4692,13 @@ File: eplain.info, Node: Construction of commutative diagrams, Next: Commutati ------------------------------------------ There are two approaches to the construction of commutative diagrams -described here. The first approach, and the simplest, treats -commutative diagrams like fancy matrices, as Knuth does in Exercise -18.46 of `The TeXbook'. This case is covered by the macro `\commdiag', which -is an altered version of the Plain TeX macro `\matrix'. An example -suffices to demonstrate this macro. The following commutative diagram -(illustrating the covering homotopy property; Bott and Tu, -`Differential Forms in Algebraic Topology') +described here. The first approach, and the simplest, treats commutative +diagrams like fancy matrices, as Knuth does in Exercise 18.46 of 'The +TeXbook'. This case is covered by the macro '\commdiag', which is an +altered version of the Plain TeX macro '\matrix'. An example suffices to +demonstrate this macro. The following commutative diagram (illustrating +the covering homotopy property; Bott and Tu, 'Differential Forms in +Algebraic Topology') (A commutative diagram appears here in the printed output.) @@ -4694,9 +4708,9 @@ suffices to demonstrate this macro. The following commutative diagram Y\times I&\mapright^{\bar f_t}&X}$$ Of course, the parameters may be changed to produce a different -effect. The following commutative diagram (illustrating the universal -mapping property; Warner, `Foundations of Differentiable Manifolds and -Lie Groups') +effect. The following commutative diagram (illustrating the universal +mapping property; Warner, 'Foundations of Differentiable Manifolds and +Lie Groups') (A commutative diagram appears here in the printed output.) @@ -4709,7 +4723,7 @@ Lie Groups') A diagram containing isosceles triangles is achieved by placing the apex of the triangle in the center column, as shown in the example (illustrating all constant minimal realizations of a linear system; -Brockett, `Finite Dimensional Linear Systems') +Brockett, 'Finite Dimensional Linear Systems') (A commutative diagram appears here in the printed output.) @@ -4724,44 +4738,43 @@ Brockett, `Finite Dimensional Linear Systems') &R^q\cr}$$ Other commutative diagram examples appear in the file -`commdiags.tex', which is distributed with this package. +'commdiags.tex', which is distributed with this package. In these examples the arrow lengths and line slopes were carefully -chosen to blend with each other. In the first example, the default +chosen to blend with each other. In the first example, the default settings for the arrow lengths are used, but a direction for the arrow -must be chosen. The ratio of the default horizontal and vertical arrow +must be chosen. The ratio of the default horizontal and vertical arrow lengths is approximately the golden mean gamma=1.618...; the arrow -direction closest to this mean is `(3,2)'. In the second example, a +direction closest to this mean is '(3,2)'. In the second example, a slope of -1/3 is desired and the default horizontal arrow length is 60 -pt; therefore, choose a vertical arrow length of 20 pt. You may affect -the interline glue settings of `\commdiag' by redefining the macro -`\commdiagbaselines'. (cf. Exercise 18.46 of `The TeXbook' and the +pt; therefore, choose a vertical arrow length of 20 pt. You may affect +the interline glue settings of '\commdiag' by redefining the macro +'\commdiagbaselines'. (cf. Exercise 18.46 of 'The TeXbook' and the section on parameters below.) The width, height, and depth of all morphisms are hidden so that the -morphisms' size do not affect arrow positions. This can cause a large +morphisms' size do not affect arrow positions. This can cause a large morphism at the top or bottom of a diagram to impinge upon the text -surrounding the diagram. To overcome this problem, use TeX's -`\noalign' primitive to insert a `\vskip' immediately above or below -the offending line, e.g., -`$$\commdiag{\noalign{\vskip6pt}X&\mapright^\int&Y\cr ...}'. - - The macro `\commdiag' is too simple to be used for more complicated -diagrams, which may have intersecting or overlapping arrows. A second -approach, borrowed from Francis Borceux's `Diagram' macros for LaTeX, +surrounding the diagram. To overcome this problem, use TeX's '\noalign' +primitive to insert a '\vskip' immediately above or below the offending +line, e.g., '$$\commdiag{\noalign{\vskip6pt}X&\mapright^\int&Y\cr ...}'. + + The macro '\commdiag' is too simple to be used for more complicated +diagrams, which may have intersecting or overlapping arrows. A second +approach, borrowed from Francis Borceux's 'Diagram' macros for LaTeX, treats the commutative diagram like a grid of identically shaped boxes. To compose the commutative diagram, first draw an equally spaced grid, -e.g., +e.g., . . . . . . . . . . . . . . . . . . . . . . . . - on a piece of scratch paper. Then draw each element (vertices and + on a piece of scratch paper. Then draw each element (vertices and arrows) of the commutative diagram on this grid, centered at each grid -point. Finally, use the macro `\gridcommdiag' to implement your design -as a TeX alignment. For example, the cubic diagram +point. Finally, use the macro '\gridcommdiag' to implement your design +as a TeX alignment. For example, the cubic diagram (A commutative diagram appears here.) @@ -4780,20 +4793,20 @@ a 7 by 7 grid, and is achieved with the code &\arrow(1,1)\lft i&&&&\arrow(1,1)\rt l\cr E&&\mapright_k&&G\cr}$$ - The dimensions `\hgrid' and `\vgrid' control the horizontal and -vertical spacing of the grid used by `\gridcommdiag'. The default -setting for both of these dimensions is 15 pt. Note that in the -example of the cube the arrow lengths must be adjusted so that the -arrows overlap into neighboring boxes by the desired amount. Hence, -the `\gridcommdiag' method, albeit more powerful, is less automatic -than the simpler `\commdiag' method. Furthermore, the ad hoc macro -`\cross' is introduced to allow the effect of overlapping arrows. -Finally, note that the positions of four of the morphisms are adjusted -by setting `\hmorphposn' and `\vmorphposn'. - - One is not restricted to a square grid. For example, the proof of + The dimensions '\hgrid' and '\vgrid' control the horizontal and +vertical spacing of the grid used by '\gridcommdiag'. The default +setting for both of these dimensions is 15 pt. Note that in the example +of the cube the arrow lengths must be adjusted so that the arrows +overlap into neighboring boxes by the desired amount. Hence, the +'\gridcommdiag' method, albeit more powerful, is less automatic than the +simpler '\commdiag' method. Furthermore, the ad hoc macro '\cross' is +introduced to allow the effect of overlapping arrows. Finally, note that +the positions of four of the morphisms are adjusted by setting +'\hmorphposn' and '\vmorphposn'. + + One is not restricted to a square grid. For example, the proof of Zassenhaus's Butterfly Lemma can be illustrated by the diagram -(appearing in Lang's book `Algebra') +(appearing in Lang's book 'Algebra') (A commutative diagram appears here.) @@ -4819,9 +4832,9 @@ ratio of 1/2, and is set with the code Again, the construction of this diagram requires careful choices for the arrow lengths and is facilitated by the introduction of the ad hoc -macros `\cross', `\r', and `\l'. Note also that superscripts were used +macros '\cross', '\r', and '\l'. Note also that superscripts were used to adjust the position of the vertices u(U intersection v) and (u -intersection V)v. Many diagrams may be typeset with the predefined +intersection V)v. Many diagrams may be typeset with the predefined macros that appear here; however, ingenuity is often required to handle special cases. @@ -4832,53 +4845,52 @@ File: eplain.info, Node: Commutative diagram parameters, Prev: Construction of ------------------------------------ The following is a list describing the parameters used in the -commutative diagram macros. These dimensions may be changed globally or +commutative diagram macros. These dimensions may be changed globally or locally. -`\harrowlength' +'\harrowlength' (Default: 60 pt) The length of right or left arrows. -`\varrowlength' - (Default: 0.618`\harrowlength') The length of up or down arrows. +'\varrowlength' + (Default: 0.618'\harrowlength') The length of up or down arrows. -`\sarrowlength' +'\sarrowlength' (Default: 60 pt) The horizontal length of slanted arrows. -`\hmorphposn' +'\hmorphposn' (Default: 0 pt) The horizontal position of the morphism with - respect to its default position. There are also the dimensions - `\hmorphposnup', `\hmorphposndn', `\hmorphposnrt', and - `\hmorphposnlft' for `^'/`_' or `\lft'/`\rt' constructions. + respect to its default position. There are also the dimensions + '\hmorphposnup', '\hmorphposndn', '\hmorphposnrt', and + '\hmorphposnlft' for '^'/'_' or '\lft'/'\rt' constructions. -`\vmorphposn' +'\vmorphposn' (Default: 0 pt) The vertical position of the morphism with respect to its default position. There are also the dimensions - `\vmorphposnup', `\vmorphposndn', `\vmorphposnrt', and - `\vmorphposnlft' for `^'/`_' or `\lft'/`\rt' constructions. + '\vmorphposnup', '\vmorphposndn', '\vmorphposnrt', and + '\vmorphposnlft' for '^'/'_' or '\lft'/'\rt' constructions. -`\morphdist' +'\morphdist' (Default: 4 pt) The distance of morphisms from slanted lines or arrows. -`\channelwidth' +'\channelwidth' (Default: 3 pt) The distance between double lines or arrows. -`\hchannel, \vchannel' - (Defaults: 0 pt) Overrides `\channelwidth'. The horizontal and +'\hchannel, \vchannel' + (Defaults: 0 pt) Overrides '\channelwidth'. The horizontal and vertical shifts between double lines or arrows. -`\commdiagbaselines' - (Default: `\baselineskip=15pt \lineskip=3pt \lineskiplimit=3pt ') - The parameters used by `\commdiag' for setting interline glue. +'\commdiagbaselines' + (Default: '\baselineskip=15pt \lineskip=3pt \lineskiplimit=3pt ') + The parameters used by '\commdiag' for setting interline glue. -`\hgrid' +'\hgrid' (Default: 15 pt) The horizontal spacing of the grid used by - `\gridcommdiag'. + '\gridcommdiag'. -`\vgrid' +'\vgrid' (Default: 15 pt) The vertical spacing of the grid used by - `\gridcommdiag'. - + '\gridcommdiag'. File: eplain.info, Node: Programming definitions, Next: Demo files, Prev: Arrow theoretic diagrams, Up: Top @@ -4893,13 +4905,13 @@ are writing nontrivial macros, not when writing a document. * Category codes:: Changing category codes. * Allocation macros:: Non-outer versions of \newcount et al. -* Iteration:: Doing `for' and `while' loops in TeX. +* Iteration:: Doing 'for' and 'while' loops in TeX. * Macro arguments:: Reading and ignoring them. * Converting to characters:: Normalizing control sequences and spaces. * Expansion:: Controlling expansion. * Obeying spaces:: Making whitespace count anywhere. -* Writing out numbers:: Making `1' into `one'. -* Mode-specific penalties:: +* Writing out numbers:: Making '1' into 'one'. +* Mode-specific penalties:: * Auxiliary files:: Testing for their existence. * User-defined environments:: User-defined environments. * Page list and page range parsers:: @@ -4910,61 +4922,59 @@ File: eplain.info, Node: Category codes, Next: Allocation macros, Up: Program 7.1 Category codes ================== -Plain TeX defines `\active' (as the number 13) for use in changing -category codes. Although the author of `The TeXbook' has -"intentionally kept the category codes numeric", two other categories -are commonly used: letters (category code 11) and others (12). -Therefore, Eplain defines `\letter' and `\other'. +Plain TeX defines '\active' (as the number 13) for use in changing +category codes. Although the author of 'The TeXbook' has "intentionally +kept the category codes numeric", two other categories are commonly +used: letters (category code 11) and others (12). Therefore, Eplain +defines '\letter' and '\other'. - Sometimes it is cleaner to make a character active without actually writing -a `\catcode' command. The `\makeactive' command takes a character as -an argument to make active (and ignores following spaces). For -example, here are two commands which both make `\' active: + Sometimes it is cleaner to make a character active without actually +writing a '\catcode' command. The '\makeactive' command takes a +character as an argument to make active (and ignores following spaces). +For example, here are two commands which both make '\' active: \makeactive\\ \makeactive92 Sometimes you might want to temporarily change the category code of -the `@' character to `\letter', so that you can use or define macros -which are normally inaccessible to the user. For such situations, -Eplain provides the `\makeatletter' command. It sets the category code -of `@' to `\letter' (11) and defines `\resetatcatcode' to restore the -category code to whatever it was before the call to `\makeatletter'. -For example: +the '@' character to '\letter', so that you can use or define macros +which are normally inaccessible to the user. For such situations, Eplain +provides the '\makeatletter' command. It sets the category code of '@' +to '\letter' (11) and defines '\resetatcatcode' to restore the category +code to whatever it was before the call to '\makeatletter'. For example: \makeatletter \def\@hidden@macro{This macro cannot normally be called / redefined by the user} \resetatcatcode -There is also `\makeatother' which works similarly but sets the -category code of `@' to `\other' (12). +There is also '\makeatother' which works similarly but sets the category +code of '@' to '\other' (12). Usually, when you give a definition to an active character, you have to do so inside a group where you temporarily make the character active, and then give it a global definition (cf. the definition of -`\obeyspaces' in `The TeXbook'). This is inconvenient if you are -writing a long macro, or if the character already has a global -definition you do not wish to transcend. Eplain provides `\letreturn', -which defines the usual end-of-line character to be the argument. For -example: +'\obeyspaces' in 'The TeXbook'). This is inconvenient if you are writing +a long macro, or if the character already has a global definition you do +not wish to transcend. Eplain provides '\letreturn', which defines the +usual end-of-line character to be the argument. For example: \def\mymacro{... \letreturn\myreturn ... } \mymacro hello there -The end-of-line between `hello' and `there' causes `\myreturn' to be +The end-of-line between 'hello' and 'there' causes '\myreturn' to be expanded. - `The TeXbook' describes `\uncatcodespecials', which makes all -characters which are normally "special" into "other" characters, but -the definition never made it into plain TeX. Eplain therefore defines -it. For notes on the usage, *note Verbatim listing::. + 'The TeXbook' describes '\uncatcodespecials', which makes all +characters which are normally "special" into "other" characters, but the +definition never made it into plain TeX. Eplain therefore defines it. +For notes on the usage, *note Verbatim listing::. - Finally, `\percentchar' expands into a literal `%' character. This -is useful when you `\write' TeX output to a file, and want to avoid -spurious spaces. For example, Eplain writes a `\percentchar' after the -definition of cross-references. The macros `\lbracechar' and -`\rbracechar' expand similarly. + Finally, '\percentchar' expands into a literal '%' character. This is +useful when you '\write' TeX output to a file, and want to avoid +spurious spaces. For example, Eplain writes a '\percentchar' after the +definition of cross-references. The macros '\lbracechar' and +'\rbracechar' expand similarly. File: eplain.info, Node: Allocation macros, Next: Iteration, Prev: Category codes, Up: Programming definitions @@ -4972,40 +4982,42 @@ File: eplain.info, Node: Allocation macros, Next: Iteration, Prev: Category c 7.2 Allocation macros ===================== -Plain TeX provides macros that allocate registers of each primitive -type in TeX, to prevent different sets of macros from using the same -register for two different things. The macros are all named starting -with `new', e.g., `\newcount' allocates a new "count" (integer) -register. Such allocations are usually needed only at the top level of -some macro definition file; therefore, plain TeX makes the allocation -registers `\outer', to help find errors. (The error this helps to find -is a missing right brace in some macro definition.) +Plain TeX provides macros that allocate registers of each primitive type +in TeX, to prevent different sets of macros from using the same register +for two different things. The macros are all named starting with 'new', +e.g., '\newcount' allocates a new "count" (integer) register. Such +allocations are usually needed only at the top level of some macro +definition file; therefore, plain TeX makes the allocation registers +'\outer', to help find errors. (The error this helps to find is a +missing right brace in some macro definition.) Sometimes, however, it is useful to allocate a register as part of -some macro. An outer control sequence cannot be used as part of a macro +some macro. An outer control sequence cannot be used as part of a macro definition (or in a few other contexts: the parameter text of a definition, an argument to a definition, the preamble of an alignment, -or in conditional text that is being skipped). Therefore, Eplain -defines "inner" versions of all the allocation macros, named with the -prefix `inner': `\innernewbox', `\innernewcount', `\innernewdimen', `\innernewfam', `\innernewhelp', `\innernewif', `\innernewinsert', `\innernewlanguage', `\innernewread', -`\innernewskip', `\innernewtoks', `\innernewwrite'. +or in conditional text that is being skipped). Therefore, Eplain defines +"inner" versions of all the allocation macros, named with the prefix +'inner': '\innernewbox', '\innernewcount', '\innernewdimen', +'\innernewfam', '\innernewhelp', '\innernewif', '\innernewinsert', +'\innernewlanguage', '\innernewread', +'\innernewskip', '\innernewtoks', '\innernewwrite'. You can also define non-outer versions of other macros in the same -way that Eplain defines the above. The basic macro is called -`\innerdef': +way that Eplain defines the above. The basic macro is called +'\innerdef': \innerdef \INNERNAME {OUTERNAME} - The first argument (\INNERNAME) to `\innerdef' is the control -sequence that you want to define. Any previous definition of -\INNERNAME is replaced. The second argument (OUTERNAME) is the -_characters_ in the name of the outer control sequence. (You can't use -the actual control sequence name, since it's outer!) + The first argument (\INNERNAME) to '\innerdef' is the control +sequence that you want to define. Any previous definition of \INNERNAME +is replaced. The second argument (OUTERNAME) is the _characters_ in the +name of the outer control sequence. (You can't use the actual control +sequence name, since it's outer!) If the outer control sequence is named \CS, and you want to define -`innerCS' as the inner one, you can use `\innerinnerdef', which is just -an abbreviation for a call to `\innerdef'. For example, these two -calls are equivalent: +'innerCS' as the inner one, you can use '\innerinnerdef', which is just +an abbreviation for a call to '\innerdef'. For example, these two calls +are equivalent: \innerdef\innerproclaim{proclaim} \innerinnerdef{proclaim} @@ -5016,16 +5028,16 @@ File: eplain.info, Node: Iteration, Next: Macro arguments, Prev: Allocation m 7.3 Iteration ============= -You can iterate through a comma-separated list of items with `\for'. Here -is an example: +You can iterate through a comma-separated list of items with '\for'. +Here is an example: \for\name:=karl,kathy\do{% \message{\name}% }% -This writes `karl' and `kathy' to the terminal. Spaces before or after -the commas in the list, or after the `:=', are _not_ ignored. To strip -leading spaces off the items, use `\For': +This writes 'karl' and 'kathy' to the terminal. Spaces before or after +the commas in the list, or after the ':=', are _not_ ignored. To strip +leading spaces off the items, use '\For': \For\name:= karl, @@ -5035,22 +5047,22 @@ leading spaces off the items, use `\For': Note that trailing spaces are still _not_ ignored. - Both `\for' and `\For' expand the first token of the item list -fully, so this is equivalent to the above: + Both '\for' and '\For' expand the first token of the item list fully, +so this is equivalent to the above: \def\namelist{karl,kathy}% \for\name:=\namelist\do ... -However, this won't work, either with `\for' or with `\For': +However, this won't work, either with '\for' or with '\For': \def\namelist{karl,kathy}% \For\name:= \namelist\do ... -because `\for' and `\For' expand the first token after `:=' which is -space, not `\namelist'. +because '\for' and '\For' expand the first token after ':=' which is +space, not '\namelist'. Eplain provides another kind of loops, which is an extension of plain -TeX's `\loop'. If you say: +TeX's '\loop'. If you say: \loop LOOP-TEXT @@ -5058,9 +5070,9 @@ TeX's `\loop'. If you say: IF-TEXT \repeat -then LOOP-TEXT will be repeated as long as CONDITION is satisfied -(`\if' can be any of the TeX's conditional commands, without the -matching `\fi'). Eplain extends this with the optional else clause: +then LOOP-TEXT will be repeated as long as CONDITION is satisfied ('\if' +can be any of the TeX's conditional commands, without the matching +'\fi'). Eplain extends this with the optional else clause: \loop LOOP-TEXT @@ -5071,7 +5083,7 @@ matching `\fi'). Eplain extends this with the optional else clause: \repeat Here, LOOP-TEXT will be repeated as long as CONDITION is _not_ -satisfied. This extension is from Victor Eijkhout's TeX by Topic +satisfied. This extension is from Victor Eijkhout's TeX by Topic (page 104). @@ -5080,14 +5092,14 @@ File: eplain.info, Node: Macro arguments, Next: Converting to characters, Pre 7.4 Macro arguments =================== -It is occasionally useful to redefine a macro that takes arguments to -do nothing. Eplain defines `\gobble', `\gobbletwo', and `\gobblethree' -to swallow one, two, and three arguments, respectively. +It is occasionally useful to redefine a macro that takes arguments to do +nothing. Eplain defines '\gobble', '\gobbletwo', and '\gobblethree' to +swallow one, two, and three arguments, respectively. For example, if you want to produce a "short" table of contents--one that includes only chapters, say--the easiest thing to do is read the -entire `.toc' file (*note Contents::), and just ignore the commands -that produce section or subsection entries. To be specific: +entire '.toc' file (*note Contents::), and just ignore the commands that +produce section or subsection entries. To be specific: \let\tocchapterentry = \shorttocchapter \let\tocsectionentry = \gobbletwo @@ -5097,28 +5109,28 @@ that produce section or subsection entries. To be specific: (Of course, this assumes you only have chapters, sections, and subsections in your document.) - In addition, Eplain defines `\eattoken' to swallow the single -following token, using `\let'. Thus, `\gobble' followed by `{...}' -ignores the entire brace-enclosed text. `\eattoken' followed by the -same ignores only the opening left brace. + In addition, Eplain defines '\eattoken' to swallow the single +following token, using '\let'. Thus, '\gobble' followed by '{...}' +ignores the entire brace-enclosed text. '\eattoken' followed by the same +ignores only the opening left brace. - Eplain defines a macro `\identity' which takes one argument and -expands to that argument. This may be useful if you want to provide a + Eplain defines a macro '\identity' which takes one argument and +expands to that argument. This may be useful if you want to provide a function for the user to redefine, but don't need to do anything by -default. (For example, the default definition of `\eqconstruct' (*note -Formatting equation references::) is `\identity'.) +default. (For example, the default definition of '\eqconstruct' (*note +Formatting equation references::) is '\identity'.) - You may also want to read an optional argument. The established + You may also want to read an optional argument. The established convention is that optional arguments are put in square brackets, so -that is the syntax Eplain recognizes. Eplain ignores space tokens -before an optional argument, via `\futurenonspacelet'. +that is the syntax Eplain recognizes. Eplain ignores space tokens before +an optional argument, via '\futurenonspacelet'. - You test for an optional argument by using `\@getoptionalarg'. It + You test for an optional argument by using '\@getoptionalarg'. It takes one argument, a control sequence to expand after reading the -argument, if present. If an optional argument is present, the control -sequence `\@optionalarg' expands to it; otherwise, `\@optionalarg' is -`\empty'. You must therefore have the category code of `@' set to 11 -(letter). Here is an example: +argument, if present. If an optional argument is present, the control +sequence '\@optionalarg' expands to it; otherwise, '\@optionalarg' is +'\empty'. You must therefore have the category code of '@' set to 11 +(letter). Here is an example: \catcode`@=\letter \def\cmd{\@getoptionalarg\finishcmd} @@ -5131,8 +5143,8 @@ sequence `\@optionalarg' expands to it; otherwise, `\@optionalarg' is } It's possible to define macros that appear to accept optional -arguments intermixed with mandatory arguments in any imaginable way. -For example: +arguments intermixed with mandatory arguments in any imaginable way. For +example: \makeatletter % \mo{m}[o] @@ -5169,27 +5181,27 @@ File: eplain.info, Node: Converting to characters, Next: Expansion, Prev: Mac 7.5 Converting to characters ============================ -Eplain defines `\xrlabel' to produce control sequence names for -cross-reference labels, et al. This macro expands to its argument with -an `_' appended. (It does this because the usual use of `\xrlabel' is -to generate a control sequence name, and we naturally want to avoid +Eplain defines '\xrlabel' to produce control sequence names for +cross-reference labels, et al. This macro expands to its argument with +an '_' appended. (It does this because the usual use of '\xrlabel' is to +generate a control sequence name, and we naturally want to avoid conflicts between control sequence names.) - Because `\xrlabel' is fully expandable, to make a control sequence + Because '\xrlabel' is fully expandable, to make a control sequence name out of the result you need only do - `\csname \xrlabel{LABEL}\endcsname' + \csname \xrlabel{LABEL}\endcsname -The `\csname' primitive makes a control sequence name out of any -sequence of character tokens, regardless of category code. Labels can -therefore include any characters except for `\', `{', `}', and `#', all +The '\csname' primitive makes a control sequence name out of any +sequence of character tokens, regardless of category code. Labels can +therefore include any characters except for '\', '{', '}', and '#', all of which are used in macro definitions themselves. - `\sanitize' takes a control sequence as an argument and converts the -expansion of the control sequence into a list of character tokens. -This is the behavior you want when writing information like chapter -titles to an output file. For example, here is part of the definition -of `\writenumberedtocentry'; `#2' is the title that the user has given. + '\sanitize' takes a control sequence as an argument and converts the +expansion of the control sequence into a list of character tokens. This +is the behavior you want when writing information like chapter titles to +an output file. For example, here is part of the definition of +'\writenumberedtocentry'; '#2' is the title that the user has given. ... \def\temp{#2}% @@ -5211,26 +5223,26 @@ This section describes some miscellanous macros for expansion, etc. * Menu: * \csn and \ece:: Abbreviations for \csname expansions. -* \edefappend:: +* \edefappend:: * Hooks:: Manipulating and executing named actions. * Properties:: Associating information with a csname. -* \expandonce:: -* \ifundefined:: +* \expandonce:: +* \ifundefined:: * \ifempty:: * \ifinteger and \isinteger:: -* \futurenonspacelet:: +* \futurenonspacelet:: File: eplain.info, Node: \csn and \ece, Next: \edefappend, Up: Expansion -7.6.1 `\csn' and `\ece' +7.6.1 '\csn' and '\ece' ----------------------- -`\csn'{NAME} simply abbreviates `\csname' NAME `\endcsname', thus -saving some typing. The extra level of expansion does take some time, -though, so I don't recommend it for an inner loop. +'\csn'{NAME} simply abbreviates '\csname' NAME '\endcsname', thus saving +some typing. The extra level of expansion does take some time, though, +so I don't recommend it for an inner loop. - `\ece'{TOKEN}{NAME} abbreviates + '\ece'{TOKEN}{NAME} abbreviates \expandafter TOKEN \csname NAME \endcsname @@ -5239,18 +5251,18 @@ For example, \def\fontabbrevdef#1#2{\ece\def{@#1font}{#2}} \fontabbrevdef{normal}{ptmr} -defines a control sequence `\@normalfont' to expand to `ptmr'. +defines a control sequence '\@normalfont' to expand to 'ptmr'. File: eplain.info, Node: \edefappend, Next: Hooks, Prev: \csn and \ece, Up: Expansion -7.6.2 `\edefappend' +7.6.2 '\edefappend' ------------------- -`\edefappend' is a way of adding on to an existing definition. It -takes two arguments: the first is the control sequence name, the second -the new tokens to append to the definition. The second argument is -fully expanded (in the `\edef' that redefines the control sequence). +'\edefappend' is a way of adding on to an existing definition. It takes +two arguments: the first is the control sequence name, the second the +new tokens to append to the definition. The second argument is fully +expanded (in the '\edef' that redefines the control sequence). For example: @@ -5258,7 +5270,7 @@ fully expanded (in the `\edef' that redefines the control sequence). \def\bar{xyz} \edefappend\foo{\bar karl} -results in `\foo' being defined as `abcxyzkarl'. +results in '\foo' being defined as 'abcxyzkarl'. File: eplain.info, Node: Hooks, Next: Properties, Prev: \edefappend, Up: Expansion @@ -5267,48 +5279,46 @@ File: eplain.info, Node: Hooks, Next: Properties, Prev: \edefappend, Up: Exp ----------- A "hook" is simply a name for a group of actions which is executed in -certain places--presumably when it is most useful to allow -customization or modification. TeX already provides many builtin -hooks; for example, the `\every ...' token lists are all examples of -hooks. +certain places--presumably when it is most useful to allow customization +or modification. TeX already provides many builtin hooks; for example, +the '\every ...' token lists are all examples of hooks. - Eplain provides several macros for adding actions to hooks. They all + Eplain provides several macros for adding actions to hooks. They all take two arguments: the name of the hook and the new actions. -`hookaction NAME ACTIONS' -`hookappend NAME ACTIONS' - -`hookprepend NAME ACTIONS' - Each of these adds ACTIONS to the hook NAME. (Any - previously-defined actions are retained.) NAME is not a control +'hookaction NAME ACTIONS' +'hookappend NAME ACTIONS' +'hookprepend NAME ACTIONS' + Each of these adds ACTIONS to the hook NAME. (Any + previously-defined actions are retained.) NAME is not a control sequence, but rather the characters of the name. -`hookactiononce NAME `\CS'' - `\hookactiononce' adds CS to NAME, like the macros above, but - first it adds +'hookactiononce NAME \CS' + '\hookactiononce' adds CS to NAME, like the macros above, but first + it adds \global\let \CS \relax - to the definition of \CS. (This implies \CS must be a true - expandable macro, not a control sequence `\let' to a primitive or - some other such thing.) Thus, \CS is expanded the next time the + to the definition of \CS. (This implies \CS must be a true + expandable macro, not a control sequence '\let' to a primitive or + some other such thing.) Thus, \CS is expanded the next time the hook NAME is run, but it will disappear after that. - The `\global' is useful because `\hookactiononce' is most useful + The '\global' is useful because '\hookactiononce' is most useful when the grouping structure of the TeX code could be anything. - Neither this nor the other hook macros do global assignments to - the hook variable itself, so TeX's usual grouping rules apply. + Neither this nor the other hook macros do global assignments to the + hook variable itself, so TeX's usual grouping rules apply. - The companion macro to defining hook actions is `\hookrun', for -running them. This takes a single argument, the name of the hook. If -no actions for the hook are defined, no error ensues. + The companion macro to defining hook actions is '\hookrun', for +running them. This takes a single argument, the name of the hook. If no +actions for the hook are defined, no error ensues. - Here is a skeleton of general `\begin' and `\end' macros that run -hooks, and a couple of calls to define actions. The use of -`\hookprepend' for the begin action and `\hookappend' for the end -action ensures that the actions are executed in proper sequence with -other actions (as long as the other actions use `\hookprepend' and -`\hookappend' also). + Here is a skeleton of general '\begin' and '\end' macros that run +hooks, and a couple of calls to define actions. The use of +'\hookprepend' for the begin action and '\hookappend' for the end action +ensures that the actions are executed in proper sequence with other +actions (as long as the other actions use '\hookprepend' and +'\hookappend' also). \def\begin#1{ ... \hookrun{begin} ... } \def\end#1{ ... \hookrun{end} ... } @@ -5322,28 +5332,27 @@ File: eplain.info, Node: Properties, Next: \expandonce, Prev: Hooks, Up: Exp ---------------- A "property" is a name/value pair associated with another symbol, -traditionally called an "atom". Both atom and property names are -control sequence names. +traditionally called an "atom". Both atom and property names are control +sequence names. Eplain provides two macros for dealing with property lists: -`\setproperty' and `\getproperty'. - -`\setproperty ATOM PROPNAME VALUE' - `\setproperty' defines the property PROPERTY on the atom ATOM to - be VALUE. ATOM and PROPNAME can be anything acceptable to - `\csname'. VALUE can be anything. +'\setproperty' and '\getproperty'. -`\getproperty ATOM PROPNAME' - `\getproperty' expands to the value stored for PROPNAME on ATOM. - If PROPNAME is undefined, it expands to nothing (i.e., `\empty'). +'\setproperty ATOM PROPNAME VALUE' + '\setproperty' defines the property PROPERTY on the atom ATOM to be + VALUE. ATOM and PROPNAME can be anything acceptable to '\csname'. + VALUE can be anything. +'\getproperty ATOM PROPNAME' + '\getproperty' expands to the value stored for PROPNAME on ATOM. If + PROPNAME is undefined, it expands to nothing (i.e., '\empty'). - The idea of properties originated in Lisp (I believe). There, the -implementation truly does associate properties with atoms. In TeX, -where we have no builtin support for properties, the association is only + The idea of properties originated in Lisp (I believe). There, the +implementation truly does associate properties with atoms. In TeX, where +we have no builtin support for properties, the association is only conceptual. - The following example typesets `xyz'. + The following example typesets 'xyz'. \setproperty{a}{pr}{xyz} \getproperty{a}{pr} @@ -5351,14 +5360,14 @@ conceptual. File: eplain.info, Node: \expandonce, Next: \ifundefined, Prev: Properties, Up: Expansion -7.6.5 `\expandonce' +7.6.5 '\expandonce' ------------------- -`\expandonce' is defined as `\expandafter\noexpand'. Thus, -`\expandonce TOKEN' expands TOKEN once, instead of to TeX primitives. -This is most useful in an `\edef'. +'\expandonce' is defined as '\expandafter\noexpand'. Thus, '\expandonce +TOKEN' expands TOKEN once, instead of to TeX primitives. This is most +useful in an '\edef'. - For example, the following defines `\temp' to be `\foo', not `abc'. + For example, the following defines '\temp' to be '\foo', not 'abc'. \def\foo{abc} \def\bar{\foo} @@ -5367,83 +5376,83 @@ This is most useful in an `\edef'. File: eplain.info, Node: \ifundefined, Next: \ifempty, Prev: \expandonce, Up: Expansion -7.6.6 `\ifundefined' +7.6.6 '\ifundefined' -------------------- -`\ifundefined{CS} T \else F \fi' expands the T text if the control -sequence `\CS' is undefined or has been `\let' to `\relax', and the F +'\ifundefined{CS} T \else F \fi' expands the T text if the control +sequence '\CS' is undefined or has been '\let' to '\relax', and the F text otherwise. - Since `\ifundefined' is not a primitive conditional, it cannot be -used in places where TeX might skip tokens "at high speed", e.g., -within another conditional--TeX can't match up the `\if''s and `\fi''s. + Since '\ifundefined' is not a primitive conditional, it cannot be +used in places where TeX might skip tokens "at high speed", e.g., within +another conditional--TeX can't match up the '\if''s and '\fi''s. - This macro was taken directly from `The TeXbook', page 308. + This macro was taken directly from 'The TeXbook', page 308. File: eplain.info, Node: \ifempty, Next: \ifinteger and \isinteger, Prev: \ifundefined, Up: Expansion -7.6.7 `\ifempty' +7.6.7 '\ifempty' ---------------- -`\ifempty{ARG} T \else F \fi' expands the T text if ARG is the empty -string, and the F text otherwise. This macro is useful when you need -to test for empty arguments to your macros, for example: +'\ifempty{ARG} T \else F \fi' expands the T text if ARG is the empty +string, and the F text otherwise. This macro is useful when you need to +test for empty arguments to your macros, for example: \def\foo#1{\ifempty{#1} T \else F \fi} - Since `\ifempty' is not a primitive conditional, it cannot be used -in places where TeX might skip tokens "at high speed", e.g., within -another conditional--TeX can't match up the `\if''s and `\fi''s. + Since '\ifempty' is not a primitive conditional, it cannot be used in +places where TeX might skip tokens "at high speed", e.g., within another +conditional--TeX can't match up the '\if''s and '\fi''s. Note that the following code \def\empty{} \ifempty\empty\message{empty}\else\message{not empty}\fi -will produce the message `not empty'. +will produce the message 'not empty'. File: eplain.info, Node: \ifinteger and \isinteger, Next: \futurenonspacelet, Prev: \ifempty, Up: Expansion -7.6.8 `\ifinteger' and `\isinteger' +7.6.8 '\ifinteger' and '\isinteger' ----------------------------------- -`\ifinteger{ARG} T \else F \fi' expands the T text if ARG is an -integer, and the F text otherwise. This macro can detect positive and -negative integers. +'\ifinteger{ARG} T \else F \fi' expands the T text if ARG is an integer, +and the F text otherwise. This macro can detect positive and negative +integers. - Since `\ifinteger' is not a primitive conditional, it cannot be used + Since '\ifinteger' is not a primitive conditional, it cannot be used in places where TeX might skip tokens "at high speed", e.g., within -another conditional--TeX can't match up the `\if''s and `\fi''s. For -such situations Eplain provides `\isinteger', which can be used as +another conditional--TeX can't match up the '\if''s and '\fi''s. For +such situations Eplain provides '\isinteger', which can be used as follows: \if\isinteger{ARG} T \else F \fi - Although `\ifinteger' and `\isinteger' work well with regular input, -they are not bullet-proof. For example, the following code + Although '\ifinteger' and '\isinteger' work well with regular input, +they are not bullet-proof. For example, the following code \ifinteger{12_ab}integer\else not integer\fi -will expand to `ab_integer' (and thus would not even compile outside +will expand to 'ab_integer' (and thus would not even compile outside math mode). These macros come from TeX Frequently Asked Question -(`http://www.tex.ac.uk/cgi-bin/texfaq2html'). +(<http://www.tex.ac.uk/cgi-bin/texfaq2html>). File: eplain.info, Node: \futurenonspacelet, Prev: \ifinteger and \isinteger, Up: Expansion -7.6.9 `\futurenonspacelet' +7.6.9 '\futurenonspacelet' -------------------------- -The `\futurelet' primitive allows you to look at the next token from -the input. Sometimes, though, you want to look ahead ignoring any -spaces. This is what `\futurenonspacelet' does. It is otherwise the -same as `\futurelet': you give it two control sequences as arguments, -and it assigns the next nonspace token to the first, and then expands -the second. For example: +The '\futurelet' primitive allows you to look at the next token from the +input. Sometimes, though, you want to look ahead ignoring any spaces. +This is what '\futurenonspacelet' does. It is otherwise the same as +'\futurelet': you give it two control sequences as arguments, and it +assigns the next nonspace token to the first, and then expands the +second. For example: \futurenonspacelet\temp\finishup \def\finishup{\ifx\temp ...} @@ -5454,23 +5463,23 @@ File: eplain.info, Node: Obeying spaces, Next: Writing out numbers, Prev: Exp 7.7 Obeying spaces ================== -`\obeywhitespace' makes both end-of-lines and space characters in the -input be respected in the output. Unlike plain TeX's `\obeyspaces', -even spaces at the beginnings of lines turn into blank space. +'\obeywhitespace' makes both end-of-lines and space characters in the +input be respected in the output. Unlike plain TeX's '\obeyspaces', even +spaces at the beginnings of lines turn into blank space. By default, the size of the space that is produced by a space -character is the natural space of the current font, i.e., what `\ ' +character is the natural space of the current font, i.e., what '\ ' produces. Ordinarily, a blank line in the input produces as much blank vertical -space as a line of text would occupy. You can adjust this by assigning -to the parameter `\blanklineskipamount': if you set this negative, the +space as a line of text would occupy. You can adjust this by assigning +to the parameter '\blanklineskipamount': if you set this negative, the space produced by a blank line will be smaller; if positive, larger. - Tabs are not affected by this routine. In particular, if tabs occur -at the beginning of a line, they will disappear. (If you are trying to -make TeX do the "right thing" with tabs, don't. Use a utility program -like expand instead.) + Tabs are not affected by this routine. In particular, if tabs occur +at the beginning of a line, they will disappear. (If you are trying to +make TeX do the "right thing" with tabs, don't. Use a utility program +like expand instead.) File: eplain.info, Node: Writing out numbers, Next: Mode-specific penalties, Prev: Obeying spaces, Up: Programming definitions @@ -5478,8 +5487,8 @@ File: eplain.info, Node: Writing out numbers, Next: Mode-specific penalties, 7.8 Writing out numbers ======================= -`\numbername' produces the written-out form of its argument, i.e., -`zero' through `ten' for the numbers 0-10, and numerals for all others. +'\numbername' produces the written-out form of its argument, i.e., +'zero' through 'ten' for the numbers 0-10, and numerals for all others. File: eplain.info, Node: Mode-specific penalties, Next: Auxiliary files, Prev: Writing out numbers, Up: Programming definitions @@ -5487,15 +5496,15 @@ File: eplain.info, Node: Mode-specific penalties, Next: Auxiliary files, Prev 7.9 Mode-specific penalties =========================== -TeX's built-in `\penalty' command simply appends to the current list, -no matter what kind of list it is. You might intend a particular -penalty to always be a "vertical" penalty, however, i.e., appended to a -vertical list. Therefore, Eplain provides `\vpenalty' and `\hpenalty' -which first leave the other mode and then do `\penalty'. +TeX's built-in '\penalty' command simply appends to the current list, no +matter what kind of list it is. You might intend a particular penalty to +always be a "vertical" penalty, however, i.e., appended to a vertical +list. Therefore, Eplain provides '\vpenalty' and '\hpenalty' which first +leave the other mode and then do '\penalty'. - More precisely, `\vpenalty' inserts `\par' if the current mode is -horizontal, and `\hpenalty' inserts `\leavevmode' if the current mode -is vertical. (Thus, `\vpenalty' cannot be used in math mode.) + More precisely, '\vpenalty' inserts '\par' if the current mode is +horizontal, and '\hpenalty' inserts '\leavevmode' if the current mode is +vertical. (Thus, '\vpenalty' cannot be used in math mode.) File: eplain.info, Node: Auxiliary files, Next: User-defined environments, Prev: Mode-specific penalties, Up: Programming definitions @@ -5504,20 +5513,20 @@ File: eplain.info, Node: Auxiliary files, Next: User-defined environments, Pr ==================== It is common to write some information out to a file to be used on a -subsequent run. But when it is time to read the file again, you only -want to do so if the file actually exists. `\testfileexistence' is -given an argument which is appended to `\jobname', and sets the -conditional `\iffileexists' appropriately. For example: +subsequent run. But when it is time to read the file again, you only +want to do so if the file actually exists. '\testfileexistence' is given +an argument which is appended to '\jobname', and sets the conditional +'\iffileexists' appropriately. For example: \testfileexistence{toc}% \iffileexists \input \jobname.toc \fi - `\testfileexistence' takes an optional parameter; when given, it -will override `\jobname' for the root part of the file name. For -example, if you want to test for the file `answers.aux', you can do -this with the following: + '\testfileexistence' takes an optional parameter; when given, it will +override '\jobname' for the root part of the file name. For example, if +you want to test for the file 'answers.aux', you can do this with the +following: \testfileexistence[answers]{aux}% \iffileexists @@ -5531,10 +5540,10 @@ File: eplain.info, Node: User-defined environments, Next: Page list and page r ============================== Plain TeX does not provide "named" block structures, only the anonymous -`\begingroup' and `\endgroup' pair. The disadvantage of this is that +'\begingroup' and '\endgroup' pair. The disadvantage of this is that when there are several such groups and one is mismatched, it can be difficult to find the error. Eplain provides a named block structure so -that if you forget an `\environment' or an `\endenvironment', you will +that if you forget an '\environment' or an '\endenvironment', you will (probably) get an error message about it. For example: @@ -5555,9 +5564,9 @@ which could then be used to set italicized paragraphs: tongue, and a nice derangement of epitaphs! \enditpar - The above sort of environment allows nesting. But environments -shouldn't always be allowed to nest. Put the control sequence -`\checkenv' at the beginning of a macro that is going to define an + The above sort of environment allows nesting. But environments +shouldn't always be allowed to nest. Put the control sequence +'\checkenv' at the beginning of a macro that is going to define an environment that should not be nested. @@ -5567,28 +5576,28 @@ File: eplain.info, Node: Page list and page range parsers, Prev: User-defined ===================================== The macros which Eplain uses to parse the page lists and ranges in the -index, `\idxparselist' and `\idxparserange' (*note Page destinations -for index terms::), are sometimes useful when defining page number -encapsulators. They take one argument, text to parse. When a page -list (range) is not present, they set `\idxpagei' to be `\empty'; when -a list (range) is detected, they set `\idxpagei' and `\idxpageii' to -the first and the second page numbers, respectively. +index, '\idxparselist' and '\idxparserange' (*note Page destinations for +index terms::), are sometimes useful when defining page number +encapsulators. They take one argument, text to parse. When a page list +(range) is not present, they set '\idxpagei' to be '\empty'; when a list +(range) is detected, they set '\idxpagei' and '\idxpageii' to the first +and the second page numbers, respectively. Eplain's defaults for the page list and page range delimiters are the -same as those in MakeIndex, a comma followed by a space (`, ') and two -dashes (`--'), respectively. If you customize MakeIndex to use -different delimiters, you must not forget to let Eplain know about them -with the commands +same as those in MakeIndex, a comma followed by a space (', ') and two +dashes ('--'), respectively. If you customize MakeIndex to use different +delimiters, you must not forget to let Eplain know about them with the +commands \setidxpagelistdelimiter{LIST-DELIM} \setidxpagerangedelimiter{PAGE-DELIM} -These commands save the LIST-DELIM and PAGE-DELIM delimiters in `\idxpagelistdelimiter' -and `\idxpagerangedelimiter', respectively. +These commands save the LIST-DELIM and PAGE-DELIM delimiters in +'\idxpagelistdelimiter' and '\idxpagerangedelimiter', respectively. For example, you may want to define a page number markup command -which italicizes and properly underlines page ranges by underlining -only the page numbers and not the delimiter: +which italicizes and properly underlines page ranges by underlining only +the page numbers and not the delimiter: \def\ituline#1{% {\it @@ -5602,13 +5611,13 @@ only the page numbers and not the delimiter: \fi}% } -Note that the `\ituline' macro is not aware of page lists. This is not -needed if you use hyperlinks in the index, because `\hlidx' and -`\hlidxpage' will break up the page lists before calling the user's -page encapsulator (*note Page destinations for index terms::), so -`\ituline' will never see the lists. If, however, you need to design a -macro which also takes care of the lists, you can extend `\ituline' -with an additional call to `\idxparselist'. +Note that the '\ituline' macro is not aware of page lists. This is not +needed if you use hyperlinks in the index, because '\hlidx' and +'\hlidxpage' will break up the page lists before calling the user's page +encapsulator (*note Page destinations for index terms::), so '\ituline' +will never see the lists. If, however, you need to design a macro which +also takes care of the lists, you can extend '\ituline' with an +additional call to '\idxparselist'. File: eplain.info, Node: Demo files, Next: Macro index, Prev: Programming definitions, Up: Top @@ -5618,9 +5627,9 @@ File: eplain.info, Node: Demo files, Next: Macro index, Prev: Programming def This chapter contains listings of source files, along with the output they produce (where appropriate), which illustrate various aspects of -Eplain. The files can be found in the `demo' subdirectory of Eplain -distribution. These demos, both the sources and the compiled PDF and -PS files, are also available from `http://tug.org/eplain/demo'. +Eplain. The files can be found in the 'demo' subdirectory of Eplain +distribution. These demos, both the sources and the compiled PDF and PS +files, are also available from <http://tug.org/eplain/demo>. * Menu: @@ -5630,9 +5639,11 @@ PS files, are also available from `http://tug.org/eplain/demo'. File: eplain.info, Node: Hyperlinks (xhyper.tex), Next: Highlighting TeX comments in listings (lscommnt.tex), Up: Demo files -8.1 Hyperlinks (`xhyper.tex') +8.1 Hyperlinks ('xhyper.tex') ============================= + + % (This file is public domain.) % % This file demonstrates the following features of Eplain: @@ -5827,9 +5838,11 @@ Take me to File: eplain.info, Node: Highlighting TeX comments in listings (lscommnt.tex), Prev: Hyperlinks (xhyper.tex), Up: Demo files -8.2 Highlighting TeX comments in listings (`lscommnt.tex') +8.2 Highlighting TeX comments in listings ('lscommnt.tex') ========================================================== + + % (This file is public domain.) % Demonstrate how Eplain can be used to include a TeX source file % verbatim, typesetting comments in colored italic typewriter type. @@ -5887,14 +5900,14 @@ Macro index * Menu: -* @hllabel <1>: Link types for pdftex and dvipdfm. - (line 68) -* @hllabel <2>: Destination types for pdftex and dvipdfm. - (line 84) -* @hllabel <3>: Link types for hypertex. - (line 39) * @hllabel: Destination types for hypertex. (line 14) +* @hllabel <1>: Link types for hypertex. + (line 39) +* @hllabel <2>: Destination types for pdftex and dvipdfm. + (line 84) +* @hllabel <3>: Link types for pdftex and dvipdfm. + (line 67) * @indexproof insertion class: Proofing index terms. (line 28) * abovecolumnskip: Multiple columns. (line 33) @@ -5903,46 +5916,52 @@ Macro index * abovelistskip: Formatting lists. (line 29) * abovelistskipamount: Formatting lists. (line 10) * adjarrow: Arrows and morphisms. - (line 112) + (line 113) * adjmapdown: Arrows and morphisms. - (line 90) + (line 91) * adjmapleft: Arrows and morphisms. - (line 65) + (line 66) * adjmapright: Arrows and morphisms. - (line 62) + (line 63) * adjmapup: Arrows and morphisms. - (line 93) -* advancebottommargin: Margins. (line 28) -* advanceleftmargin: Margins. (line 28) -* advancerightmargin: Margins. (line 28) -* advancetopmargin: Margins. (line 28) + (line 94) +* advancebottommargin: Margins. (line 26) +* advanceleftmargin: Margins. (line 26) +* advancerightmargin: Margins. (line 26) +* advancetopmargin: Margins. (line 26) * afterindexterm: Customizing indexing. (line 6) -* afterindexterm hook: Indexing commands. (line 63) +* afterindexterm hook: Indexing commands. (line 62) * AMSLaTeX: Logos. (line 10) * AMSTeX: Logos. (line 10) * arrow: Arrows and morphisms. (line 20) +* arrow <1>: Arrows and morphisms. + (line 104) * bblem: Formatting bibliographies. - (line 33) + (line 41) +* bblemph: Formatting bibliographies. + (line 45) * bblfilebasename: Citations. (line 30) * bblhook: Formatting bibliographies. - (line 55) + (line 67) * bblnewblock: Formatting bibliographies. - (line 41) + (line 53) * bblrm: Formatting bibliographies. - (line 30) + (line 38) * bblsc: Formatting bibliographies. - (line 37) + (line 49) * bcolor (hyperlink option): Link options for pdftex and dvipdfm. - (line 14) + (line 13) * bdash (hyperlink option): Link options for pdftex and dvipdfm. - (line 20) + (line 19) +* bdash (hyperlink option) <1>: Link options for pdftex and dvipdfm. + (line 32) * begin for index entries: Modifying index entries. (line 22) * beginindex hook: Typesetting an index. (line 30) -* beginlist: Formatting lists. (line 51) +* beginlist: Formatting lists. (line 50) * beginpackages: Environment for loading packages. (line 6) * begin{picture}: Packages known to work. @@ -5954,11 +5973,15 @@ Macro index * belowlistskip: Formatting lists. (line 30) * belowlistskipamount: Formatting lists. (line 10) * biarrow: Arrows and morphisms. - (line 109) + (line 110) * biblabelcontents: Formatting bibliographies. (line 23) * biblabelextraspace: Formatting bibliographies. - (line 49) + (line 61) +* biblabelpostcontents: Formatting bibliographies. + (line 30) +* biblabelprecontents: Formatting bibliographies. + (line 30) * biblabelprint: Formatting bibliographies. (line 17) * biblabelwidth: Formatting bibliographies. @@ -5968,58 +5991,58 @@ Macro index * bibliographystyle: Citations. (line 68) * BibTeX: Logos. (line 10) * bihline: Arrows and morphisms. - (line 68) + (line 69) * bimapdown: Arrows and morphisms. - (line 84) + (line 85) * bimapleft: Arrows and morphisms. - (line 59) + (line 60) * bimapright: Arrows and morphisms. - (line 56) + (line 57) * bimapup: Arrows and morphisms. - (line 87) + (line 88) * bisline: Arrows and morphisms. - (line 115) + (line 116) * bivline: Arrows and morphisms. - (line 96) + (line 97) * blackbox: Boxes. (line 7) -* blanklineskipamount in justified text: Justification. (line 24) +* blanklineskipamount in justified text: Justification. (line 23) * blanklineskipamount in obeyed text: Obeying spaces. (line 16) -* bottom (destination option) <1>: Destination options for pdftex and dvipdfm. - (line 56) * bottom (destination option): Destination types for pdftex and dvipdfm. (line 65) -* bottommargin: Margins. (line 18) -* boxit: Boxes. (line 29) -* boxitspace: Boxes. (line 31) +* bottom (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 56) +* bottommargin: Margins. (line 17) +* boxit: Boxes. (line 28) +* boxitspace: Boxes. (line 30) * bstyle (hyperlink option): Link options for pdftex and dvipdfm. - (line 26) + (line 25) * bwidth (hyperlink option): Link options for pdftex and dvipdfm. - (line 50) + (line 49) * catcode: Category codes. (line 13) * center: Justification. (line 7) * centereddisplays: Displays. (line 13) -* channelwidth <1>: Commutative diagram parameters. - (line 36) * channelwidth: Arrows and morphisms. (line 119) +* channelwidth <1>: Commutative diagram parameters. + (line 36) * cite: Citations. (line 42) * cite (hyperlinks): Citation hyperlinks. (line 6) -* cmd (destination option) <1>: Destination options for pdftex and dvipdfm. +* cmd (destination option): Destination types for hypertex. (line 14) +* cmd (destination option) <1>: Destination options for hypertex. + (line 7) * cmd (destination option) <2>: Destination types for pdftex and dvipdfm. (line 83) -* cmd (destination option) <3>: Destination options for hypertex. - (line 7) -* cmd (destination option): Destination types for hypertex. +* cmd (destination option) <3>: Destination options for pdftex and dvipdfm. (line 14) -* cmd (hyperlink option) <1>: Link options for pdftex and dvipdfm. - (line 56) -* cmd (hyperlink option) <2>: Link types for pdftex and dvipdfm. - (line 67) -* cmd (hyperlink option) <3>: Link options for hypertex. - (line 7) * cmd (hyperlink option): Link types for hypertex. - (line 38) + (line 39) +* cmd (hyperlink option) <1>: Link options for hypertex. + (line 7) +* cmd (hyperlink option) <2>: Link types for pdftex and dvipdfm. + (line 66) +* cmd (hyperlink option) <3>: Link options for pdftex and dvipdfm. + (line 56) * color (hyperlink option): Options supported by all drivers. (line 37) * colormodel (hyperlink option): Options supported by all drivers. @@ -6027,28 +6050,28 @@ Macro index * columnfill: Multiple columns. (line 14) * commdiag: Construction of commutative diagrams. (line 9) -* commdiagbaselines <1>: Commutative diagram parameters. - (line 43) * commdiagbaselines: Construction of commutative diagrams. (line 64) +* commdiagbaselines <1>: Commutative diagram parameters. + (line 43) * csn: \csn and \ece. (line 6) * definecolor: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * definecontentsfile: Alternative contents files. (line 6) -* defineindex: Indexing. (line 37) -* definexref <1>: Hyperlinks (xhyper.tex). - (line 6) +* defineindex: Indexing. (line 36) * definexref: Defining generic references. (line 6) +* definexref <1>: Hyperlinks (xhyper.tex). + (line 7) * definexref (hyperlinks): Cross-reference hyperlinks. (line 6) -* depth (destination option) <1>: Destination options for pdftex and dvipdfm. - (line 34) * depth (destination option): Destination types for pdftex and dvipdfm. (line 61) +* depth (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 34) * depth (hyperlink option): Link options for pdftex and dvipdfm. - (line 124) + (line 122) * discretionaries: Paths. (line 20) * displaylines: Displays. (line 18) * dospecials: Verbatim listing. (line 57) @@ -6063,28 +6086,31 @@ Macro index * ece: \csn and \ece. (line 10) * edefappend: \edefappend. (line 6) * ehrule: Rules. (line 17) -* enablehyperlinks <1>: Hyperlink driver nolinks. - (line 48) -* enablehyperlinks <2>: Choosing destination placement. - (line 7) +* em: Commands from LaTeX. (line 25) +* emph: Commands from LaTeX. (line 25) * enablehyperlinks: Introduction to hyperlinks. (line 42) +* enablehyperlinks <1>: Choosing destination placement. + (line 7) +* enablehyperlinks <2>: Hyperlink driver nolinks. + (line 48) * end for index entries: Modifying index entries. (line 22) -* endlist: Formatting lists. (line 53) -* endnumberedlist: Lists. (line 14) -* endorderedlist: Lists. (line 14) +* endlist: Formatting lists. (line 52) +* endnumberedlist: Lists. (line 13) +* endorderedlist: Lists. (line 13) * endpackages: Environment for loading packages. (line 6) -* endunorderedlist: Lists. (line 22) +* endunorderedlist: Lists. (line 20) * end{picture}: Packages known to work. (line 14) * end{theindex}: Typesetting an index. (line 17) * eplain: Invoking Eplain. (line 30) * eplaininput: Environment for loading packages. - (line 28) + (line 24) * eqalignno: Displays. (line 18) +* eqalignno <1>: Displays. (line 23) * eqalignnum: Displays. (line 23) * eqconstruct: Formatting equation references. (line 21) @@ -6095,17 +6121,18 @@ Macro index * eqdefn (hyperlinks): Equation reference hyperlinks. (line 6) * eqno: Displays. (line 23) -* eqnum <1>: Equation references. (line 15) * eqnum: Displays. (line 23) +* eqnum <1>: Equation references. (line 15) +* eqnum <2>: Equation references. (line 38) * eqnumber: Equation references. (line 8) * eqprint: Formatting equation references. (line 12) +* eqref: Equation references. (line 46) * eqref <1>: Equation reference hyperlinks. (line 20) -* eqref: Equation references. (line 46) +* eqrefn: Equation references. (line 51) * eqrefn <1>: Equation reference hyperlinks. (line 20) -* eqrefn: Equation references. (line 52) * eqsubdef: Subequation references. (line 11) * eqsubdef (hyperlinks): Equation reference hyperlinks. @@ -6120,26 +6147,28 @@ Macro index * everyfootnote: Footnotes. (line 35) * evrule: Rules. (line 18) * expandonce: \expandonce. (line 6) -* ext (hyperlink option) <1>: Link options for hypertex. - (line 20) * ext (hyperlink option): Link types for hypertex. (line 23) +* ext (hyperlink option) <1>: Link options for hypertex. + (line 20) * ExTeX: Logos. (line 10) -* file (hyperlink option) <1>: Link options for pdftex and dvipdfm. - (line 63) -* file (hyperlink option) <2>: Link types for pdftex and dvipdfm. - (line 41) -* file (hyperlink option) <3>: Link options for hypertex. - (line 14) * file (hyperlink option): Link types for hypertex. (line 22) -* fileexists (conditional): Auxiliary files. (line 10) -* filename (hyperlink type) <1>: Link types for pdftex and dvipdfm. +* file (hyperlink option) <1>: Link options for hypertex. + (line 14) +* file (hyperlink option) <2>: Link types for pdftex and dvipdfm. (line 40) +* file (hyperlink option) <3>: Link types for pdftex and dvipdfm. + (line 52) +* file (hyperlink option) <4>: Link options for pdftex and dvipdfm. + (line 63) +* fileexists (conditional): Auxiliary files. (line 10) * filename (hyperlink type): Link types for hypertex. (line 21) +* filename (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 39) * filepage (hyperlink type): Link types for pdftex and dvipdfm. - (line 52) + (line 51) * fit (destination type): Destination types for pdftex and dvipdfm. (line 18) * fitb (destination type): Destination types for pdftex and dvipdfm. @@ -6156,73 +6185,73 @@ Macro index (line 31) * flushleft: Justification. (line 7) * flushright: Justification. (line 7) -* fmtversion: Introduction. (line 47) +* fmtversion: Introduction. (line 50) * footnote (hyperlinks): Footnote hyperlinks. (line 7) * footnotemarkseparation: Footnotes. (line 25) * footnoteruleheight: Footnotes. (line 44) * footnoterulewidth: Footnotes. (line 44) -* For: Iteration. (line 15) * for: Iteration. (line 6) +* For: Iteration. (line 15) * frac: Fractions. (line 6) * fullmonthname: Time of day. (line 13) * futurenonspacelet: \futurenonspacelet. (line 6) * getproperty: Properties. (line 18) -* gloggingall: Diagnostics. (line 23) +* gloggingall: Diagnostics. (line 22) * gobble: Macro arguments. (line 7) * gobbletwo: Macro arguments. (line 7) * gridcommdiag: Construction of commutative diagrams. - (line 89) -* gtracingall: Diagnostics. (line 23) + (line 88) +* gtracingall: Diagnostics. (line 22) * gutter: Multiple columns. (line 23) * gutterbox: Multiple columns. (line 24) * hangindent for index entries: Typesetting an index. (line 45) -* harrowlength <1>: Commutative diagram parameters. - (line 11) * harrowlength: Arrows and morphisms. (line 27) +* harrowlength <1>: Commutative diagram parameters. + (line 11) * hchannel: Commutative diagram parameters. (line 39) -* height (destination option) <1>: Destination options for pdftex and dvipdfm. - (line 37) * height (destination option): Destination types for pdftex and dvipdfm. (line 60) +* height (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 37) * height (hyperlink option): Link options for pdftex and dvipdfm. - (line 127) + (line 125) +* hgrid: Construction of commutative diagrams. + (line 108) * hgrid <1>: Commutative diagram parameters. (line 47) -* hgrid: Construction of commutative diagrams. - (line 109) -* hldest <1>: Setting hyperlink types and options. - (line 7) -* hldest <2>: Destination types for pdftex and dvipdfm. - (line 87) -* hldest <3>: Destination types for hypertex. - (line 17) * hldest: Explicit hyperlinks. (line 6) -* hldestoff <1>: Turning low-level commands on/off. - (line 6) +* hldest <1>: Destination types for hypertex. + (line 17) +* hldest <2>: Destination types for pdftex and dvipdfm. + (line 86) +* hldest <3>: Setting hyperlink types and options. + (line 7) * hldestoff: Hyperlink driver nolinks. (line 10) -* hldeston: Turning low-level commands on/off. +* hldestoff <1>: Turning low-level commands on/off. (line 6) -* hldestopts <1>: Hyperlinks (xhyper.tex). +* hldeston: Turning low-level commands on/off. (line 6) -* hldestopts <2>: Setting group options. - (line 11) * hldestopts: Setting default types and options. (line 15) -* hldesttype <1>: Hyperlinks (xhyper.tex). - (line 6) -* hldesttype <2>: Setting group types. (line 6) +* hldestopts <1>: Setting group options. + (line 10) +* hldestopts <2>: Hyperlinks (xhyper.tex). + (line 7) * hldesttype: Setting default types and options. (line 6) -* hlend <1>: Hyperlinks (xhyper.tex). - (line 6) +* hldesttype <1>: Setting group types. (line 6) +* hldesttype <2>: Hyperlinks (xhyper.tex). + (line 7) * hlend: Explicit hyperlinks. (line 25) +* hlend <1>: Hyperlinks (xhyper.tex). + (line 7) * hlfootbacklabel: Footnote hyperlinks. (line 12) * hlfootlabel: Footnote hyperlinks. (line 12) -* hlfootlabelnumber: Footnote hyperlinks. (line 14) +* hlfootlabelnumber: Footnote hyperlinks. (line 15) * hlhash: Link types for hypertex. (line 40) * hlidx: Exact destinations for index terms. @@ -6238,64 +6267,64 @@ Macro index * hlight (hyperlink option): Link options for pdftex and dvipdfm. (line 69) * hlightcommentslisting: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) + (line 7) * hline: Arrows and morphisms. - (line 53) -* hloff <1>: Turning low-level commands on/off. - (line 6) + (line 54) * hloff: Hyperlink driver nolinks. (line 10) -* hlon: Turning low-level commands on/off. +* hloff <1>: Turning low-level commands on/off. (line 6) -* hlopts <1>: Hyperlinks (xhyper.tex). +* hlon: Turning low-level commands on/off. (line 6) -* hlopts <2>: Setting group options. - (line 11) * hlopts: Setting default types and options. (line 15) -* hlstart <1>: Hyperlinks (xhyper.tex). - (line 6) -* hlstart <2>: Setting hyperlink types and options. +* hlopts <1>: Setting group options. + (line 10) +* hlopts <2>: Hyperlinks (xhyper.tex). (line 7) -* hlstart <3>: Link types for pdftex and dvipdfm. - (line 71) -* hlstart <4>: Link types for hypertex. - (line 43) * hlstart: Explicit hyperlinks. (line 25) -* hltype <1>: Setting group types. (line 6) +* hlstart <1>: Link types for hypertex. + (line 43) +* hlstart <2>: Link types for pdftex and dvipdfm. + (line 70) +* hlstart <3>: Setting hyperlink types and options. + (line 7) +* hlstart <4>: Hyperlinks (xhyper.tex). + (line 7) * hltype: Setting default types and options. (line 6) +* hltype <1>: Setting group types. (line 6) +* hmorphposn: Arrows and morphisms. + (line 32) * hmorphposn <1>: Commutative diagram parameters. (line 20) -* hmorphposn: Arrows and morphisms. - (line 33) -* hmorphposndn <1>: Commutative diagram parameters. - (line 22) * hmorphposndn: Arrows and morphisms. (line 38) +* hmorphposndn <1>: Commutative diagram parameters. + (line 22) +* hmorphposnlft: Arrows and morphisms. + (line 39) * hmorphposnlft <1>: Commutative diagram parameters. (line 23) -* hmorphposnlft: Arrows and morphisms. - (line 38) +* hmorphposnrt: Arrows and morphisms. + (line 39) * hmorphposnrt <1>: Commutative diagram parameters. (line 22) -* hmorphposnrt: Arrows and morphisms. +* hmorphposnup: Arrows and morphisms. (line 38) * hmorphposnup <1>: Commutative diagram parameters. (line 22) -* hmorphposnup: Arrows and morphisms. - (line 38) * hoffset: Proofing index terms. (line 21) -* hookaction: Hooks. (line 15) -* hookactiononce: Hooks. (line 23) -* hookappend: Hooks. (line 16) -* hookprepend: Hooks. (line 17) -* hookrun: Hooks. (line 39) +* hookaction: Hooks. (line 14) +* hookactiononce: Hooks. (line 21) +* hookappend: Hooks. (line 15) +* hookprepend: Hooks. (line 16) +* hookrun: Hooks. (line 37) * href: General hyperlinks. (line 6) * hruledefaultdepth: Rules. (line 9) * hruledefaultheight: Rules. (line 9) -* hsize: Margins. (line 34) +* hsize: Margins. (line 32) * hypertex (hyperlink driver): Hyperlink driver hypertex. (line 6) * hyphenpenalty for index entries: Typesetting an index. @@ -6308,11 +6337,11 @@ Macro index * idxargopen: Index entries with special characters. (line 73) * idxbeginrangemark: Customizing indexing. - (line 42) + (line 41) * idxencapoperator: Customizing indexing. - (line 39) + (line 38) * idxendrangemark: Customizing indexing. - (line 45) + (line 44) * idxexact: Choosing destination placement. (line 8) * idxmarked: Indexing commands. (line 29) @@ -6331,9 +6360,11 @@ Macro index * idxpagelistdelimiter: Page list and page range parsers. (line 23) * idxpagenum: Customizing indexing. - (line 51) + (line 49) * idxpagerangedelimiter: Page list and page range parsers. (line 23) +* idxpagerangedelimiter <1>: Page list and page range parsers. + (line 30) * idxparselist: Page list and page range parsers. (line 6) * idxparserange: Page list and page range parsers. @@ -6347,25 +6378,25 @@ Macro index * idxseecmdword: Customizing indexing. (line 26) * idxsubentryseparator: Customizing indexing. - (line 36) + (line 35) * idxsubmarked: Indexing commands. (line 40) * idxsubmarked (hyperlinks): Index hyperlinks. (line 6) * ifempty: \ifempty. (line 6) * iffileexists: Auxiliary files. (line 10) -* ifidx: Indexing. (line 56) +* ifidx: Indexing. (line 54) * ifindexproofing: Proofing index terms. (line 12) * ifinteger: \ifinteger and \isinteger. (line 6) -* ifpdf <1>: Introduction to hyperlinks. - (line 51) * ifpdf: Checking for PDF output. (line 10) +* ifpdf <1>: Introduction to hyperlinks. + (line 51) * ifrewritetocfile: Reading the .toc file. (line 26) * ifundefined: \ifundefined. (line 6) * includegraphics: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * indexfilebasename: Typesetting an index. (line 11) * indexfonts: Typesetting an index. @@ -6382,36 +6413,36 @@ Macro index (line 12) * indexproofunbox: Proofing index terms. (line 28) +* indexsee: Customizing indexing. + (line 53) * indexsee <1>: Hyperlinks in see and see also entries. (line 8) -* indexsee: Customizing indexing. - (line 55) +* indexseealso: Customizing indexing. + (line 53) * indexseealso <1>: Hyperlinks in see and see also entries. (line 8) -* indexseealso: Customizing indexing. - (line 55) * indexseealsowords: Customizing indexing. - (line 55) + (line 53) * indexseeword: Customizing indexing. - (line 55) + (line 53) * indexsetmargins: Proofing index terms. (line 21) * indexspace: Typesetting an index. (line 54) -* innerdef: Allocation macros. (line 26) -* innerinnerdef: Allocation macros. (line 37) +* innerdef: Allocation macros. (line 28) +* innerinnerdef: Allocation macros. (line 39) * innernewbox: Allocation macros. (line 21) * innernewcount: Allocation macros. (line 21) * innernewdimen: Allocation macros. (line 21) -* innernewfam: Allocation macros. (line 21) -* innernewhelp: Allocation macros. (line 21) -* innernewif: Allocation macros. (line 21) -* innernewinsert: Allocation macros. (line 21) -* innernewlanguage: Allocation macros. (line 21) -* innernewread: Allocation macros. (line 22) -* innernewskip: Allocation macros. (line 22) -* innernewtoks: Allocation macros. (line 22) -* innernewwrite: Allocation macros. (line 22) +* innernewfam: Allocation macros. (line 22) +* innernewhelp: Allocation macros. (line 22) +* innernewif: Allocation macros. (line 22) +* innernewinsert: Allocation macros. (line 22) +* innernewlanguage: Allocation macros. (line 23) +* innernewread: Allocation macros. (line 24) +* innernewskip: Allocation macros. (line 24) +* innernewtoks: Allocation macros. (line 24) +* innernewwrite: Allocation macros. (line 24) * input: Environment for loading packages. (line 24) * insidemargin: Proofing index terms. @@ -6427,111 +6458,135 @@ Macro index * itemnumber: Formatting lists. (line 44) * ituline: Page list and page range parsers. (line 26) -* jobname <1>: Auxiliary files. (line 9) -* jobname <2>: Typesetting an index. - (line 11) * jobname: Citations. (line 17) -* LAMSTeX: Logos. (line 10) -* LaTeX: Logos. (line 10) -* lbracechar: Category codes. (line 59) -* left (destination option) <1>: Destination options for pdftex and dvipdfm. - (line 60) +* jobname <1>: Typesetting an index. + (line 11) +* jobname <2>: Auxiliary files. (line 9) +* LAMSTeX: Logos. (line 11) +* LaTeX: Logos. (line 11) +* lbracechar: Category codes. (line 57) * left (destination option): Destination types for pdftex and dvipdfm. (line 11) +* left (destination option) <1>: Destination types for pdftex and dvipdfm. + (line 33) +* left (destination option) <2>: Destination types for pdftex and dvipdfm. + (line 54) +* left (destination option) <3>: Destination types for pdftex and dvipdfm. + (line 65) +* left (destination option) <4>: Destination options for pdftex and dvipdfm. + (line 60) * leftdisplayindent: Displays. (line 11) -* leftdisplays: Displays. (line 10) +* leftdisplays: Displays. (line 9) * leftdisplaysetup: Formatting displays. (line 8) * lefteqnumbers: Displays. (line 23) -* leftmargin: Margins. (line 18) +* leftmargin: Margins. (line 17) * leqalignno: Displays. (line 19) +* leqalignno <1>: Displays. (line 23) * leqno: Displays. (line 23) -* letreturn: Category codes. (line 41) +* letreturn: Category codes. (line 40) * letter: Category codes. (line 10) * lft: Arrows and morphisms. (line 15) -* li: Lists. (line 30) +* li: Lists. (line 27) * li (hyperlinks): List hyperlinks. (line 6) -* linenumberedlisting <1>: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) * linenumberedlisting: Verbatim listing. (line 17) -* listcompact: Lists. (line 41) -* listing <1>: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) +* linenumberedlisting <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* listcompact: Lists. (line 38) * listing: Verbatim listing. (line 7) +* listing <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) * listingfont: Verbatim listing. (line 10) * listleftindent: Formatting lists. (line 18) * listmarkerspace: Formatting lists. (line 33) * listrightindent: Formatting lists. (line 18) -* loggingall: Diagnostics. (line 12) +* loggingall: Diagnostics. (line 11) * loop: Iteration. (line 40) * makeactive: Category codes. (line 13) * makeatletter: Category codes. (line 22) -* makeatother: Category codes. (line 32) +* makeatother: Category codes. (line 31) * makeblankbox: Boxes. (line 12) * makecolumns: Tables. (line 6) * makeheadline: Proofing index terms. (line 28) * mapdown: Arrows and morphisms. (line 13) +* mapdown <1>: Arrows and morphisms. + (line 76) * mapleft: Arrows and morphisms. (line 6) +* mapleft <1>: Arrows and morphisms. + (line 51) * mapright: Arrows and morphisms. (line 6) +* mapright <1>: Arrows and morphisms. + (line 48) * mapup: Arrows and morphisms. (line 13) +* mapup <1>: Arrows and morphisms. + (line 79) * matrix: Construction of commutative diagrams. (line 10) -* MF: Logos. (line 10) +* mbox: Commands from LaTeX. (line 28) +* MF: Logos. (line 11) * monthname: Time of day. (line 10) -* morphdist <1>: Commutative diagram parameters. - (line 32) * morphdist: Arrows and morphisms. (line 33) -* name (hyperlink type) <1>: Link types for pdftex and dvipdfm. - (line 18) +* morphdist <1>: Commutative diagram parameters. + (line 32) * name (hyperlink type): Link types for hypertex. (line 7) -* new...: Allocation macros. (line 9) -* newwin (hyperlink option) <1>: Link options for pdftex and dvipdfm. - (line 90) +* name (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 18) +* new...: Allocation macros. (line 8) +* newblock: Commands from LaTeX. (line 31) +* newcommand: Commands from LaTeX. (line 18) * newwin (hyperlink option): Link types for pdftex and dvipdfm. - (line 42) -* noarrow: Invoking Eplain. (line 86) -* noauxfile: Invoking Eplain. (line 91) -* nobibtex: Invoking Eplain. (line 75) + (line 41) +* newwin (hyperlink option) <1>: Link types for pdftex and dvipdfm. + (line 53) +* newwin (hyperlink option) <2>: Link options for pdftex and dvipdfm. + (line 90) +* noarrow: Invoking Eplain. (line 84) +* noauxfile: Invoking Eplain. (line 89) +* nobibtex: Invoking Eplain. (line 73) * nocite: Citations. (line 58) -* nolastlinelisting <1>: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) * nolastlinelisting: Verbatim listing. (line 25) +* nolastlinelisting <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) * nolinks (hyperlink driver): Hyperlink driver nolinks. (line 6) * normalbaselineskip: Options supported by all drivers. (line 19) * num (hyperlink type): Link types for pdftex and dvipdfm. - (line 92) + (line 91) * numberedfootnote: Footnotes. (line 7) * numberedfootnote (hyperlinks): Footnote hyperlinks. (line 6) -* numberedlist: Lists. (line 14) +* numberedlist: Lists. (line 13) * numberedlistdepth: Formatting lists. (line 41) * numberedmarker: Formatting lists. (line 37) * numbername: Writing out numbers. (line 6) * obeywhitespace: Obeying spaces. (line 6) -* orderedlist: Lists. (line 14) +* orderedlist: Lists. (line 13) * other: Category codes. (line 10) * outer: Allocation macros. (line 12) * outsidemargin: Proofing index terms. (line 21) * page (hyperlink type): Link types for pdftex and dvipdfm. - (line 31) -* pagefit (hyperlink option) <1>: Link options for pdftex and dvipdfm. - (line 109) + (line 30) * pagefit (hyperlink option): Link types for pdftex and dvipdfm. - (line 32) + (line 31) +* pagefit (hyperlink option) <1>: Link types for pdftex and dvipdfm. + (line 41) +* pagefit (hyperlink option) <2>: Link types for pdftex and dvipdfm. + (line 53) +* pagefit (hyperlink option) <3>: Link options for pdftex and dvipdfm. + (line 107) * pageno: Proofing index terms. (line 21) * pagetotal: Multiple columns. (line 14) -* paperheight: Margins. (line 45) -* paperwidth: Margins. (line 48) +* paperheight: Margins. (line 43) +* paperwidth: Margins. (line 46) * parindent in indexes: Typesetting an index. (line 24) * path: Paths. (line 13) @@ -6539,47 +6594,49 @@ Macro index (line 20) * pdftex (hyperlink driver): Hyperlink drivers pdftex and dvipdfm. (line 6) -* percentchar: Category codes. (line 56) +* percentchar: Category codes. (line 54) * phantomeqlabel: Equation reference hyperlinks. (line 14) * phantomeqnumber: Equation reference hyperlinks. (line 14) * previouseverydisplay: Formatting displays. (line 14) * printbetweencitations: Formatting citations. - (line 21) + (line 20) * printcitefinish: Formatting citations. - (line 16) + (line 15) * printcitenote: Formatting citations. - (line 27) + (line 26) * printcitestart: Formatting citations. - (line 16) -* printitem: Formatting lists. (line 52) + (line 15) +* printitem: Formatting lists. (line 51) * printlistinglineno: Verbatim listing. (line 19) +* printlistinglineno <1>: Verbatim listing. (line 27) +* providecommand: Commands from LaTeX. (line 18) * quadcolumns: Multiple columns. (line 7) * raggedright for index entries: Typesetting an index. (line 45) -* raise (hyperlink option) <1>: Setting group options. - (line 34) * raise (hyperlink option): Options supported by all drivers. (line 13) -* raw (destination type) <1>: Destination types for pdftex and dvipdfm. - (line 81) +* raise (hyperlink option) <1>: Setting group options. + (line 33) * raw (destination type): Destination types for hypertex. (line 12) -* raw (hyperlink type) <1>: Link types for pdftex and dvipdfm. - (line 65) +* raw (destination type) <1>: Destination types for pdftex and dvipdfm. + (line 81) * raw (hyperlink type): Link types for hypertex. (line 37) -* rbracechar: Category codes. (line 60) +* raw (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 64) +* rbracechar: Category codes. (line 58) * readindexfile: Typesetting an index. (line 6) * readindexfile (hyperlinks): Index hyperlinks. (line 9) * readtocfile: Reading the .toc file. (line 6) -* ref <1>: Hyperlinks (xhyper.tex). - (line 6) * ref: Using generic references. - (line 17) + (line 16) +* ref <1>: Hyperlinks (xhyper.tex). + (line 7) * ref (hyperlinks): Cross-reference hyperlinks. (line 19) * refn: Using generic references. @@ -6587,53 +6644,59 @@ Macro index * refn (hyperlinks): Cross-reference hyperlinks. (line 14) * refs: Using generic references. - (line 23) + (line 22) * refs (hyperlinks): Cross-reference hyperlinks. (line 26) -* refspace <1>: Page reference hyperlinks. - (line 10) * refspace: Cross-reference hyperlinks. (line 24) -* reftie <1>: Equation reference hyperlinks. - (line 20) +* refspace <1>: Page reference hyperlinks. + (line 10) * reftie: Cross-reference hyperlinks. (line 16) +* reftie <1>: Cross-reference hyperlinks. + (line 23) +* reftie <2>: Equation reference hyperlinks. + (line 20) +* renewcommand: Commands from LaTeX. (line 18) * repeat: Iteration. (line 42) -* resetatcatcode: Category codes. (line 23) +* resetatcatcode: Environment for loading packages. + (line 35) +* resetatcatcode <1>: Category codes. (line 23) * rewritetocfile (conditional): Reading the .toc file. (line 26) +* right (destination option): Destination types for pdftex and dvipdfm. + (line 66) * right (destination option) <1>: Destination options for pdftex and dvipdfm. (line 64) -* right (destination option): Destination types for pdftex and dvipdfm. - (line 65) * righteqnumbers: Displays. (line 23) -* rightmargin: Margins. (line 18) +* rightmargin: Margins. (line 17) * rotatebox: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * rt: Arrows and morphisms. (line 14) * sanitize: Converting to characters. (line 22) -* sarrowlength <1>: Commutative diagram parameters. - (line 17) * sarrowlength: Arrows and morphisms. (line 28) -* see for index entries <1>: Customizing indexing. - (line 64) +* sarrowlength <1>: Commutative diagram parameters. + (line 17) +* sc: Commands from LaTeX. (line 25) * see for index entries: Modifying index entries. (line 36) +* see for index entries <1>: Customizing indexing. + (line 62) * seealso for index entries: Modifying index entries. (line 49) * seevariant: Customizing indexing. - (line 55) + (line 53) * setidxpagelistdelimiter: Page list and page range parsers. (line 14) * setidxpagerangedelimiter: Page list and page range parsers. (line 14) * setproperty: Properties. (line 13) -* setuplistinghook <1>: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) * setuplistinghook: Verbatim listing. (line 13) +* setuplistinghook <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) * sidx: Indexing commands. (line 8) * sidxmarked: Indexing commands. (line 29) * sidxname: Indexing commands. (line 19) @@ -6641,7 +6704,9 @@ Macro index * singlecolumn: Multiple columns. (line 9) * sline: Arrows and morphisms. (line 23) -* SLiTeX: Logos. (line 10) +* sline <1>: Arrows and morphisms. + (line 107) +* SLiTeX: Logos. (line 11) * special: Introduction to hyperlinks. (line 9) * specialpathdelimiters (conditional): Paths. (line 28) @@ -6653,90 +6718,99 @@ Macro index (line 35) * testfileexistence: Auxiliary files. (line 8) * TeX: Logos. (line 6) +* textbf: Commands from LaTeX. (line 25) * timestamp: Time of day. (line 18) * timestring: Time of day. (line 16) * toc...entry: Writing the .toc file. (line 9) +* toc...entry <1>: Writing the .toc file. + (line 54) * tocfilebasename: Changing the .toc file's root name. (line 10) * today: Time of day. (line 21) -* top (destination option) <1>: Destination options for pdftex and dvipdfm. - (line 68) * top (destination option): Destination types for pdftex and dvipdfm. (line 11) -* topmargin: Margins. (line 18) -* tracingall: Diagnostics. (line 9) -* tracingboxes: Diagnostics. (line 17) -* tracingoff: Diagnostics. (line 19) +* top (destination option) <1>: Destination types for pdftex and dvipdfm. + (line 25) +* top (destination option) <2>: Destination types for pdftex and dvipdfm. + (line 46) +* top (destination option) <3>: Destination types for pdftex and dvipdfm. + (line 66) +* top (destination option) <4>: Destination options for pdftex and dvipdfm. + (line 68) +* topmargin: Margins. (line 17) +* tracingall: Diagnostics. (line 8) +* tracingboxes: Diagnostics. (line 16) +* tracingoff: Diagnostics. (line 18) * triplecolumns: Multiple columns. (line 7) * tt: Packages known to work. - (line 76) + (line 77) * ttfamily: Packages known to work. (line 73) -* uncatcodespecials <1>: Category codes. (line 51) * uncatcodespecials: Verbatim listing. (line 57) -* unorderedlist: Lists. (line 22) +* uncatcodespecials <1>: Category codes. (line 49) +* unorderedlist: Lists. (line 20) * unorderedlistdepth: Formatting lists. (line 41) * unorderedmarker: Formatting lists. (line 37) * url: Hyperlinks (xhyper.tex). - (line 6) -* url (hyperlink type) <1>: Link types for pdftex and dvipdfm. - (line 25) + (line 7) * url (hyperlink type): Link types for hypertex. (line 14) +* url (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 25) * url (hyperlinks): URL hyperlinks. (line 6) * usepackage: The \usepackage command. (line 6) -* varrowlength <1>: Commutative diagram parameters. - (line 14) * varrowlength: Arrows and morphisms. (line 28) +* varrowlength <1>: Commutative diagram parameters. + (line 14) * vchannel: Commutative diagram parameters. (line 39) * verbatim: Verbatim listing. (line 34) * verbatimescapechar: Verbatim listing. (line 47) +* vgrid: Construction of commutative diagrams. + (line 108) * vgrid <1>: Commutative diagram parameters. (line 51) -* vgrid: Construction of commutative diagrams. - (line 109) * vline: Arrows and morphisms. - (line 81) -* vmorphposn <1>: Commutative diagram parameters. - (line 26) + (line 82) * vmorphposn: Arrows and morphisms. (line 33) -* vmorphposndn <1>: Commutative diagram parameters. - (line 28) +* vmorphposn <1>: Commutative diagram parameters. + (line 26) * vmorphposndn: Arrows and morphisms. (line 38) +* vmorphposndn <1>: Commutative diagram parameters. + (line 28) +* vmorphposnlft: Arrows and morphisms. + (line 40) * vmorphposnlft <1>: Commutative diagram parameters. (line 29) -* vmorphposnlft: Arrows and morphisms. +* vmorphposnrt: Arrows and morphisms. (line 39) * vmorphposnrt <1>: Commutative diagram parameters. (line 28) -* vmorphposnrt: Arrows and morphisms. +* vmorphposnup: Arrows and morphisms. (line 38) * vmorphposnup <1>: Commutative diagram parameters. (line 28) -* vmorphposnup: Arrows and morphisms. - (line 38) * vpenalty: Mode-specific penalties. (line 9) * vruledefaultwidth: Rules. (line 10) -* width (destination option) <1>: Destination options for pdftex and dvipdfm. - (line 40) * width (destination option): Destination types for pdftex and dvipdfm. (line 60) +* width (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 40) * width (hyperlink option): Link options for pdftex and dvipdfm. - (line 130) + (line 128) * writenumberedtocentry: Writing the .toc file. (line 13) * writenumberedtocline: Writing the .toc file. (line 36) * writetocentry: Writing the .toc file. (line 7) -* XeLaTeX: Logos. (line 10) +* XeLaTeX: Logos. (line 11) * XeTeX: Logos. (line 11) * xrdef: Page references. (line 10) * xrdef (hyperlinks): Page reference hyperlinks. @@ -6748,22 +6822,22 @@ Macro index (line 10) * xrefn (hyperlinks): Cross-reference hyperlinks. (line 14) +* xrefpageword: Page references. (line 18) * xrefpageword <1>: Page reference hyperlinks. (line 10) -* xrefpageword: Page references. (line 17) * xrefwarning conditional: Using generic references. - (line 15) + (line 14) * xrefwarningfalse: Citations. (line 78) * xrlabel: Converting to characters. (line 6) +* xyz (destination type): Destination types for hypertex. + (line 7) * xyz (destination type) <1>: Destination types for pdftex and dvipdfm. (line 7) -* xyz (destination type): Destination types for hypertex. +* zoom (destination option): Destination types for pdftex and dvipdfm. (line 7) * zoom (destination option) <1>: Destination options for pdftex and dvipdfm. (line 21) -* zoom (destination option): Destination types for pdftex and dvipdfm. - (line 7) File: eplain.info, Node: Concept index, Prev: Macro index, Up: Top @@ -6774,27 +6848,30 @@ Concept index * Menu: -* .aux file <1>: Cross-references. (line 11) +* *-form of LaTeX commands: Commands from LaTeX. (line 18) * .aux file: Citations. (line 17) -* .bbl file: Citations. (line 20) +* .aux file <1>: Cross-references. (line 11) +* .bbl file: Citations. (line 21) * .bib file: Citations. (line 20) * .bst files: Citations. (line 70) * .cls files: Loading LaTeX packages. (line 6) * .eps files: Packages known to work. - (line 90) -* .fmt file <1>: Invoking Eplain. (line 14) + (line 91) +* .eps files <1>: Packages known to work. + (line 100) * .fmt file: Installation. (line 27) -* .idx files <1>: Index hyperlinks. (line 14) +* .fmt file <1>: Invoking Eplain. (line 14) * .idx files: Indexing. (line 23) -* .ind files <1>: Index hyperlinks. (line 25) +* .idx files <1>: Index hyperlinks. (line 14) * .ind files: Indexing. (line 27) -* .pdf files <1>: Introduction to hyperlinks. - (line 13) -* .pdf files <2>: Packages known to work. - (line 90) +* .ind files <1>: Index hyperlinks. (line 25) * .pdf files: Checking for PDF output. (line 6) +* .pdf files <1>: Packages known to work. + (line 91) +* .pdf files <2>: Introduction to hyperlinks. + (line 13) * .ps files: Introduction to hyperlinks. (line 13) * .sty files: Loading LaTeX packages. @@ -6808,60 +6885,65 @@ Concept index * allocation macros: Allocation macros. (line 6) * alphanumeric references: Citations. (line 128) * AMSLaTeX: Logos. (line 10) -* amsppt.sty: Invoking Eplain. (line 94) +* amsppt.sty: Invoking Eplain. (line 92) * AMSTeX: Logos. (line 10) -* AMSTeX conflicts: Invoking Eplain. (line 94) +* AMSTeX conflicts: Invoking Eplain. (line 92) * arguments, ignoring: Macro arguments. (line 6) * arrows: Arrows and morphisms. (line 6) * atom: Properties. (line 6) * autopict.sty: Packages known to work. (line 12) +* avoiding boxed links: URL hyperlinks. (line 17) * avoiding boxed links <1>: Setting default types and options. (line 25) -* avoiding boxed links: URL hyperlinks. (line 17) * axuiliary files, existence of: Auxiliary files. (line 6) * backslash character: Category codes. (line 15) -* balancing of columns with \singlecolumn: Multiple columns. (line 11) -* Berry, Karl: Introduction. (line 28) +* balancing of columns with '\singlecolumn': Multiple columns. + (line 11) +* Berry, Karl: Introduction. (line 30) * beveled hyperlink border: Link options for pdftex and dvipdfm. - (line 26) + (line 25) * bibliographies: Citations. (line 6) * bibliography fonts: Formatting bibliographies. - (line 30) + (line 38) * bibliography items, extra space between: Formatting bibliographies. - (line 55) + (line 67) * bibliography, formatting the: Formatting bibliographies. (line 6) * bibliography, hyperlinks: Citation hyperlinks. (line 11) -* BibTeX <1>: Logos. (line 10) +* bibtex: Invoking Eplain. (line 103) * BibTeX: Citations. (line 9) -* bibtex: Invoking Eplain. (line 105) +* BibTeX <1>: Logos. (line 10) * black boxes: Boxes. (line 6) * Borceux, Francis: Construction of commutative diagrams. - (line 80) + (line 79) * border color, hyperlink: Link options for pdftex and dvipdfm. - (line 14) + (line 13) * border style, hyperlink: Link options for pdftex and dvipdfm. - (line 20) + (line 19) +* border style, hyperlink <1>: Link options for pdftex and dvipdfm. + (line 25) * border width, hyperlink: Link options for pdftex and dvipdfm. - (line 50) + (line 49) * Bott, Raoul: Construction of commutative diagrams. (line 13) +* boxed links, avoiding: URL hyperlinks. (line 17) * boxed links, avoiding <1>: Setting default types and options. (line 25) -* boxed links, avoiding: URL hyperlinks. (line 17) * boxes, open: Boxes. (line 12) * braces, inside index entries: Index entries with special characters. (line 63) * brackets, inside index entries: Index entries with special characters. - (line 86) + (line 85) * Brockett, Roger W.: Construction of commutative diagrams. (line 38) * Butterfly Lemma: Construction of commutative diagrams. - (line 122) + (line 121) * Carlisle, David: Loading LaTeX packages. (line 14) +* catcode of '@': Environment for loading packages. + (line 35) * category codes: Category codes. (line 6) * centering: Justification. (line 6) * characters, converting to: Converting to characters. @@ -6877,43 +6959,43 @@ Concept index * color: Packages known to work. (line 25) * color, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * color, hyperlink border: Link options for pdftex and dvipdfm. - (line 14) -* color, hyperlinks <1>: Setting default types and options. - (line 25) -* color, hyperlinks <2>: Options supported by all drivers. - (line 37) + (line 13) * color, hyperlinks: URL hyperlinks. (line 17) +* color, hyperlinks <1>: Options supported by all drivers. + (line 37) +* color, hyperlinks <2>: Setting default types and options. + (line 25) * color, problems with pdfTeX: Packages known to work. (line 29) -* color.sty <1>: Hyperlinks (xhyper.tex). - (line 6) -* color.sty <2>: Setting default types and options. - (line 27) -* color.sty <3>: Hyperlink driver nolinks. - (line 34) -* color.sty <4>: URL hyperlinks. (line 18) * color.sty: Packages known to work. (line 21) -* colored links <1>: Setting default types and options. - (line 25) -* colored links <2>: Options supported by all drivers. - (line 37) +* color.sty <1>: URL hyperlinks. (line 18) +* color.sty <2>: Hyperlink driver nolinks. + (line 34) +* color.sty <3>: Setting default types and options. + (line 27) +* color.sty <4>: Hyperlinks (xhyper.tex). + (line 7) * colored links: URL hyperlinks. (line 17) -* column balancing with \singlecolumn: Multiple columns. (line 11) +* colored links <1>: Options supported by all drivers. + (line 37) +* colored links <2>: Setting default types and options. + (line 25) +* column balancing with '\singlecolumn': Multiple columns. (line 11) * column eject: Multiple columns. (line 14) * commas after index terms: Customizing indexing. (line 6) * commas in cross-referencing index entries: Customizing indexing. - (line 64) + (line 62) * comments, highlighting in listings: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) + (line 7) * commutative diagrams: Commutative diagrams. (line 6) * contents: Contents. (line 6) * contents, and verbatim text: Writing the .toc file. - (line 50) + (line 49) * contents, hyperlinks: Contents hyperlinks. (line 6) * ConTeXt: Packages known to work. (line 29) @@ -6922,189 +7004,227 @@ Concept index * covering homotopy property: Construction of commutative diagrams. (line 13) * cross-references: Cross-references. (line 6) -* cross-references, defining general <1>: Using generic references. - (line 6) * cross-references, defining general: Defining generic references. (line 6) -* cross-references, demo: Hyperlinks (xhyper.tex). +* cross-references, defining general <1>: Using generic references. (line 6) +* cross-references, demo: Hyperlinks (xhyper.tex). + (line 7) * cross-references, hyperlinks: Cross-reference hyperlinks. (line 6) -* cross-referencing index entries <1>: Customizing indexing. - (line 64) * cross-referencing index entries: Modifying index entries. (line 36) -* CTRL-L, and verbatim listing: Verbatim listing. (line 30) +* cross-referencing index entries <1>: Customizing indexing. + (line 62) +* 'CTRL-L', and verbatim listing: Verbatim listing. (line 30) * cube: Construction of commutative diagrams. - (line 90) + (line 89) * customizing indexing: Customizing indexing. (line 6) * dashed hyperlink border: Link options for pdftex and dvipdfm. - (line 20) + (line 19) +* dashed hyperlink border <1>: Link options for pdftex and dvipdfm. + (line 25) * date: Time of day. (line 6) -* default hyperlink options <1>: Setting group types. (line 17) * default hyperlink options: Setting hyperlink types and options. (line 6) -* default hyperlink type <1>: Setting group types. (line 17) +* default hyperlink options <1>: Setting group types. (line 17) * default hyperlink type: Setting hyperlink types and options. (line 6) -* defining general references <1>: Using generic references. - (line 6) +* default hyperlink type <1>: Setting group types. (line 17) * defining general references: Defining generic references. (line 6) -* definitions, global: Category codes. (line 38) +* defining general references <1>: Using generic references. + (line 6) +* definitions, global: Category codes. (line 37) * demo files: Demo files. (line 6) * destgroup: Implicit hyperlinks. (line 10) -* destgroup `bib': Citation hyperlinks. (line 11) -* destgroup `definexref': Cross-reference hyperlinks. - (line 6) -* destgroup `eq': Equation reference hyperlinks. - (line 6) -* destgroup `foot': Footnote hyperlinks. (line 6) -* destgroup `footback': Footnote hyperlinks. (line 6) -* destgroup `idx': Index hyperlinks. (line 6) -* destgroup `li': List hyperlinks. (line 6) -* destgroup `xrdef': Page reference hyperlinks. - (line 6) -* destgroup options <1>: Setting group options. - (line 6) * destgroup options: Setting hyperlink types and options. (line 12) -* destgroup options, demo: Hyperlinks (xhyper.tex). +* destgroup options <1>: Setting group options. (line 6) -* destgroup type <1>: Setting group types. (line 6) +* destgroup options, demo: Hyperlinks (xhyper.tex). + (line 7) * destgroup type: Setting hyperlink types and options. (line 12) +* destgroup type <1>: Setting group types. (line 6) * destgroup type, demo: Hyperlinks (xhyper.tex). + (line 7) +* destgroup 'bib': Citation hyperlinks. (line 11) +* destgroup 'definexref': Cross-reference hyperlinks. + (line 6) +* destgroup 'eq': Equation reference hyperlinks. + (line 6) +* destgroup 'foot': Footnote hyperlinks. (line 6) +* destgroup 'footback': Footnote hyperlinks. (line 6) +* destgroup 'idx': Index hyperlinks. (line 6) +* destgroup 'li': List hyperlinks. (line 6) +* destgroup 'xrdef': Page reference hyperlinks. (line 6) * destination group: Implicit hyperlinks. (line 10) * destination options: Introduction to hyperlinks. (line 105) * destination options, common: Options supported by all drivers. (line 12) -* destination options, dvipdfm: Destination options for pdftex and dvipdfm. +* destination options, 'dvipdfm': Destination options for pdftex and dvipdfm. (line 6) -* destination options, hypertex: Destination options for hypertex. +* destination options, 'hypertex': Destination options for hypertex. (line 6) -* destination options, pdftex: Destination options for pdftex and dvipdfm. +* destination options, 'pdftex': Destination options for pdftex and dvipdfm. (line 6) * destination type: Introduction to hyperlinks. (line 88) -* destination types, dvipdfm: Destination types for pdftex and dvipdfm. +* destination types, 'dvipdfm': Destination types for pdftex and dvipdfm. (line 6) -* destination types, hypertex: Destination types for hypertex. +* destination types, 'hypertex': Destination types for hypertex. (line 6) -* destination types, pdftex: Destination types for pdftex and dvipdfm. +* destination types, 'pdftex': Destination types for pdftex and dvipdfm. (line 6) -* destinations, default options <1>: Setting group types. (line 17) * destinations, default options: Setting hyperlink types and options. (line 6) -* destinations, default type <1>: Setting group types. (line 17) +* destinations, default options <1>: Setting group types. (line 17) * destinations, default type: Setting hyperlink types and options. (line 6) +* destinations, default type <1>: Setting group types. (line 17) * destinations, dimensions: Destination options for pdftex and dvipdfm. (line 34) -* destinations, disabling <1>: Turning hyperlinks on/off. - (line 6) +* destinations, dimensions <1>: Destination options for pdftex and dvipdfm. + (line 37) +* destinations, dimensions <2>: Destination options for pdftex and dvipdfm. + (line 40) +* destinations, dimensions <3>: Destination options for pdftex and dvipdfm. + (line 56) +* destinations, dimensions <4>: Destination options for pdftex and dvipdfm. + (line 60) +* destinations, dimensions <5>: Destination options for pdftex and dvipdfm. + (line 64) +* destinations, dimensions <6>: Destination options for pdftex and dvipdfm. + (line 68) * destinations, disabling: Hyperlink driver nolinks. (line 6) -* destinations, group options <1>: Setting group options. +* destinations, disabling <1>: Turning hyperlinks on/off. (line 6) * destinations, group options: Setting hyperlink types and options. (line 12) -* destinations, group options, demo: Hyperlinks (xhyper.tex). +* destinations, group options <1>: Setting group options. (line 6) -* destinations, group type <1>: Setting group types. (line 6) +* destinations, group options, demo: Hyperlinks (xhyper.tex). + (line 7) * destinations, group type: Setting hyperlink types and options. (line 12) +* destinations, group type <1>: Setting group types. (line 6) * destinations, group type, demo: Hyperlinks (xhyper.tex). - (line 6) -* destinations, in another file <1>: Link types for pdftex and dvipdfm. - (line 40) + (line 7) * destinations, in another file: Link types for hypertex. (line 21) -* destinations, large operators <1>: Setting group options. - (line 34) +* destinations, in another file <1>: Link types for pdftex and dvipdfm. + (line 39) +* destinations, in another file <2>: Link types for pdftex and dvipdfm. + (line 51) * destinations, large operators: Options supported by all drivers. (line 27) +* destinations, large operators <1>: Setting group options. + (line 33) * destinations, magnification: Destination options for pdftex and dvipdfm. (line 21) -* destinations, named <1>: Link types for pdftex and dvipdfm. - (line 18) * destinations, named: Link types for hypertex. (line 7) +* destinations, named <1>: Link types for pdftex and dvipdfm. + (line 18) * destinations, numbered: Link types for pdftex and dvipdfm. - (line 92) + (line 91) * destinations, page: Link types for pdftex and dvipdfm. - (line 31) + (line 30) * destinations, raising: Options supported by all drivers. (line 13) -* destinations, URL <1>: Link types for pdftex and dvipdfm. - (line 25) * destinations, URL: Link types for hypertex. (line 14) +* destinations, URL <1>: Link types for pdftex and dvipdfm. + (line 25) * detecting numbers: \ifinteger and \isinteger. (line 6) * diagnostics: Diagnostics. (line 6) * Diagram, macros for LaTeX: Construction of commutative diagrams. - (line 80) + (line 79) * dimensions, hyperlink: Link options for pdftex and dvipdfm. - (line 124) + (line 122) +* dimensions, hyperlink <1>: Link options for pdftex and dvipdfm. + (line 125) +* dimensions, hyperlink <2>: Link options for pdftex and dvipdfm. + (line 128) * dimensions, hyperlink destination: Destination options for pdftex and dvipdfm. (line 34) -* disabling hyperlinks <1>: Turning hyperlinks on/off. - (line 6) +* dimensions, hyperlink destination <1>: Destination options for pdftex and dvipdfm. + (line 37) +* dimensions, hyperlink destination <2>: Destination options for pdftex and dvipdfm. + (line 40) +* dimensions, hyperlink destination <3>: Destination options for pdftex and dvipdfm. + (line 56) +* dimensions, hyperlink destination <4>: Destination options for pdftex and dvipdfm. + (line 60) +* dimensions, hyperlink destination <5>: Destination options for pdftex and dvipdfm. + (line 64) +* dimensions, hyperlink destination <6>: Destination options for pdftex and dvipdfm. + (line 68) * disabling hyperlinks: Hyperlink driver nolinks. (line 6) -* disabling indexes: Indexing. (line 56) -* displayed math and hyperlinks <1>: Setting group options. - (line 34) +* disabling hyperlinks <1>: Turning hyperlinks on/off. + (line 6) +* disabling indexes: Indexing. (line 54) * displayed math and hyperlinks: Options supported by all drivers. (line 27) +* displayed math and hyperlinks <1>: Setting group options. + (line 33) * displays, left-justifying: Displays. (line 6) * do...while loops: Iteration. (line 6) * double column output: Multiple columns. (line 6) * double columns in indexes: Typesetting an index. (line 24) -* draft, option for graphics.sty: Packages known to work. +* 'draft', option for 'graphics.sty': Packages known to work. (line 69) -* driver dvipdfm: Hyperlink drivers pdftex and dvipdfm. +* driver 'dvipdfm': Hyperlink drivers pdftex and dvipdfm. (line 6) -* driver hypertex: Hyperlink driver hypertex. +* driver 'hypertex': Hyperlink driver hypertex. (line 6) -* driver nolinks: Hyperlink driver nolinks. +* driver 'nolinks': Hyperlink driver nolinks. (line 6) -* driver pdftex: Hyperlink drivers pdftex and dvipdfm. +* driver 'pdftex': Hyperlink drivers pdftex and dvipdfm. (line 6) * drivers, hyperlink: Introduction to hyperlinks. (line 6) -* dvipdfm <1>: Hyperlink driver hypertex. - (line 13) * dvipdfm: Introduction to hyperlinks. (line 36) -* dvipdfm, destination options: Destination options for pdftex and dvipdfm. +* dvipdfm <1>: Hyperlink driver hypertex. + (line 13) +* dvipdfm <2>: Hyperlink driver hypertex. + (line 47) +* 'dvipdfm', destination options: Destination options for pdftex and dvipdfm. (line 6) -* dvipdfm, destination types: Destination types for pdftex and dvipdfm. +* 'dvipdfm', destination types: Destination types for pdftex and dvipdfm. (line 6) -* dvipdfm, hyperlink driver: Hyperlink drivers pdftex and dvipdfm. +* 'dvipdfm', hyperlink driver: Hyperlink drivers pdftex and dvipdfm. (line 6) -* dvipdfm, link options: Link options for pdftex and dvipdfm. +* 'dvipdfm', link options: Link options for pdftex and dvipdfm. (line 6) -* dvipdfm, link types: Link types for pdftex and dvipdfm. +* 'dvipdfm', link types: Link types for pdftex and dvipdfm. (line 6) * dvips: Hyperlink driver hypertex. (line 13) +* dvips <1>: Hyperlink driver hypertex. + (line 32) * Eijkhout, Victor: Iteration. (line 61) * eject in multicolumns: Multiple columns. (line 14) -* electronic mail addresses, breaking <1>: Packages known to work. - (line 120) * electronic mail addresses, breaking: Paths. (line 6) +* electronic mail addresses, breaking <1>: Packages known to work. + (line 121) * empty argument, checking for: \ifempty. (line 6) * empty equation labels: Equation references. (line 22) * empty equation labels, referring to: Equation references. (line 27) * empty string, checking for: \ifempty. (line 6) * Encapsulated PostScript: Packages known to work. - (line 90) + (line 91) +* Encapsulated PostScript <1>: Packages known to work. + (line 100) * environments, user-defined: User-defined environments. (line 6) * Eplain, installing: Installation. (line 6) @@ -7114,12 +7234,14 @@ Concept index * eplain.aux: Installation. (line 40) * eplain.fmt: Installation. (line 27) * EPS: Packages known to work. - (line 90) + (line 91) +* EPS <1>: Packages known to work. + (line 100) * epstopdf: Packages known to work. - (line 90) + (line 91) * epstopdf.sty: Packages known to work. - (line 88) -* equation labels, characters valid in: Equation references. (line 56) + (line 89) +* equation labels, characters valid in: Equation references. (line 54) * equation numbers, formatting of: Formatting equation references. (line 6) * equation numbers, left-alignment: Displays. (line 6) @@ -7130,9 +7252,9 @@ Concept index (line 6) * equations, numbering: Equation references. (line 6) * equations, references to: Equation references. (line 6) -* error messages: Diagnostics. (line 25) -* error on \input: Environment for loading packages. - (line 35) +* error messages: Diagnostics. (line 24) +* error on '\input': Environment for loading packages. + (line 41) * escape character, changing verbatim: Verbatim listing. (line 47) * eTeX: Logos. (line 10) * exact index hyperlinks: Exact destinations for index terms. @@ -7140,19 +7262,21 @@ Concept index * expansion, one-level: \expandonce. (line 6) * explicit hyperlinks: Explicit hyperlinks. (line 6) * explicit hyperlinks, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * ExTeX: Logos. (line 10) -* file, hyperlink to <1>: Link types for pdftex and dvipdfm. - (line 40) * file, hyperlink to: Link types for hypertex. (line 21) -* file: links: General hyperlinks. (line 37) -* filenames, breaking <1>: Packages known to work. - (line 120) +* file, hyperlink to <1>: Link types for pdftex and dvipdfm. + (line 39) +* file, hyperlink to <2>: Link types for pdftex and dvipdfm. + (line 51) +* 'file:' links: General hyperlinks. (line 37) * filenames, breaking: Paths. (line 6) +* filenames, breaking <1>: Packages known to work. + (line 121) * files, verbatim listing of: Verbatim listing. (line 6) * files, verbatim listing of, demo: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) + (line 7) * filtering index entries with hyperlinks: Exact destinations for index terms. (line 33) * footnotes, hyperlinks: Footnote hyperlinks. (line 6) @@ -7166,177 +7290,201 @@ Concept index * fractions: Fractions. (line 6) * Ghostscript: Hyperlink driver hypertex. (line 13) +* Ghostscript <1>: Hyperlink driver hypertex. + (line 35) * gobbling arguments: Macro arguments. (line 6) * golden mean: Construction of commutative diagrams. (line 59) +* golden mean <1>: Construction of commutative diagrams. + (line 59) * Graham, Ronald L.: Citations. (line 91) -* graphics collection, LaTeX <1>: Hyperlink driver nolinks. - (line 34) -* graphics collection, LaTeX <2>: Packages known to work. - (line 25) * graphics collection, LaTeX: Loading LaTeX packages. (line 14) +* graphics collection, LaTeX <1>: Packages known to work. + (line 25) +* graphics collection, LaTeX <2>: Hyperlink driver nolinks. + (line 34) * graphics collection, LaTeX, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * graphics, omitting typesetting of: Packages known to work. (line 69) * graphics, problems with pdfTeX: Packages known to work. (line 29) * graphics.sty: Packages known to work. (line 22) -* graphicx.sty <1>: Hyperlinks (xhyper.tex). - (line 6) * graphicx.sty: Packages known to work. (line 23) +* graphicx.sty <1>: Hyperlinks (xhyper.tex). + (line 7) * grid: Construction of commutative diagrams. - (line 80) -* group `' (empty): Setting group types. (line 17) -* group `*': Setting group types. (line 26) -* group `bib': Citation hyperlinks. (line 11) -* group `cite': Citation hyperlinks. (line 6) -* group `definexref': Cross-reference hyperlinks. - (line 6) -* group `eq' <1>: Setting group options. - (line 35) -* group `eq': Equation reference hyperlinks. - (line 6) -* group `foot': Footnote hyperlinks. (line 6) -* group `footback': Footnote hyperlinks. (line 6) -* group `hrefext': General hyperlinks. (line 21) -* group `hrefint': General hyperlinks. (line 12) -* group `idx': Index hyperlinks. (line 6) -* group `li': List hyperlinks. (line 6) -* group `ref': Cross-reference hyperlinks. - (line 11) -* group `url': URL hyperlinks. (line 6) -* group `xrdef': Page reference hyperlinks. - (line 6) -* group `xref': Page reference hyperlinks. - (line 10) + (line 79) * group option list: Setting group options. - (line 49) -* group options, hyperlink <1>: Setting group options. - (line 6) + (line 48) * group options, hyperlink: Setting hyperlink types and options. (line 12) -* group options, hyperlink, demo: Hyperlinks (xhyper.tex). +* group options, hyperlink <1>: Setting group options. (line 6) -* group type, hyperlink <1>: Setting group types. (line 6) +* group options, hyperlink, demo: Hyperlinks (xhyper.tex). + (line 7) * group type, hyperlink: Setting hyperlink types and options. (line 12) +* group type, hyperlink <1>: Setting group types. (line 6) * group type, hyperlink, demo: Hyperlinks (xhyper.tex). + (line 7) +* group '' (empty): Setting group types. (line 17) +* group '*': Setting group types. (line 26) +* group 'bib': Citation hyperlinks. (line 11) +* group 'cite': Citation hyperlinks. (line 6) +* group 'definexref': Cross-reference hyperlinks. + (line 6) +* group 'eq': Equation reference hyperlinks. + (line 6) +* group 'eq' <1>: Equation reference hyperlinks. + (line 20) +* group 'eq' <2>: Setting group options. + (line 34) +* group 'foot': Footnote hyperlinks. (line 6) +* group 'footback': Footnote hyperlinks. (line 6) +* group 'hrefext': General hyperlinks. (line 21) +* group 'hrefint': General hyperlinks. (line 12) +* group 'idx': Index hyperlinks. (line 6) +* group 'li': List hyperlinks. (line 6) +* group 'ref': Cross-reference hyperlinks. + (line 11) +* group 'url': URL hyperlinks. (line 6) +* group 'xrdef': Page reference hyperlinks. (line 6) +* group 'xref': Page reference hyperlinks. + (line 10) * group, destination: Implicit hyperlinks. (line 10) * group, disabling hyperlinks: Turning hyperlinks on/off for a group. (line 6) * group, link: Implicit hyperlinks. (line 10) * group, preserving option list: Setting group options. - (line 22) + (line 21) * groups, specifying all: Setting group types. (line 26) -* hanging on \input: Environment for loading packages. - (line 35) -* help messages: Diagnostics. (line 25) +* hanging on '\input': Environment for loading packages. + (line 41) +* help messages: Diagnostics. (line 24) * highlight modes, hyperlink: Link options for pdftex and dvipdfm. (line 69) * highlighting: Packages known to work. - (line 110) + (line 111) * highlighting, in listings: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) + (line 7) * Ho"ppner, Klaus: Packages known to work. - (line 82) + (line 83) * hooks: Hooks. (line 6) * hyperlink border color: Link options for pdftex and dvipdfm. - (line 14) -* hyperlink color <1>: Setting default types and options. - (line 25) -* hyperlink color <2>: Options supported by all drivers. - (line 37) + (line 13) * hyperlink color: URL hyperlinks. (line 17) +* hyperlink color <1>: Options supported by all drivers. + (line 37) +* hyperlink color <2>: Setting default types and options. + (line 25) * hyperlink destination, dimensions: Destination options for pdftex and dvipdfm. (line 34) +* hyperlink destination, dimensions <1>: Destination options for pdftex and dvipdfm. + (line 37) +* hyperlink destination, dimensions <2>: Destination options for pdftex and dvipdfm. + (line 40) +* hyperlink destination, dimensions <3>: Destination options for pdftex and dvipdfm. + (line 56) +* hyperlink destination, dimensions <4>: Destination options for pdftex and dvipdfm. + (line 60) +* hyperlink destination, dimensions <5>: Destination options for pdftex and dvipdfm. + (line 64) +* hyperlink destination, dimensions <6>: Destination options for pdftex and dvipdfm. + (line 68) * hyperlink destination, magnification: Destination options for pdftex and dvipdfm. (line 21) -* hyperlink destination, named <1>: Link types for pdftex and dvipdfm. - (line 18) * hyperlink destination, named: Link types for hypertex. (line 7) +* hyperlink destination, named <1>: Link types for pdftex and dvipdfm. + (line 18) * hyperlink destination, numbered: Link types for pdftex and dvipdfm. - (line 92) + (line 91) * hyperlink destination, page: Link types for pdftex and dvipdfm. - (line 31) + (line 30) * hyperlink destination, raising: Options supported by all drivers. (line 13) * hyperlink dimensions: Link options for pdftex and dvipdfm. - (line 124) -* hyperlink driver dvipdfm: Hyperlink drivers pdftex and dvipdfm. + (line 122) +* hyperlink dimensions <1>: Link options for pdftex and dvipdfm. + (line 125) +* hyperlink dimensions <2>: Link options for pdftex and dvipdfm. + (line 128) +* hyperlink driver 'dvipdfm': Hyperlink drivers pdftex and dvipdfm. (line 6) -* hyperlink driver hypertex: Hyperlink driver hypertex. +* hyperlink driver 'hypertex': Hyperlink driver hypertex. (line 6) -* hyperlink driver nolinks: Hyperlink driver nolinks. +* hyperlink driver 'nolinks': Hyperlink driver nolinks. (line 6) -* hyperlink driver pdftex: Hyperlink drivers pdftex and dvipdfm. +* hyperlink driver 'pdftex': Hyperlink drivers pdftex and dvipdfm. (line 6) * hyperlink drivers: Introduction to hyperlinks. (line 6) * hyperlink group, disabling hyperlinks: Turning hyperlinks on/off for a group. (line 6) * hyperlink group, preserving option list: Setting group options. - (line 22) + (line 21) * hyperlink options, common: Options supported by all drivers. (line 6) * hyperlinks, bibliography: Citation hyperlinks. (line 11) * hyperlinks, border style: Link options for pdftex and dvipdfm. - (line 20) + (line 19) +* hyperlinks, border style <1>: Link options for pdftex and dvipdfm. + (line 25) * hyperlinks, border width: Link options for pdftex and dvipdfm. - (line 50) + (line 49) * hyperlinks, citations: Citation hyperlinks. (line 6) * hyperlinks, cross-references: Cross-reference hyperlinks. (line 6) -* hyperlinks, default options <1>: Setting group types. (line 17) * hyperlinks, default options: Setting hyperlink types and options. (line 6) -* hyperlinks, default type <1>: Setting group types. (line 17) +* hyperlinks, default options <1>: Setting group types. (line 17) * hyperlinks, default type: Setting hyperlink types and options. (line 6) +* hyperlinks, default type <1>: Setting group types. (line 17) * hyperlinks, demo: Hyperlinks (xhyper.tex). + (line 7) +* hyperlinks, disabling: Hyperlink driver nolinks. (line 6) * hyperlinks, disabling <1>: Turning hyperlinks on/off. (line 6) -* hyperlinks, disabling: Hyperlink driver nolinks. - (line 6) * hyperlinks, equations: Equation reference hyperlinks. (line 6) * hyperlinks, explicit: Explicit hyperlinks. (line 6) * hyperlinks, explicit, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * hyperlinks, filtering index entries: Exact destinations for index terms. (line 33) * hyperlinks, footnotes: Footnote hyperlinks. (line 6) * hyperlinks, group option list: Setting group options. - (line 49) -* hyperlinks, group options <1>: Setting group options. - (line 6) + (line 48) * hyperlinks, group options: Setting hyperlink types and options. (line 12) -* hyperlinks, group options, demo: Hyperlinks (xhyper.tex). +* hyperlinks, group options <1>: Setting group options. (line 6) -* hyperlinks, group type <1>: Setting group types. (line 6) +* hyperlinks, group options, demo: Hyperlinks (xhyper.tex). + (line 7) * hyperlinks, group type: Setting hyperlink types and options. (line 12) +* hyperlinks, group type <1>: Setting group types. (line 6) * hyperlinks, highlight mode: Link options for pdftex and dvipdfm. (line 69) * hyperlinks, implicit: Implicit hyperlinks. (line 6) * hyperlinks, implicit, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * hyperlinks, index: Index hyperlinks. (line 6) * hyperlinks, index destination placement: Choosing destination placement. (line 6) * hyperlinks, index, exact: Exact destinations for index terms. (line 28) -* hyperlinks, large operators <1>: Setting group options. - (line 34) * hyperlinks, large operators: Options supported by all drivers. (line 27) +* hyperlinks, large operators <1>: Setting group options. + (line 33) * hyperlinks, lists: List hyperlinks. (line 6) * hyperlinks, opening in a new window: Link options for pdftex and dvipdfm. (line 90) @@ -7349,27 +7497,29 @@ Concept index * hyperlinks, see and see also index entries: Hyperlinks in see and see also entries. (line 6) * hyperlinks, table of contents: Contents hyperlinks. (line 6) -* hyperlinks, to another file <1>: Link types for pdftex and dvipdfm. - (line 40) * hyperlinks, to another file: Link types for hypertex. (line 21) -* hyperlinks, URL <1>: Link types for pdftex and dvipdfm. - (line 25) +* hyperlinks, to another file <1>: Link types for pdftex and dvipdfm. + (line 39) +* hyperlinks, to another file <2>: Link types for pdftex and dvipdfm. + (line 51) +* hyperlinks, URL: General hyperlinks. (line 20) +* hyperlinks, URL <1>: URL hyperlinks. (line 6) * hyperlinks, URL <2>: Link types for hypertex. (line 14) -* hyperlinks, URL <3>: URL hyperlinks. (line 6) -* hyperlinks, URL: General hyperlinks. (line 20) +* hyperlinks, URL <3>: Link types for pdftex and dvipdfm. + (line 25) * hyperref.sty: Packages known not to work. (line 9) -* hypertex, destination options: Destination options for hypertex. +* 'hypertex', destination options: Destination options for hypertex. (line 6) -* hypertex, destination types: Destination types for hypertex. +* 'hypertex', destination types: Destination types for hypertex. (line 6) -* hypertex, hyperlink driver: Hyperlink driver hypertex. +* 'hypertex', hyperlink driver: Hyperlink driver hypertex. (line 6) -* hypertex, link options: Link options for hypertex. +* 'hypertex', link options: Link options for hypertex. (line 6) -* hypertex, link types: Link types for hypertex. +* 'hypertex', link types: Link types for hypertex. (line 6) * hypertext links: Hyperlinks. (line 6) * identifying numbers: \ifinteger and \isinteger. @@ -7379,22 +7529,22 @@ Concept index * ignoring arguments: Macro arguments. (line 6) * implicit hyperlinks: Implicit hyperlinks. (line 6) * implicit hyperlinks, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * inaccessible macros: Category codes. (line 19) * index entries and ranges: Modifying index entries. (line 22) * index entries containing braces: Index entries with special characters. (line 63) * index entries containing brackets: Index entries with special characters. - (line 86) + (line 85) * index entries with special characters: Index entries with special characters. (line 6) * index entries' page numbers, modifying: Modifying index entries. (line 6) -* index entries, and cross-referencing <1>: Customizing indexing. - (line 64) * index entries, and cross-referencing: Modifying index entries. (line 36) +* index entries, and cross-referencing <1>: Customizing indexing. + (line 62) * index entries, proofing: Proofing index terms. (line 6) * index entries, with verbatim text: Index entries with special characters. @@ -7403,7 +7553,7 @@ Concept index (line 35) * index entry formatting: Typesetting an index. (line 35) -* index entry general sorting: Indexing commands. (line 51) +* index entry general sorting: Indexing commands. (line 50) * index fonts: Typesetting an index. (line 24) * index groupings: Typesetting an index. @@ -7429,63 +7579,66 @@ Concept index (line 6) * index, underlining page numbers: Page list and page range parsers. (line 26) -* indexes, disabling: Indexing. (line 56) -* indexes, multiple: Indexing. (line 37) +* indexes, disabling: Indexing. (line 54) +* indexes, multiple: Indexing. (line 36) * indexing: Indexing. (line 6) * indexing and trailing spaces: Indexing terms. (line 20) * indexing commands: Indexing commands. (line 6) * indexing terms: Indexing terms. (line 6) * insertion classes: Multiple columns. (line 38) * inset hyperlink border: Link options for pdftex and dvipdfm. - (line 26) + (line 25) * installation: Installation. (line 6) * integers, detecting: \ifinteger and \isinteger. (line 6) -* item labels, changing: Formatting lists. (line 54) +* italic correction: Formatting bibliographies. + (line 45) +* item labels, changing: Formatting lists. (line 53) * iteration: Iteration. (line 6) * justification: Justification. (line 6) -* Knuth, Donald Ervin <1>: Category codes. (line 7) * Knuth, Donald Ervin: Citations. (line 91) -* labels on items, changing: Formatting lists. (line 54) +* Knuth, Donald Ervin <1>: Category codes. (line 7) +* labels on items, changing: Formatting lists. (line 53) * labels, characters valid in: Cross-references. (line 20) * labels, empty equation: Equation references. (line 22) * labels, empty equation, referring to: Equation references. (line 27) -* Lamport, Leslie: Introduction. (line 13) -* LAMSTeX: Logos. (line 10) -* Lang, Serge <1>: Construction of commutative diagrams. - (line 122) +* Lamport, Leslie: Introduction. (line 15) +* LAMSTeX: Logos. (line 11) * Lang, Serge: Arrows and morphisms. (line 126) -* large operators and hyperlinks <1>: Setting group options. - (line 34) +* Lang, Serge <1>: Construction of commutative diagrams. + (line 121) * large operators and hyperlinks: Options supported by all drivers. (line 27) -* LaTeX <1>: Slanted lines and vectors. +* large operators and hyperlinks <1>: Setting group options. + (line 33) +* LaTeX: Introduction. (line 15) +* LaTeX <1>: Citations. (line 10) +* LaTeX <2>: Logos. (line 11) +* LaTeX <3>: Slanted lines and vectors. (line 7) -* LaTeX <2>: Logos. (line 10) -* LaTeX <3>: Citations. (line 10) -* LaTeX: Introduction. (line 13) -* LaTeX graphics collection <1>: Hyperlink driver nolinks. - (line 34) -* LaTeX graphics collection <2>: Packages known to work. - (line 25) +* LaTeX commands, in 'btxmac.tex': Commands from LaTeX. (line 6) * LaTeX graphics collection: Loading LaTeX packages. (line 14) +* LaTeX graphics collection <1>: Packages known to work. + (line 25) +* LaTeX graphics collection <2>: Hyperlink driver nolinks. + (line 34) * LaTeX graphics collection, demo: Hyperlinks (xhyper.tex). + (line 7) +* LaTeX packages: Loading LaTeX packages. (line 6) -* LaTeX packages <1>: Packages known not to work. - (line 6) -* LaTeX packages <2>: Packages known to work. +* LaTeX packages <1>: Packages known to work. (line 6) -* LaTeX packages: Loading LaTeX packages. +* LaTeX packages <2>: Packages known not to work. (line 6) -* LaTeX packages, restoring \input: Environment for loading packages. +* LaTeX packages, restoring '\input': Environment for loading packages. (line 24) * left-alignment of equation numbers: Displays. (line 6) * left-justification: Justification. (line 6) * left-justification of displays: Displays. (line 6) * letterspacing: Packages known to work. - (line 110) + (line 111) * linear systems theory: Construction of commutative diagrams. (line 38) * lines: Slanted lines and vectors. @@ -7495,54 +7648,54 @@ Concept index (line 105) * link options, common: Options supported by all drivers. (line 35) -* link options, dvipdfm: Link options for pdftex and dvipdfm. +* link options, 'dvipdfm': Link options for pdftex and dvipdfm. (line 6) -* link options, hypertex: Link options for hypertex. +* link options, 'hypertex': Link options for hypertex. (line 6) -* link options, pdftex: Link options for pdftex and dvipdfm. +* link options, 'pdftex': Link options for pdftex and dvipdfm. (line 6) * link type: Introduction to hyperlinks. (line 88) -* link types, dvipdfm: Link types for pdftex and dvipdfm. +* link types, 'dvipdfm': Link types for pdftex and dvipdfm. (line 6) -* link types, hypertex: Link types for hypertex. +* link types, 'hypertex': Link types for hypertex. (line 6) -* link types, pdftex: Link types for pdftex and dvipdfm. - (line 6) -* link, group options <1>: Setting group options. +* link types, 'pdftex': Link types for pdftex and dvipdfm. (line 6) * link, group options: Setting hyperlink types and options. (line 12) -* link, group options, demo: Hyperlinks (xhyper.tex). +* link, group options <1>: Setting group options. (line 6) -* link, group type <1>: Setting group types. (line 6) +* link, group options, demo: Hyperlinks (xhyper.tex). + (line 7) * link, group type: Setting hyperlink types and options. (line 12) +* link, group type <1>: Setting group types. (line 6) * linkgroup: Implicit hyperlinks. (line 10) -* linkgroup `cite': Citation hyperlinks. (line 6) -* linkgroup `eq' <1>: Setting group options. - (line 35) -* linkgroup `eq': Equation reference hyperlinks. - (line 20) -* linkgroup `foot': Footnote hyperlinks. (line 6) -* linkgroup `footback': Footnote hyperlinks. (line 6) -* linkgroup `hrefext': General hyperlinks. (line 21) -* linkgroup `hrefint': General hyperlinks. (line 12) -* linkgroup `idx': Index hyperlinks. (line 6) -* linkgroup `ref': Cross-reference hyperlinks. - (line 11) -* linkgroup `url': URL hyperlinks. (line 6) -* linkgroup `xref': Page reference hyperlinks. - (line 10) -* linkgroup options <1>: Setting group options. - (line 6) * linkgroup options: Setting hyperlink types and options. (line 12) -* linkgroup options, demo: Hyperlinks (xhyper.tex). +* linkgroup options <1>: Setting group options. (line 6) -* linkgroup type <1>: Setting group types. (line 6) +* linkgroup options, demo: Hyperlinks (xhyper.tex). + (line 7) * linkgroup type: Setting hyperlink types and options. (line 12) +* linkgroup type <1>: Setting group types. (line 6) +* linkgroup 'cite': Citation hyperlinks. (line 6) +* linkgroup 'eq': Equation reference hyperlinks. + (line 20) +* linkgroup 'eq' <1>: Setting group options. + (line 34) +* linkgroup 'foot': Footnote hyperlinks. (line 6) +* linkgroup 'footback': Footnote hyperlinks. (line 6) +* linkgroup 'hrefext': General hyperlinks. (line 21) +* linkgroup 'hrefint': General hyperlinks. (line 12) +* linkgroup 'idx': Index hyperlinks. (line 6) +* linkgroup 'ref': Cross-reference hyperlinks. + (line 11) +* linkgroup 'url': URL hyperlinks. (line 6) +* linkgroup 'xref': Page reference hyperlinks. + (line 10) * links, hypertext: Hyperlinks. (line 6) * list of figures: Alternative contents files. (line 6) @@ -7550,29 +7703,31 @@ Concept index (line 6) * listing files: Verbatim listing. (line 6) * listing files, demo: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) + (line 7) * lists: Lists. (line 6) * lists, formatting: Formatting lists. (line 6) * lists, hyperlinks: List hyperlinks. (line 6) +* loading packages, environment for: Environment for loading packages. + (line 6) * logos: Logos. (line 6) * lookahead without spaces: \futurenonspacelet. (line 6) * loops: Iteration. (line 6) * lscommnt.tex: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) + (line 7) * magnification, hyperlink destination: Destination options for pdftex and dvipdfm. (line 21) -* makeindex <1>: Index hyperlinks. (line 12) -* makeindex <2>: Indexing. (line 14) -* makeindex: Invoking Eplain. (line 105) +* makeindex: Invoking Eplain. (line 103) +* makeindex <1>: Indexing. (line 14) +* makeindex <2>: Index hyperlinks. (line 12) * margins, changing: Margins. (line 6) * margins, index terms in: Proofing index terms. (line 6) * mathematics displays, formatting: Displays. (line 6) -* mathematics displays, hyperlinks <1>: Setting group options. - (line 34) * mathematics displays, hyperlinks: Options supported by all drivers. (line 27) -* Metafont: Logos. (line 10) +* mathematics displays, hyperlinks <1>: Setting group options. + (line 33) +* Metafont: Logos. (line 11) * miniltx.tex: Loading LaTeX packages. (line 14) * minimal realizations: Construction of commutative diagrams. @@ -7582,20 +7737,20 @@ Concept index * morphisms: Arrows and morphisms. (line 6) * multiple column output: Multiple columns. (line 6) -* multiple indexes: Indexing. (line 37) -* named destination <1>: Link types for pdftex and dvipdfm. - (line 18) +* multiple indexes: Indexing. (line 36) * named destination: Link types for hypertex. (line 7) +* named destination <1>: Link types for pdftex and dvipdfm. + (line 18) * names, of TeX variants: Logos. (line 6) * new window, opening hyperlink in: Link options for pdftex and dvipdfm. (line 90) -* newlinechar: Diagnostics. (line 27) +* newlinechar: Diagnostics. (line 26) * newlines, obeying: Obeying spaces. (line 6) -* nolinks, hyperlink driver: Hyperlink driver nolinks. +* 'nolinks', hyperlink driver: Hyperlink driver nolinks. (line 6) * numbered destination: Link types for pdftex and dvipdfm. - (line 92) + (line 91) * numbered lists: Lists. (line 6) * numbered references: Citations. (line 91) * numbers, detecting: \ifinteger and \isinteger. @@ -7603,48 +7758,48 @@ Concept index * numbers, written form of: Writing out numbers. (line 6) * Oberdiek, Heiko: Checking for PDF output. (line 24) -* omitting hyperlinks <1>: Turning hyperlinks on/off. - (line 6) * omitting hyperlinks: Hyperlink driver nolinks. (line 6) +* omitting hyperlinks <1>: Turning hyperlinks on/off. + (line 6) * omitting typesetting of graphics: Packages known to work. (line 69) * open boxes: Boxes. (line 12) * option list, group: Setting group options. - (line 49) + (line 48) * option list, preserving for group: Setting group options. - (line 22) + (line 21) * options, destination, common: Options supported by all drivers. (line 12) -* options, destination, dvipdfm: Destination options for pdftex and dvipdfm. +* options, destination, 'dvipdfm': Destination options for pdftex and dvipdfm. (line 6) -* options, destination, hypertex: Destination options for hypertex. +* options, destination, 'hypertex': Destination options for hypertex. (line 6) -* options, destination, pdftex: Destination options for pdftex and dvipdfm. +* options, destination, 'pdftex': Destination options for pdftex and dvipdfm. (line 6) * options, link and destination: Introduction to hyperlinks. (line 105) * options, link, common: Options supported by all drivers. (line 35) -* options, link, dvipdfm: Link options for pdftex and dvipdfm. +* options, link, 'dvipdfm': Link options for pdftex and dvipdfm. (line 6) -* options, link, hypertex: Link options for hypertex. +* options, link, 'hypertex': Link options for hypertex. (line 6) -* options, link, pdftex: Link options for pdftex and dvipdfm. +* options, link, 'pdftex': Link options for pdftex and dvipdfm. (line 6) * ordered list: Lists. (line 6) * output routine and index proofing: Proofing index terms. (line 28) * overstriking: Packages known to work. - (line 110) -* packages, LaTeX <1>: Packages known not to work. + (line 111) +* packages, LaTeX: Loading LaTeX packages. (line 6) -* packages, LaTeX <2>: Packages known to work. +* packages, LaTeX <1>: Packages known to work. (line 6) -* packages, LaTeX: Loading LaTeX packages. +* packages, LaTeX <2>: Packages known not to work. (line 6) * page destination: Link types for pdftex and dvipdfm. - (line 31) + (line 30) * page list, parsing: Page destinations for index terms. (line 32) * page range, parsing: Page destinations for index terms. @@ -7656,130 +7811,132 @@ Concept index * parsing page numbers: Page destinations for index terms. (line 32) * Patashnik, Oren: Citations. (line 9) -* pathnames, breaking <1>: Packages known to work. - (line 120) * pathnames, breaking: Paths. (line 6) +* pathnames, breaking <1>: Packages known to work. + (line 121) * PDF: Packages known to work. - (line 90) + (line 91) * PDF output: Checking for PDF output. (line 6) -* pdftex <1>: Introduction to hyperlinks. - (line 35) -* pdftex <2>: Checking for PDF output. +* pdftex: Invoking Eplain. (line 114) +* pdftex <1>: Checking for PDF output. (line 6) -* pdftex: Invoking Eplain. (line 117) -* pdftex, destination options: Destination options for pdftex and dvipdfm. +* pdftex <2>: Introduction to hyperlinks. + (line 35) +* 'pdftex', destination options: Destination options for pdftex and dvipdfm. (line 6) -* pdftex, destination types: Destination types for pdftex and dvipdfm. +* 'pdftex', destination types: Destination types for pdftex and dvipdfm. (line 6) -* pdftex, hyperlink driver: Hyperlink drivers pdftex and dvipdfm. +* 'pdftex', hyperlink driver: Hyperlink drivers pdftex and dvipdfm. (line 6) -* pdftex, link options: Link options for pdftex and dvipdfm. +* 'pdftex', link options: Link options for pdftex and dvipdfm. (line 6) -* pdftex, link types: Link types for pdftex and dvipdfm. +* 'pdftex', link types: Link types for pdftex and dvipdfm. (line 6) * pdfTeX, problems using color and graphics: Packages known to work. (line 29) -* pdfTeX, problems with supp-mis.tex: Packages known to work. +* pdfTeX, problems with 'supp-mis.tex': Packages known to work. (line 29) * pict2e.sty: Packages known not to work. (line 16) -* picture mode <1>: Slanted lines and vectors. - (line 7) * picture mode: Packages known to work. (line 14) +* picture mode <1>: Slanted lines and vectors. + (line 7) * Portable Document Format: Packages known to work. - (line 90) -* PostScript point <1>: Link options for pdftex and dvipdfm. - (line 50) -* PostScript point <2>: Destination options for pdftex and dvipdfm. - (line 50) + (line 91) * PostScript point: Destination types for pdftex and dvipdfm. (line 66) +* PostScript point <1>: Destination options for pdftex and dvipdfm. + (line 50) +* PostScript point <2>: Link options for pdftex and dvipdfm. + (line 49) * proofing index terms: Proofing index terms. (line 6) * properties: Properties. (line 6) * ps2pdf: Hyperlink driver hypertex. - (line 13) + (line 14) +* ps2pdf <1>: Hyperlink driver hypertex. + (line 35) * psfrag.sty: Packages known to work. - (line 97) + (line 98) * quadruple column output: Multiple columns. (line 6) * Rahtz, Sebastian: Loading LaTeX packages. (line 14) -* raising hyperlink destinations <1>: Setting group options. - (line 34) * raising hyperlink destinations: Options supported by all drivers. (line 13) +* raising hyperlink destinations <1>: Setting group options. + (line 33) * ranges and index entry: Modifying index entries. (line 22) * recognizing numbers: \ifinteger and \isinteger. (line 6) * rectangles: Boxes. (line 6) * references, alphanumeric: Citations. (line 128) -* references, defining general <1>: Using generic references. - (line 6) * references, defining general: Defining generic references. (line 6) +* references, defining general <1>: Using generic references. + (line 6) * references, numbered: Citations. (line 91) * register allocation: Allocation macros. (line 6) -* restoring \input, LaTeX packages: Environment for loading packages. +* restoring '\input', LaTeX packages: Environment for loading packages. (line 24) -* return character: Category codes. (line 41) +* return character: Category codes. (line 40) * right-justification: Justification. (line 6) -* rms: Introduction. (line 14) +* rms: Introduction. (line 16) * rotation: Packages known to work. (line 25) * rotation, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * rule thickness: Rules. (line 7) -* run: links: General hyperlinks. (line 38) +* 'run:' links: General hyperlinks. (line 38) * scaling: Packages known to work. (line 25) * scaling, demo: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * sed: Customizing indexing. - (line 66) + (line 64) * see also index entries and hyperlinks: Hyperlinks in see and see also entries. (line 6) * see also index entries and sorting: Customizing indexing. - (line 51) -* see, and index entries <1>: Customizing indexing. - (line 64) + (line 49) * see, and index entries: Modifying index entries. (line 36) +* see, and index entries <1>: Customizing indexing. + (line 62) * see, and index entries, hyperlinks: Hyperlinks in see and see also entries. (line 6) * silent indexing: Indexing terms. (line 6) -* skipping tokens <1>: \ifempty. (line 12) * skipping tokens: \ifundefined. (line 10) -* SLiTeX: Logos. (line 10) +* skipping tokens <1>: \ifempty. (line 12) +* SLiTeX: Logos. (line 11) * Snake Lemma: Arrows and morphisms. (line 130) * solid hyperlink border: Link options for pdftex and dvipdfm. - (line 26) + (line 25) * sorting an index: Indexing. (line 6) -* sorting of index entries: Indexing commands. (line 51) +* sorting of index entries: Indexing commands. (line 50) * soul.sty: Packages known to work. - (line 108) + (line 109) * space above index entries: Typesetting an index. (line 35) * spaces, ignoring: \futurenonspacelet. (line 6) * spaces, obeying: Obeying spaces. (line 6) * spaces, trailing and indexing commands: Indexing terms. (line 20) * spacing out: Packages known to work. - (line 110) + (line 111) * spacing, preserving with hyperlinks: Hyperlink driver nolinks. (line 6) * special characters: Verbatim listing. (line 57) * special characters, in index entries: Index entries with special characters. (line 6) * special characters, in table of contents: Writing the .toc file. - (line 50) -* Stallman, Richard: Introduction. (line 14) + (line 49) +* Stallman, Richard: Introduction. (line 16) * striking out: Packages known to work. - (line 110) + (line 111) * style, hyperlink border: Link options for pdftex and dvipdfm. - (line 26) + (line 25) * subequations, referring to: Subequation references. (line 6) * subterm in indexing: Indexing terms. (line 13) @@ -7789,241 +7946,242 @@ Concept index (line 29) * table of contents: Contents. (line 6) * table of contents, and verbatim text: Writing the .toc file. - (line 50) + (line 49) * table of contents, hyperlinks: Contents hyperlinks. (line 6) -* table of contents, short <1>: Macro arguments. (line 10) * table of contents, short: Reading the .toc file. (line 19) +* table of contents, short <1>: Macro arguments. (line 10) * tables: Tables. (line 6) * tabs: Obeying spaces. (line 22) * TeX by Topic: Iteration. (line 61) * TeX Frequently Asked Question: \ifinteger and \isinteger. (line 26) * TEXFORMATS: Installation. (line 43) -* texi2dvi <1>: Indexing. (line 34) -* texi2dvi <2>: Citations. (line 102) -* texi2dvi: Invoking Eplain. (line 105) -* Texinfo: Introduction. (line 13) +* texi2dvi: Invoking Eplain. (line 103) +* texi2dvi <1>: Citations. (line 102) +* texi2dvi <2>: Indexing. (line 33) +* Texinfo: Introduction. (line 15) * TEXINPUTS: Installation. (line 23) * time of day: Time of day. (line 6) -* toc files, writing several: Changing the .toc file's root name. +* 'toc' files, writing several: Changing the .toc file's root name. (line 12) * tracing: Diagnostics. (line 6) * trailing spaces and indexing commands: Indexing terms. (line 20) * trimsee: Customizing indexing. - (line 67) + (line 65) * triple column output: Multiple columns. (line 6) * Tu, Loring W.: Construction of commutative diagrams. (line 13) -* TUGboat: Introduction. (line 60) +* TUGboat: Introduction. (line 64) * type, link and destination: Introduction to hyperlinks. (line 88) -* types, destination, dvipdfm: Destination types for pdftex and dvipdfm. +* types, destination, 'dvipdfm': Destination types for pdftex and dvipdfm. (line 6) -* types, destination, hypertex: Destination types for hypertex. +* types, destination, 'hypertex': Destination types for hypertex. (line 6) -* types, destination, pdftex: Destination types for pdftex and dvipdfm. +* types, destination, 'pdftex': Destination types for pdftex and dvipdfm. (line 6) -* types, link, dvipdfm: Link types for pdftex and dvipdfm. +* types, link, 'dvipdfm': Link types for pdftex and dvipdfm. (line 6) -* types, link, hypertex: Link types for hypertex. +* types, link, 'hypertex': Link types for hypertex. (line 6) -* types, link, pdftex: Link types for pdftex and dvipdfm. +* types, link, 'pdftex': Link types for pdftex and dvipdfm. (line 6) * typesetting an index: Typesetting an index. (line 6) * undefined control sequence, checking for: \ifundefined. (line 10) * undefined labels, warnings about: Installation. (line 40) * underline hyperlink border: Link options for pdftex and dvipdfm. - (line 26) + (line 25) * underlining: Packages known to work. - (line 110) + (line 111) * underlining page numbers in index: Page list and page range parsers. (line 26) * universal mapping property: Construction of commutative diagrams. (line 25) * unordered lists: Lists. (line 6) * upgrading: Installation. (line 6) -* URL for ifpdf.sty: Checking for PDF output. +* URL for 'ifpdf.sty': Checking for PDF output. (line 24) * URL for MakeIndex: Indexing. (line 14) -* URL for path.sty: Paths. (line 33) +* URL for 'path.sty': Paths. (line 33) * URL for pdfTeX: Checking for PDF output. (line 6) -* URL for texnames.sty: Logos. (line 14) -* URL hyperlink <1>: Link types for pdftex and dvipdfm. - (line 25) +* URL for 'texnames.sty': Logos. (line 15) +* URL hyperlink: General hyperlinks. (line 20) +* URL hyperlink <1>: URL hyperlinks. (line 6) * URL hyperlink <2>: Link types for hypertex. (line 14) -* URL hyperlink <3>: URL hyperlinks. (line 6) -* URL hyperlink: General hyperlinks. (line 20) -* url.sty <1>: Hyperlinks (xhyper.tex). - (line 6) -* url.sty <2>: URL hyperlinks. (line 6) +* URL hyperlink <3>: Link types for pdftex and dvipdfm. + (line 25) * url.sty: Packages known to work. - (line 118) + (line 119) +* url.sty <1>: URL hyperlinks. (line 6) +* url.sty <2>: Hyperlinks (xhyper.tex). + (line 7) * user-inaccessible macros: Category codes. (line 19) * vectors: Slanted lines and vectors. (line 15) * verbatim listing: Verbatim listing. (line 6) * verbatim listing, demo: Highlighting TeX comments in listings (lscommnt.tex). - (line 6) + (line 7) * verbatim text, in index: Index entries with special characters. (line 40) * verbatim text, in table of contents: Writing the .toc file. - (line 50) -* version number: Introduction. (line 47) -* Walden, David: Introduction. (line 57) + (line 49) +* version number: Introduction. (line 50) +* Walden, David: Introduction. (line 61) * Warner, Frank W.: Construction of commutative diagrams. (line 25) * whatsits made by hyperlinks: Hyperlink driver nolinks. (line 25) -* whatsits made by index entries: Indexing commands. (line 63) +* whatsits made by index entries: Indexing commands. (line 62) * while loops: Iteration. (line 6) * whitespace: Obeying spaces. (line 6) * width, hyperlink border: Link options for pdftex and dvipdfm. - (line 50) -* writing several toc files: Changing the .toc file's root name. + (line 49) +* writing several 'toc' files: Changing the .toc file's root name. (line 12) * xcolor.sty: Packages known not to work. (line 19) * xdvi: Hyperlink driver hypertex. (line 11) -* XeLaTeX: Logos. (line 10) +* XeLaTeX: Logos. (line 11) * xeplain.tex: Introduction. (line 6) * XeTeX: Logos. (line 11) * xhyper.tex: Hyperlinks (xhyper.tex). - (line 6) + (line 7) * Zassenhaus, Hans: Construction of commutative diagrams. - (line 122) + (line 121) * zooming, hyperlink destination: Destination options for pdftex and dvipdfm. (line 21) Tag Table: -Node: Top806 -Node: Introduction8088 -Node: Installation11055 -Node: Invoking Eplain13107 -Node: User definitions17710 -Node: Diagnostics19537 -Node: Rules21107 -Node: Citations21940 -Node: Formatting citations28295 -Node: Formatting bibliographies29841 -Node: Displays32670 -Node: Formatting displays34065 -Node: Time of day34702 -Node: Lists35463 -Node: Formatting lists37622 -Node: Verbatim listing39918 -Node: Contents43153 -Node: Writing the .toc file43824 -Node: Reading the .toc file46692 -Node: Changing the .toc file's root name48102 -Node: Alternative contents files49122 -Node: Cross-references49687 -Node: Defining generic references51172 -Node: Using generic references52050 -Node: Page references53341 -Node: Equation references54165 -Node: Formatting equation references56941 -Node: Subequation references61308 -Node: Indexing63231 -Node: Indexing terms66345 -Node: Indexing commands67458 -Node: Modifying index entries70486 -Node: Index entries with special characters73463 -Node: Proofing index terms77718 -Node: Typesetting an index79531 -Node: Customizing indexing81998 -Node: Justification85705 -Node: Tables87384 -Node: Margins89887 -Node: Multiple columns92048 -Node: Footnotes94032 -Node: Fractions96619 -Node: Paths97406 -Node: Logos99013 -Node: Boxes99746 -Node: Checking for PDF output101544 -Node: Loading LaTeX packages102635 -Node: The \usepackage command103983 -Node: Environment for loading packages105073 -Node: Packages known to work107140 -Node: Packages known not to work113545 -Node: Hyperlinks114307 -Node: Introduction to hyperlinks114890 -Node: Explicit hyperlinks120446 -Node: Implicit hyperlinks122736 -Node: General hyperlinks124558 -Node: URL hyperlinks126087 -Node: Citation hyperlinks128194 -Node: List hyperlinks128926 -Node: Cross-reference hyperlinks129320 -Node: Page reference hyperlinks130700 -Node: Equation reference hyperlinks131364 -Node: Index hyperlinks132762 -Node: Exact destinations for index terms134526 -Node: Page destinations for index terms136702 -Node: Choosing destination placement139330 -Node: Index page list and page range parsers140122 -Node: Hyperlinks in see and see also entries140675 -Node: Footnote hyperlinks141474 -Node: Contents hyperlinks142672 -Node: Hyperlink drivers143055 -Node: Options supported by all drivers143690 -Node: Hyperlink driver hypertex146494 -Node: Destination types for hypertex149446 -Node: Destination options for hypertex150485 -Node: Link types for hypertex150967 -Node: Link options for hypertex152988 -Node: Hyperlink drivers pdftex and dvipdfm154012 -Node: Destination types for pdftex and dvipdfm154658 -Node: Destination options for pdftex and dvipdfm158157 -Node: Link types for pdftex and dvipdfm160612 -Node: Link options for pdftex and dvipdfm164151 -Node: Hyperlink driver nolinks167790 -Node: Setting hyperlink types and options170202 -Node: Setting default types and options171204 -Node: Setting group types172633 -Node: Setting group options173826 -Node: Turning hyperlinks on/off176316 -Node: Turning low-level commands on/off176954 -Node: Turning hyperlinks on/off for a group177467 -Node: Arrow theoretic diagrams178624 -Node: Slanted lines and vectors178991 -Node: Commutative diagrams181073 -Node: Arrows and morphisms181672 -Node: Construction of commutative diagrams186150 -Node: Commutative diagram parameters193342 -Node: Programming definitions195161 -Node: Category codes196162 -Node: Allocation macros198823 -Node: Iteration200971 -Node: Macro arguments202630 -Node: Converting to characters206009 -Node: Expansion207401 -Node: \csn and \ece207964 -Node: \edefappend208530 -Node: Hooks209079 -Node: Properties211265 -Node: \expandonce212350 -Node: \ifundefined212799 -Node: \ifempty213363 -Node: \ifinteger and \isinteger214106 -Node: \futurenonspacelet215144 -Node: Obeying spaces215743 -Node: Writing out numbers216774 -Node: Mode-specific penalties217097 -Node: Auxiliary files217829 -Node: User-defined environments218752 -Node: Page list and page range parsers219967 -Node: Demo files222104 -Node: Hyperlinks (xhyper.tex)222672 -Node: Highlighting TeX comments in listings (lscommnt.tex)230991 -Node: Macro index233415 -Node: Concept index296808 +Node: Top809 +Node: Introduction8254 +Node: Installation11274 +Node: Invoking Eplain13326 +Node: User definitions17923 +Node: Diagnostics19750 +Node: Rules21315 +Node: Citations22146 +Node: Formatting citations28574 +Node: Formatting bibliographies30111 +Node: Commands from LaTeX33347 +Node: Displays34321 +Node: Formatting displays35708 +Node: Time of day36341 +Node: Lists37100 +Node: Formatting lists39240 +Node: Verbatim listing41523 +Node: Contents44743 +Node: Writing the .toc file45412 +Node: Reading the .toc file48274 +Node: Changing the .toc file's root name49677 +Node: Alternative contents files50693 +Node: Cross-references51257 +Node: Defining generic references52743 +Node: Using generic references53619 +Node: Page references54903 +Node: Equation references55722 +Node: Formatting equation references58487 +Node: Subequation references62837 +Node: Indexing64753 +Node: Indexing terms67861 +Node: Indexing commands68973 +Node: Modifying index entries71992 +Node: Index entries with special characters74962 +Node: Proofing index terms79204 +Node: Typesetting an index81017 +Node: Customizing indexing83483 +Node: Justification87179 +Node: Tables88849 +Node: Margins91340 +Node: Multiple columns93493 +Node: Footnotes95530 +Node: Fractions98105 +Node: Paths98888 +Node: Logos100490 +Node: Boxes101220 +Node: Checking for PDF output103006 +Node: Loading LaTeX packages104094 +Node: The \usepackage command105451 +Node: Environment for loading packages106537 +Node: Packages known to work108877 +Node: Packages known not to work115252 +Node: Hyperlinks116013 +Node: Introduction to hyperlinks116594 +Node: Explicit hyperlinks122130 +Node: Implicit hyperlinks124415 +Node: General hyperlinks126236 +Node: URL hyperlinks127758 +Node: Citation hyperlinks129858 +Node: List hyperlinks130585 +Node: Cross-reference hyperlinks130976 +Node: Page reference hyperlinks132347 +Node: Equation reference hyperlinks133008 +Node: Index hyperlinks134398 +Node: Exact destinations for index terms136156 +Node: Page destinations for index terms138323 +Node: Choosing destination placement140941 +Node: Index page list and page range parsers141730 +Node: Hyperlinks in see and see also entries142282 +Node: Footnote hyperlinks143080 +Node: Contents hyperlinks144274 +Node: Hyperlink drivers144657 +Node: Options supported by all drivers145291 +Node: Hyperlink driver hypertex148087 +Node: Destination types for hypertex151031 +Node: Destination options for hypertex152065 +Node: Link types for hypertex152547 +Node: Link options for hypertex154554 +Node: Hyperlink drivers pdftex and dvipdfm155576 +Node: Destination types for pdftex and dvipdfm156221 +Node: Destination options for pdftex and dvipdfm159700 +Node: Link types for pdftex and dvipdfm162151 +Node: Link options for pdftex and dvipdfm165665 +Node: Hyperlink driver nolinks169303 +Node: Setting hyperlink types and options171706 +Node: Setting default types and options172707 +Node: Setting group types174133 +Node: Setting group options175322 +Node: Turning hyperlinks on/off177803 +Node: Turning low-level commands on/off178441 +Node: Turning hyperlinks on/off for a group178954 +Node: Arrow theoretic diagrams180107 +Node: Slanted lines and vectors180485 +Node: Commutative diagrams182558 +Node: Arrows and morphisms183167 +Node: Construction of commutative diagrams187623 +Node: Commutative diagram parameters194779 +Node: Programming definitions196595 +Node: Category codes197601 +Node: Allocation macros200246 +Node: Iteration202381 +Node: Macro arguments204033 +Node: Converting to characters207400 +Node: Expansion208785 +Node: \csn and \ece209408 +Node: \edefappend209973 +Node: Hooks210520 +Node: Properties212694 +Node: \expandonce213773 +Node: \ifundefined214221 +Node: \ifempty214785 +Node: \ifinteger and \isinteger215527 +Node: \futurenonspacelet216562 +Node: Obeying spaces217157 +Node: Writing out numbers218181 +Node: Mode-specific penalties218504 +Node: Auxiliary files219233 +Node: User-defined environments220152 +Node: Page list and page range parsers221365 +Node: Demo files223497 +Node: Hyperlinks (xhyper.tex)224063 +Node: Highlighting TeX comments in listings (lscommnt.tex)232412 +Node: Macro index234868 +Node: Concept index302707 End Tag Table diff --git a/Master/texmf/doc/man/man1/eplain.1 b/Master/texmf/doc/man/man1/eplain.1 index 23f0d4a7af5..64193a5f4d6 100644 --- a/Master/texmf/doc/man/man1/eplain.1 +++ b/Master/texmf/doc/man/man1/eplain.1 @@ -1,4 +1,4 @@ -.TH EPLAIN 1 "14 May 2010" "Web2C 2012" +.TH EPLAIN 1 "7 February 2013" "Eplain 3.5" .\"===================================================================== .if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP .if n .ds TX TeX @@ -17,19 +17,14 @@ .if n .ds AY AmSLaTeX .\"===================================================================== .SH NAME -eplain \- extended plain TeX +eplain \- expanded plain TeX .SH SYNOPSIS .B eplain -.RI [ first-line ] +[ first-line ] .\"===================================================================== .SH DESCRIPTION -This manual page is not meant to be exhaustive. The complete -documentation for this version of \*(TX can be found in the info file -or manual -.IR "Web2C: A TeX implementation" . -.PP .B eplain -is an extension of plain \*(TX described in the book +is an extension of plain \*(TX originally described in the book .IR "\*(OX for the Impatient" . It adds these features (among others) to plain \*(TX: .TP \w'\(bu'u+2n @@ -77,27 +72,16 @@ Online GNU Emacs .BR info (1) files produced from .IR eplain.texi . -.PP -The complete -.I eplain -distribution is available via anonymous ftp to the Internet host -.I ftp.cs.umb.edu -from the file -.I pub/tex/eplain.tar.Z -which is linked to another file containing the most recent version of -the package. Major \*(TX archive sites should also have it. .\"===================================================================== .SH "SEE ALSO" -.BR emacs (1), -.BR info (1), -.BR initex (1), +.BR texinfo (5), .BR tex (1), -.BR xinfo (1). .br Karl Berry, .IR eplain , -TUGboat 11(4), 571--572, 1990. +TUGboat 11(4), 571--572, 1990, +http://tug.org/TUGboat/tb11-4/tb30resources.pdf. .br Paul W. Abrahams with Karl Berry and Kathryn A. Hargreaves, .IR "\*(OX for the Impatient" , -Addison-Wesley, 1990, ISBN 0-201-51375-7. +http://www.gnu.org/software/teximpatient. diff --git a/Master/texmf/doc/man/man1/eplain.man1.pdf b/Master/texmf/doc/man/man1/eplain.man1.pdf Binary files differindex 32f4b4ce212..c9d10369f9c 100644 --- a/Master/texmf/doc/man/man1/eplain.man1.pdf +++ b/Master/texmf/doc/man/man1/eplain.man1.pdf diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index a7fe2e0257f..c3095cc14da 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2348,6 +2348,7 @@ $standardxmt='\.xmt'; # packages which have info files to install. %specialinfos = ( + #'eplain' => '\.info', # fix to be used for tds 'latex2e-help-texinfo' => '\.info', 'latex2e-help-texinfo-spanish' => '\.info', 'latex2man' => '\.info', @@ -2363,6 +2364,7 @@ $standardxmt='\.xmt'; 'bundledoc' => '\.1$', 'ctanify' => '\.1$', 'dosepsbin' => 'dosepsbin.man', + #'eplain' => '\.1$', # fix to be used for tds 'epstopdf' => 'r?epstopdf.1|epstopdf.man1.pdf', # don't keep pdf 'findhyph' => 'findhyph.1', 'fontools' => '\.1$', @@ -4982,12 +4984,13 @@ sub POSTdehyph_exptl { } sub POSTeplain { - print "POST$package - mv README, eplain.info\n"; - &SYSTEM ("$MV doc/eplain/eplain/README doc/eplain/README.TOP"); + print "POST$package - eplain.info, man\n"; my $infodir = "$TOPDEST/texmf/doc/info/"; &xmkdir ($infodir); &SYSTEM ("$MV doc/eplain/doc/eplain.info $infodir/"); + + &POST_do_man ("doc/$package/doc"); } sub POSTepspdf { |