summaryrefslogtreecommitdiff
path: root/info/ltx3pub/l3d002c.tex
diff options
context:
space:
mode:
Diffstat (limited to 'info/ltx3pub/l3d002c.tex')
-rw-r--r--info/ltx3pub/l3d002c.tex347
1 files changed, 347 insertions, 0 deletions
diff --git a/info/ltx3pub/l3d002c.tex b/info/ltx3pub/l3d002c.tex
new file mode 100644
index 0000000000..15c1ada268
--- /dev/null
+++ b/info/ltx3pub/l3d002c.tex
@@ -0,0 +1,347 @@
+%%% ====================================================================
+%%% @LaTeX3-article{ LaTeX3-LTX3-002c,
+%%% filename = "l3d002c.tex",
+%%% archived = "ctan:/tex-archive/info/ltx3pub/",
+%%% related-files = "part of l3d002.tex",
+%%% author = "David Rhead",
+%%% doc-group = "Project core team",
+%%% title = "Some ideas for improving {\LaTeX}\\ General",
+%%% version = "1.1",
+%%% date = "18-Mar-1993",
+%%% time = "20:19:36 GMT",
+%%% status = "public, official",
+%%% abstract = "Ideas and suggestions from David Rhead for
+%%% improving various areas in LaTeX",
+%%% note = "prepared for the workshop at Dedham 91",
+%%% keywords = "",
+%%% project-address = "LaTeX3 Project \\
+%%% c/o Dr. Chris Rowley \\
+%%% The Open University \\
+%%% Parsifal College \\
+%%% Finchley Road \\
+%%% London NW3 7BG, England, UK",
+%%% project-tel = "+44 171 794 0575",
+%%% project-FAX = "+44 171 433 6196",
+%%% project-email = "LTX3-Mgr@SHSU.edu",
+%%% copyright = "Copyright (C) 1993 LaTeX3 Project
+%%% All rights reserved.
+%%%
+%%% Permission is granted to make and distribute
+%%% verbatim copies of this publication or of
+%%% coherent parts from this publication provided
+%%% this copyright notice and this permission
+%%% notice are preserved on all copies.
+%%%
+%%% Permission is granted to copy and distribute
+%%% translations of this publication or of
+%%% individual items from this publication into
+%%% another language provided that the translation
+%%% is approved by the original copyright holders.
+%%%
+%%% No other permissions to copy or distribute this
+%%% publication in any form are granted and in
+%%% particular no permission to copy parts of it
+%%% in such a way as to materially change its
+%%% meaning.",
+%%% generalinfo = "To subscribe to the LaTeX3 discussion list:
+%%%
+%%% Send mail to listserv@vm.urz.uni-heidelberg.de
+%%% with the following line as the body of the
+%%% message (substituting your own name):
+%%%
+%%% subscribe LaTeX-L First-name Surname
+%%%
+%%% To find out about volunteer work:
+%%%
+%%% look at the document vol-task.tex which can
+%%% be obtained electronically, see below.
+%%%
+%%% To retrieve project publications electronically:
+%%%
+%%% Project publications are available for
+%%% retrieval by anonymous ftp from ctan hosts:
+%%% ftp.tex.ac.uk
+%%% ftp.dante.de
+%%% ftp.shsu.edu
+%%% in the directory /tex-archive/info/ltx3pub.
+%%%
+%%% The file ltx3pub.bib in that directory gives
+%%% full bibliographical information including
+%%% abstracts in BibTeX format. A brief history
+%%% of the project and a description of its aims
+%%% is contained in l3d001.tex.
+%%%
+%%% If you only have access to email, and not ftp
+%%% You may use the ftpmail service.
+%%% Send a message just containg the word
+%%% help
+%%% to ftpmail@ftp.shsu.edu
+%%% for more information about this service.
+%%%
+%%% For offers of financial contributions or
+%%% contributions of computing equipment or
+%%% software, contact the project at the above
+%%% address, or the TeX Users Group.
+%%%
+%%% For offers of technical assistance, contact the
+%%% project at the above address.
+%%%
+%%% For technical enquiries and suggestions, send
+%%% e-mail to the latex-l list or contact the
+%%% project at the above address.",
+%%% checksum = "51871 347 2131 16546",
+%%% docstring = "The checksum field above 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.",
+%%% }
+%%% ====================================================================
+
+
+\chapter{Support for accurate page-selection from {\tt dvi} files}
+\label{counts}
+
+\section{Objectives}
+
+Although I assume that it is open to anyone writing style-files to do
+whatever they like with the 10 \verb+\count+ registers \cite[p.\
+119]{knuth-90}, I think that it would be worth trying to set a good
+precedent in the \LaTeX\ 3.0 \lq\lq standard styles''. I therefore suggest
+that there should be a scheme for using the \verb+\count+ registers in such
+a way that pages can always be specified unambiguously in those {\tt
+report}-like and {\tt book}-like documents that have:
+\begin{itemize}
+\item roman-numbered \lq\lq front matter'' followed by arabic-numbered
+ body text, and/or
+\item pages numbered \lq\lq within chapters''.
+\end{itemize}
+
+In practice, I have the impression that documents which have pages numbered
+\lq\lq within chapters'' are in a minority. It may therefore be worth
+having a scheme that can be used selectively, i.e, such that, if a style-file
+writer knows that it will be important to distinguish between certain
+units of a document but not between others, the \verb+\count+s for the former
+can have the non-zero values given by the scheme, while those for the
+latter can be zero. This would make for consistency (i.e., if a
+\verb+\count+ is non-zero, then it would be used in the same way in one
+standard style-file as in another) without unnecessary clutter (e.g., if
+all \verb+\count+ registers but \verb+\count0+ can be set zero without
+ambiguity, the user would get monitoring of the form {\tt [1] [2] [3] [4]
+...\ } rather than of the form {\tt [1.1.1] [2.1.1] [3.1.1] [4.1.1] ...\ }).
+
+\section{A scheme}
+\label{a-scheme}
+
+The following scheme would probably achieve the objectives suggested above.
+
+\begin{center}
+\begin{footnotesize}
+\begin{tabular}{lllll}
+\hline\hline
+Major division & Minor divisions&\verb+\count0+&\verb+\count1+&\verb+\count2+\\
+\hline\hline
+Front matter & --- & page-number & {\tt -1} & {\tt 0} \\
+\hline
+Main text & chapters & page-number & chapter-number & {\tt 0} \\
+ & & & {\tt 1, 2, ... }& \\
+\hline
+Back matter: & appendices &page-number&appendix number& {\tt 1}\\
+appendices & & & {\tt 1, 2, ... }& \\
+\hline
+Back matter: & glossary, &page-number&other-unit & {\tt 2}\\
+other units & bibliography, & &number \\
+ & index, etc. & & {\tt 1, 2, ... } \\
+\hline\hline
+\end{tabular}
+\end{footnotesize}
+\end{center}
+
+\subsection*{Examples}
+
+
+\begin{enumerate}
+\item A pamphlet that is numbered in arabic throughout would
+ only use \verb+\count0+.
+\item A traditional book could have \verb+\count1+ set to
+ {\tt -1} in the front matter and set to {\tt 0} thereafter.
+\item A manual that is to be numbered in the style of DEC's VAX/VMS manuals
+ would use the full scheme, i.e.
+ \begin{itemize}
+ \item \verb+\count2+ set to {\tt 1} within the appendices and
+ set to {\tt 2} after the appendices
+ \item \verb+\count1+ set to {\tt -1} in the front matter, set to
+ \lq\lq chapter number'' within the body text, set to
+ \lq\lq appendix number'' or \lq\lq other-unit number''
+ in the \lq\lq back matter''.
+ \item \verb+\count0+ reset at the start of each chapter and
+ each unit of \lq\lq back matter''.
+ \end{itemize}
+\item It would be open to someone producing a style-file for a
+ \lq\lq traditional book'' to increment \verb+\count1+ and
+ \verb+\count2+ in the way suggested for \lq\lq a manual'' above,
+ even though \verb+\count0+ would {\em not} be reset at the
+ start of each chapter. Although (after the \lq\lq front matter'') neither
+ \verb+\count1+ nor \verb+\count2+ would affect the printed
+ page-numbers, their settings would, for example, enable someone
+ \begin{itemize}
+ \item using DVItoVDU \cite{trevorrow-86} to give a
+ command that means \lq\lq go to the start of chapter 2''
+ \item using {\tt dviselect} \cite{torek} to specify
+ \lq\lq pick out all the pages in chapter 2''.
+ \end{itemize}
+\end{enumerate}
+
+Thus there would be consistency across most common classes of document
+regarding the use of non-zero settings for the \verb+\count+ registers, but
+the number of registers used in a particular style-file could, if desired,
+be limited to those needed to avoid ambiguous page-specifications at the
+{\tt dvi}-file processing stage.
+
+\subsection*{Notes}
+
+
+\noindent
+\begin{enumerate}
+\item Although the \verb+\count+ registers give 10 possible \lq\lq
+ dimensions'' of page-identification, Knuth defines yet another \lq\lq
+ dimension'' with the \lq\lq roman-numbered pages have a negative
+ \verb+\count0+'' convention in the \lq\lq plain'' macros \cite[p.\
+ 252,362]{knuth-90}. I guess that the \lq\lq plain'' macros are
+ intended for typesetting a certain class of document (draft papers?),
+ and that the convention is adequate for this class. However, \LaTeX\
+ is intended to be used for a wide variety of classes of documents, so
+ I think it is better to \lq\lq start from first principles'' and find
+ a scheme that can cope well with the classes of documents for which
+ \LaTeX\ is likely to be used. The scheme suggested in the above table
+ does not aim for compatibility with \lq\lq plain'' since:
+ \begin{itemize}
+ \item in terms of \lq\lq logical structure'' there doesn't seem
+ any reason to treat \verb+\count0+ differently in the
+ \lq\lq front matter'' rather than (for example) in \lq\lq chapter
+ 2'' or in the \lq\lq back matter''.
+ \item if the end-user learns that \lq\lq \verb+\count1+ and
+ \verb+\count2+ specify the division you are in'',
+ this will be the only concept they need. They can select
+ the 4th page in the \lq\lq front matter'' and page 4 of
+ chapter 5 in a consistent way, e.g., if {\tt dvitops}
+ \cite{clark} is used,
+ \begin{verbatim}
+ dvitops -f 4.-1 root
+ \end{verbatim}
+ and
+ \begin{verbatim}
+ dvitops -f 4.5 root
+ \end{verbatim}
+ respectively. If \LaTeX\ 3.0 had the additional concept
+ that \lq\lq roman-numbered pages have \verb+\count0+ negative'',
+ this would be an unnecessary, redundant, concept
+ for the end-user to learn.
+ \end{itemize}
+\item In terms of \lq\lq logical structure'', there is a case for treating
+ the \lq\lq front matter'' in precisely the same way as the \lq\lq back
+ matter''. This would imply the modifications shown below:
+\begin{center}
+\label{modification}
+\begin{footnotesize}
+\begin{tabular}{lllll}
+\hline\hline
+Major division & Minor divisions&\verb+\count0+&\verb+\count1+&\verb+\count2+\\
+\hline\hline
+Front matter & table-of-contents,& page-number&{\tt 1} & {\tt -1} \\
+ & list-of-figures, & &{\tt 2} \\
+ & acknowledgements, & &{\tt 3} \\
+ & preface, etc. & &{\tt 4, ...}\\
+\hline
+\dots \\
+\hline\hline
+\end{tabular}
+\end{footnotesize}
+\end{center}
+ My impression is that, in practice, the scheme shown on page
+ \pageref{a-scheme} would be adequate since there is generally
+ less \lq\lq front matter'' than \lq\lq back matter''.
+ End-users would probably prefer to issue a command such as
+ \begin{verbatim}
+ dvitops -f 4.-1 root
+ \end{verbatim}
+ (as implied by the scheme shown on page \pageref{a-scheme})
+ to select the 4th page of their \lq\lq front matter'' rather than
+ \begin{verbatim}
+ dvitops -f 4.*.-1 root
+ \end{verbatim}
+ (as implied by the modified scheme shown on page \pageref{modification}).
+\item If desired, the scheme shown on page \pageref{a-scheme} could be modified
+ to remove the need for \verb+\count2+ to be non-zero after the appendices.
+ For example, the convention might be:
+\begin{center}\begin{footnotesize}\begin{tabular}{lllll}
+\hline\hline
+Major division & Minor divisions&\verb+\count0+&\verb+\count1+&\verb+\count2+\\
+\hline\hline
+\dots \\
+\hline
+Back matter: & glossary & page-number&{\tt -2} & {\tt 0} \\
+other units & bibliography & & \\
+ & index, etc. & & \\
+\hline\hline
+\end{tabular}\end{footnotesize}\end{center}
+ Although this modified scheme would not eliminate ambiguity when
+ people are selecting pages from documents that are numbered like DEC's
+ VAX/VMS manuals (in which each \lq\lq other unit'' of \lq\lq back
+ matter'' has page-numbers starting from 1), but it might be argued that
+ such manuals are fairly rare.
+
+\end{enumerate}
+
+\section{Some e-mail comments}
+
+\begin{footnotesize}\begin{verbatim}
+From: bbeeton <BNB@COM.AMS.MATH>
+Date: Thu, 27 Jun 91 11:13:09 CET
+
+re making page numbers distinct, at the american math society, we
+faced this problem long ago (though not in latex). the circumstance
+was multi-column pages where each column had to be output separately
+on account of memory limitations (this was tex80), and "pasted up"
+by the output driver. the convention we devised (and still use with
+some publications) is
+ \count0 = \pageno (for compatibility with plain)
+ \count1 = column within page (for consistency, if 1-column pages
+ were mixed with 2-column pages -- an everyday occurrence --
+ two "logical" pages were put in the dvi file for each
+ "physical" page)
+ \count2 = sequential counter, 1, ..., col x number of pages
+although it doesn't necessarily bear any clear relation to the printed
+page number, the sequential counter does guarantee a unique value that
+can be homed in on by a device driver (although not all device drivers
+may give you access to all ten counters, a difficulty that should be
+decreasing), and is very nicely reported by tex in the transcript file.
+if used in conjunction with some more descriptive scheme, it gives a
+useful value that can help one identify pages properly even to a driver
+that gives no access at all to the tex counters but always considers
+the first page of a dvi file to be page "1" (another driver lapse that
+should mercifully soon be a thing of the past).
+\end{verbatim}\end{footnotesize}
+
+\begin{center} --- \end{center}
+
+\begin{footnotesize}\begin{verbatim}
+From: eijkhout@EDU.UIUC.CSRD
+Date: Thu, 27 Jun 91 08:45:10 -0500
+
+David Rhead's problem is a legitimate one. Here's how I have solved
+it (for the moment) in my own format:
+- use count0 for counting succesful shipouts by the output routine;
+- use count1 for keeping track of the number at the top/bottom of the page.
+That way the user can let the page number jump any way s/he likes, and
+still no dvice driver will ever complain about pages not found,
+which could still happen if count0 is merely the page number.
+
+I guess this could be augmented by a facility to print both counters
+at the page bottom, but I found it easy enough to read the correspondence
+from the log file (the joys of X windows: there is always some corner left
+on the screen to display some piece of information).
+
+Victor Eijkhout
+\end{verbatim}\end{footnotesize}