%%% ==================================================================== %%% @LaTeX3-article{ LaTeX3-LTX3-002a, %%% filename = "l3d002a.tex", %%% archived = "ctan:/tex-archive/info/ltx3pub/", %%% related-files = "part of l3d002.tex", %%% author = "David Rhead", %%% doc-group = "Project core team", %%% title = "Some ideas for improving {\LaTeX}\\ General", %%% version = "1.1", %%% date = "18-Mar-1993", %%% time = "20:19:36 GMT", %%% status = "public, official", %%% abstract = "Ideas and suggestions from David Rhead for %%% improving various areas in LaTeX", %%% note = "prepared for the workshop at Dedham 91", %%% keywords = "", %%% project-address = "LaTeX3 Project \\ %%% c/o Dr. Chris Rowley \\ %%% The Open University \\ %%% Parsifal College \\ %%% Finchley Road \\ %%% London NW3 7BG, England, UK", %%% project-tel = "+44 171 794 0575", %%% project-FAX = "+44 171 433 6196", %%% project-email = "LTX3-Mgr@SHSU.edu", %%% copyright = "Copyright (C) 1993 LaTeX3 Project %%% All rights reserved. %%% %%% Permission is granted to make and distribute %%% verbatim copies of this publication or of %%% coherent parts from this publication provided %%% this copyright notice and this permission %%% notice are preserved on all copies. %%% %%% Permission is granted to copy and distribute %%% translations of this publication or of %%% individual items from this publication into %%% another language provided that the translation %%% is approved by the original copyright holders. %%% %%% No other permissions to copy or distribute this %%% publication in any form are granted and in %%% particular no permission to copy parts of it %%% in such a way as to materially change its %%% meaning.", %%% generalinfo = "To subscribe to the LaTeX3 discussion list: %%% %%% Send mail to listserv@vm.urz.uni-heidelberg.de %%% with the following line as the body of the %%% message (substituting your own name): %%% %%% subscribe LaTeX-L First-name Surname %%% %%% To find out about volunteer work: %%% %%% look at the document vol-task.tex which can %%% be obtained electronically, see below. %%% %%% To retrieve project publications electronically: %%% %%% Project publications are available for %%% retrieval by anonymous ftp from ctan hosts: %%% ftp.tex.ac.uk %%% ftp.dante.de %%% ftp.shsu.edu %%% in the directory /tex-archive/info/ltx3pub. %%% %%% The file ltx3pub.bib in that directory gives %%% full bibliographical information including %%% abstracts in BibTeX format. A brief history %%% of the project and a description of its aims %%% is contained in l3d001.tex. %%% %%% If you only have access to email, and not ftp %%% You may use the ftpmail service. %%% Send a message just containg the word %%% help %%% to ftpmail@ftp.shsu.edu %%% for more information about this service. %%% %%% For offers of financial contributions or %%% contributions of computing equipment or %%% software, contact the project at the above %%% address, or the TeX Users Group. %%% %%% For offers of technical assistance, contact the %%% project at the above address. %%% %%% For technical enquiries and suggestions, send %%% e-mail to the latex-l list or contact the %%% project at the above address.", %%% checksum = "14238 1748 11090 80596", %%% docstring = "The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility.", %%% } %%% ==================================================================== \chapter{General} \section{Assumptions about structure} \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.\ 8]{williamson-83}, \cite [ch.\ 10]{mclean-80}, \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 % 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 presumbly 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{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} \chapter{Preliminary pages} \section{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. \section{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. \chapter{Floats} \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 might think that users would then be clear what to expect, would be pleased that \LaTeX\ would 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{lamport-86} seems vague 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}. 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. \end{itemize} % CMoS p. 312. 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 and legends \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'' \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'' \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{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=\dp\widethingstore \advance\height by \ht\widethingstore \excess=\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=0pt % Pretend that the object has no size, \wd\widethingstore=0pt % otherwise it ends up in the wrong place. \ht\widethingstore=0pt \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 there doesn't seem to be a consensus between the gurus about whether one should print headings on pages with full-page tables (\cite[p.\ 343]{chicago-82}, \cite[p.\ 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{E-mail following \lq\lq \LaTeX 3 and you'' meeting} \begin{footnotesize}\begin{verbatim} From: David Rhead ... Date: 18 Feb 91 14:52:55 BACKGROUND There was a meeting called "LaTeX3 and you" on 14th Feb. It had been convened as part of Frank and Rainer's visit to London. One of the topics discussed at the meeting was the idea of catering for "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. Some notes of ideas were distributed, but I'm afraid that I don't have time to type them in here. HART'S RULES Hart and his successors at Oxford University Press have attempted to write down some of their experience of how to deal with such things: "Hart's Rules [for Compositors and Readers at the University Press Oxford]", 39th edition, Oxford University Press, 1983. ISBN 0-19-212983-X. I'll summarise Hart's recommendations, but first I'll explain the terminology (in case anyone else reads Hart's Rules and is as puzzled as I was at first): Opening - A 2-page spread. Block - "a relief printing surface from which line-art, half-tones, etc. can be printed". The term comes from the wood blocks in which illustrations used to be cut. (I guess that the analogue these days would be the "bounding box" for a file of encapsulated PostScript.) Underline - A line [of text] underneath a block (NOT an \hrule underneath a line of text). Thus, I think Hart's Rules uses "underline" to mean what the Chicago Manual of Style would call "caption plus legend" and what LaTeX 2.09 might call a \caption. The "underline" might contain an acknowledgement of a source. Illustration - A block plus its underline. I.e., in LaTeX 2.09 terms, the stuff that might go in \begin{figure} ... \end{figure}. Here's my interpretation of Hart's Rules about how one should try to float illustrations [where (a), (b), etc. are Hart's letters]: (a) Keep the illustration on the same 2-page spread as the reference to it as far as possible. (b) 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 [t], [b] and [h] that gives "slightly above the centre of the page". It might need to try to avoid splitting paragraphs: see notes about Williamson, below.) (c) 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. (d) 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: ILLUSTRATION TEXT TEXT ILLUSTRATION (e) 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. (f) Hart's (f) deals with "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.) "to the width of the illustration", which may be a requirement to bear in mind. (g) If a "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. (h) If the width of an 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). (i) This deals with illustrations that are too wide. (j) This deals with spacing around a block (e.g., artwork) (k) This deals with spacing above/below the underline (i.e. caption + legend). (l) TWO ILLUSTRATIONS THAT ARE EACH LESS THAN HALF THE TEXT-WIDTH ARE TO BE PLACED SIDE-BY-SIDE. (m) WHEN TWO ILLUSTRATIONS (of "not too dissimilar depth") ARE PLACED SIDE-BY-SIDE, THEY ARE TO BE PLACED VERTICALLY SO THAT EITHER THE BASES OF THE BLOCKS (E.G. ARTWORK) ARE LEVEL OR THE BASES OF THE UNDERLINE (I.E. CAPTION + LEGEND) ARE LEVEL. (n) This deals with running heads. (o) This deals with landscape. (p) "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 Fig 1. Text Fig 2. Text Text Text and Fig 1. Fig 2. Text Text Text Text (q) 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. OTHER GURUS Leslie Lamport & Margery Cantor Appended to the notes distributed on the 14th was some mail from Leslie to Frank about a conversation with a Margery Cantor. She suggested 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 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. Ruari McLean On page 137 of "The Thames and Hudson Manual of Typography" Thames and Hudson, 1980, ISBN 0-5000-68022-1, Ruari McLean suggests the following: If a book consists of a number of text pages ... 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 ... If they can also, with captions, make the same depth as the text, so much the better ... 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. ... metal blocks ... flanges of about 1/8 in ... Half-tone illustrations ... illustration area in harmony with the type area ... ... undesirable to lay down a set of rules ... But a few "rules of thumb" are helpful ... 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. Hugh Williamson In chapter 14 of "Book Design", Yale University Press, 1983, ISBN 0-300-03035-5, Hugh Williamson suggests the following: 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. ... When ... 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, ... , even at the expense of varying distances between caption and picture. ... When a 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, ... way to determine illustration size will be to have such captions set ... first. ... A conspicuously rectangular illustration, ... , is usually placed with one or more of its edges in exact alignment with other elements of the opening. ... act of reading favoured by placing the illustration between two paragraphs ... to divide a word immediately before and after an illustration is clumsy. ... Captions often look neatest when they are no wider than the illustration under which they are to appear. John Miles In "Design for Desktop Publishing" (Gordon Fraser, 1987, ISBN 0-86092-097-6), John Miles 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. IMPLICATIONS I don't say that the opinions of Hart, McLean, Williamson, etc. represent "what LaTeX 3.0 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: In old-fashioned terms "the positions of the edges of the wood/metal block holding line-art or half-tone" or, in PostScript terms, "the bounding box for the file of encapsulated PostScript that is being \special-ed in at this point to define some artwork" 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). The width of the underline (= caption + legend = 2.09 \caption) may depend on the width of the ("wood or metal") block or EPS bounding box (e.g. artwork) [or occasionally vice versa]. The underline (= caption + legend = 2.09 \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. The underline may actually contain: a caption; a legend; details of source. They may need to be distinguished typographically. LaTeX may need "to 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 "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 \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: "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}. I have the impresssion that the height of the \begin{figure} ... \end{figure} and the width of an enclosed minipage are unlikely to be good enough. Therefore, it looks to me as though it would 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 "artwork + caption" (which could conceivably involve trying having the caption at the side of narrow artwork). Then LaTeX will "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 the following might be appropriate: \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{144pt}{216pt} % 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 % Xpt and Ypt 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, % so can, in principle, try moving the caption % to the side of narrow artwork or typeset the % caption to the same width as the artwork. \end{floatfig} INCREASING THE PROBABILITY OF SUCCESS The discussion on the 14th postulated a situation in which it might be necessary to place arbitrary collections of figures of arbitrary size. Obviously "it would be nice" from an algorithmic point-of-view to have an algorithm than could handle such a situation. But: * 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 "structure-diagram size" constant.] * 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 "arbitrary collections of figures of arbitrary size" threaten the unity of the book (McLean). * dvi-printing commands often allow for the scaling of a \special-ed piece of artwork to a particular size. So a lesser objective than "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 In this design, LaTeX's algorithm for figure-placement works best with figures that have the following widths: 12pc, 25pc, 38pc, 51pc, 64pc. In a design for a single-column book, the comment in the style-file might recommend "magic numbers" chosen as "full-width", "a bit less than half full-width" etc. Generally, the user could be told If you have a choice, we advise you to use one of the following widths for best results with this design ... Then: * users will know how to use dvi-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.) * LaTeX is likely to get given artwork of "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 "recommended widths". \end{verbatim}\end{footnotesize} \chapter{Tables} \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 a ``fundamental requirement'', at least as important as {\tt tabular}'s current {\tt l}, {\tt c} and {\tt r}, not 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 Mittlebach 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{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. \end{itemize} \section{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'' (as suggested in section \ref{float3}), and \LaTeX\ 3.0 and the {\tt sty} file took care of the detailed layout. \section{An e-mail addition} \begin{footnotesize}\begin{verbatim} From: David Rhead ... Subject: Multi-line cells in tables Date: 17 Aug 90 12:01:50 I've been browsing through some books that describe, among other things, how one should typeset tables. The gurus seem to regard a table entry that consists of a "hanging paragraph" as fairly standard, either because they explicitly advocate it, or because they simply do it. See: Jan V. White "Graphic Design for the Electronic Age", Watson Guptill, 1988, page 147 (the bit about "first line hanging indent"). "Chicago Manual of Style", Chicago University Press, 1982, pages 338 and 393. Judith Butcher "Copy-editing", Cambridge University Press, 1981, page 136. "Hart's Rules", Oxford University Press, 1983, pages 34-35 and 158. (I think that it is desirable that the LaTeX 3.0 defaults should generally correspond to standard publishing practice.) Unfortunately, it does not seem to be simply a matter of "In this \documentstyle, tabular's 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. in spite of the hanging paragraphs mentioned above, Chicago has left-justification on pages 176-177 and Butcher has left-justification on pages 68-69.) I can't detect any underlying "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? Either provide something like p{...} [perhaps h{...} for "hanging"] that gives a hanging paragraph rather than a left-justified paragraph or, if one takes the point-of-view that books that use more than one visual representation for the logical element "paragraph in cell" are wrong (now matter how respectable and esteemed they are), at least put a comment near the code for "paragraph in cell" in the standard style files (or wherever) saying how one can change things so that all "paragraphs within cells" are hanging. Perhaps one might be able to achieve the same effect by using Frank Mittelbach's >{\parindent=...}p (if \parindent=-1em works), as described in TUGboat, vol. 9, page 299, but it looks as if "hanging paragraph within table cell" is sufficiently standard among gurus that it would be worth providing explicit support in some way. Incidentally, most gurus mentioned above advocate/do "paragraph within cell" ragged right but hyphenated. (The exception is Butcher 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 "paragraph within cell". If a cell contains figures which are described by a multi-line table-stub, how would one get the figures aligned vertically with the bottom line of the stub? I have in mind things like Infected trees, % 1.63 0.9 20.3 Chi-square for observed values 7.83 11.09 4.98 (on page 158 of Hart's Rules) and Interest and discount on other lending in sterling 53 38 54 98 141 168 211 (on page 65 of John Miles's "Design for desktop publishing"). Would one use [a hanging variation] of {b{...}r} or {b{...}t{...}} (where b{...} and t{...} are as described in Frank Mittelbach's article)? 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. \end{verbatim}\end{footnotesize} \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`\.=1000\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`\.=1000\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[p.\ 25]{page} and \cite{iso-690}. 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.) \section{Note} See also Appendix \ref{citing}. \chapter{``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 ids 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} \chapter{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{chicago-82,lamport-86}) 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? \chapter{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? \section*{E-mail comments} \begin{footnotesize}\begin{verbatim} From: Michael Downes Date: Mon, 8 Apr 91 16:50:30 CET A punctuation question: If a documentstyle design calls for punctuation such as period or colon after a run-in section heading or theorem-environment heading, the punctuation can be provided fairly easily [although maybe not without changing \@sect]. But what do you do in particular cases where something else (like a ?) needs to be substituted for the default punctuation? Has anyone else faced this question and found a way to do it that doesn't require maintaining an array of macros \sectionpunct, \subsectionpunct, \subsectionpunct, ... to be called in \@sect using \csname? (And then you might need conceivably also need \theorempunct, \corollarypunct, \lemmapunct, \examplepunct, for each environment created with \newtheorem, or at least for each theoremstyle---AMS journals typically have four or five different `theorem'styles.) My first attempt at a solution has involved adding a macro \endpunct at the appropriate place in \@sect and \@begintheorem. Then \endpunct can be redefined in a document when necessary. But there are complications in scoping and ease of use; for example, this fouls up the nobreak and afterindent mechanisms: {\renewcommand{\endpunct}{?} \section{Why abandon the old technology} \label{s:who} \showthe\everypar } \showthe\everypar % lost the \@afterheading stuff Text begins here. and if we move the closing brace further to avoid losing \everypar, what rationale do we give the user? ... T}ext begins here. % try explaining this! Then there is the potential for situations like this: {\renewcommand{\endpunct}{?} \section{Why abandon the old technology} \label{s:who} \begin{itemize} \item Text begins here. ... where an environment occurs at the beginning of a section. The closing brace can't be put inside the environment without causing an error. In LaTeX a * option would be the natural way of taking off the ending punctuation but for sectioning commands the * option is already being used for something else. Any suggestions? Here's another idea: \section{Why abandon the old technology\substitutepunct{?}} with \def\substitutepunct#1{\def\protect\endpunct{#1}} I haven't tested this yet so I don't know whether there would be table of contents complications in this case. P.S. In the AMSART documentstyle distributed in the AMS-LaTeX package, where \subsection and lower level headings are run-in with ending punctuation, I ignored this issue, thinking that the need to substitute would be so rare that by the time we needed to face it, a good solution might have turned up. Naturally the first or second paper submitted to the AMS using the AMSART documentstyle had a couple of section headings ending in question marks! \end{verbatim}\end{footnotesize} \begin{center} --- \end{center} \begin{footnotesize}\begin{verbatim} From: Don Hosek Date: Tue, 9 Apr 91, 03:53:00 PDT Michael brought up the issue of section headings where a period should be added to the end only if there is not already a punctuation mark at the end of the given section head. To which I offer a couple thoughts in order of increasing attractiveness: (1) pull items off the horizontal list and decompose them to see if there's a punctuation mark at the end (2) just before reading the argument containing the section title, make !, ? and . active and have them set a flag in addition to printing the appropriate mark. If that flag is true, don't add a period onto the end yourself. (3) take a look at the spacefactor. If it is 3000, we've just had end-of-sentence punctuation. It's not too difficult to justify the occasional \@ which would be necessary under these circumstances. \end{verbatim}\end{footnotesize} \begin{center} --- \end{center} \begin{footnotesize}\begin{verbatim} From: MITTELBACH FRANK Date: Tue, 9 Apr 91 18:28:28 CET Don send some interesting suggestions how to handle punctuation characters in `certain' situations (not only headings). But I think only the last might work and even this one will work only if we define things carefully. > > (1) pull items off the horizontal list and decompose them to see > if there's a punctuation mark at the end Splitting something up at the right end of a token list is difficult and will not work if the list contains braces and the like. But if anybody has a good algorithm for this general problem I'm interested to see it. > > (2) just before reading the argument containing the section > title, make !, ? and . active and have them set a flag in > addition to printing the appropriate mark. If that flag is true, > don't add a period onto the end yourself. Active characters won't do due to the problems that TeX fixes catcode whenever it reads arguments. The only possibiltiy I see when such a strategy is used is to have all these chars *always* active with a default definition that produces the non active equiv. But this will slow down processing very much. Anyway, something like this will be implmented to provide short references but I think it isn't justified to use this for punctuation in general. > > (3) take a look at the spacefactor. If it is 3000, we've just > had end-of-sentence punctuation. It's not too difficult to > justify the occasional \@ which would be necessary under these > circumstances. That's an interesting idea but assumes that punctuation chars always have a \spacefactor that distinguishs them from other characters. This means that we need to change \frenchspacing and I'm not sure what happens then, how many applications depend on things like this. But it looks certainly promising. \end{verbatim}\end{footnotesize} \begin{center} --- \end{center} \begin{footnotesize}\begin{verbatim} From: Don Hosek Date: Wed, 10 Apr 91 00:01:00 PDT -> (2) just before reading the argument containing the section -> title, make !, ? and . active and have them set a flag in -> addition to printing the appropriate mark. If that flag is true, -> don't add a period onto the end yourself. -Active characters won't do due to the problems that TeX fixes -catcode whenever it reads arguments. The only possibiltiy I see -when such a strategy is used is to have all these chars *always* -active with a default definition that produces the non active -equiv. But this will slow down processing very much. -Anyway, something like this will be implmented to provide short -references but I think it isn't justified to use this for -punctuation in general. ... Consider the following simple version of the above algorithim: \def\section{\catcode`\.=\active\xsection} \def\xsection#1{\centerline{#1\ifperiod.\fi}\periodtrue\catcode`\.=11\relax} {\catcode`\.=\active \gdef.{\periodfalse}} \newif\ifperiod \periodtrue (I originally wrote this sort of code to handle the dropped E problem of tex.web). Incidentally, the above code won't quite work since a period in the middle of the title will gleefully supress the final period. Perhaps an \ifnextchar sort of setting would work better. -> (3) take a look at the spacefactor. If it is 3000, we've just -> had end-of-sentence punctuation. It's not too difficult to -> justify the occasional \@ which would be necessary under these -> circumstances. -That's an interesting idea but assumes that punctuation chars -always have a \spacefactor that distinguishs them from other -characters. This means that we need to change \frenchspacing and -I'm not sure what happens then, how many applications depend -on things like this. But it looks certainly promising. All we need to do is make sure that the chapter titles are set with \nonfrenchspacing. Simple enough. In any event, \frenchspacing is really not a command that should appear in a TeX document anyway (if they need frenchspacing, chances are they'll be using a special document style anyway). \end{verbatim}\end{footnotesize} \begin{center} --- \end{center} \begin{footnotesize}\begin{verbatim} From: MITTELBACH FRANK Date: Thu, 11 Apr 91 15:37:32 CET > > ... Consider the following simple version of the above algorithim: > > \def\section{\catcode`\.=\active\xsection} > \def\xsection#1{\centerline{#1\ifperiod.\fi}\periodtrue\catcode`\.=11\relax} > {\catcode`\.=\active > \gdef.{\periodfalse}} > \newif\ifperiod > \periodtrue ... all these kinds of solutions are for the user that understands TeX fine but won't work in all situations. Consider \newcommand{\mysection} 1 {\section{#1} \prefacetext} and you've lost already. Not that is a good example but you will find them if you look for them. > All we need to do is make sure that the chapter titles are set > with \nonfrenchspacing. Simple enough. In any event, > \frenchspacing is really not a command that should appear in a > TeX document anyway (if they need frenchspacing, chances are > they'll be using a special document style anyway). Yes, this would work I think it it seems necessary to set the spacefactor explicitly. What I'm after are general solutions not these kind of special hacks that solve this problem but create twenty new ones if other conventions to be implemented. \end{verbatim}\end{footnotesize} \chapter{Lists} \section{Within paragraphs} 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 able to be clear about where one 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{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}+. \chapter{{\tt verbatim}} \section{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 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. \section{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? \chapter{Borrowing some margin} Problems often arise in publishing practice because certain features (such as tables, figures and equations) are a little too wide for the normal portrait text-width (see \cite[p.\ 343]{chicago-82} and \cite[p.\ 161]{butcher-81}). A recognised solution seems to be to temporarily increase the text-width \cite[p.\ 343]{chicago-82}. Might it be worth defining a standard environment ({\tt borrowmargin} ?) in \LaTeX\ 3.0 that does this? Figure \ref{fig-borrow} shows a prototype definition. (It would be better to avoid the {\tt minipage} in this prototype, since it changes footnote numbering and affects the vertical spacing around the enclosed feature.) \begin{figure} \begin{footnotesize}\begin{verbatim} % Declare a storage bin for use by environments that deal with wide things. \newsavebox{\widethingstore} % The borrowmargin environment is intended for dealing with wide objects. % It makes an extra 15mm available on either side of the normal text-area. % Marginpars are not allowed. \newdimen\fullwidth \fullwidth=\textwidth \advance\fullwidth by 30mm \newenvironment{borrowmargin}{% \def\marginpar{\typeout{Marginpar is not allowed within borrowmargin.}} \savebox{\widethingstore}\bgroup\begin{minipage}{\fullwidth}}{% % \end{minipage}\egroup \begin{flushleft} \hsize=\fullwidth \mbox{}\kern-15mm\usebox{\widethingstore} \vspace{1mm} \end{flushleft} } \end{verbatim}\end{footnotesize} \caption{A prototype {\tt borrowmargin} environment\label{fig-borrow}} \end{figure}