Received: by nummer-3.proteosys id <01C19443.45B3FF5C@nummer-3.proteosys>; Thu, 3 Jan 2002 11:41:59 +0100 MIME-Version: 1.0 x-vm-v5-data: ([nil nil nil nil nil nil nil t nil][nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C19443.45B3FF5C" X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message Subject: main-text.tex Date: Fri, 30 Aug 1991 01:00:00 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: Sender: "LaTeX-L Mailing list" To: "Rainer M. Schoepf" Reply-To: "LaTeX-L Mailing list" Status: R X-Status: X-Keywords: X-UID: 369 This is a multi-part message in MIME format. ------_=_NextPart_001_01C19443.45B3FF5C Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable \chapter{Structure} \section{Assumptions} \label{general-structure} \LaTeX\ 2.09's assumptions about the structure of a {\tt book} or {\tt report} seem at odds with the usual assumptions in = publishing practice. Consequently, the author often ends up doing things that are = really the designer's responsibility. In publishing practice, a book-like document would have the following = major divisions: \begin{itemize} \item ``preliminary pages'' or ``front matter'', containing table of = contents, acknowledgements, etc. These pages are usually numbered in roman. \item main text, containing the chapters. \item ``end pages'' or ``back matter'', containing appendices, = bibliography, index, etc. \end{itemize} See \cite[p.\ 4--5]{chicago-82}, \cite[p.\ 119, 165--166]{butcher-81}, \cite [ch.\ 10]{mclean-80}, \cite[ch.\ 8]{williamson-83}, \cite[p.\ 157--161]{white-88} and \cite[p.\ 73--77]{tei-90}. Thus, for \lq\lq front matter'' and \lq\lq back matter'', the divergence between the real structure and that assumed by \LaTeX\ 2.09 forces the author to think visually rather than logically. The author = gets involved with: \begin{itemize} \item \verb+\chapter*+ plus \verb+\addcontentsline+ for most ``top = level'' units in the front and back matter. \item having to put \verb+\pagenumbering{roman}+ and \verb+\pagenumbering{arabic}+ around the ``front matter''. \end{itemize} See Figures \ref{fig-root}, \ref{fig-front} and \ref{fig-back}. \begin{figure} \begin{footnotesize}\begin{verbatim} \documentstyle[11pt]{report} \begin{document} % A single-sided project report. \pagenumbering{roman} % Table of contents and other preliminary pages = are \setcounter{page}{2} % to be numbered in roman. If numbering = notionally % starts with the title-page (which is being = typeset % separately), actual numbering should start at = "ii" % on the table of contents. \tableofcontents \include{other-front-matter} \clearpage % Switch to arabic page-numbering for the rest = of \pagenumbering{arabic} % the report. \include{a-chapter} \include{another-chapter} \appendix % Arrange that \chapter will actually give units % entitled "Appendix ...". \include{an-appendix} \include{another-appendix} \include{other-back-matter} \end{document} \end{verbatim}\end{footnotesize} \caption{A \LaTeX\ 2.09 root file\label{fig-root}} \end{figure} \begin{figure} \begin{footnotesize}\begin{verbatim} \chapter*{Acknowledgements} \addcontentsline{toc}{chapter}{Acknowledgements} Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. \chapter*{Preface} \addcontentsline{toc}{chapter}{Preface} Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. \end{verbatim}\end{footnotesize} \caption{{\tt other-front-matter.tex}\label{fig-front}} \end{figure} \begin{figure} \begin{footnotesize}\begin{verbatim} \chapter*{Glossary} \addcontentsline{toc}{chapter}{Glossary} Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. Text text text text text text text text text text text text text text = text text. \begin{thebibliography}{width of label} \addcontentsline{toc}{chapter}{Bibliography} \bibitem[Item label]{a-book} Author author author. {\em Title title title title title.\/} Publisher, etc. \bibitem[Another label]{another-book} Another author another author. {\em Another title another title another title.\/} Another publisher, etc. \end{thebibliography} \end{verbatim}\end{footnotesize} \caption{{\tt other-back-matter.tex}\label{fig-back}} \end{figure} I think it would be better if \LaTeX\ 3.0 worked more in terms of the concepts used in publishing practice. The author might, for example, create an input file of the form shown in Figure \ref{fig-better}. Then details such as roman-numbering, table-of-contents entry, etc.\ could be dealt with in the style file (as questions of \lq\lq design'') without = the author being involved. Although the author would have to learn a bit of publishing jargon (\lq\lq front matter'', etc.), this might at least help him/her to understand the language used in books about typesetting and by publishers. Most authors would no longer need to learn about the the \verb+\chapter*+, \verb+\addcontentsline+ and \verb+\pagenumbering+ commands. (The \verb+\chapter*+ and \verb+\addcontentsline+ commands = might appear in style files, where there could be a distinction between the table of contents, which does not need an \verb+\addcontentsline+, and = the other front and back matter units that, for many designs, do need an \verb+\addcontentsline+.) \begin{figure} \vspace*{-2\baselineskip} % To get caption above page = number. \begin{scriptsize}\begin{verbatim} \documentstyle ... \begin{document} % With this = information, the % style file should be = able \begin{frontmatter} % to work out where to % start/stop roman = numbers, \tableofcontents % and that "Preface" is = to % appear in the = table-of- \toplevel{Preface} % \chapter* is a % contents but "Table = of % bad name for a % contents" is not to = appear ... % top-level unit % in itself. I.e. = author % that's NOT a % specifies structure; = design \end{frontmatter} % chapter" % decisions go in style = file. \begin{maintext} % With this = information, a % style file could, if = desired, \chapter{A chapter} % put the word = "Chapter" in % the toc file at the = start ... % of the list of = chapters in % the table of = contents. \chapter{Another chapter} % Similarly, with the % information below, = the style ... % file could put = "Appendix" % in the toc file above = the \end{maintext} % list of appendices. \begin{backmatter} % It would be nice if, % with this information \begin{appendices} % and the aux file, the % style file could work \toplevel{An appendix} % out whether there is % only one appendix ... % and, if so, give a % heading of "Appendix" \toplevel{Another appendix} % rather than "Appendix = A". % If not, perhaps the ... % user should have the % choice of = \begin{appendix} \end{appendices} % of \begin{appendices} = so % as to avoid "Appendix = A" \toplevel{Glossary} % when there is no % "Appendix B". ... % Within frontmatter = and \toplevel{Index} % backmatter, a 3.0 = style % file might treat ... % \toplevel like 2.09's % {\chapter* \toplevel{References} % + \addcontentsline}. ... \end{backmatter} \end{document} \end{verbatim}\end{scriptsize} \caption{A better way to specify the units in a book?\label{fig-better}} \end{figure} Obviously decisions will need to be taken about the terminology, = commands and environments to be used for markup schemes. Figure \ref{fig-better} gives the basis for one scheme. The Text Encoding Initiative's = terminology \cite[p.\ 73--77]{tei-90} is another option. Presumably another scheme could be produced by studying the Association of American Publishers' recommendations about SGML markup (although I haven't yet been able to study them myself) \cite{aap-1,aap-2,aap-3,aap-4,aap-5}. There would be advantages in some compatibility with conventions used outside the \LaTeX\ community. Appendix \ref{structure} contains some extracts from e-mail discussions about such matters. \section{Use of {\tt count}s} Although \TeX\ provides 10 \verb+\count+ registers \cite[p.\ = 119]{knuth-90} for page-identification, neither the \lq\lq plain'' macros nor the = \LaTeX\ 2.09 standard styles use anything but \verb+\count0+. From the point-of-view of a \LaTeX\ user, this can create situations in which page-selection is difficult at the previewing/printing stage. For example: \begin{itemize} \item in the \LaTeX\ 2.09 report and book styles, both (roman-numbered) = page iv in the \lq\lq front matter'', and (arabic-numbered) page 4 in chapter 1 have a \verb+\count0+ value of 4 in the {\tt dvi} file, = so it is difficult to instruct a {\tt dvi}-file processing command to print page 4 rather than page iv. \item if a style-file for a document that numbers pages \lq\lq within chapters'' follows the precedent of the standard styles and just = uses \verb+\count0+, page-selection will be difficult because there will often be several pages with the same \verb+\count0+ value. If a {\tt dvi} file represents 10 chapters, it will be difficult to select the first page of chapter 9, because {\tt dvi}-processing software is not usually designed for tasks such as \lq\lq find the 9th time that \verb+\count0+ has the value {\tt 1}''. \end{itemize} I think that the \LaTeX\ 3.0 standard styles should use the = \verb+\count+s in such a way that pages can be selected unambiguously at the {\tt = dvi}-file processing stage. Appendix \ref{counts} suggests some schemes that might achieve this objective. \section{Preliminary pages} \subsection{Title-page} In \LaTeX\ 2.09, \verb+titlepage+ does a \verb+\setcounter{page}{0}+. Unfortunately, when \verb+twoside+ is used, this setting leads to the titlepage having the margins appropriate for a left-hand page, when it should really have the margins for a right-hand page. Since \verb+\thispagestyle{empty}+ is used, the actual number makes no difference in \verb+titlepage+. Presumably the intention is to ensure that the following page is, by default, numbered ``1''. Could some way be found of ensuring that a title-page is given the margins for a right-hand page even when {\tt twoside} is in effect? This might well come about anyway if the markup scheme for reports and books is reconsidered (as suggested in section \ref{general-structure}). If not, perhaps \lq\lq 0'' should be treated as \lq\lq odd'' for the purpose of margins. \subsection{Those pages without printed numbers} It seems as though, in publishing practice (\cite[p.\ 4]{chicago-82}, \cite[p.\ 120]{butcher-81}) the first 4 or 6 ``preliminary pages'' of a = book will probably be un-numbered, the title-page being just one of these. = If the user is expected to use such an environment for pages other than the title-page \cite[p.\ 162]{lamport-86}, it might be worth thinking of a = more appropriate name ({\tt unnumbered}, perhaps). On the other hand, if the markup scheme for reports and books is reconsidered (as suggested in section \ref{general-structure}), the situations in which people are expected to use {\tt titlepage} for pages other than the title-page = might be eliminated anyway. \section{Lists within paragraphs} \label{lists-in-paras} In my opinion, someone reading a document stands a better chance of absorbing the contents if they can follow the author's = thought-groupings. As part of this, they need to be clear about where one grammatical paragraph ends and the next begins. Hence, I think they need to be able = to distinguish between: \begin{enumerate} \item ``list at end of paragraph'' \item ``list within paragraph''. \end{enumerate} Otherwise, they won't be certain about whether there is, or isn't, a paragraph-division. With \LaTeX\ 2.09, this is difficult in designs that have un-indented paragraphs, because ``the vertical space following the environment is = the same as the one preceding it'' \cite[p.\ 114]{lamport-86}. Case 1 looks identical to case 2. Could \LaTeX\ 3.0 implement ``the text following a displayed paragraph environment begins a new paragraph if there is a blank line after the \verb+\end+ command'' \cite[p.\ 165]{lamport-86} for both = \verb+\parindent+ and \verb+\parskip+, so that case 1 looks different from case 2 even when \verb+\parindent+ is zero?\footnote{% I'm probably just agreeing here that \LaTeX\ 2.09 has ``an actual conceptual bug'' \cite[p.\ 684]{m+s-89}.} \section{Emphasis} \LaTeX\ 2.09 implements \lq\lq emphasis'' as \lq\lq italic''. This = seems to be a general feature of \LaTeX\ 2.09, rather than a feature of a = particular design. Hence the manual seems self-contradictory \cite[p.\ 16,17]{lamport-86}. = On the one hand, it says that \lq\lq you should be concerned only with the logical concept of emphasis'', but on the other hand it says (in effect) \lq\lq actually emphasis means italic (except when it means roman), so you'll need to worry about the italic correction''. Could \lq\lq emphasis'' (and \lq\lq emphasis within emphasis'') be design-dependent, perhaps meaning italic in one design and bold in = another? And, if \lq\lq emphasis'' happens to be implemented as italic in a particular design, could the software take care of the italic correction (at least for straightforward situations)? Then the user need \lq\lq be concerned only with the logical concept of emphasis''. \chapter{Tables \dots} \dots\ plus a little about arrays. \section{Decimals} The recommendations that I've seen for table layout (\cite[p.\ 332]{chicago-82}, \cite[p.\ 164]{butcher-81}, \cite[p.\ 158]{hart-83}, \cite[p.\ 147]{white-88}, \cite[sec.\ 7.2]{bsi-dd52}) mention (or imply) ``making sure that, in a column of numbers, the decimal points line = up''. Thus ``alignment of decimal points'' seems to be a ``fundamental requirement'' which should be regarded as of similar importance to {\tt tabular}'s current {\tt l}, {\tt c} and {\tt r}, rather than as an ``optional extra''. I realise that the \LaTeX\ 2.09 manual \cite{lamport-86} shows a couple = of tricks that can be used (zero-width boxes, page 98; high--low, page = 182), and that Frank Mittelbach has the = \verb+>{\centerdots}c<{\endcenterdots}+ idea \cite[p.\ 299]{mittelbach-88}. But these techniques seem unnecessarily subtle for such a fundamental requirement. Couldn't there be something as easy as {\tt l}, {\tt c} and {\tt r} for ``alignment on decimal points''? Bell Labs.\ managed to make ``lining numbers up'' easy in {\tt tbl} \cite[p.\ 147]{christian-87} = years ago! \section{Multi-line cells} \subsection{Hanging paragraphs?} % e-mail 17 Aug 90 12:01:50 The gurus seem to regard a table entry that consists of a \lq\lq hanging paragraph'' as fairly standard, either because they explicitly advocate = it, or because they simply do it. See \cite[p.\ 338,393]{chicago-82}, \cite[p.\ 136]{butcher-81}, \cite[p.\ 34,35,158]{hart-83} and \cite[p.\ 147]{white-88}. %The bit, in White, about "first line hanging indent". Unfortunately, it does not seem to be simply a matter of \lq\lq For this design (i.e., in this \verb+\documentstyle+), \verb+tabular+'s \verb+p{...}+ has to give hanging paragraphs''. Some respectable books seem to have left-justified paragraphs in some tables and hanging paragraphs in others (e.g., \cite[p.\ 176,177]{chicago-82} and \cite[p.\ 68,69]{butcher-81}). I can't detect any underlying \lq\lq logical structure'' that corresponds to the difference between hanging and left-justified within the same book. In \LaTeX\ 3.0, might it be worth doing one of the following: \begin{description} \item[either] provide something like \verb+p{...}+ (perhaps = \verb+h{...}+ for \lq\lq hanging'') that gives a hanging paragraph rather than a left-justified = paragraph \item[or,] if one takes the point-of-view that books which use more than = one visual representation for the logical element \lq\lq paragraph in = cell'' are wrong (now matter how respectable they are), at least put a comment near the code for \lq\lq paragraph in = cell'' in the standard style files (or wherever) saying how one can change things so that all \lq\lq paragraphs within cells'' are hanging. \end{description} Perhaps one might be able to achieve the same effect by using Frank Mittelbach's \verb+>{\parindent=3D...}p+ \cite[p.\ 299]{mittelbach-88} = (if \verb+\parindent=3D-1em+ works), but it looks as if \lq\lq hanging = paragraph within table cell'' is sufficiently standard among gurus that it would = be worth providing explicit support in some way. \subsection{Ragged right?} In fact, most of the gurus cited above advocate/do \lq\lq paragraph within cell'' ragged right but hyphenated. (The exception is Butcher \cite{butcher-81} who has ragged right most of the time but flush right = on page 289, possibly because the column on page 289 is wider than columns elsewhere.) Therefore, it would seem wise to make ragged right the = \LaTeX\ 3.0 default for \lq\lq paragraph within cell''. \subsection{Multi-line stubs} If a cell contains figures that are described by a multi-line = table-stub, how should one get the figures aligned with the bottom line of the stub? I have in mind rows like \cite[p.\ 158]{hart-83} \begin{center}\begin{tabular}{lrrr} Infected trees, \% &1.63 & 0.9& 20.3\\ Chi-square for \\ \hspace{1em} observed values & 7.83 & 11.09 & 4.98 \end{tabular}\end{center} and \cite[p.\ 65]{miles-87} \begin{center}\begin{tabular}{lrrrrrrr} Interest and discount on other \\ lending in sterling & 53 & 38 & 54 & 98 & 141 & 168 & = 211 \end{tabular}\end{center} Would one use (a hanging variation) of \verb+{b{...}r}+ or \verb+{b{...}t{...}}+ (where \verb+b{...}+ and \verb+t{...}+ are as described in \cite{mittelbach-88})? Again, this convention for = alignment seems sufficiently common that I think it should be available via a = simple syntax if it isn't already covered by existing proposals. \subsection{Descenders} The following \LaTeX\ input illustrates a problem that arose while typesetting a questionnaire in which column 2 was a question that = sometimes took just one line, but sometimes took more than one line. I wanted to delegate line-breaking in column 2 to \verb+tabular+'s \verb+p{...}+. \begin{footnotesize}\begin{verbatim} \documentstyle[12pt]{article} \begin{document} \begin{tabular}{lp{14mm}l} % The p{14mm} is intended for dealing with things like % 00 & test test test & --- \\ % that need line-breaks in the second column. 10 & test & --- \\ 20 & test & --- \\ 30 & test & --- \\ 40 & test & --- \\ 50 & Testing & --- \\ 60 & Testing & --- \\ 70 & Testing & --- \\ 80 & Testing & --- \end{tabular} \end{document} \end{verbatim}\end{footnotesize} The inter-baseline distance between a \verb+p{...}+ cell and the one = below varied slightly depending on whether the last line of the \verb+p{...}+ = had a descender. This spoiled column 3 of the questionnaire, which actually held rectangles to hold answers. The rectangles were obviously = separated by irregular amounts of vertical space. Could \LaTeX\ 3.0 arrange that, in such circumstances, the inter-line spacing does not depend on whether the cell-entries have descenders? \section{Rules, i.e.\ lines} I've tried to use \LaTeX\ 2.09 to typeset some of the tables shown as examples by gurus of table layout (\cite[p.\ 157]{hart-83}, \cite[p.\ 6]{bsi-dd52}), but have had only partial success. It looks as though, for success in laying tables out as the gurus recommend, one needs: \begin{itemize} \item a choice of thickness for \verb+\hline+s (\cite[p.\ 156]{hart-83}, \cite[p.\ 4]{bsi-dd52}). If one follows \cite{bsi-dd52}, the choice would be between 0.5pt, 1pt, 2pt and = 4pt. \item an option of specifying that adjacent \verb+\cline+s should not join up (so that tables can be typeset as shown in \cite[p.\ 6]{bsi-dd52}). \end{itemize} \section{Vertical spacing} \subsubsection{Spacing in {\tt tabular}} \TeX-related software is usually very good at ensuring ``the right = space'' between things. Yet straightforward use of {\tt tabular} \begin{footnotesize}\begin{verbatim} \begin{tabular}{ccc} \hline lowercase text & Mixed Case Text & Mathematics = \\ \hline text text text text & Text Text Text Text & ${x_i}?2 + {y_i}?2 =3D = {z_i}?2 $ \\ text text text text & Text Text Text Text & ${x_i}?2 + {y_i}?2 =3D = {z_i}?2 $ \\ text text text text & Text Text Text Text & ${x_i}?2 + {y_i}?2 =3D = {z_i}?2 $ \\ \hline \end{tabular} \end{verbatim}\end{footnotesize} \noindent gives capitals that nearly touch the horizontal rules, and superscripts that do touch the horizontal rules. \begin{center} \begin{tabular}{ccc} \hline lowercase text & Mixed Case Text & Mathematics = \\ \hline text text text text & Text Text Text Text & ${x_i}?2 + {y_i}?2 =3D = {z_i}?2 $ \\ text text text text & Text Text Text Text & ${x_i}?2 + {y_i}?2 =3D = {z_i}?2 $ \\ text text text text & Text Text Text Text & ${x_i}?2 + {y_i}?2 =3D = {z_i}?2 $ \\ \hline \end{tabular} \end{center} The proposals in \cite[p.\ 299]{mittelbach-88} seem to envisage that the default will continue to be that \lq\lq horizontal lines may touch = capitals and superscripts'' (although the user would be able to change this with \verb+\extrarowheight+ or, presumably, \verb+\arraystretch+). By contrast, the gurus seem to be generous with space around horizontal = rules (see \cite[ch.\ 12]{chicago-82}, \cite[p.\ 136]{butcher-81}, \cite[p.\ 157,158]{hart-83} and \cite[p.\ 6]{bsi-dd52}). Couldn't \LaTeX\ 3.0 ensure that, by default, a horizontal line will = keep clear of the tops of capital letters and of superscripts? \subsubsection{Spacing in {\tt array}} Similarly, by default, \LaTeX\ can leave the row-separation in arrays unclear, as when \begin{footnotesize}\begin{verbatim} \[ \left( \begin{array}{lll} {a_i}?2 + {b_j}?2 + {c_k}?2 & {u_r}?l {v_s}?m & X - Y \\ {a_i}?2 + {b_j}?2 & {u_r}?l + {v_s}?m & Z \\ {a_i}?2 & 3{u_r}?l + {v_s}?m {w_t}?t & XYZ \end{array} \right) \] \end{verbatim}\end{footnotesize} \noindent gives \[ \left( \begin{array}{lll} {a_i}?2 + {b_j}?2 + {c_k}?2 & {u_r}?l {v_s}?m & X - Y \\ {a_i}?2 + {b_j}?2 & {u_r}?l + {v_s}?m & Z \\ {a_i}?2 & 3{u_r}?l + {v_s}?m {w_t}?t & XYZ \end{array} \right) \] By contrast, traditionally typeset books seem to leave enough inter-row space (\cite[p.\ 367]{chicago-82}, \cite[p.\ 6]{fletcher-80}, \cite[p.\ 86]{fox-mayers} \cite[p.\ 313]{m+s+m-63}) to make it easy for the reader to distinguish between the rows. Could there be some mechanism to ensure that, if the elements of a = matrix involve both superscripts and subscripts, there is sufficient default vertical space to keep the rows visually distinct? \section{One row or column of a table highlighted} Frank Mittelbach's article about a new implementation of {\tt tabular} suggests a way of emphasising the whole of a column without having to = begin every cell-entry with, e.g., \verb+\bf+ \cite[p.\ 299]{mittelbach-88}. Would something similar be possible for rows? For example, could there = be an easy way of specifying that a row of column-headings or a row of = \lq\lq totals'' is to be emphasised (as in \cite[p.\ 65]{miles-87}), without = the user having to \verb+\bf+ each cell individually? \section{Notes} \label{table-notes} The facilities provided by \LaTeX\ 2.09 (``put a {\tt tabular} inside a {\tt minipage} and use = \verb+\footnote+'') do not seem particularly suitable for providing notes about tables in the way advocated by the gurus. \begin{itemize} \item The gurus seem to typeset notes no wider than the table (\cite[ch.\ 12]{chicago-82}, \cite[p.\ 147]{white-88}). However, if one has to declare the {\tt minipage} before typesetting the {\tt tabular}, the {\tt minipage} must be wider than the expected width of the {\tt tabular}, so the footnotes will generally be wider than the table. \item The gurus advocate putting ``general notes'' before ``specific notes'' (\cite[p.\ 333]{chicago-82}, \cite[p.\ 164]{butcher-81}). = There does not seem to be an easy way of getting ``general notes'' out in the style that \verb+\footnote+ will use for ``specific notes''. \item Having to redefine \verb+\footnoterule+ (to give a null rule) is an added irritation. \end{itemize} It might be better if: \begin{itemize} \item the manual for \LaTeX\ 3.0 refrained from suggesting ``put a {\tt tabular} inside a {\tt minipage}, use = \verb+\footnote+ and re-define \verb+\footnoterule+'' \item \LaTeX\ 3.0 made the width of the most recently typeset {\tt = tabular} available in a variable, so that the user could declare a {\tt = minipage} or a {\tt tabular} of the same width (or a related width) immediately below, to hold the notes. \item there was some means whereby the user could tell \LaTeX\ to base it's decision about {\tt tabular}-width on the rows that hold the table-proper but could let the {\tt tabular} continue below = the table-proper. Notes could then be provided in ``extra rows'' that had the same width as the table-proper. \end{itemize} It would be even better if the user specified the table and its surroundings in terms of the logical elements ``title'', ``subtitle'', ``table proper'', ``source notes'', ``general notes'', ``specific = notes'', ``probabilities'' and \LaTeX\ 3.0 and the {\tt sty} file took care of = the detailed layout. \chapter{Floats \dots} \dots\ plus a few digressions about illustrations. \section{Confusion} The {\tt figure} and {\tt table} environments arrange for: \begin{itemize} \item captions to be numbered \item material to be floated. \end{itemize} Our \LaTeX\ users seem to want the caption-numbering, but to get confused by the floating. Typically, they go \verb+\begin{table}[h]+ without reading the ``small print'' \cite[p.\ 176--178]{lamport-86}, and then come to our Advisory Service asking why the table hasn't appeared ``here'' and why they're being told ``{\tt Too many unprocessed = floats}''. Admittedly, much of the problem is that (a) they haven't studied printed books to see what \lq\lq the professionals'' do with figures and tables = (b) there is a typewriter tradition of expecting things to stay where they = are put (c) they get a half-truth ``from a friend'', and don't study the = manual to get the whole truth. But, I think part of the problem is attributable to: \begin{itemize} \item the environment names. ``{\tt table}'' {\em sounds} as if it's = ``what you {\em must} use for a table'' \item the dual role. People may choose {\tt table} and {\tt figure} in order to get numbered captions: there isn't another off-the-shelf way to get them. They may see the floating as an unwanted side-effect and think (wrongly) that \verb+[h]+ will turn the effect off. \end{itemize} In \LaTeX\ 3.0, could environments for ``floating'' be given names that make it obvious that their main purpose is to float things? For example, suppose that someone had to go \verb+\begin{floattable}+ or \verb+\begin{float}{table}+. Even if they found out about this ``from a friend'', they would stand a good chance of realising that they are = asking \LaTeX\ to float something (and get a hint that \verb+h+ is ``allowing a null float when aesthetically possible'' rather than ``forcing the table {\it here} under all circumstances''). I'm not sure whether to be optimistic or pessimistic about what would = happen if floating environments were given names that made it absolutely clear = that their role is to float things. Being optimistic, I think that users would then be clear what to expect, would be pleased that \LaTeX\ will = make their document look like a professionally produced book, and would not = use the environments in such a way as to give ``{\tt Too many unprocessed floats}'' = over-frequently. Being pessimistic, I wonder if it would be worth providing one or other = of: \begin{itemize} \item environments that just put a table or figure ``here'' (with = spacing, caption, etc., as for the ``floats''), and give an ``{\tt Underfull vbox}'' if the table/figure can't be fitted on = the current page and has to go on the next one (leaving the current page = underfull). For example, \verb+\begin{fixedtable}+ or = \verb+\begin{fixed}{table}+. \item a command (or commands) to produce captions in ``ordinary text'' = that look the same as (and use the same counters as) the captions = produced in the floating environments. For example, \verb+\caption{table}{...}+ or = \verb+\tablecaption{...}+. \end{itemize} \section{Captions} \subsection{\protect\LaTeX\ 2.09's practice} The \LaTeX\ 2.09 manual \cite[p.\ 59,60]{lamport-86} isn't explicit = about whether the spacing around \verb+\caption+ is designed to go under or = over a table/figure. Looking at the standard {\tt doc} files suggests that = the same code is used for both figures and tables, and that the resulting caption is intended to go {\it under} the figure or table. However, the 2.09 manual points out that ``there can be several captions = in a {\tt figure} or {\tt table} environment''. \subsection{Publishing practice} In publishing practice, it seems respectable to have a combination of: \begin{itemize} \item table captions {\em above} the table \item figure captions {\em below} the figure. \end{itemize} Perhaps this is because tables may have notes underneath, and may be = split over several pages. See \cite[p.\ 266,308]{chicago-82}, \cite[p.\ 136,160]{butcher-81} and \cite[p.\ 158,161]{hart-83}. It also seems respectable for narrow floats to have their captions at = the side \cite[p.\ 146, fig.\ 5]{hart-83}. Within such floats, it seems normal (\cite[ch.\ 11,12]{chicago-82}, \cite[p.\ 164]{butcher-81}, \cite[figs.\ 2,5]{hart-83}) to have the following elements: \begin{itemize} \item for tables: the title (and possibly a subtitle), the table itself, source notes, general notes, specific notes, probability levels\footnote{A statistician colleague tells me that statisticians now prefer ``confidence intervals''.} \item for figures: the figure itself, the caption, the legend, and the credit-line/source/copyright-holder (see \cite[p.\ = 315]{chicago-82}, \cite[p.\ 46]{butcher-81} and \cite[fig.\ 5]{hart-83}). \end{itemize} I haven't been able to find any sensible examples of floats with more = than one caption. Hart has some examples of figures side-by-side = \cite[figs.\ 6,7,8]{hart-83}, but this is really a case of figures ending up together after floating, rather than having to be kept together while floated. Butcher mentions situations where ``two tables should appear in the same opening, so that they can be compared'' \cite[p.\ 161]{butcher-81}, but some mechanism other than that provided by \LaTeX\ 2.09 would be = necessary to achieve this. Overall, the vagueness about how the author and the designer are to use \verb+\caption+ seems likely to: \begin{itemize} \item make it difficult for the designer to implement decisions about the positioning, spacing and fonts for \begin{itemize} \item table titles and notes \item figure captions, legends, and credit-lines or source-acknowledgements \end{itemize} \item leave the author doing visual design: experimenting until things ``look right''. \end{itemize} \subsection{\protect\LaTeX\ 3.0} \label{float3} It seems to me that the advantage of having the usual \LaTeX\ = ``separation of the designer's and author's roles'' within the body of a float would = far outweigh any flexibility that ``several captions within a float'' = allows. (If it is desired to allow two narrow floats side-by-side, this should = be done by letting the user tell \LaTeX\ about the width of the float. If = it is desired to cater for rare situations where ``two tables should appear = in the same opening'', this should be done by arranging some ``magnetic attraction'' between the two---or by letting the user fiddle with the = {\tt tex} file.) I suggest that: \begin{itemize} \item notice be given that ``more than one caption within a float'' will not be supported after \LaTeX\ 2.09 \item at \LaTeX\ 3.0, ideally \begin{itemize} \item the successor to {\tt table} should require the user to specify the block to be floated in terms of the logical elements ``title'' (plus possible ``subtitle''), ``table itself'', ``source notes'', ``general notes'', ``specific notes'', ``probability levels''. See section \ref{table-notes}. \item the successor to {\tt figure} should require the user to specify the block to be floated in terms of the logical elements ``figure itself'', ``caption'', ``legend'', \lq\lq = credit-line'' or \lq\lq source'' \item the positioning, typeface, etc. to be used for the logical = elements should be under the control of the document-designer via the style file. A designer should be able to implement designs \cite{chicago-82,butcher-81,hart-83} that have: table-title at the top of a floated ``table block'', with table-notes at the bottom of the = block; ``caption'' and ``legend'' (in that order) at the bottom of a floated ``figure block''. Equally, a designer should be able to implement other conventions for layout of the ``logical elements'' within floated blocks. \end{itemize} \end{itemize} \section{Sizes for artwork, and strategies for floating} \subsection{Scope} There was meeting entitled \lq\lq \LaTeX\ 3.0 and you'' held in London = in February, which discussed the problem of catering for \lq\lq floats'' = whose width may be more (e.g., if the text is being typeset in 2 columns) or = less (e.g., if 2 narrow illustrations will fit horizontally next to each = other) than the width of the text-column. The present section is based on some notes that I wrote after the meeting: it contains some remarks about = \lq\lq scaling your artwork (when you have a choice)'' and \lq\lq floating objects that are the same width as the text-column'' as well as about \lq\lq floating objects whose width differs from that of the text-column''. \subsection{Advice from gurus} As background to decisions about what \LaTeX\ 3.0 might do, it may be useful to consider the advice given by a few gurus. Their advice covers illustrations and float-placement in general: I've italicised the advice that applies particularly to \lq\lq floats'' whose width differs from = that of the text-column. \subsubsection{Hart} \paragraph{Terminology} Hart's {\it Rules} \cite[p.\ 145--148]{hart-83} seems to use the = following terminology: \begin{description} \item[opening] a 2-page spread. \item[block] \lq\lq a relief printing surface from which line-art, = half-tones, etc., can be printed'' \cite[p.\ 216]{williamson-83}. The term = comes from the wood blocks in which illustrations used to be cut. (I assume that the analogue these days is the \lq\lq bounding box'' for a file of encapsulated PostScript.) \item[underline] a line [of text] underneath a block ({\it not} an \verb+\hrule+ underneath a line of text). Thus, I think Hart uses \lq\lq underline'' to mean what the Chicago Manual of Style \cite[ch.\ 11]{chicago-82} = would call \lq\lq caption plus legend'' and what \LaTeX\ 2.09 \cite[p.\ 59]{lamport-86} might call a \verb+\caption+. The \lq\lq = underline'' might contain an acknowledgement of a source. \item[illustration] a block plus its underline, i.e., in \LaTeX\ 2.09 = terms, the stuff that might go in \verb+\begin{figure}+ \dots\ \verb+\end{figure}+. (By contrast, if you read the description of \lq\lq encapsulated PostScript'' given in \cite{adobe-90}, you'll probably have to = interpret \lq\lq illustration'' as meaning \lq\lq just the block of = artwork''.) \end{description} \paragraph{Rules (i.e.\ recommendations)} The relevant advice \cite[p.\ 145--148]{hart-83} can be paraphrased as = follows [where (a), (b), etc., are Hart's letters]: \newcounter{Hart} \begin{list}% {(\alph{Hart})}{\usecounter{Hart}} \item Keep the illustration on the same 2-page spread as the reference to it as far as possible. \item If an illustration takes half-a-page (vertically) or less, it should be placed slightly above the centre of the page, with text above and below. (I.e., in \LaTeX\ 2.09 terms, there should be an alternative to \verb+[t]+, \verb+[b]+ and \verb+[h]+ that gives \lq\lq slightly above the centre of the page''. It might need to try to avoid splitting paragraphs: see notes about Williamson, below.) \item If an illustration takes more than half a page, put it at the top or bottom of a page (preferably the top), but don't ever put less than 5 lines of text on a page. \item For a pair of full-width illustrations that have to appear in the = same 2-page spread: if the depth allows, they can be put together on a = page; if not, they can be placed as for (b) or (c). Hart's Rules gives an example (figure 2) that has the following arrangement for a = 2-page spread: \begin{center} \begin{tabular}{cc} ILLUSTRATION & TEXT \\ TEXT & ILLUSTRATION \end{tabular} \end{center} \item If 3 full-width illustrations have to be fitted onto a 2-page = spread, put 2 on one page and the third on the other with some text (minimum 4 lines) on the other. \item Hart's (f) deals with \lq\lq running text around a narrow = illustration'', which is probably outside the scope of \LaTeX\ 3.0. However, it does mention typesetting underlines (i.e., caption + legend, etc.) \lq\lq to the width of the illustration'', which may be a = requirement to bear in mind. \item If a \lq\lq block'' (i.e., piece of artwork) is narrow, move the underline (i.e., caption + legend) to the side of the block, so as to avoid having to run text around an illustration (i.e., narrow artwork with narrow caption underneath). If you do this, the alignment of the caption is to the top/bottom of the block depending on whether the illustration is at the top/bottom of the page. \item If the width of an illustration is less than full-width but greater than full-width/2, centre it horizontally, and typeset the underline (i.e., caption + legend) to the width of the block (e.g., artwork) (if it's a long underline) or centre it (if it's a short one). \item Illustrations that are too wide generally need human intervention. In the absence of other instructions, centre them and typeset the underline (i.e., caption + legend) to the text-width. \item This deals with spacing around a block (e.g., artwork) \item This deals with spacing above/below the underline (i.e., caption + legend). \item {\em Two illustrations that are each less than half the text-width = are to be placed side-by-side.} \item {\em When two illustrations (of \lq\lq not too dissimilar depth'') = are placed side-by-side, they are to be placed vertically so that {\em = either} the bases of the blocks (e.g., artwork) are level {\em or} the bases = of the underline (i.e., caption + legend) are level.} \item In books (but not journals) running heads and folios (i.e., page-numbers) are generally to be omitted on pages that have full-page illustrations. \item This deals with the orientation of landscape pages. \item {\em For multi-column make-up, the order of illustrations is = to be maintained wherever possible.} I'm not sure what this means. It seems to allow both \begin{center}\begin{tabular}{cc} Fig 1.& Text \\ Fig 2.& Text \\ Text & Text \end{tabular}\end{center} and \begin{center}\begin{tabular}{cc} Fig 1.& Fig 2. \\ Text & Text \\ Text & Text \end{tabular}\end{center} \item This deals with making the underline (i.e., caption plus = legend) slightly less wide than the block (e.g., artwork), if such = adjustment is necessary to improve the appearance of the underline. \end{list} \subsubsection{Leslie Lamport \& Margery Cantor} The notes distributed at the \lq\lq \LaTeX\ 3.0 and you'' meeting = included extracts from some e-mail about a discussion between Leslie Lamport and Margery Cantor. She suggests aligning the tops of figures [whereas Hart suggests aligning the bottom of the (wood-)block or the bottom of the underline (e.g., caption + legend)]. Leslie Lamport also suggested a few other things, in particular, that = the user will have to arrange for a figure to have a certain width, perhaps by using a minipage. \subsubsection{McLean} Ruari McLean \cite[p.\ 137]{mclean-80} suggests the following: \begin{quote} If a book consists of a number of text pages \dots\ and the pages include a number of squared-up illustrations, all different = shapes, the unity of the book is immediately threatened. The = illustrations should all have the same width as the type area \dots\ If they can also, with captions, make the same depth as the text, so much the better \dots\ \\ If a book is designed with wide foredge margins, and it is strongly desirable to make an illustration wider than the type measure, it can be taken into the margin, provided it is conspicuously wider than the text; but if it is done more than once, the larger illustrations should all be of the same width. \\ \dots\ metal blocks \dots\ flanges of about 1/8 in \dots\ \\ Half-tone illustrations \dots\ illustration area in harmony with the type area \dots \\ \dots\ undesirable to lay down a set of rules \dots\ But a few = \lq\lq rules of thumb" are helpful \dots \\ If two pictures are to be placed one above the other, they should either be identical in width or conspicuously different. If they are unavoidably of nearly the same width, they should not be aligned on one side, but placed full out to left and right respectively, so that the comparison is not obvious. \end{quote} \subsubsection{Williamson} Hugh Williamson \cite[ch.\ 14]{williamson-83} suggests the following: \begin{quote} If a designer and illustrator can agree on the dimensions of pictures before work begins, both the typography of the book and its illustrations are the more likely to succeed.\\ \dots\\ When \dots\ full-page illustrations vary in depth, a standard position for the last line of the caption, perhaps aligned with the last line of text on a full page, \dots\ , even at the expense of varying distances between caption and picture.\\ \dots\\ When picture and a long caption are to share the area allocated to illustration, the dimensions of the picture may depend on those of the caption, \dots\ way to determine illustration size will be to have such captions set \dots\ first. \\ \dots\ A conspicuously rectangular illustration, \dots\ , is usually placed with one or more of its edges in exact alignment with other elements of the opening. \\ \dots\ act of reading favoured by placing the illustration between two paragraphs \dots\ to divide a word immediately before and after an illustration is clumsy.\\ \dots\ \\ Captions often look neatest when they are no wider than the illustration under which they are to appear. \end{quote} \subsubsection{Miles} John Miles \cite{miles-87} gives some examples of grid-based designs, = e.g., an A3 design that has 5 columns each of 12pc with a 1pc gutter between = each column (page 38). Presumably, such a design will work best if artwork = is supplied 12pc, 25pc, 38pc, 51pc or 64pc wide. \subsection{Implications} I wouldn't suggest that the opinions of Hart, McLean, Williamson, etc., represent \lq\lq what \LaTeX\ 3.0 (or its \lq standard styles') should do''. But their opinions seem to represent the sort of thing that = \LaTeX\ 3.0 should allow a designer to implement. To this end, it seems to me desirable that \LaTeX\ 3.0 and the designer should be working in terms = of the same concepts. From the above, it appears that the following concepts may be = fundamental: \begin{itemize} \item In old-fashioned terms \lq\lq the positions of the edges of the = wood/metal block holding line-art or half-tone'' or, in PostScript terms, \lq\lq = the bounding box for the file of encapsulated PostScript that is being \verb+\special+-ed in at this point to define some artwork''. \item The designer may have a preference about the sizes of illustrations that are to be allowed. The artwork may have to be scaled/cropped to = be one of a designer-approved set of sizes (or widths). \item The width of the underline (=3D caption + legend =3D 2.09 = \verb+\caption+) may depend on the width of the (\lq\lq wood or metal'') block or EPS bounding box (e.g., artwork) [or occasionally vice versa]. \item The underline (=3D caption + legend =3D 2.09 \verb+\caption+) may need = to move (e.g., to the side of the artwork) if the artwork is narrow. Alternatively (Williamson), a caption might move to be aligned with the bottom of the last line of text on a full page. \item The underline may actually contain: a caption; a legend; a = credit-line or details of source. They may need to be distinguished = typographically. \end{itemize} \LaTeX\ may need to \lq\lq know'' the height and width of the artwork = (i.e., height/width of wood/metal block, or EPS bounding box), so that it can align \lq\lq the edges of the block'' with other elements of the = page. In particular, the width of the artwork may determine the width of the caption. \LaTeX\ may also need to manipulate the underline (i.e., = 2.09 \verb+\caption+) to side of page (Hart) or bottom of page (Williamson). \LaTeX\ may need to align the \{artwork + underline\} by using the edges of the artwork or by using the top/bottom lines of the underline; hence \LaTeX\ needs explicit access to these positions. I have the impression that \LaTeX\ needs to be working in terms of: \lq\lq the = bounding box for the artwork''; the width of the \{caption+legend+source\}; the baselines of the top/bottom lines of the \{caption+legend+source\}. The height of the \verb+\begin{figure}+ \dots\ \verb+\end{figure}+ and the width of an enclosed minipage are unlikely to be good enough. Therefore, it looks as though it might be better for the user (guided by the designer's preferences) to declare the height/width of the artwork (rather than the height/width of the artwork+caption) and let \LaTeX\ = work out the height/width of the \lq\lq artwork + caption'' (which could conceivably involve trying the caption at the side of narrow artwork). Then \LaTeX\ will \lq\lq know'' the width of the artwork and can, if appropriate, typeset the caption to the same width (whereas if width was specified by a minipage containing the whole lot, it might be wider than the actual artwork, and the caption might end up too wide). So I wonder whether some user interface such as that shown in Figure \ref{artwork-interface} might be appropriate. \begin{figure} \begin{footnotesize}\begin{verbatim} \begin{floatfig} % A golden opportunity to phase "figure" out. My % users often don't understand that it "floats" = until % they see it happen, then say they don't like it! % A more meaningful name would help understanding. \artwork{144bp}{216bp} % Here I assume that the dvi... command \special{dvi... 144 ... 216 } % can scale, and that we want to % take advantage of this feature in this % case to scale the artwork to fit within % a 2in x 3in bounding box, perhaps = because % the designer has expressed a preference % for artwork that is 2in wide. (If not, % the user would simply specify % Xbp and Ybp in the \artwork command % where X and Y are taken from the % BoundingBox comment in the EPS file.) % A \begin{picture}(X,Y) could be used % instead of \artwork ... \special ... % if the picture environment is being = used % for a drawing. \figcaption{...} % LaTeX now knows the width of the artwork, \figlegend{...} % so can, in principle, try moving the caption, = etc. \figcredit{...} % to the side of narrow artwork or typeset the % caption to the same width as the artwork. % (Or should the caption, legend and credit-line = be % arguments to floatfig rather than being supplied % via separate commands \figcaption, etc.?) \end{floatfig} \end{verbatim}\end{footnotesize} \caption{A user-interface for floated artwork?\label{artwork-interface}} \end{figure} \subsection{Increasing the probability of success} The \lq\lq \LaTeX\ 3.0 and you'' discussion postulated a situation in = which it might be necessary to place arbitrary collections of figures of arbitrary size. Obviously \lq\lq it would be nice'' from an algorithmic point-of-view to have an algorithm than could handle arbitrary situations. But: \begin{itemize} \item In practice, a lot of placement problems may be easier than the general problem. Artwork may actually be a graph off a graph-plotter (produced using the plotting package's default plot-size and scaled using a constant factor): all plots will tend to be the same size. Photographs will tend to be supplied in standard sizes. [On the other hand, chemical artwork may tend to produce diagrams of differing sizes, because chemists may want the bond-length constant throughout the document, rather than the \lq\lq structure-diagram size'' constant.] \item The designer may express a preference for particular sizes (or at least particular widths) for line-art, half-tones, etc. A designer might even say that \lq\lq arbitrary collections of = figures of arbitrary size'' threaten the unity of the book (McLean). \item {\tt dvi}-file printing commands often allow for the scaling of a \verb+\special+-ed piece of artwork to a particular size. \end{itemize} So a lesser objective than \lq\lq arbitrary collections of arbitrary = sizes'' might deal with the most common cases (and might conceivably lead to better design). There would have to be a convention whereby the designer could pass on his/her preferences about the sizes in which artwork should be supplied. I suppose that comments in the style-file would do. For example, for Miles's A3 design, a comment in a style-file might say \begin{quote} In this design, \LaTeX's algorithm for figure-placement works best with figures that have the following widths: 12pc, 25pc, 38pc, 51pc, 64pc. \end{quote} In a design for a single-column book, the comment in the style-file might recommend \lq\lq magic numbers'' chosen as \lq\lq full-width'', \lq\lq a bit less than half full-width'' etc. Generally, the user could be told \begin{quote} If you have a choice, we advise you to use one of the following widths for best results with this design ... \end{quote} Then: \begin{itemize} \item users will have guidance about how to use {\tt dvi}-file printing commands' abilities to re-scale artwork. (Otherwise, they'd probably just use whatever size picture happens to come off their graph-plotter, out of their camera, etc.) \item \LaTeX\ is likely to get given artwork of \lq\lq a recommended = width'' that it can make a good job of placing, since much of the testing of the placement algorithm and style-files would be with artwork of \lq\lq recommended widths''. \end{itemize} \section{Landscape} The precise details of what one does to place an object ``landscape'' will depend on the \verb+\special+s available for a particular printer. It may be unwise to define official environments, since they would not = be available to everyone that has \LaTeX\ 3.0. (But if you want to define = a standard ``optional extension'', you might adopt definitions like those shown in Figure \ref{landscape}, which are based on code sent to {\tt UKTeX} by Sebastian Rahtz.) \begin{figure} \begin{footnotesize}\begin{verbatim} % Declare a storage bin for use by environments that deal with wide = things. \newsavebox{\widethingstore} % Deal with very wide objects as follows: % - typeset the object into a storage bin % - reserve a page (by giving LaTeX a portrait object that will occupy = a % whole page) % - bring the object out of the storage bin into a region of the page = that % dvitops will rotate. Position the object so that, when rotated, = its % vertical centre is aligned with the horizontal centre of the usual % portrait text-column. \newlength{\height} \newlength{\excess} \newenvironment{landscapetable}{% \begin{table}[p] \savebox{\widethingstore}\bgroup\begin{minipage}{237mm}}{% % \end{minipage}\egroup % Will the object be too high for the landscape page? \height=3D\dp\widethingstore \advance\height by \ht\widethingstore \excess=3D\height \ifdim\height>127mm \advance\excess by -127mm \immediate\write16{Warning: Your landscapetable is \the\excess} \immediate\write16{higher than the normal landscape text-area.} \fi \vspace*{241mm} % A portrait object that will occupy a whole page. \hspace*{64mm} % Align the vertical centre of the landscape = object % with the horizontal centre of usual portrait = text. \special{dvitops: origin landscapetext} \special{dvitops: begin landscapetext} \dp\widethingstore=3D0pt % Pretend that the object has no size, \wd\widethingstore=3D0pt % otherwise it ends up in the wrong = place. \ht\widethingstore=3D0pt \usebox{\widethingstore} % Bring the object out of its bin to \special{dvitops: end} % be printed in a landscape orientation. \special{dvitops: rotate landscapetext -90} \end{table} } \newenvironment{landscapefigure}{% \begin{figure}[p] ... } \end{verbatim}\end{footnotesize} \caption{Prototype definitions of {\tt landscapetable} and {\tt landscapefigure}\label{landscape}} \end{figure} Nevertheless, people are going to want to define environments that place objects ``landscape''. (Perhaps designers will want to provide such environments as part of an overall design.) It might be possible to help such people = by providing the ability to define: \begin{itemize} \item a float that must appear on a ``page of floats'' on which it is the only float \item a \verb+\thispagestyle+ that takes effect after floating. = Although the gurus sometimes print headings on pages with full-page \lq\lq floats'' and sometimes don't (see \cite[p.\ 343,579]{chicago-82}, \cite[p.\ 42]{butcher-81} and \cite[p.\ 147,157]{hart-83}), those designers who {\it do} want to suppress the headings will need a suitable mechanism. \end{itemize} See also Appendix \ref{wide-things}. \section{Almost-blank pages for figures} Technical documents often have full-page graphs etc.\ produced by = separate picture-drawing software. The picture-drawing software may be told that = it is to prepare output for A4, and the output may appear as an A4 sheet = from a graph-plotter or laser-printer. The user may be able to cut down the size a little by asking for generous margins or by photoreducing. In these circumstances, my guess is that the user would want \LaTeX\ to provide a page that has a number and possibly a suitable caption, legend and/or credit-line, but otherwise to leave ``as much space as = aesthetically possible'' for the illustration that was put onto A4 by the other = software. Some convention about the commands needed to get ``as much space as aesthetically possible'' might be useful (although the space available might vary between styles). For example, perhaps a user should be able to get \LaTeX\ to: \begin{itemize} \item typeset the caption, legend and credit-line for some (almost) full-page artwork \item \verb+\vfill+ the page, so the caption, legend and credit-line go to the bottom of \lq\lq where the text area would have been if the page hadn't been reserved for artwork'' \item write (e.g., in the {\tt .log} file) a message that gives the dimensions of the biggest \lq\lq block'' of artwork which can = fit in \lq\lq where the text area would have been'' after the caption, legend and credit-line have been typeset and pushed to the bottom of \lq\lq where the text area would have = been''. \end{itemize} Would it be possible to arrange things so that the user could issue = commands such as --- \begin{verbatim} \begin{figure}[p] \maxartwork % Do a \vfill and write (to .log file) the % height and width of the biggest rectangle % that can then fit in the "normal text % area" above the caption, etc. \figcaption{...} \figlegend{...} \figcredit{...} \end{figure} \end{verbatim} --- or --- \begin{verbatim} \begin{landscapefigure} \maxartwork \figcaption{...} \figlegend{...} \figcredit{...} \end{landscapefigure} \end{verbatim} --- ? If so, the user could then \begin{itemize} \item read the \lq\lq maximum dimensions that fit in with the design'' from the {\tt .log} file \item take whatever steps are necessary to cut his/her A4 picture down a = little to fit within these dimensions. (Such steps might involve instructions to a graphics package, photoreducing, or a = \verb+\special+ to tell {\tt dvi}-file processing software about the desired = size.) \item if appropriate, replace the \verb+\maxartwork+ command by \verb+\artwork+ and \verb+\special+ commands, as shown in = Figure \ref{artwork-interface}. \end{itemize} \chapter{Lists of references; bibliographies} \section{Title} \label{refslist-title} The \LaTeX\ 2.09 ``standard styles'' seem to assume that a = ``bibliography'' is merely a long ``list of references''. However, many people use ``bibliography'' to mean something different from ``list of = references''. There may also be situations where: \begin{itemize} \item an author wishes to use something like {\tt thebibliography} for ``Select Bibliography'' or ``Further Reading'' (\cite[p.\ 420]{chicago-82}, \cite[p.\ 182]{butcher-81}). \item a document might have more than one {\tt thebibliography}-like = list: for example (a) ``References'' then ``Further reading'' \cite[p.\ 192]{butcher-81} (b) ``List of references'' then ``Bibliography'' \cite[p.\ = 22]{bs-4821}. \end{itemize} It seems to me that it is important to enable the author to give {\tt thebibliography} a title that accurately describes its contents. Consequently, I think that the approach take in {\tt german.sty} (in the Aston archive) is mistaken. For example, having \verb+\def\refname{References}+ and \verb+\def\bibname{Bibliography}+ for English will tend to perpetuate the mistaken assumption that ``an article has a list-of-references while a report or book has a bibliography'', and hence to perpetuate inaccurate titles. I think that: \begin{itemize} \item it would be better to have just one default title per language, irrespective of \verb+\documentstyle+ \item the default title should be the usual description of a list from which one \verb+\cite+s. For English, we might have \verb+\def\refname{References}+ as the default. \item there should be an easy mechanism (such as that shown in Figure \ref{thebib-plus}) to allow the author to replace the default = title. \end{itemize} \begin{figure} \begin{footnotesize}\begin{verbatim} % This style-option file, thebib-plus.sty, is based on code taken from % article.doc and report.doc/book.doc. % % It differs from the standard code in that: % - a command \bibtitle is defined, to generate the bibliography title % - a command \bibheadtitle is defined, to generate the text to be used % by \pagestyle{headings} % - \bibtitle and \bibheadtitle are set to generate "References" and % "REFERENCES" respectively. % - an \addcontentsline{toc}{...}{\bibtitle} command is issued. % Thus: % - the default bibliography title is "References", but can be changed = by % having \renewcommand{\bibtitle}{...} before \begin{thebibliography} % or \bibliography % - the default page header text is "REFERENCES", but can be changed by % \renewcommand{\bibheadtitle}{...} % - \tableofcontents will give a table of contents that mentions the % bibliography. % % Define default title and page-head text. % \def\bibtitle{References} \def\bibheadtitle{REFERENCES} \@ifundefined{chapter}{\def\thebibliography#1{\section*{\bibtitle\@mkboth= {\bibheadtitle}{\bibheadtitle}} \addcontentsline{toc}{section}{\bibtitle}\list {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=3D1000\relax}}% {\def\thebibliography#1{\chapter*{\bibtitle\@mkboth {\bibheadtitle}{\bibheadtitle}} \addcontentsline{toc}{chapter}{\bibtitle}\list {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=3D1000\relax}} \end{verbatim}\end{footnotesize} \caption{A way to allow easy changes to the \lq\lq list of references'' = title% \label{thebib-plus}} \end{figure} \section{Schemes supported} In scientific, technical and medical work, the two most important = citation schemes are ``reference by number'' and author-date. In the humanities, references may be given using the \lq\lq short form'' scheme (often in footnotes). All three schemes are supported by the ISO standard. See \cite{iso-690} and \cite[p.\ 25]{page}. The definition of \verb+\cite+ and \verb+\bibitem+ in \LaTeX\ 2.09 = supports ``reference by number'', but anyone wanting to use a standard = author-date scheme: \begin{itemize} \item has to re-define \verb+\cite+, to get ``('' and ``)'' \item has to re-define \verb+\bibitem+, to suppress the \verb+[+{\it key\/}\verb+]+ printed by default \item will probably want a command that delivers just the ``date'' part when the author's name occurs naturally in a sentence. See \cite[sec.\ 9.4]{iso-690}. \end{itemize} This generally means that people wanting to use author-date: \begin{itemize} \item are unable to use standard programs such as {\tt lablst} which assume the original \LaTeX\ 2.09 definitions \item have to specify ``I'm using author-date'' in two places: as a style-option in their \verb+\documentstyle+ command, and in = their \verb+\bibliographystyle+ command. This seems unreasonable. \end{itemize} Similarly, the \lq\lq short form'' scheme is unsupported. Can anything be done in \LaTeX\ 3.0 to give author-date and \lq\lq short = form'' the same status as ``reference by number''? Some ideas will be found in Appendix \ref{citing}. \section{Consequences for \protect\BibTeX} The situation mentioned in section \ref{refslist-title}, where a = document may have more than one {\tt thebibliography} may have particular implications for \BibTeX. A document might have ``References'' to list = all the works cited, and ``Further reading'' to gives further details of = some of them. In \LaTeX\ 2.09 terms, one might need 2 \verb+\bibliography+s with 2 different \verb+\bibliographystyle+s. Does one need the ``bibliography style'' to be an argument of the \verb+\bibliography+ command, so as to allow for this possibility? \section{Subdivisions} Except when using an author-date scheme, an author might reasonably wish = to subdivide a reference list (\cite[p.\ 425]{chicago-82}, \cite[p.\ 183]{butcher-81}). Can some mechanism (\verb+\subbibliography{...}+?) be provided so that the author can place a subheading in a reference list = to indicate the start of a new category? (It would be nice if the = mechanism allowed a {\tt bst} file programmer to sort by ``category field'', and = then write an appropriate category heading to a {\tt bbl} file, so that = \BibTeX\ users could potentially have subdivided reference lists too.) \chapter{Miscellaneous} \section{Ragged right} People may wish to implement ``ragged right'' designs. They may want \TeX's mathematical typesetting capability and the help that \LaTeX\ can give with section-numbering, cross-referencing, etc., but not want any = of the right-justification that \TeX\ supplies by default. This seems respectable, since there are books on design that advocate ``ragged = right'' \cite[p.\ 19]{white-88}. Unfortunately, to implement a ``ragged right'' design in \LaTeX\ 2.09, = it seems necessary to make individual changes to any definitions in a style file = that involves ``paragraph makeup''. For example, it is necessary to specify ``ragged right'' for main text, footnotes, captions and list-elements separately. However, if the ``main text'' is to be typeset ``ragged right'', it is = most likely that ``ragged right'' will be required everywhere else, too. = Could there be some easy mechanism for specifying, in a style file, that ``everything is to be ragged right''? Better still, could there be some easy way of choosing, in a style file, to have everything as what White \cite[p.\ 21]{white-88} calls ``rough rag'', ``tight rag'' or ``minimal rag''? \section{File names} Might it be worth introducing a naming convention such as: \begin{itemize} \item extension {\tt sty} for a style file \item extension {\tt opt} for a style-option file? \end{itemize} It may help people to find their way round archives such as that at Aston. \subsection*{An e-mail comment} \begin{footnotesize}\begin{verbatim} From: Don Hosek Date: Fri, 1 Feb 91 21:54:00 PST .. I'd like to see LaTeX 3.0 use different extensions for style files and options. My recommendations would be style files have extensions of .dst and options .dop (.opt is too commonly used for other purposes) ... part of the advantage gained by the new extensions would be the emphasis that style files will probably need mods to work under the new LaTeX. .. \end{verbatim}\end{footnotesize} \section{``Over-long'' headings} Although the \LaTeX\ 2.09 manual \cite[p.\ 126]{lamport-86} explains = that giving an over-long {\it heading} argument in sectioning commands, \verb+\caption+, etc.\ can cause a ``{\tt buffer size}'' error, it seems perverse that an error can occur (for example) because of the size of a ``list of tables'' string {\em when the user hasn't actually given a \verb+\listoftables+ command}. Could \LaTeX\ 3.0 deal with over-long arguments in sectioning, = \verb+\caption+, etc., commands as follows? \begin{itemize} \item Instead of regarding {\it heading} as the default {\it toc-entry}, text to go in page-header, {\it lot-entry}, {\it lof-entry}, etc.\ \cite[p.\ = 158]{lamport-86}, regard just the first 50-or-so characters of {\it heading} as the default {\it toc-entry}, etc. \item If the user supplies a {\it heading} that is more than 50-or-so characters: \begin{itemize} \item If there is no \verb+[+{\it lst-entry}\verb+]+ argument, put = the first 50-or-so characters of {\it heading} to the {\tt aux} = file, followed (if truncation was necessary) by \verb+\dots+ or = ``etc.'' or some other truncation indicator. The chances are that the user doesn't want an entry in the table-of-contents, = list-of-tables, list-of-figures, or hasn't thought about the implications of = the length of {\it heading} for the table-of-contents, etc. The user may well be mis-using \verb+\caption+ for (in a table) the title {\em = and notes} or (in a figure) the caption {\em and legend}. The \LaTeX\ 2.09 manual is right when it says \cite[p.\ 126]{lamport-86} that ``such a long entry won't help the = reader''. The first 50-or-so characters will give the user something = that ``will do'' until they've thought about what they really = want. \item If truncation was necessary, send a message to the user's = terminal and {\tt log} file saying, for example, ``{\tt Warning: Your = caption is more than 50 characters long. Use \verb+\caption+'s optional lot-entry argument if you intend to use \verb+\listoftables+.}''. \item Allow the user to supply a {\it lst-entry} of up to the 2.09 limits if they do it explicitly through the optional \verb+[+{\it lst-entry\/}\verb+]+ argument. (They're = explicitly using {\it lst-entry}, so they probably know what they're = doing and really want these characters in the table-of-contents or = whatever.) \end{itemize} \end{itemize} This approach should: \begin{itemize} \item eliminate the situations where \LaTeX\ gives an error message because of an over-long {\it heading} even when {\it heading} isn't actually going to be printed anywhere where its length will be a problem \item give the user an authoring problem ``How can I improve this stopgap list-of-tables entry that \LaTeX\ has kindly supplied?'' rather than a de-bugging problem ``Why is user-hostile \LaTeX\ giving me this obscure error message?''. \end{itemize} \section{Page headers} Suppose that, in a book: \begin{itemize} \item the design requires chapters to start on a right-hand page \item chapter $i$ ends on a right-hand page, so \LaTeX\ must produce an empty left-hand page before starting chapter $i+1$. \end{itemize} In this situation, publishers seem to assume that the empty left-hand page is neither in chapter $i$ nor in chapter $i+1$ (see, for example, \cite{lamport-86,chicago-82}) and hence that the empty page should have no ``Chapter \dots'' page-heading. \LaTeX\ 2.09, on the other hand, gives it a page-heading to say that it it is part of chapter $i$ (which looks silly). Could the \LaTeX\ 3.0 version of {\tt book} (and similar styles) use \verb+\thispagestyle{plain}+ or \verb+\thispagestyle{empty}+ for a left-hand blank page that separates 2 chapters? \section{Sections} The definition of \verb+\@startsection+ in {\tt latex.tex} allows for ``run-in headings''. However, a design often involves some punctuation between a run-in = heading and the following text, e.g. ``a full stop unless the heading naturally ends in a question mark or exclamation mark''. (See, for example, \cite[p.\ 222--223]{chicago-82} and \cite[p.\ 240]{butcher-81}.) Would = it be possible, at \LaTeX\ 3.0, to define the successor to \verb+\@startsection+ in such a way that, if there is to be a run-in heading, the {\tt sty} file can specify default punctuation between the heading and the following text? See also Appendix \ref{runin}. \section{An interrupted {\tt enumerate}?} Would commands such as \verb+\suspend{enumerate}+ and \verb+\resume{enumerate}+ be possible, so that the author can introduce some items in a list with one sentence and then introduce further items in the same = list with another sentence? It would be easier than getting involved with \verb+\setcounter{enumi}+. \section{{\tt verbatim}} \subsection{Vertical space} For lists in designs that have un-indented paragraphs, I generally set \verb+\parsep+ and \verb+\itemsep+ to zero and \verb+\topsep+ to \verb+-\parskip+, to eliminate all vertical spacing. The objective (as in section \ref{lists-in-paras}) is to make it clear where paragraphs begin and end. I think that: \begin{itemize} \item extra ``blank lines'' in lists, and around {\tt verbatim}, will make paragraph-divisions less clear \item the bullet or ``label'' is a clear enough indicator of where a list-item starts, and the font-change is a clear enough indication of where verbatim starts. \end{itemize} So far, with \LaTeX\ 2.09, I've been unable to produce style files that close lists up satisfactorily when a list contains some \verb+verbatim+. = I guessed that, since \verb+verbatim+ uses \verb+\trivlist+, changing the list spacing should eliminate the vertical space around \verb+verbatim+ too. Unfortunately, I end up with the wrong spacing around = \verb+verbatim+. I would appreciate anything that could be done in \LaTeX\ 3.0 to make it easier to eliminate the vertical spacing around {\tt verbatim}, as can = be done for lists. \subsection{Horizontal space} It is usual to show computer input/output in {\tt verbatim}. One might reasonably say that ``computer input/output is a type of quote'', and so want to put a particular horizontal space onto each line before {\tt verbatim} material is printed. In \LaTeX\ 2.09, this does not seem easy (and, because {\tt verbatim} can't be used in the definitions of other environments, one can't define another environment that does it either). Could something be provided in \LaTeX\ 3.0 that does for {\tt verbatim} what \verb+\leftmargin+ does for lists? \section{Footnotes} I was once consulted by a historian who claimed not to like the way that \LaTeX\ 2.09 splits footnotes (and was worried that his supervisor might not like the splits). I went and found a few history books, some of which split footnotes in = just the same way as \LaTeX. So I drew the historian's attention to these books. (\lq\lq There are plenty of publishing precedents for what = \LaTeX\ does. Wouldn't you like \LaTeX\ to do what a professional publisher = would do?'') He decided that the splitting was alright after all, and that he could use the published precedents to convince his supervisor. However, I also found a group of history books that didn't split their footnotes (I assume by design, rather than by chance). Could something = be done in \LaTeX\ 3.0 to make it easier to implement such designs (e.g., = that try leaving a couple of \verb+\baselineskip+s of white space above the footnotes before they resort to splitting)? Perhaps a comment in the = code somewhere saying \lq\lq If you want implement a design that prefers = having ragged-bottom above footnotes rather than having split footnotes, then \dots\ ''? ------_=_NextPart_001_01C19443.45B3FF5C Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable main-text.tex

\chapter{Structure}

\section{Assumptions}
\label{general-structure}

\LaTeX\ 2.09's assumptions about the structure of = a
{\tt book} or {\tt report} seem at odds with the = usual assumptions in publishing
practice.  Consequently, the author often ends = up doing things that are really
the designer's responsibility.

In publishing practice, a book-like document would = have the following major
divisions:
\begin{itemize}
\item ``preliminary pages'' or ``front matter'', = containing table of contents,
      acknowledgements, = etc.  These pages are usually numbered in roman.
\item main text, containing the chapters.
\item ``end pages'' or ``back matter'', containing = appendices, bibliography,
      index, etc.
\end{itemize}
See \cite[p.\ 4--5]{chicago-82}, \cite[p.\ 119, = 165--166]{butcher-81},
\cite [ch.\ 10]{mclean-80}, \cite[ch.\ = 8]{williamson-83}, \cite[p.\
157--161]{white-88} and \cite[p.\ = 73--77]{tei-90}.

Thus, for \lq\lq front matter'' and \lq\lq back = matter'', the
divergence between the real structure and that = assumed by \LaTeX\ 2.09
forces the author to think visually rather than = logically.  The author gets
involved with:
\begin{itemize}
\item \verb+\chapter*+ plus \verb+\addcontentsline+ = for most ``top level''
     units in the front and back = matter.
\item having to put = \verb+\pagenumbering{roman}+
      and = \verb+\pagenumbering{arabic}+ around the ``front matter''.
\end{itemize}
See Figures \ref{fig-root}, \ref{fig-front} and = \ref{fig-back}.

\begin{figure}
\begin{footnotesize}\begin{verbatim}
\documentstyle[11pt]{report}

\begin{document}       = %  A single-sided project report.

\pagenumbering{roman}  %  Table of contents = and other preliminary pages are
\setcounter{page}{2}   %  to be = numbered in roman.  If numbering notionally
          &nbs= p;            = %  starts with the title-page (which is being typeset
          &nbs= p;            = %  separately), actual numbering should start at = "ii"
          &nbs= p;            = %  on the table of contents.
\tableofcontents
\include{other-front-matter}

\clearpage         =     %  Switch to arabic page-numbering for the rest = of
\pagenumbering{arabic} %  the report.

\include{a-chapter}
\include{another-chapter}

\appendix         &= nbsp;    %  Arrange that \chapter will actually give = units
          &nbs= p;            = %  entitled "Appendix ...".
\include{an-appendix}
\include{another-appendix}

\include{other-back-matter}

\end{document}
\end{verbatim}\end{footnotesize}

\caption{A \LaTeX\ 2.09 root = file\label{fig-root}}
\end{figure}

\begin{figure}
\begin{footnotesize}\begin{verbatim}
\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{Acknowledgements}

Text text text text text text text text text text text = text text text text text.
Text text text text text text text text text text = text text text text text text.
Text text text text text text text text text text = text text text text text text.
Text text text text text text text text text text = text text text text text text.

\chapter*{Preface}
\addcontentsline{toc}{chapter}{Preface}

Text text text text text text text text text text text = text text text text text.
Text text text text text text text text text text = text text text text text text.
Text text text text text text text text text text = text text text text text text.
Text text text text text text text text text text = text text text text text text.
\end{verbatim}\end{footnotesize}

\caption{{\tt = other-front-matter.tex}\label{fig-front}}
\end{figure}

\begin{figure}
\begin{footnotesize}\begin{verbatim}
\chapter*{Glossary}
\addcontentsline{toc}{chapter}{Glossary}

Text text text text text text text text text text text = text text text text text.
Text text text text text text text text text text = text text text text text text.
Text text text text text text text text text text = text text text text text text.
Text text text text text text text text text text = text text text text text text.

\begin{thebibliography}{width of label}
\addcontentsline{toc}{chapter}{Bibliography}

\bibitem[Item label]{a-book} Author author = author.
      {\em Title title title = title title.\/}
      Publisher, etc.

\bibitem[Another label]{another-book}
      Another author another = author.
      {\em Another title = another title another title.\/}
      Another publisher, = etc.

\end{thebibliography}
\end{verbatim}\end{footnotesize}
\caption{{\tt = other-back-matter.tex}\label{fig-back}}
\end{figure}


I think it would be better if \LaTeX\ 3.0 worked more = in terms of the
concepts used in publishing practice.  The = author might, for example,
create an input file of the form shown in Figure = \ref{fig-better}.  Then
details such as roman-numbering, table-of-contents = entry, etc.\ could be
dealt with in the style file (as questions of \lq\lq = design'') without the
author being involved.  Although the author = would have to learn a bit
of publishing jargon (\lq\lq front matter'', etc.), = this might at least
help him/her to understand the language used in books = about typesetting
and by publishers.  Most authors would no longer = need to learn about the
the \verb+\chapter*+, \verb+\addcontentsline+ and = \verb+\pagenumbering+
commands.  (The \verb+\chapter*+ and = \verb+\addcontentsline+ commands might
appear in style files, where there could be a = distinction between the
table of contents, which does not need an = \verb+\addcontentsline+, and the
other front and back matter units that, for many = designs, do need
an \verb+\addcontentsline+.)

\begin{figure}
\vspace*{-2\baselineskip}      &nb= sp;        % To get caption above = page number.
\begin{scriptsize}\begin{verbatim}
\documentstyle ...

\begin{document}        =             &= nbsp;            = % With this information, the
          &nbs= p;            = ;            =             &= nbsp; % style file should be able
\begin{frontmatter}       &nb= sp;           &nbs= p;          % to work out = where to
          &nbs= p;            = ;            =             &= nbsp; % start/stop roman numbers,
      = \tableofcontents         &nb= sp;           &nbs= p;     % and that "Preface" is to
          &nbs= p;            = ;            =             &= nbsp; % appear in the table-of-
      = \toplevel{Preface}  %  \chapter* is = a      % contents but "Table of
          &nbs= p;            = ;   %  bad name for a      % = contents" is not to appear
      = ...           &nbs= p;     %  top-level = unit      % in itself.  I.e. author
          &nbs= p;            = ;   %  that's NOT = a        % specifies structure; = design
\end{frontmatter}        = ; %  = chapter"          =   % decisions go in style file.

\begin{maintext}        =             &= nbsp;            = % With this information, a
          &nbs= p;            = ;            =             &= nbsp; % style file could, if desired,
      \chapter{A = chapter}           = ;            = % put the word "Chapter" in
          &nbs= p;            = ;            =             &= nbsp; % the toc file at the start
      = ...           &nbs= p;            = ;            =     % of the list of chapters in
          &nbs= p;            = ;            =             &= nbsp; % the table of contents.
      \chapter{Another = chapter}           = ;       % Similarly, with the
          &nbs= p;            = ;            =             &= nbsp; % information below, the style
      = ...           &nbs= p;            = ;            =     % file could put "Appendix"
          &nbs= p;            = ;            =             &= nbsp; % in the toc file above the
\end{maintext}        &n= bsp;           &nb= sp;           &nbs= p;  % list of appendices.

\begin{backmatter}       &nbs= p;            = ;           % It would = be nice if,
          &nbs= p;            = ;            =             &= nbsp; % with this information
      = \begin{appendices}         &= nbsp;           &n= bsp;   % and the aux file, the
          &nbs= p;            = ;            =             &= nbsp; % style file could work
          &nbs= p; \toplevel{An = appendix}          &nbs= p;    % out whether there is
          &nbs= p;            = ;            =             &= nbsp; % only one appendix
          &nbs= p; = ...           &nbs= p;            = ;          % and, if so, = give a
          &nbs= p;            = ;            =             &= nbsp; % heading of "Appendix"
          &nbs= p; \toplevel{Another = appendix}          % rather = than "Appendix A".
          &nbs= p;            = ;            =             &= nbsp; % If not, perhaps the
          &nbs= p; = ...           &nbs= p;            = ;          % user should = have the
          &nbs= p;            = ;            =             &= nbsp; % choice of \begin{appendix}
      = \end{appendices}         &nb= sp;           &nbs= p;     % of \begin{appendices} so
          &nbs= p;            = ;            =             &= nbsp; % as to avoid "Appendix A"
      = \toplevel{Glossary}         =             &= nbsp;  % when there is no
          &nbs= p;            = ;            =             &= nbsp; % "Appendix B".
      ...
          &nbs= p;            = ;            =             &= nbsp; % Within frontmatter and
      = \toplevel{Index}         &nb= sp;           &nbs= p;     % backmatter, a 3.0 style
          &nbs= p;            = ;            =             &= nbsp; % file might treat
      = ...           &nbs= p;            = ;            =     % \toplevel like 2.09's
          &nbs= p;            = ;            =             &= nbsp; % {\chapter*
      = \toplevel{References}        &nbs= p;            = ; % + \addcontentsline}.

      ...

\end{backmatter}

\end{document}
\end{verbatim}\end{scriptsize}
\caption{A better way to specify the units in a = book?\label{fig-better}}
\end{figure}

Obviously decisions will need to be taken about the = terminology, commands
and environments to be used for markup schemes.  = Figure \ref{fig-better}
gives the basis for one scheme.  The Text = Encoding Initiative's terminology
\cite[p.\ 73--77]{tei-90} is another option.  = Presumably another scheme
could be produced by studying the Association of = American Publishers'
recommendations about SGML markup (although I haven't = yet been able to
study them myself) = \cite{aap-1,aap-2,aap-3,aap-4,aap-5}.  There would
be advantages in some compatibility with conventions = used outside
the \LaTeX\ community.

Appendix \ref{structure} contains some extracts from = e-mail discussions
about such matters.

\section{Use of {\tt count}s}

Although \TeX\ provides 10 \verb+\count+ registers = \cite[p.\ 119]{knuth-90}
for page-identification, neither the \lq\lq plain'' = macros nor the \LaTeX\
2.09 standard styles use anything but = \verb+\count0+.  From the
point-of-view of a \LaTeX\ user, this can create = situations in which
page-selection is difficult at the = previewing/printing stage.

For example:
\begin{itemize}
\item in the \LaTeX\ 2.09 report and book styles, = both (roman-numbered) page
     iv in the \lq\lq front = matter'', and (arabic-numbered) page 4 in
     chapter 1 have a = \verb+\count0+ value of 4 in the {\tt dvi} file, so
     it is difficult to instruct = a {\tt dvi}-file processing command to
     print page 4 rather than = page iv.
\item if a style-file for a document that numbers = pages \lq\lq within
     chapters'' follows the = precedent of the standard styles and just uses
     \verb+\count0+, = page-selection will be difficult because
     there will often be several = pages with the
     same \verb+\count0+ = value.  If a {\tt dvi} file represents
     10 chapters, it will be = difficult to select the first page of
     chapter 9, because {\tt = dvi}-processing software is not usually
     designed for tasks such as = \lq\lq find the 9th
     time that \verb+\count0+ has = the value {\tt 1}''.
\end{itemize}

I think that the \LaTeX\ 3.0 standard styles should = use the \verb+\count+s
in such a way that pages can be selected = unambiguously at the {\tt dvi}-file
processing stage.  Appendix \ref{counts} = suggests some schemes that
might achieve this objective.

\section{Preliminary pages}

\subsection{Title-page}

In \LaTeX\ 2.09, \verb+titlepage+ does a = \verb+\setcounter{page}{0}+.
Unfortunately, when \verb+twoside+ is used, this = setting leads to the
titlepage having the margins appropriate for a = left-hand page, when it
should really have the margins for a right-hand = page.

Since \verb+\thispagestyle{empty}+ is used, the actual = number makes no
difference in \verb+titlepage+.  Presumably the = intention is to ensure
that the following page is, by default, numbered = ``1''.

Could some way be found of ensuring that a title-page = is given the
margins for a right-hand page even when {\tt twoside} = is in effect?

This might well come about anyway if the markup scheme = for reports and
books is reconsidered (as suggested in section = \ref{general-structure}).
If not, perhaps \lq\lq 0'' should be treated as = \lq\lq odd'' for the
purpose of margins.

\subsection{Those pages without printed = numbers}

It seems as though, in publishing practice (\cite[p.\ = 4]{chicago-82},
\cite[p.\ 120]{butcher-81}) the first 4 or 6 = ``preliminary pages'' of a book
will probably be un-numbered, the title-page being = just one of these.  If
the user is expected to use such an environment for = pages other than the
title-page \cite[p.\ 162]{lamport-86}, it might be = worth thinking of a more
appropriate name ({\tt unnumbered}, perhaps).  = On the other hand, if the
markup scheme for reports and books is reconsidered = (as suggested in
section \ref{general-structure}), the situations in = which people are
expected to use {\tt titlepage} for pages other than = the title-page might
be eliminated anyway.

\section{Lists within paragraphs}
\label{lists-in-paras}

In my opinion, someone reading a document stands a = better chance of
absorbing the contents if they can follow the = author's thought-groupings.
As part of this, they need to be clear about where = one grammatical
paragraph ends and the next begins.  Hence, I = think they need to be able to
distinguish between:
\begin{enumerate}
\item ``list at end of paragraph''
\item ``list within paragraph''.
\end{enumerate}
Otherwise, they won't be certain about whether there = is, or isn't, a
paragraph-division.

With \LaTeX\ 2.09, this is difficult in designs that = have un-indented
paragraphs, because ``the vertical space following = the environment is the
same as the one preceding it'' \cite[p.\ = 114]{lamport-86}.  Case 1 looks
identical to case 2.

Could \LaTeX\ 3.0 implement ``the text following a = displayed paragraph
environment begins a new paragraph if there is a = blank line after the
\verb+\end+ command'' \cite[p.\ 165]{lamport-86} for = both \verb+\parindent+
and \verb+\parskip+, so that case 1 looks different = from case 2 even
when \verb+\parindent+ is zero?\footnote{%
I'm probably just agreeing here that \LaTeX\
2.09 has ``an actual conceptual bug'' \cite[p.\ = 684]{m+s-89}.}

\section{Emphasis}

\LaTeX\ 2.09 implements \lq\lq emphasis'' as \lq\lq = italic''.  This seems
to be a general feature of \LaTeX\ 2.09, rather than = a feature of a particular
design.

Hence the manual seems self-contradictory \cite[p.\ = 16,17]{lamport-86}.  On
the one hand, it says that \lq\lq you should be = concerned only with the
logical concept of emphasis'', but on the other hand = it says (in effect)
\lq\lq actually emphasis means italic (except when it = means roman), so
you'll need to worry about the italic = correction''.

Could \lq\lq emphasis'' (and \lq\lq emphasis within = emphasis'') be
design-dependent, perhaps meaning italic in one = design and bold in another?
And, if \lq\lq emphasis'' happens to be implemented = as italic in a
particular design, could the software take care of = the italic correction
(at least for straightforward situations)?  Then = the user need \lq\lq be
concerned only with the logical concept of = emphasis''.

\chapter{Tables \dots}

\dots\ plus a little about arrays.

\section{Decimals}

The recommendations that I've seen for table layout = (\cite[p.\
332]{chicago-82}, \cite[p.\ 164]{butcher-81}, = \cite[p.\ 158]{hart-83},
\cite[p.\ 147]{white-88}, \cite[sec.\ 7.2]{bsi-dd52}) = mention (or imply)
``making sure that, in a column of numbers, the = decimal points line up''.
Thus ``alignment of decimal points'' seems to be a = ``fundamental
requirement'' which should be regarded as of similar = importance to {\tt
tabular}'s current {\tt l}, {\tt c} and {\tt r}, = rather than as an
``optional extra''.

I realise that the \LaTeX\ 2.09 manual = \cite{lamport-86} shows a couple of
tricks that can be used (zero-width boxes, page 98; = high--low, page 182),
and that Frank Mittelbach has the = \verb+>{\centerdots}c<{\endcenterdots}+
idea \cite[p.\ 299]{mittelbach-88}.  But these = techniques seem
unnecessarily subtle for such a fundamental = requirement.

Couldn't there be something as easy as {\tt l}, {\tt = c} and {\tt r} for
``alignment on decimal points''?   Bell = Labs.\ managed to make
``lining numbers up'' easy in {\tt tbl} \cite[p.\ = 147]{christian-87} years ago!


\section{Multi-line cells}
\subsection{Hanging paragraphs?}
%  e-mail 17 Aug 90 12:01:50

The gurus seem to regard a table entry that consists = of a \lq\lq hanging
paragraph'' as fairly standard, either because they = explicitly advocate it,
or because they simply do it.  See \cite[p.\ = 338,393]{chicago-82},
\cite[p.\ 136]{butcher-81}, \cite[p.\ = 34,35,158]{hart-83} and  \cite[p.\
147]{white-88}.  %The bit, in White, about = "first line hanging indent".

Unfortunately, it does not seem to be simply a matter = of \lq\lq For this
design (i.e., in this \verb+\documentstyle+), = \verb+tabular+'s
\verb+p{...}+ has to give hanging paragraphs''.  = Some respectable books
seem to have left-justified paragraphs in some tables = and hanging
paragraphs in others (e.g., \cite[p.\ = 176,177]{chicago-82} and \cite[p.\
68,69]{butcher-81}).  I can't detect any = underlying \lq\lq logical
structure'' that corresponds to the difference = between hanging and
left-justified within the same book.

In \LaTeX\ 3.0, might it be worth doing one of the = following:
\begin{description}
\item[either] provide something like \verb+p{...}+ = (perhaps \verb+h{...}+
      for \lq\lq = hanging'')
      that gives a hanging = paragraph rather than a left-justified paragraph
\item[or,] if one takes the point-of-view that books = which use more than one
      visual representation = for the logical element \lq\lq paragraph in cell''
      are wrong (now matter = how respectable they are),
      at least put a comment = near the code for \lq\lq paragraph in cell'' in
      the standard style = files (or wherever) saying how one can change
      things so that all = \lq\lq paragraphs within cells'' are hanging.
\end{description}
Perhaps one might be able to achieve the same effect = by using Frank
Mittelbach's \verb+>{\parindent=3D...}p+ = \cite[p.\  299]{mittelbach-88} (if
\verb+\parindent=3D-1em+ works), but it looks as if = \lq\lq hanging paragraph
within table cell'' is sufficiently standard among = gurus that it would be
worth providing explicit support in some way.

\subsection{Ragged right?}

In fact, most of the gurus  cited above = advocate/do \lq\lq paragraph
within cell'' ragged right but hyphenated.  (The = exception is Butcher
\cite{butcher-81} who has ragged right most of the = time but flush right on
page 289, possibly because the column on page 289 is = wider than columns
elsewhere.) Therefore, it would seem wise to make = ragged right the \LaTeX\
3.0 default for \lq\lq paragraph within = cell''.

\subsection{Multi-line stubs}

If a cell contains figures that are described by a = multi-line table-stub,
how should one get the figures aligned with the = bottom line of
the stub?  I have in mind rows  like = \cite[p.\ 158]{hart-83}
\begin{center}\begin{tabular}{lrrr}
      Infected trees, \% = &1.63 &   0.9&  20.3\\
      Chi-square = for           &nbs= p;            = ; \\
\hspace{1em} observed values & 7.83 & 11.09 = & 4.98
\end{tabular}\end{center}
and \cite[p.\ 65]{miles-87}
\begin{center}\begin{tabular}{lrrrrrrr}
      Interest and discount = on other   \\
      lending in = sterling           = ; &  53 & 38 & 54 & 98 & 141 & 168 & = 211
\end{tabular}\end{center}
Would one use (a hanging variation) of = \verb+{b{...}r}+ or
\verb+{b{...}t{...}}+ (where \verb+b{...}+ and = \verb+t{...}+ are as
described in \cite{mittelbach-88})?  Again, this = convention for alignment
seems sufficiently common that I think it should be = available via a simple
syntax if it isn't already covered by existing = proposals.

\subsection{Descenders}

The following \LaTeX\ input illustrates a problem that = arose while
typesetting a questionnaire in which column 2 was a = question that sometimes
took just one line, but sometimes took more than one = line.  I wanted to
delegate line-breaking in column 2 to = \verb+tabular+'s \verb+p{...}+.

\begin{footnotesize}\begin{verbatim}
\documentstyle[12pt]{article}

\begin{document}

\begin{tabular}{lp{14mm}l}
%  The p{14mm} is intended for dealing with = things like
%  00    & test test test = & --- \\
%  that need line-breaks in the second = column.
10    & = test     & --- \\
20    & = test     & --- \\
30    & = test     & --- \\
40    & = test     & --- \\
50    & Testing  & --- = \\
60    & Testing  & --- = \\
70    & Testing  & --- = \\
80    & Testing  & = ---
\end{tabular}

\end{document}
\end{verbatim}\end{footnotesize}

The inter-baseline distance between a \verb+p{...}+ = cell and the one below
varied slightly depending on whether the last line of = the \verb+p{...}+ had
a descender.  This spoiled column 3 of the = questionnaire, which actually
held rectangles to hold answers.  The rectangles = were obviously separated
by irregular amounts of vertical space.

Could \LaTeX\ 3.0 arrange that, in such circumstances, = the inter-line
spacing does not depend on whether the cell-entries = have descenders?

\section{Rules, i.e.\ lines}

I've tried to use \LaTeX\ 2.09 to typeset some of the = tables shown as
examples by gurus of table layout (\cite[p.\ = 157]{hart-83}, \cite[p.\
6]{bsi-dd52}), but have  had only partial = success.

It looks as though, for success in laying tables out = as the
gurus recommend, one needs:
\begin{itemize}
\item a choice of thickness for \verb+\hline+s = (\cite[p.\ 156]{hart-83},
      \cite[p.\ = 4]{bsi-dd52}).  If one follows
      \cite{bsi-dd52}, the = choice would be between 0.5pt, 1pt, 2pt and 4pt.
\item an option of specifying that adjacent = \verb+\cline+s
      should not join up (so = that tables can be typeset as shown
      in \cite[p.\ = 6]{bsi-dd52}).
\end{itemize}

\section{Vertical spacing}

\subsubsection{Spacing in {\tt tabular}}

\TeX-related software is usually very good at ensuring = ``the right space''
between things.  Yet straightforward use of {\tt = tabular}

\begin{footnotesize}\begin{verbatim}
\begin{tabular}{ccc}
\hline
lowercase text      = &  Mixed Case Text      & = Mathematics          &n= bsp;          \\
\hline
text text text text &  Text Text Text = Text  & ${x_i}?2 + {y_i}?2 =3D {z_i}?2 $  \\
text text text text &  Text Text Text = Text  & ${x_i}?2 + {y_i}?2 =3D {z_i}?2 $  \\
text text text text &  Text Text Text = Text  & ${x_i}?2 + {y_i}?2 =3D {z_i}?2 $  \\
\hline
\end{tabular}
\end{verbatim}\end{footnotesize}

\noindent
gives capitals that nearly touch the horizontal = rules, and superscripts
that do touch the horizontal rules.
\begin{center}
\begin{tabular}{ccc}
\hline
lowercase text      = &  Mixed Case Text      & = Mathematics          &n= bsp;          \\
\hline
text text text text &  Text Text Text = Text  & ${x_i}?2 + {y_i}?2 =3D {z_i}?2 $  \\
text text text text &  Text Text Text = Text  & ${x_i}?2 + {y_i}?2 =3D {z_i}?2 $  \\
text text text text &  Text Text Text = Text  & ${x_i}?2 + {y_i}?2 =3D {z_i}?2 $  \\
\hline
\end{tabular}
\end{center}
The proposals in \cite[p.\ 299]{mittelbach-88} seem = to envisage that the
default will continue to be that \lq\lq horizontal = lines may touch capitals
and superscripts'' (although the user would be able = to change this with
\verb+\extrarowheight+ or, presumably, = \verb+\arraystretch+).

By contrast, the gurus seem to be generous with space = around horizontal rules
(see \cite[ch.\ 12]{chicago-82}, \cite[p.\ = 136]{butcher-81}, \cite[p.\
157,158]{hart-83} and \cite[p.\ 6]{bsi-dd52}).

Couldn't \LaTeX\ 3.0 ensure that, by default, a = horizontal line will keep
clear of the tops of capital letters and of = superscripts?

\subsubsection{Spacing in {\tt array}}

Similarly, by default, \LaTeX\ can leave the = row-separation in arrays
unclear, as when

\begin{footnotesize}\begin{verbatim}
\[          = \left(
\begin{array}{lll}
{a_i}?2 + {b_j}?2 + {c_k}?2 &  {u_r}?l = {v_s}?m           = & X - Y \\
{a_i}?2 + = {b_j}?2           = &  {u_r}?l + = {v_s}?m          & = Z     \\
{a_i}?2         &nb= sp;           = &  3{u_r}?l + {v_s}?m {w_t}?t & XYZ
\end{array}
\right)     \]
\end{verbatim}\end{footnotesize}

\noindent
gives
\[          = \left(
\begin{array}{lll}
{a_i}?2 + {b_j}?2 + {c_k}?2 &  {u_r}?l = {v_s}?m           = & X - Y \\
{a_i}?2 + = {b_j}?2           = &  {u_r}?l + = {v_s}?m          & = Z     \\
{a_i}?2         &nb= sp;           = &  3{u_r}?l + {v_s}?m {w_t}?t & XYZ
\end{array}
\right)     \]

By contrast, traditionally typeset books seem to leave = enough inter-row
space (\cite[p.\ 367]{chicago-82}, \cite[p.\ = 6]{fletcher-80}, \cite[p.\
86]{fox-mayers} \cite[p.\ 313]{m+s+m-63}) to make it = easy for the reader
to distinguish between the rows.

Could there be some mechanism to ensure that, if the = elements of a matrix
involve both superscripts and subscripts, there is = sufficient default
vertical space to keep the rows visually = distinct?

\section{One row or column of a table = highlighted}

Frank Mittelbach's article about a new implementation = of {\tt tabular}
suggests a way of emphasising the whole of a column = without having to begin
every cell-entry with, e.g., \verb+\bf+ \cite[p.\ = 299]{mittelbach-88}.

Would something similar be possible for rows?  = For example, could there be
an easy way of specifying that a row of = column-headings or a row of \lq\lq
totals'' is to be emphasised (as in \cite[p.\ = 65]{miles-87}), without the
user having to \verb+\bf+ each cell = individually?

\section{Notes}
\label{table-notes}

The facilities provided by \LaTeX\ 2.09
(``put a {\tt tabular} inside a {\tt minipage} and = use \verb+\footnote+'')
do not seem particularly
suitable for providing notes about tables in the way = advocated by the
gurus.
\begin{itemize}
\item The gurus seem to typeset notes no wider than = the table
      (\cite[ch.\ = 12]{chicago-82}, \cite[p.\ 147]{white-88}).
      However, if one has to = declare the {\tt minipage}
      before typesetting the = {\tt tabular}, the {\tt minipage} must
      be wider than the = expected width of the {\tt tabular}, so the
      footnotes will = generally be wider than the table.
\item The gurus advocate putting ``general notes'' = before ``specific
      notes'' (\cite[p.\ = 333]{chicago-82}, \cite[p.\ 164]{butcher-81}).  There
      does not seem to be an = easy way of getting
      ``general notes'' out = in the style that \verb+\footnote+
      will use for = ``specific notes''.
\item Having to redefine \verb+\footnoterule+ (to = give a null rule)
      is an added = irritation.
\end{itemize}

It might be better if:
\begin{itemize}
\item the manual for \LaTeX\ 3.0 refrained from = suggesting
      ``put a {\tt tabular} = inside a {\tt minipage}, use \verb+\footnote+
      and re-define = \verb+\footnoterule+''
\item \LaTeX\ 3.0 made the width of the most recently = typeset {\tt tabular}
      available in a = variable, so that the user could declare a {\tt minipage}
      or a {\tt tabular} of = the same width (or a related width)
      immediately below, to = hold the notes.
\item there was some means whereby the user could = tell \LaTeX\ to base
      it's decision about = {\tt tabular}-width on the rows that hold
      the table-proper but = could let the {\tt tabular} continue below the
      table-proper. Notes = could then be provided in ``extra rows'' that
      had the same width as = the table-proper.
\end{itemize}

It would be even better if the user specified the = table and its
surroundings in terms of the logical elements = ``title'', ``subtitle'',
``table proper'', ``source notes'', ``general = notes'', ``specific notes'',
``probabilities'' and \LaTeX\ 3.0 and the {\tt sty} = file took care of the
detailed layout.

\chapter{Floats \dots}

\dots\ plus a few digressions about = illustrations.

\section{Confusion}

The {\tt figure} and {\tt table} environments arrange = for:
\begin{itemize}
\item captions to be numbered
\item material to be floated.
\end{itemize}

Our \LaTeX\ users seem to want the caption-numbering, = but to get
confused by the floating.  Typically, they go = \verb+\begin{table}[h]+
without reading the ``small print'' \cite[p.\ = 176--178]{lamport-86}, and
then come to our Advisory Service asking why the = table hasn't appeared
``here'' and why they're being told ``{\tt Too many = unprocessed floats}''.

Admittedly, much of the problem is that (a) they = haven't studied printed
books to see what \lq\lq the professionals'' do with = figures and tables (b)
there is a typewriter tradition of expecting things = to stay where they are
put (c) they get a half-truth ``from a friend'', and = don't study the manual
to get the whole truth.

But, I think part of the problem is attributable = to:
\begin{itemize}
\item the environment names. ``{\tt table}'' {\em = sounds} as if it's ``what you
      {\em must} use for a = table''
\item the dual role.
      People may choose {\tt = table} and {\tt figure} in order to get
      numbered captions: = there isn't another off-the-shelf way to get
      them.  They may = see the floating as an unwanted side-effect and
      think (wrongly) that = \verb+[h]+ will turn the effect off.
\end{itemize}

In \LaTeX\ 3.0, could environments for ``floating'' be = given names that
make it obvious that their main purpose is to float = things?

For example, suppose that someone had to go = \verb+\begin{floattable}+ or
\verb+\begin{float}{table}+.  Even if they found = out about this ``from a
friend'', they would stand a good chance of realising = that they are asking
\LaTeX\ to float something (and get a hint that = \verb+h+ is ``allowing a
null float when aesthetically possible'' rather than = ``forcing the table
{\it here} under all circumstances'').

I'm not sure whether to be optimistic or pessimistic = about what would happen
if floating environments were given names that made = it absolutely clear that
their role is to float things.  Being = optimistic, I think that users
would then be clear what to expect, would be pleased = that \LaTeX\ will make
their document look like a professionally produced = book, and would not use the
environments
in such a way as to give ``{\tt Too many unprocessed = floats}'' over-frequently.
Being pessimistic, I wonder if it would be worth = providing one or other of:
\begin{itemize}
\item environments that just put a table or figure = ``here'' (with spacing,
      caption, etc., as for = the ``floats''), and give an
      ``{\tt Underfull = vbox}'' if the table/figure can't be fitted on the
 current
      page and has to go on = the next one (leaving the current page underfull).
      For example, = \verb+\begin{fixedtable}+ or \verb+\begin{fixed}{table}+.
\item a command (or commands) to produce captions in = ``ordinary text'' that
      look  the same as = (and use the same counters as) the captions produced
      in the floating = environments.
      For example, = \verb+\caption{table}{...}+ or \verb+\tablecaption{...}+.
\end{itemize}


\section{Captions}

\subsection{\protect\LaTeX\ 2.09's practice}

The \LaTeX\ 2.09 manual \cite[p.\ 59,60]{lamport-86} = isn't explicit about
whether the spacing around \verb+\caption+ is = designed to go under or over
a table/figure.  Looking at the standard {\tt = doc} files suggests that the
same code is used for both figures and tables, and = that the resulting
caption is intended to go {\it under} the figure or = table.

However, the 2.09 manual points out that ``there can = be several captions in
a {\tt figure} or {\tt table} environment''.

\subsection{Publishing practice}

In publishing practice, it seems respectable to have a = combination of:
\begin{itemize}
\item table captions {\em above} the table
\item figure captions {\em below} the figure.
\end{itemize}
Perhaps this is because tables may have notes = underneath, and may be split
over several pages.  See \cite[p.\ = 266,308]{chicago-82}, \cite[p.\
136,160]{butcher-81} and \cite[p.\ = 158,161]{hart-83}.

It also seems respectable for narrow floats to have = their captions at the
side \cite[p.\ 146, fig.\ 5]{hart-83}.

Within such floats, it seems normal (\cite[ch.\ = 11,12]{chicago-82},
\cite[p.\ 164]{butcher-81}, \cite[figs.\ = 2,5]{hart-83}) to have the
following elements:
\begin{itemize}
\item for tables: the title (and possibly a = subtitle),
      the table itself, = source notes, general notes,
      specific notes, = probability levels\footnote{A statistician
      colleague tells me = that statisticians now prefer
      ``confidence = intervals''.}
\item for figures: the figure itself, the caption, = the legend, and the
      = credit-line/source/copyright-holder (see \cite[p.\ = 315]{chicago-82},
      \cite[p.\ = 46]{butcher-81} and \cite[fig.\ 5]{hart-83}).
\end{itemize}

I haven't been able to find any sensible examples of = floats with more than
one caption.  Hart has some examples of figures = side-by-side \cite[figs.\
6,7,8]{hart-83}, but this is really a case of figures = ending up together
after floating, rather than having to be kept = together while floated.
Butcher mentions situations where ``two tables should = appear in the same
opening, so that they can be compared'' \cite[p.\ = 161]{butcher-81}, but
some mechanism other than that provided by \LaTeX\ = 2.09 would be necessary
to achieve this.

Overall, the vagueness about how the author and the = designer
are to use \verb+\caption+ seems likely to:
\begin{itemize}
\item make it difficult for the designer to implement = decisions
      about the positioning, = spacing and fonts for
      \begin{itemize}
      \item table titles and = notes
      \item figure captions, = legends, and credit-lines or
 source-acknowledgements
      \end{itemize}
\item leave the author doing visual design:  = experimenting until
      things ``look = right''.
\end{itemize}

\subsection{\protect\LaTeX\ 3.0}
\label{float3}

It seems to me that the advantage of having the usual = \LaTeX\ ``separation
of the designer's and author's roles'' within the = body of a float would far
outweigh any flexibility that ``several captions = within a float'' allows.
(If it is desired to allow two narrow floats = side-by-side, this should be
done by letting the user tell \LaTeX\ about the width = of the float.  If it
is desired to cater for rare situations where ``two = tables should appear in
the same opening'', this should be done by arranging = some ``magnetic
attraction'' between the two---or by letting the user = fiddle with the {\tt
tex} file.)

I suggest that:
\begin{itemize}
\item notice be given that ``more than one = caption
      within a float'' will = not be supported after \LaTeX\ 2.09
\item at \LaTeX\ 3.0, ideally
      \begin{itemize}
      \item the successor to = {\tt table} should
          &nbs= p; require the user to specify the block to be floated
          &nbs= p; in terms of the  logical elements
          &nbs= p; ``title'' (plus possible ``subtitle''),
          &nbs= p; ``table itself'', ``source notes'', ``general
          &nbs= p; notes'', ``specific notes'', ``probability levels''.
          &nbs= p; See section \ref{table-notes}.
      \item the successor to = {\tt figure} should
          &nbs= p; require the user to specify the block to be floated
          &nbs= p; in terms of the  logical elements
          &nbs= p; ``figure itself'', ``caption'', ``legend'', \lq\lq = credit-line''
          &nbs= p; or \lq\lq source''
      \item the positioning, = typeface, etc. to be used for the logical elements
          &nbs= p; should be under the control of the document-designer via the
          &nbs= p; style     file.  A designer should be able = to implement
          &nbs= p; designs \cite{chicago-82,butcher-81,hart-83}
          &nbs= p; that have: table-title at the top of a floated
          &nbs= p; ``table block'', with table-notes at the bottom of the block;
          &nbs= p; ``caption'' and ``legend'' (in that order)
          &nbs= p; at the bottom of a floated ``figure block''.
          &nbs= p; Equally, a designer should be able to implement
          &nbs= p; other conventions for layout of the ``logical elements''
          &nbs= p; within floated blocks.
      \end{itemize}
\end{itemize}

\section{Sizes for artwork, and strategies for = floating}

\subsection{Scope}

There was meeting entitled \lq\lq \LaTeX\ 3.0 and = you'' held in London in
February, which discussed the problem of catering for = \lq\lq floats'' whose
width may be more (e.g., if the text is being typeset = in 2 columns) or less
(e.g., if 2 narrow illustrations will fit = horizontally next to each other)
than the width of the text-column.  The present = section is based on some
notes that I wrote after the meeting: it contains = some remarks about \lq\lq
scaling your artwork (when you have a choice)'' and = \lq\lq
floating objects that are the same width as the = text-column'' as well as
about \lq\lq floating objects whose width differs = from that of the
text-column''.

\subsection{Advice from gurus}

As background to decisions about what \LaTeX\ 3.0 = might do, it may be
useful to consider the advice given by a few = gurus.  Their advice covers
illustrations and float-placement in general: I've = italicised the advice
that applies particularly to \lq\lq floats'' whose = width differs from that
of the text-column.


\subsubsection{Hart}

\paragraph{Terminology}

Hart's {\it Rules} \cite[p.\ 145--148]{hart-83} seems = to use the following
terminology:
\begin{description}
\item[opening] a 2-page spread.
\item[block] \lq\lq a relief printing surface from = which line-art, half-tones,
      etc., can be printed'' = \cite[p.\ 216]{williamson-83}. The term comes from
      the wood blocks = in
      which illustrations = used to be cut.  (I assume that the analogue
      these days is the = \lq\lq bounding box'' for a file of encapsulated
      PostScript.)
\item[underline] a line [of text] underneath a block = ({\it not} an
      \verb+\hrule+ = underneath
      a line of text).  = Thus, I think Hart uses \lq\lq underline'' to
      mean what the Chicago = Manual of Style \cite[ch.\ 11]{chicago-82} would
      call \lq\lq caption = plus legend'' and what \LaTeX\ 2.09 \cite[p.\
      59]{lamport-86} might = call a \verb+\caption+.  The \lq\lq underline''
      might contain an = acknowledgement of a source.
\item[illustration] a block plus its underline, i.e., = in \LaTeX\ 2.09 terms,
      the stuff that might = go in \verb+\begin{figure}+ \dots\
      = \verb+\end{figure}+.
      (By contrast, if you = read the description of \lq\lq encapsulated
      PostScript'' given in = \cite{adobe-90}, you'll probably have to interpret
      \lq\lq illustration'' = as meaning \lq\lq just the block of artwork''.)
\end{description}

\paragraph{Rules (i.e.\ recommendations)}

The relevant advice \cite[p.\ 145--148]{hart-83} can = be paraphrased as follows
[where (a), (b), etc., are Hart's letters]:
\newcounter{Hart}
\begin{list}%
{(\alph{Hart})}{\usecounter{Hart}}
\item
    Keep the illustration on the same = 2-page spread as the reference to
    it as far as possible.
\item
    If an illustration takes = half-a-page (vertically) or less, it
    should be placed slightly above = the centre of the page, with
    text above and below.  (I.e., = in \LaTeX\ 2.09 terms, there should
    be an alternative to \verb+[t]+, = \verb+[b]+ and \verb+[h]+
    that gives \lq\lq slightly
    above the centre of the = page''.  It might need to try to avoid
    splitting paragraphs:  see = notes about Williamson, below.)
\item
    If an illustration takes more than = half a page, put it at the top
    or bottom of a page (preferably = the top), but don't ever put less
    than 5 lines of text on a = page.
\item
    For a pair of full-width = illustrations that have to appear in the same
    2-page spread:  if the depth = allows, they can  be put together on a page;
    if not, they can be placed as for = (b) or (c).  Hart's Rules gives
    an example (figure 2) that has the = following arrangement for a 2-page
    spread:
   \begin{center}
   \begin{tabular}{cc}
         = ILLUSTRATION &    = TEXT        \\
          &nbs= p;    TEXT   &   = ILLUSTRATION
   \end{tabular}
   \end{center}
\item
    If 3 full-width illustrations have = to be fitted onto a 2-page spread,
    put 2 on one page and the third on = the other with some text (minimum
    4 lines) on the other.
\item
    Hart's (f) deals with \lq\lq = running text around a narrow illustration'',
    which is probably outside the = scope of \LaTeX\ 3.0.  However, it
    does mention typesetting = underlines (i.e., caption + legend, etc.)
    \lq\lq to the width of the = illustration'', which may be a requirement
    to bear in mind.
\item
    If a \lq\lq block'' (i.e., piece = of artwork) is narrow, move the
    underline (i.e., caption + legend) = to the side of the block,
    so as to avoid having to run text = around an illustration (i.e.,
    narrow artwork with narrow caption = underneath).
    If you do this, the alignment of = the caption is to the top/bottom
    of the block depending on whether = the illustration is at the
    top/bottom of the page.
\item
    If the width of an illustration is = less than full-width but greater
    than full-width/2, centre it = horizontally, and typeset the underline
    (i.e., caption + legend) to the = width of the block (e.g., artwork)
    (if it's a long underline) or = centre it (if it's a short one).
\item
    Illustrations that are too wide = generally need human intervention.
    In the absence of other = instructions, centre them and typeset the
    underline (i.e., caption + legend) = to the text-width.
\item
    This deals with spacing around a = block (e.g., artwork)
\item
    This deals with spacing = above/below the underline (i.e., caption
    + legend).
\item
    {\em Two illustrations that are = each less than half the text-width are
    to be placed side-by-side.}
\item
    {\em When two illustrations (of = \lq\lq not too dissimilar depth'') are
    placed side-by-side, they are to = be placed vertically so that {\em either}
    the bases of the blocks (e.g., = artwork) are level {\em or} the bases of
    the underline (i.e., caption + = legend) are level.}
\item      In books (but not = journals) running heads and folios (i.e.,
           = page-numbers) are generally
           to = be omitted on pages that have full-page illustrations.
\item      This deals with = the orientation of landscape pages.
\item      {\em For = multi-column make-up, the order of illustrations is to
    be maintained wherever = possible.}
    I'm not sure what this = means.   It seems to allow both
    = \begin{center}\begin{tabular}{cc}
      Fig 1.& Text = \\
      Fig 2.& Text = \\
       Text & = Text
    \end{tabular}\end{center}
    and
    = \begin{center}\begin{tabular}{cc}
      Fig 1.& Fig 2. = \\
      Text  & = Text   \\
      Text  & = Text
    \end{tabular}\end{center}
\item      This deals with = making the underline (i.e., caption plus legend)
    slightly less wide than the block = (e.g., artwork), if such adjustment
    is necessary to improve the = appearance of the underline.
\end{list}

\subsubsection{Leslie Lamport \& Margery = Cantor}

The notes distributed at the \lq\lq \LaTeX\ 3.0 and = you'' meeting included
extracts from some e-mail about a discussion between = Leslie Lamport and
Margery Cantor.  She suggests aligning the tops = of figures [whereas Hart
suggests aligning the bottom of the (wood-)block or = the bottom of the
underline (e.g., caption + legend)].

Leslie Lamport also suggested a few other things, in = particular, that the user
 will
have to arrange for a figure to have a certain width, = perhaps by using a
minipage.

\subsubsection{McLean}

Ruari McLean \cite[p.\ 137]{mclean-80} suggests the = following:
\begin{quote}
      If a book consists of = a number of text pages \dots\ and the pages
      include a number of = squared-up illustrations, all different shapes,
      the unity of the book = is immediately threatened.  The illustrations
      should all have the = same width as the type area \dots\ If they can
      also, with captions, = make the same depth as the text, so much the
      better \dots\ = \\
      If a book is designed = with wide foredge margins, and it is
      strongly desirable to = make an illustration wider than
      the type measure, it = can be taken into the margin, provided
      it is conspicuously = wider than the text;  but if it is done
      more than once, the = larger illustrations should all be of the
      same = width.     \\
      \dots\ metal blocks = \dots\ flanges of about 1/8 in \dots\ \\
      Half-tone = illustrations \dots\ illustration area in harmony with
      the type area \dots = \\
      \dots\ undesirable to = lay down a set of rules \dots\ But a few \lq\lq
 rules
      of thumb" are = helpful \dots \\
      If two pictures are to = be placed one above the other, they
      should either be = identical in width or conspicuously different.
      If they are = unavoidably of nearly the same width, they should not
      be aligned on one = side, but placed full out to left and right
      respectively, so that = the comparison is not obvious.
\end{quote}

\subsubsection{Williamson}

Hugh Williamson \cite[ch.\ 14]{williamson-83} suggests = the following:
\begin{quote}
      If a designer and = illustrator can agree on the dimensions of
      pictures before work = begins, both the typography of the book
      and its illustrations = are the more likely to succeed.\\
      \dots\\
      When \dots\ full-page = illustrations vary in depth, a standard
      position for the last = line of the caption, perhaps aligned
      with the last line of = text on a full page, \dots\ , even at the
      expense of varying = distances between caption and picture.\\
      \dots\\
      When picture and a = long caption are to share the area allocated
      to illustration, the = dimensions of the picture may depend on
      those of the caption, = \dots\ way to determine illustration size
      will be to have such = captions set \dots\ first. \\
      \dots\
      A conspicuously = rectangular illustration, \dots\ , is usually
      placed with one or = more of its edges in exact alignment
      with other elements of = the opening. \\
      \dots\
      act of reading = favoured by placing the illustration between
      two paragraphs \dots\ = to divide a word immediately before and
      after an illustration = is clumsy.\\
      \dots\ \\
      Captions often look = neatest when they are no wider than
      the illustration under = which they are to appear.
\end{quote}

\subsubsection{Miles}

John Miles \cite{miles-87} gives some examples of = grid-based designs, e.g.,
an A3 design that has 5 columns each of 12pc with a = 1pc gutter between each
column (page 38).  Presumably, such a design = will work best if artwork is
supplied 12pc, 25pc, 38pc, 51pc or 64pc wide.

\subsection{Implications}

I wouldn't suggest that the opinions of Hart, McLean, = Williamson, etc.,
represent \lq\lq what \LaTeX\ 3.0 (or its \lq = standard styles') should
do''.  But their opinions seem to represent the = sort of thing that \LaTeX\
3.0 should allow a designer to implement.  To = this end, it seems to me
desirable that \LaTeX\ 3.0 and the designer should be = working in terms of
the same concepts.

>From the above, it appears that the following = concepts may be fundamental:
\begin{itemize}
\item
In old-fashioned terms \lq\lq the positions of the = edges of the wood/metal block
      holding line-art or = half-tone''  or, in PostScript terms, \lq\lq the
      bounding box for the = file of encapsulated PostScript that is being
      \verb+\special+-ed in = at this point to define some artwork''.
\item
The designer may have a preference about the sizes of = illustrations that
      are to be = allowed.  The artwork may have to be scaled/cropped to be
      one of a = designer-approved set of sizes (or widths).
\item
The width of the underline (=3D caption + legend =3D = 2.09 \verb+\caption+) may
      depend on the width of = the (\lq\lq wood or metal'') block or EPS
      bounding box (e.g., = artwork) [or occasionally vice versa].
\item
The underline (=3D caption + legend =3D 2.09 = \verb+\caption+) may need to
      move (e.g., to the = side of the artwork) if the artwork is narrow.
      Alternatively = (Williamson), a caption might move to be aligned
      with the bottom of the = last line of text on a full page.
\item
      The underline may = actually contain: a caption; a legend; a credit-line or
      details of = source.  They may need to be distinguished typographically.
\end{itemize}

\LaTeX\ may need to \lq\lq know'' the height and width = of the artwork (i.e.,
height/width of wood/metal block, or EPS bounding = box), so that it
can align \lq\lq the edges of the block'' with other = elements of the page.
In particular, the width of the artwork may determine = the width of
the caption.  \LaTeX\ may also need to = manipulate the underline (i.e., 2.09
\verb+\caption+) to side of page (Hart) or bottom of = page (Williamson).
\LaTeX\ may need to align the \{artwork + underline\} = by using the edges
of the artwork or by using the top/bottom lines of = the underline;
hence \LaTeX\ needs explicit access to these = positions.  I have the
impression that \LaTeX\ needs to be working in terms = of: \lq\lq the bounding
box for the artwork''; the width of the = \{caption+legend+source\}; the
baselines of the top/bottom lines of the = \{caption+legend+source\}. The
height of the \verb+\begin{figure}+ \dots\ = \verb+\end{figure}+ and the
width of an enclosed minipage are unlikely to be good = enough.

Therefore, it looks as though it might be better for = the user (guided by
the designer's preferences) to declare the = height/width of the artwork
(rather than the height/width of the artwork+caption) = and let \LaTeX\ work
out the height/width of the \lq\lq artwork + = caption'' (which could
conceivably involve trying the caption at the side of = narrow artwork).
Then \LaTeX\ will \lq\lq know'' the width of the = artwork and can, if
appropriate, typeset the caption to the same width = (whereas if width was
specified by a minipage containing the whole lot, it = might be wider than
the actual artwork, and the caption might end up too = wide).  So I wonder
whether some user interface such as that shown in = Figure
\ref{artwork-interface} might be appropriate.

\begin{figure}
\begin{footnotesize}\begin{verbatim}
\begin{floatfig}     %  A = golden opportunity to phase "figure" out.  My
          &nbs= p;          %  users = often don't understand that it "floats" until
          &nbs= p;          %  they = see it happen, then say they don't like it!
          &nbs= p;          %  A more = meaningful name would help understanding.
\artwork{144bp}{216bp}       = %  Here I assume that the dvi... command
\special{dvi... 144 ... 216 } %  can scale, and = that we want to
          &nbs= p;            = ;       %  take advantage of this = feature in this
          &nbs= p;            = ;       %  case to scale the artwork = to fit within
          &nbs= p;            = ;       %  a 2in x 3in bounding box, = perhaps because
          &nbs= p;            = ;       %  the designer has expressed = a preference
          &nbs= p;            = ;       %  for artwork that is 2in = wide.  (If not,
          &nbs= p;            = ;       %  the user would simply = specify
          &nbs= p;            = ;       %  Xbp and Ybp in the = \artwork command
          &nbs= p;            = ;       %  where X and Y are taken = from the
          &nbs= p;            = ;       %  BoundingBox comment in the = EPS file.)
          &nbs= p;            = ;       %  A \begin{picture}(X,Y) = could be used
          &nbs= p;            = ;       %  instead of \artwork ... = \special ...
          &nbs= p;            = ;       %  if the picture environment = is being used
          &nbs= p;            = ;       %  for a drawing.
\figcaption{...}     %  = LaTeX now knows the width of the artwork,
\figlegend{...}      %  = so can, in principle, try moving the caption, etc.
\figcredit{...}      %  = to the side of narrow artwork or typeset the
          &nbs= p;          %  caption = to the same width as the artwork.
          &nbs= p;          %  (Or = should the caption, legend and credit-line be
          &nbs= p;          %  = arguments to floatfig rather than being supplied
          &nbs= p;          %  via = separate commands \figcaption, etc.?)
\end{floatfig}
\end{verbatim}\end{footnotesize}
\caption{A user-interface for floated = artwork?\label{artwork-interface}}
\end{figure}

\subsection{Increasing the probability of = success}

The \lq\lq \LaTeX\ 3.0 and you'' discussion postulated = a situation in which
it might be necessary to place arbitrary collections = of figures of
arbitrary size.

Obviously \lq\lq it would be nice'' from an = algorithmic point-of-view
to have an algorithm than could handle arbitrary = situations.  But:
\begin{itemize}
\item
   In practice, a lot of placement problems = may be easier than the
   general problem.  Artwork may = actually be a graph off a graph-plotter
   (produced using the plotting package's = default plot-size and scaled
   using a constant factor):  all = plots will tend to be the same size.
   Photographs will tend to be supplied in = standard sizes.
   [On the other hand, chemical artwork may = tend to produce
   diagrams of differing sizes, because = chemists may want the
   bond-length constant throughout the = document, rather than
   the \lq\lq structure-diagram size'' = constant.]
\item
   The designer may express a preference = for particular sizes (or at
   least particular widths) for line-art, = half-tones, etc.
   A designer might even say that \lq\lq = arbitrary collections of figures
   of arbitrary size'' threaten the unity = of the book (McLean).
\item
{\tt dvi}-file printing commands often allow for the = scaling of a
\verb+\special+-ed piece of artwork to a particular = size.
\end{itemize}
So a lesser objective than \lq\lq arbitrary = collections of arbitrary sizes''
might deal with the most common cases (and might = conceivably lead to
better design).

There would have to be a convention whereby the = designer could
pass on his/her preferences about the sizes in which = artwork should
be supplied.  I suppose that comments in the = style-file would do.
For example, for Miles's A3 design, a comment in a = style-file might say
\begin{quote}
      In this design, = \LaTeX's algorithm for figure-placement works best
      with figures that have = the following widths: 12pc, 25pc, 38pc,
      51pc, 64pc.
\end{quote}
In a design for a single-column book, the comment in = the style-file
might recommend \lq\lq magic numbers'' chosen as = \lq\lq full-width'',
\lq\lq  a bit less than
half full-width'' etc.  Generally, the user = could be told
\begin{quote}
      If you have a choice, = we advise you to use one of the following
      widths for best = results with this design ...
\end{quote}
Then:
\begin{itemize}
\item  users will have guidance about how to use = {\tt dvi}-file printing
   commands' abilities to
   re-scale artwork.  (Otherwise, = they'd probably just use whatever
   size picture happens to come off their = graph-plotter, out of their
   camera, etc.)
\item
   \LaTeX\ is likely to get given artwork = of \lq\lq a recommended width'' that
   it can make a good job of placing, since = much of the testing of
   the placement algorithm and style-files = would be with artwork of
   \lq\lq recommended widths''.
\end{itemize}

\section{Landscape}

The precise details of what one does to place an = object ``landscape''
will depend on the \verb+\special+s available for a = particular printer.

It may be unwise to define official environments, = since they would not be
available to everyone that has \LaTeX\ 3.0.  = (But if you want to define a
standard ``optional extension'', you might adopt = definitions like those
shown in Figure \ref{landscape}, which are based on = code sent to {\tt
UKTeX} by Sebastian Rahtz.)
\begin{figure}
\begin{footnotesize}\begin{verbatim}

%  Declare a storage bin for use by environments = that deal with wide things.
\newsavebox{\widethingstore}

%  Deal with very wide objects as follows:
%  - typeset the object into a storage = bin
%  - reserve a page (by giving LaTeX a portrait = object that will occupy a
%    whole page)
%  - bring the object out of the storage bin = into a region of the page that
%    dvitops will rotate.  = Position the object so that, when rotated, its
%    vertical centre is aligned with = the horizontal centre of the usual
%    portrait text-column.
\newlength{\height}  \newlength{\excess}

\newenvironment{landscapetable}{%
    \begin{table}[p]
    = \savebox{\widethingstore}\bgroup\begin{minipage}{237mm}}{%
%
    \end{minipage}\egroup
    %  Will the object be too = high for the landscape page?
    \height=3D\dp\widethingstore  = \advance\height by \ht\widethingstore
    \excess=3D\height
    \ifdim\height>127mm
        = \advance\excess by -127mm
        = \immediate\write16{Warning: Your landscapetable is \the\excess}
        = \immediate\write16{higher than the normal landscape text-area.}
    \fi
    \vspace*{241mm}  %  A = portrait object that will occupy a whole page.
    \hspace*{64mm}   %  = Align the vertical centre of the landscape object
          &nbs= p;          %  with = the horizontal centre of usual portrait text.
    \special{dvitops: origin = landscapetext}
    \special{dvitops: begin  = landscapetext}
    = \dp\widethingstore=3D0pt    %  Pretend that the = object has no size,
    = \wd\widethingstore=3D0pt    %  otherwise it ends up = in the wrong place.
    \ht\widethingstore=3D0pt
    \usebox{\widethingstore}  = %  Bring the object out of its bin to
    \special{dvitops: = end}    %  be printed in a landscape = orientation.
    \special{dvitops: rotate = landscapetext -90}
    \end{table}
}

\newenvironment{landscapefigure}{%
    \begin{figure}[p]
    ...
}
\end{verbatim}\end{footnotesize}
\caption{Prototype definitions of {\tt = landscapetable} and {\tt
landscapefigure}\label{landscape}}
\end{figure}

Nevertheless, people are going to want to define = environments that place
objects ``landscape''.  (Perhaps designers will = want to provide such
 environments
as part of an overall design.) It might be possible = to help such people by
providing the ability to define:
\begin{itemize}
\item a float that must appear on a ``page of = floats''
      on which it is the = only float
\item a \verb+\thispagestyle+ that takes effect after = floating.  Although
      the gurus sometimes = print headings on pages with full-page \lq\lq
      floats'' and sometimes = don't (see \cite[p.\ 343,579]{chicago-82},
      \cite[p.\ = 42]{butcher-81} and \cite[p.\ 147,157]{hart-83}),
      those designers who = {\it do}
      want to suppress the = headings will need a suitable mechanism.
\end{itemize}
See also Appendix \ref{wide-things}.

\section{Almost-blank pages for figures}

Technical documents often have full-page graphs etc.\ = produced by separate
picture-drawing software.  The picture-drawing = software may be told that it
is to prepare output for A4, and the output may = appear as an A4 sheet from
a graph-plotter or laser-printer.  The user may = be able to cut down the
size a little by asking for generous margins or by = photoreducing.

In these circumstances, my guess is that the user = would want \LaTeX\ to
provide a page that has a number and possibly a = suitable caption, legend
and/or credit-line, but otherwise to leave ``as much = space as aesthetically
possible'' for the illustration that was put onto A4 = by the other software.
Some convention about the commands needed to get ``as = much space as
aesthetically possible'' might be useful (although = the space available
might vary between styles).

For example, perhaps a user should be able to get = \LaTeX\ to:
\begin{itemize}
\item typeset the caption, legend and credit-line for = some
      (almost) full-page = artwork
\item \verb+\vfill+ the page, so the caption, legend = and credit-line
      go to the bottom of = \lq\lq where the text area would have been
      if the page hadn't = been reserved for artwork''
\item write (e.g., in the {\tt .log} file) a message = that gives
      the dimensions of the = biggest \lq\lq block'' of artwork which can fit
      in \lq\lq where the = text area would have been''
      after the caption, = legend and credit-line have been typeset and
      pushed to the bottom = of \lq\lq where the text area would have been''.
\end{itemize}
Would it be possible to arrange things so that the = user could issue commands
such as ---
\begin{verbatim}
\begin{figure}[p]
    = \maxartwork       %  Do a \vfill and = write (to .log file) the
          &nbs= p;           %  = height and width of the biggest rectangle
          &nbs= p;           %  = that can then fit in the "normal text
          &nbs= p;           %  = area" above the caption, etc.
    \figcaption{...}
    \figlegend{...}
    \figcredit{...}
\end{figure}
\end{verbatim}
--- or ---
\begin{verbatim}
\begin{landscapefigure}
    \maxartwork
    \figcaption{...}
    \figlegend{...}
    \figcredit{...}
\end{landscapefigure}
\end{verbatim}
--- ?  If so, the user could then
\begin{itemize}
\item read the \lq\lq maximum dimensions that fit in = with the design''
      from the {\tt .log} = file
\item take whatever steps are necessary to cut = his/her A4 picture down a little
      to fit within these = dimensions.  (Such steps might involve
      instructions to a = graphics package, photoreducing, or a \verb+\special+
      to tell {\tt dvi}-file = processing software about the desired size.)
\item if appropriate, replace the \verb+\maxartwork+ = command
      by \verb+\artwork+ and = \verb+\special+ commands, as shown in Figure
      = \ref{artwork-interface}.
\end{itemize}

\chapter{Lists of references; bibliographies}

\section{Title}
\label{refslist-title}

The \LaTeX\ 2.09 ``standard styles'' seem to assume = that a ``bibliography''
is merely a long ``list of references''.  = However, many people use
``bibliography'' to mean something different from = ``list of references''.
There may also be situations where:
\begin{itemize}
\item an author wishes to use something like {\tt = thebibliography} for
      ``Select = Bibliography'' or ``Further Reading'' (\cite[p.\
      420]{chicago-82}, = \cite[p.\ 182]{butcher-81}).
\item a document might have more than one {\tt = thebibliography}-like list: for
      example (a) = ``References'' then ``Further reading'' \cite[p.\
      192]{butcher-81} = (b)
      ``List of references'' = then ``Bibliography'' \cite[p.\ 22]{bs-4821}.
\end{itemize}
It seems to me that it is important to enable the = author
to give {\tt thebibliography} a title that accurately = describes
its contents.

Consequently, I think that the approach take in {\tt = german.sty} (in the
Aston archive) is mistaken.  For example, = having
\verb+\def\refname{References}+ and = \verb+\def\bibname{Bibliography}+
for English will tend to perpetuate the mistaken = assumption that
``an article has a list-of-references while a report = or book has
a bibliography'', and hence to perpetuate inaccurate = titles.

I think that:
\begin{itemize}
\item it would be better to have just one default = title per language,
      irrespective of = \verb+\documentstyle+
\item the default title should be the usual = description of a list
      from which one = \verb+\cite+s.
      For English, we might = have \verb+\def\refname{References}+
      as the default.
\item there should be an easy mechanism (such as that = shown in Figure
      \ref{thebib-plus}) to = allow the author to replace the default title.
\end{itemize}

\begin{figure}
\begin{footnotesize}\begin{verbatim}
%  This style-option file, thebib-plus.sty, is = based on code taken from
%  article.doc and report.doc/book.doc.
%
%  It differs from the standard code in = that:
%  - a command \bibtitle is defined, to generate = the bibliography title
%  - a command \bibheadtitle is defined, to = generate the text to be used
%    by \pagestyle{headings}
%  - \bibtitle and \bibheadtitle are set to = generate "References" and
%    "REFERENCES" = respectively.
%  - an \addcontentsline{toc}{...}{\bibtitle} = command is issued.
%  Thus:
%  - the default bibliography title is = "References", but can be changed by
%    having = \renewcommand{\bibtitle}{...} before \begin{thebibliography}
%    or \bibliography
%  - the default page header text is = "REFERENCES", but can be changed by
%    = \renewcommand{\bibheadtitle}{...}
%  - \tableofcontents will give a table of = contents that mentions the
%    bibliography.
%

%  Define default title and page-head = text.
%
\def\bibtitle{References}
\def\bibheadtitle{REFERENCES}

\@ifundefined{chapter}{\def\thebibliography#1{\section*{\bibtitl= e\@mkboth
  {\bibheadtitle}{\bibheadtitle}}
  = \addcontentsline{toc}{section}{\bibtitle}\list
  = {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
    = \advance\leftmargin\labelsep
    \usecounter{enumi}}
    \def\newblock{\hskip .11em plus = .33em minus .07em}
    = \sloppy\clubpenalty4000\widowpenalty4000
    \sfcode`\.=3D1000\relax}}%
{\def\thebibliography#1{\chapter*{\bibtitle\@mkboth
  {\bibheadtitle}{\bibheadtitle}}
  = \addcontentsline{toc}{chapter}{\bibtitle}\list
  = {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
    = \advance\leftmargin\labelsep
    \usecounter{enumi}}
    \def\newblock{\hskip .11em plus = .33em minus .07em}
    = \sloppy\clubpenalty4000\widowpenalty4000
    \sfcode`\.=3D1000\relax}}
\end{verbatim}\end{footnotesize}
\caption{A way to allow easy changes to the \lq\lq = list of references'' title%
\label{thebib-plus}}
\end{figure}

\section{Schemes supported}

In scientific, technical and medical work, the two = most important citation
schemes are ``reference by number'' and = author-date.  In the humanities,
references may be given using the \lq\lq short form'' = scheme (often in
footnotes).  All three schemes are supported by = the ISO standard.  See
\cite{iso-690} and \cite[p.\ 25]{page}.

The definition of \verb+\cite+ and \verb+\bibitem+ in = \LaTeX\ 2.09 supports
``reference by number'', but anyone wanting to use a = standard author-date
scheme:
\begin{itemize}
\item has to re-define \verb+\cite+,  to get = ``('' and ``)''
\item has to re-define \verb+\bibitem+, to suppress = the
      \verb+[+{\it = key\/}\verb+]+ printed by default
\item will probably want a command that
      delivers just the = ``date'' part when the author's name
      occurs naturally in a = sentence.
      See \cite[sec.\ = 9.4]{iso-690}.
\end{itemize}
This generally means that people wanting to use = author-date:
\begin{itemize}
\item are unable to use standard programs such as = {\tt lablst}
      which assume the = original \LaTeX\ 2.09 definitions
\item have to specify ``I'm using author-date'' in = two places:
      as a style-option in = their \verb+\documentstyle+ command, and in their
      = \verb+\bibliographystyle+ command.
      This seems = unreasonable.
\end{itemize}

Similarly, the \lq\lq short form'' scheme is = unsupported.

Can anything be done in \LaTeX\ 3.0 to give = author-date and \lq\lq short form''
the same status as ``reference by number''?  = Some ideas will be found in
Appendix \ref{citing}.


\section{Consequences for \protect\BibTeX}

The situation mentioned in section = \ref{refslist-title}, where a document
may have more than one {\tt thebibliography} may have = particular
implications for \BibTeX.  A document might have = ``References'' to list all
the works cited, and ``Further reading'' to gives = further details of some
of them.

In \LaTeX\ 2.09 terms, one might need 2 = \verb+\bibliography+s with 2
different \verb+\bibliographystyle+s.  Does one = need the ``bibliography
style'' to be an argument of the \verb+\bibliography+ = command, so as to
allow for this possibility?


\section{Subdivisions}

Except when using an author-date scheme, an author = might reasonably wish to
subdivide a reference list (\cite[p.\ = 425]{chicago-82}, \cite[p.\
183]{butcher-81}). Can some mechanism = (\verb+\subbibliography{...}+?) be
provided so that the author can place a subheading in = a reference list to
indicate the start of a new category?  (It would = be nice if the mechanism
allowed a {\tt bst} file programmer to sort by = ``category field'', and then
write an appropriate category heading to a {\tt bbl} = file, so that \BibTeX\
users could potentially have subdivided reference = lists too.)


\chapter{Miscellaneous}

\section{Ragged right}

People may wish to implement ``ragged right'' = designs.  They may want
\TeX's mathematical typesetting capability and the = help that \LaTeX\ can
give with section-numbering, cross-referencing, etc., = but not want any of
the right-justification that \TeX\ supplies by = default.  This seems
respectable, since there are books on design that = advocate ``ragged right''
\cite[p.\ 19]{white-88}.

Unfortunately, to implement a ``ragged right'' design = in \LaTeX\ 2.09, it seems
necessary to make individual changes to any = definitions in a style file that
involves ``paragraph makeup''.  For example, it = is necessary to specify
``ragged right'' for main text, footnotes, captions = and list-elements
separately.

However, if the ``main text'' is to be typeset = ``ragged right'', it is most
likely that ``ragged right'' will be required = everywhere else, too.  Could
there be some easy mechanism for specifying, in a = style file, that
``everything is to be ragged right''?  Better = still, could there be some
easy way of choosing, in a style file, to have = everything as what White
\cite[p.\ 21]{white-88} calls ``rough rag'', ``tight = rag'' or ``minimal
rag''?

\section{File names}

Might it be worth introducing a naming convention such = as:
\begin{itemize}
\item extension {\tt sty} for a style file
\item extension {\tt opt} for a style-option = file?
\end{itemize}
It may help people to find their way round archives = such as that
at Aston.

\subsection*{An e-mail comment}
\begin{footnotesize}\begin{verbatim}
From:     Don Hosek = <DHOSEK@EDU.CLAREMONT.HMCVAX>
Date:     Fri, 1 Feb 91 21:54:00 = PST

..
  I'd like to see LaTeX 3.0 use different = extensions for style
  files and options. My recommendations would be = style files have
  extensions of .dst and options .dop (.opt is = too commonly used
  for other purposes)  ...  part of = the
  advantage gained by the new extensions would = be the emphasis that
  style files will probably need mods to work = under the new
  LaTeX.
..
\end{verbatim}\end{footnotesize}

\section{``Over-long'' headings}

Although the \LaTeX\ 2.09 manual \cite[p.\ = 126]{lamport-86} explains that
giving an over-long {\it heading} argument in = sectioning commands,
\verb+\caption+, etc.\ can cause a ``{\tt buffer = size}'' error, it seems
perverse that an error can occur (for example) = because of the size of a
``list of tables'' string {\em when the user hasn't = actually given a
\verb+\listoftables+ command}.

Could \LaTeX\ 3.0 deal with over-long arguments in = sectioning, \verb+\caption+,
etc., commands as follows?
\begin{itemize}
\item Instead of regarding {\it heading} as the = default {\it toc-entry},
      text to go in = page-header,
      {\it lot-entry}, {\it = lof-entry}, etc.\ \cite[p.\ 158]{lamport-86},
       regard just the = first
      50-or-so characters of = {\it heading} as the  default
      {\it toc-entry}, = etc.
\item If the user supplies a {\it heading} that is = more than 50-or-so
      characters:
      \begin{itemize}
      \item If there is no = \verb+[+{\it lst-entry}\verb+]+ argument, put the
          &nbs= p; first 50-or-so characters of {\it heading} to the {\tt aux} = file,
          &nbs= p; followed (if truncation was necessary) by \verb+\dots+ or = ``etc.''
          &nbs= p; or some other truncation indicator.

          &nbs= p; The chances are that the user
          &nbs= p; doesn't want an entry in the table-of-contents, = list-of-tables,
          &nbs= p; list-of-figures, or hasn't thought about the implications of = the
          &nbs= p; length of {\it heading} for the table-of-contents, etc.
          &nbs= p; The user may well be
          &nbs= p; mis-using \verb+\caption+ for (in a table) the title {\em and = notes}
          &nbs= p; or (in a figure) the caption {\em and legend}.
          &nbs= p; The \LaTeX\ 2.09 manual is right when it says \cite[p.\
          &nbs= p; 126]{lamport-86} that ``such a long entry won't help the = reader''.
          &nbs= p; The first 50-or-so characters will give the user something = that
          &nbs= p; ``will do'' until they've thought about what they really want.

      \item If truncation was = necessary, send a message to the user's terminal
          &nbs= p; and {\tt log} file saying, for example, ``{\tt Warning: Your = caption
          &nbs= p; is more than 50 characters long.  Use \verb+\caption+'s
          &nbs= p; optional lot-entry
          &nbs= p; argument if you intend to use \verb+\listoftables+.}''.
      \item Allow the user = to supply a {\it lst-entry} of up to the 2.09
          &nbs= p; limits if they do it explicitly through the optional
          &nbs= p; \verb+[+{\it lst-entry\/}\verb+]+ argument.  (They're = explicitly
          &nbs= p; using {\it lst-entry}, so they probably know what they're doing = and
          &nbs= p; really want these characters in the table-of-contents or = whatever.)
      \end{itemize}
\end{itemize}

This approach should:
\begin{itemize}
\item eliminate the situations where \LaTeX\ gives an = error message
      because of an = over-long {\it heading} even when
      {\it heading} isn't = actually going to be printed anywhere
      where its length will = be a problem
\item give the user an authoring problem ``How can I = improve this
      stopgap list-of-tables = entry that \LaTeX\ has kindly supplied?''
      rather than a = de-bugging problem ``Why is user-hostile
      \LaTeX\ giving me this = obscure error message?''.
\end{itemize}

\section{Page headers}

Suppose that, in a book:
\begin{itemize}
\item the design requires chapters to start on a = right-hand page
\item chapter $i$ ends on a right-hand page, so = \LaTeX\
      must produce an empty = left-hand page before starting
      chapter $i+1$.
\end{itemize}

In this situation,  publishers seem to assume = that the
empty left-hand page is neither in chapter $i$ = nor
in chapter $i+1$ (see, for example, = \cite{lamport-86,chicago-82})
and hence that the empty page should have no
``Chapter \dots'' page-heading.
\LaTeX\ 2.09, on the other hand, gives it a = page-heading
to say that it it is part of chapter $i$ (which looks = silly).

Could the \LaTeX\ 3.0 version of {\tt book} (and = similar styles) use
\verb+\thispagestyle{plain}+ or = \verb+\thispagestyle{empty}+ for a
left-hand blank page that separates 2 = chapters?

\section{Sections}

The definition of \verb+\@startsection+ in {\tt = latex.tex} allows for
``run-in headings''.

However, a design often involves some punctuation = between a run-in heading
and the following text, e.g.  ``a full stop = unless the heading naturally
ends in a question mark or exclamation mark''.  = (See, for example,
\cite[p.\ 222--223]{chicago-82} and \cite[p.\ = 240]{butcher-81}.) Would it
be possible, at \LaTeX\ 3.0, to define the successor = to
\verb+\@startsection+ in such a way that, if there is = to be a run-in
heading, the {\tt sty} file can specify default = punctuation between the
heading and the following text?

See also Appendix \ref{runin}.

\section{An interrupted {\tt enumerate}?}

Would commands such as \verb+\suspend{enumerate}+ = and
\verb+\resume{enumerate}+ be possible,
so that the author can introduce some items in
a list with one sentence and then introduce further = items in the same list with
another sentence?  It would be easier than = getting
involved with \verb+\setcounter{enumi}+.


\section{{\tt verbatim}}

\subsection{Vertical space}

For lists in designs that have un-indented paragraphs, = I generally set
\verb+\parsep+ and \verb+\itemsep+ to zero and = \verb+\topsep+ to
\verb+-\parskip+, to eliminate all vertical = spacing.

The objective (as in section \ref{lists-in-paras}) is = to make it clear
where paragraphs begin and end.  I think = that:
\begin{itemize}
\item extra ``blank lines'' in lists, and around {\tt = verbatim},
      will make = paragraph-divisions less clear
\item the bullet or ``label'' is a clear enough = indicator of where a
      list-item starts, and = the font-change is a clear enough indication
      of where verbatim = starts.
\end{itemize}

So far, with \LaTeX\ 2.09, I've been unable to produce = style files that
close lists up satisfactorily when a list contains = some \verb+verbatim+.  I
guessed that, since \verb+verbatim+ uses = \verb+\trivlist+, changing the
list spacing should eliminate the vertical space = around \verb+verbatim+
too.  Unfortunately, I end up with the wrong = spacing around \verb+verbatim+.

I would appreciate anything that could be done in = \LaTeX\ 3.0 to make it
easier to eliminate the vertical spacing around {\tt = verbatim}, as can be
done for lists.

\subsection{Horizontal space}

It is usual to show computer input/output in {\tt = verbatim}.  One might
reasonably say that ``computer input/output is a type = of quote'', and so
want to put a particular horizontal space onto each = line before {\tt
verbatim} material is printed.  In \LaTeX\ 2.09, = this does not seem easy
(and, because {\tt verbatim} can't be used in the = definitions of other
environments, one can't define another environment = that does it either).

Could something be provided in \LaTeX\ 3.0 that does = for {\tt verbatim}
what \verb+\leftmargin+ does for lists?

\section{Footnotes}

I was once consulted by a historian who claimed not to = like the way that
\LaTeX\ 2.09 splits footnotes (and was worried that = his supervisor might
not like the splits).

I went and found a few history books, some of which = split footnotes in just
the same way as \LaTeX.  So I drew the = historian's attention to these
books.  (\lq\lq There are plenty of publishing = precedents for what \LaTeX\
does.  Wouldn't you like \LaTeX\ to do what a = professional publisher would
do?'') He decided that the splitting was alright = after all, and that he
could use the published precedents to convince his = supervisor.

However, I also found a group of history books that = didn't split their
footnotes (I assume by design, rather than by = chance).  Could something be
done in \LaTeX\ 3.0 to make it easier to implement = such designs (e.g., that
try leaving a couple of \verb+\baselineskip+s of = white space above the
footnotes before they resort to splitting)?  = Perhaps a comment in the code
somewhere saying \lq\lq If you want implement a = design that prefers having
ragged-bottom above footnotes rather than having = split footnotes, then
\dots\ ''?


------_=_NextPart_001_01C19443.45B3FF5C--