diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/ltx3pub |
Initial commit
Diffstat (limited to 'info/ltx3pub')
34 files changed, 22713 insertions, 0 deletions
diff --git a/info/ltx3pub/.link b/info/ltx3pub/.link new file mode 100644 index 0000000000..4b3a5f0742 --- /dev/null +++ b/info/ltx3pub/.link @@ -0,0 +1 @@ +DName=%fn [%ts, %sz] diff --git a/info/ltx3pub/arrocont.tex b/info/ltx3pub/arrocont.tex new file mode 100644 index 0000000000..0d14bf5c91 --- /dev/null +++ b/info/ltx3pub/arrocont.tex @@ -0,0 +1,283 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% author = "Alan Jeffrey", +%%% version = "0.01", +%%% date = "28 July 1993", +%%% time = "20:56:10 BST", +%%% filename = "arrocont.tex", +%%% address = "School of Cognitive and Computing Sciences +%%% University of Sussex +%%% Brighton BN1 9QH +%%% UK", +%%% telephone = "+44 273 606755 x 3238", +%%% FAX = "+44 273 678188", +%%% checksum = "11651 283 1282 11130", +%%% email = "alanje@cogs.sussex.ac.uk", +%%% codetable = "ISO/ASCII", +%%% keywords = "companion font TeX", +%%% supported = "yes", +%%% abstract = "This a technical study for arrows." +%%% 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.", +%%% package = "stands alone", +%%% dependencies = "msam10 ltugboat.sty", +%%% } +%%% ==================================================================== +% +% 28 Jul 1993, v0.01: Finished v0.01. +% +% Copyright 1993 Alan Jeffrey. + +\documentstyle{ltugboat} + +\title{Control glyphs for arrows} +\author{Alan Jeffrey} +\address{University of Sussex} +\netaddress{alanje@cogs.susx.ac.uk} + +\def\rtitlex{MFG discussion document} +\def\midrtitle{{\sl Task 3: + Technical studies\/}} +\setcounter{page}{1} + +\def\T#1{$\fam0 T_{#1}$} +\def\X#1{$\fam0 X_{#1}$} +\def\psname#1{\penalty0\mbox{\normalshape $\langle$#1$\rangle$}} +\def\psnon#1{\penalty0\mbox{\it $\langle$#1\/$\rangle$}} +\def\errorglyph{{\vrule width 0.5em height 0.5em depth0em}} + +\font\msamten=msam10 +\def\msam#1{\leavevmode\hbox{\msamten\char"#1}} + +\font\lasyten=lasy10 +\def\lasy#1{\leavevmode\hbox{\lasyten\char"#1}} + +\def\syntax#1{\leavevmode\hbox{\it #1}} + +\begin{document} + +\maketitle + +\section{Introduction} + +This document looks at suitable control glyphs for implementing math +arrows. In particular, we look at ways that extensible and negated +arrows can be produced. + +\section{Vertical arrows} + +Vertical arrows can be accessed using the growing delimiter mechanism. +The non-negated arrows can be built with a `top', `bot' and `rep' +section, and the negated arrows can be built with a `top', `bot', `med' +and `rep' section, where the `med' section includes the negation. + +\section{Horizontal arrows} + +Horizontal arrows can be produced using the advanced ligature mechanism +introduced in \TeX~3. An \syntax{arrow} is defined by: +\[ + \syntax{arrow} ::= + \syntax{leftarrow} \: \syntax{rightarrow} \: \syntax{extarrow}^* +\] +A \syntax{leftarrow} is the leftmost part of an arrow, that is the tail +of a rightwards-pointing arrow or the head of a leftwards-pointing +arrow. For example, the \syntax{leftarrow} of `$\mapsto$' is +\psnon{leftarrowmapsto} and the \syntax{leftarrow} of `$\leftrightarrow$' is +\psnon{leftarowhead}. A \syntax{leftarrow} is one of: +\begin{itemize} + +\item \psnon{leftarrownone} There is nothing on the left of the arrow, + for example `$\rightarrow$' or `\msam{13}'. + +\item \psnon{leftarrowhead} There is a single arrowhead on the left of + this arrow, for example `$\leftrightarrow$' or `$\hookleftarrow$'. + +\item \psnon{leftarrowdblhead} There is a double arrowhead on the left of + this arrow, for example `$\Leftarrow$' or `$\Leftrightarrow$'. + +\item \psnon{leftarrowtrplhead} There is a triple arrowhead on the left + of this arrow, for example `\msam{57}' or `\msam{57}\kern-2pt\msam{56}'. + +\item \psnon{leftarrowmapsto} There is a flat bar on the left of this + arrow, for example `$\mapsto$'. + +\item \psnon{leftarrowhook} There is a hook on the left of this arrow, + for example `$\hookrightarrow$'. + +\item \psnon{leftarrowharpoonup} There is an upwards harpoon on the left + of this arrow, for example `$\leftharpoonup$'. + +\item \psnon{leftarrowharpoondown} There is a downwards harpoon on the + left of this arrow, for example `$\leftharpoondown$'. + +\item \psnon{leftarrowharpoondblup} There is an upwards harpoon on the + left of this double arrow, for example `\msam{0B}'. + +\item \psnon{leftarrowharpoondbldown} There is a downwards harpoon on the + left of this double arrow, for example `\msam{0A}'. + +\item \psnon{leftarrowheaddbl} There are two arrowheads on the left of + this single arrow, for example `\msam{11}'. + +\item \psnon{leftarrowdblheaddbl} There are two arrowheads on the left of + this double arrow, for example `\msam{12}'. + +\item \psnon{leftarrowdblheadup} There is an arrowhead on the top left of + this double arrow, for example `\msam{1C}'. + +\item \psnon{leftarrowdblheaddown} There is an arrowhead on the bottom + left of this double arrow, for example `\msam{1D}'. + +\item \psnon{leftarrowrighthead} There is a rightwards arrowhead on the + left of this arrow, for example `\msam{1A}'. + +\item \psnon{leftarrowcurlyhead} There is an arrowhead with a curly line + leading out of it on the left of this arrow, for example `\msam{21}' + +\item \psnon{leftarrowturn} There is a turn on the left of this arrow, for + example `\msam{23}'. + +\item \psnon{leftarrowcirc} There is an open circle on the left of this + arrow, for example `$\vcenter{\hbox{$\scriptstyle\circ$}}\!-$'. + +\item \psnon{leftarrowbullet} There is a closed circle on the left of this + arrow, for example `$\vcenter{\hbox{$\scriptstyle\bullet$}}\!-$'. + +\item \psnon{leftarrowtriangle} There is an open triangle on the left of this + arrow, for example `$\vcenter{\hbox{$\scriptstyle\triangleleft$}}\!-$'. + +\end{itemize} +A \syntax{rightarrow} has the same possibilities, visually mirrored +around the vertical axis, and with `\syntax{left}' swapped with +`\syntax{right}'. For example: +\begin{itemize} + +\item[$\rightarrow$] is \psnon{leftarrownone}\psnon{rightarrowhead}. + +\item[$\leftrightarrow$] is \psnon{leftarrowhead}\psnon{rightarrowhead}. + +\item[$\vcenter{\hbox{$\scriptstyle\bullet$}}\!\!$\msam{22}] + is \psnon{leftarrowbullet}\psnon{rightarrowturn}. + +\end{itemize} +These arrows can be extended using \syntax{extarrow} glyphs, which say +how many extension pieces to put into the arrow. An \syntax{extarrow} is +one of: +\begin{itemize} + +\item \psnon{extarrowone} which extends the arrow. +\item \psnon{extarrowneg} which negates the arrow. +\item \psnon{extarrowoneneg} which extends the arrow and negates it. + +\end{itemize} +If there is a negation, it should come in the middle of the list of +extensions, for example: +\begin{raggedright}\begin{description} + +\item[$\not\Leftrightarrow$] is \psnon{leftarrowdblhead}\psnon + {rightarrowdblhead}\psnon{extarrowneg}. + +\item[$\Leftarrow\!\!\not\,\Rightarrow$] + is \psnon{leftarrowdblhead}\psnon + {rightarrowdblhead}\psnon{extarrowoneneg}. + +\item[$\Leftarrow\!\not\Longrightarrow$] + is \psnon{leftarrowdblhead}\psnon + {rightarrowdblhead}\psnon{extarrowone}\psnon{extarrowneg}\psnon + {extarrowone}. + +\end{description}\end{raggedright}% +Note that not every font will be able to produce every combination of +\syntax{leftarrow} and \syntax{rightarrow}, for example some pi fonts do +not allow $\mapsto$ to be extended. In fact, some of the combinations +make no sense, such as \psnon{leftarrowhook}\psnon{rightarrowdblhead}. +Such nonexistent arrows should be set with an eye-catching error glyph +such as `\errorglyph' and if possible should put a `Warning:' special +into the \verb|dvi| file. + +We should not specify anything about the appearance of these control +glyphs, which should give font implementors enough freedom to convert +most pi fonts into this encoding. One possible implementation of these +control glyphs is by ligaturing and kerning, for example by using the +ligatures: +\begin{eqnarray*} + \lefteqn{\psnon{leftarrowhead} \psnon{rightarrowhead}} \\& + \rightarrow & \psnon{leftrightarrow} \\ + \lefteqn{\psnon{leftrightarrow}\psnon{extarrowone}} \\& + \rightarrow & \psnon{leftrightarrow}\psnon{rightarrow} \\ + \lefteqn{\psnon{leftrightarrow}\psnon{rightarrow}} \\& + \rightarrow & \psnon{leftarrow}\psnon{rightarrow} \\ + \lefteqn{\psnon{rightarrow}\psnon{extarrowone}} \\& + \rightarrow & \psnon{rightarrow}\psnon{rightarrow} \\ + \lefteqn{\psnon{rightarrow}\psnon{rightarrow}} \\& + \rightarrow & \psnon{arrowext}\psnon{rightarrow} +\end{eqnarray*} +and appropriate kerns for: +\begin{center} + \psnon{leftarrow}\psnon{rightarrow} \\ + \psnon{arrowext}\psnon{rightarrow} +\end{center} +then the `arrow-building kit' will build any length of +`$\leftrightarrow$' that is required, for example: +\begin{verbatim} + \def\longrightarrow{\mathrel + {\leftarrowheadchar + \rightarrowheadchar + \arrowextonechar}} +\end{verbatim} +Note that as long as the user does +not use the control glyphs of type mathord in their document, the +ligtable will never be used (rule 14 of Appendix G) and so input such as: +\begin{verbatim} + {\rightarrow} \rightarrow +\end{verbatim} +will not unexpectedly ligature to something else. There are a few +features missing from these control glyphs: +\begin{itemize} + +\item The simpler arrows should be in fixed slots, so that they can be + accessed quickly through a \verb|\mathchardef|. We should ensure that + this \verb|\mathchardef| is always of type mathrel, otherwise strange + ligaturing might happen. + +\item There is currently no syntax for accessing the negation glyphs on + their own, which are necessary for building negated arrow leaders + similar to \verb|\arrowfill|. + +\end{itemize} +There are eight other `arrowlike' glyphs that are defined as +special glyphs, and do not fit into the `arrow-building kit'. These are +`\msam{08}', `\msam{09}', `\msam{1E}', `\msam{1F}', `\msam{4B}', +`\msam{4C}', `$\vec{x}$' and +`$\vcenter{\hbox{$\scriptstyle\leftrightarrow$}\kern-2ex\hbox{$-$}\kern-.5ex}$'. +These glyphs should be accessed directly. + +All that these control glyphs are doing is simulating the extensible +vertical glyphs such as the growing delimiters. If there were a +horizontal equivalent of growing delimiters then no such trickery would +be required! + +\section{Diagonal arrows} + +There is no easy way to build diagonal extended arrows. All the font can +do is provide the building blocks, and leave \TeX\ macros to build the +arrows. The font standard should specify how each of the diagonal +extended arrows is to be constructed, and any font dimensions that will +be necessary for the task. + +\section{Conclusions} + +Setting extensible vertical arrows with \TeX\ is simple, since the +growing delimiter mechanism already supports it. Setting growing +horizontal arrows is trickier, and requires clever ligtable programming, +but it can still be done inside the font, and without use of \TeX\ +macros. Setting diagonal arrows can only be done by brute force and +\TeX\ programming. + +\makesignature + +\end{document} diff --git a/info/ltx3pub/arrowreq.tex b/info/ltx3pub/arrowreq.tex new file mode 100644 index 0000000000..696ffc090a --- /dev/null +++ b/info/ltx3pub/arrowreq.tex @@ -0,0 +1,181 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% author = "Alan Jeffrey", +%%% version = "0.01", +%%% date = "28 July 1993", +%%% time = "14:59:56 BST", +%%% filename = "arrowreq.tex", +%%% address = "School of Cognitive and Computing Sciences +%%% University of Sussex +%%% Brighton BN1 9QH +%%% UK", +%%% telephone = "+44 273 606755 x 3238", +%%% FAX = "+44 273 678188", +%%% checksum = "48808 181 567 6237", +%%% email = "alanje@cogs.sussex.ac.uk", +%%% codetable = "ISO/ASCII", +%%% keywords = "companion font TeX", +%%% supported = "yes", +%%% abstract = "This is a requirements analysis document for a +%%% companion text font" +%%% 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.", +%%% package = "stands alone", +%%% dependencies = "none", +%%% } +%%% ==================================================================== +% +% 28 Jul 1993, v0.01: Finished v0.01. +% +% Copyright 1993 Alan Jeffrey. + +\documentstyle{ltugboat} + +\title{Requirements for setting math arrows} +\author{Alan Jeffrey} +\address{University of Sussex} +\netaddress{alanje@cogs.susx.ac.uk} + +\def\rtitlex{MFG discussion document} +\def\midrtitle{{\sl Task 2: + Requirements analysis\/}} +\setcounter{page}{1} + +\def\ignore#1{} + +\def\T#1{$\fam0 T_{#1}$} +\def\X#1{$\fam0 X_{#1}$} +\def\psname#1{{\normalshape $\langle$#1$\rangle$}} +\def\psnon#1{{\it $\langle$#1\/$\rangle$}} +\def\errorglyph{{\vrule width 0.5em height 0.5em depth0em}} + +\font\msamten=msam10 +\def\msam#1{{\msamten\char"#1}} + +\makeatletter % Stuff nicked from my .sty file. + +\def\goesto{\@transition\rightarrowfill} + +\def\@transition#1{\@ifnextchar[{\@@transition{#1}}{\@@transition{#1}[]}} +\newbox\@transbox +\newbox\@arrowbox +\@ifundefined{Rightarrowfill} + {\def\Rightarrowfill{$\m@th\mathord=\mkern-6mu% + \cleaders\hbox{$\mkern-2mu\mathord=\mkern-2mu$}\hfill + \mkern-6mu\mathord\Rightarrow$}} + {} +\def\@@transition#1[#2]% + {\setbox\@transbox\hbox + {\strut\hskip0.25em$\scriptstyle#2$\hskip0.25em} + \ifdim\wd\@transbox<1.5em + \setbox\@transbox\hbox to 1.5em{\hfil\box\@transbox\hfil}\fi + \setbox\@arrowbox\hbox to \wd\@transbox{#1} + \ht\@arrowbox\z@\dp\@arrowbox\z@ + \setbox\@transbox\hbox{$\mathop{\box\@arrowbox}\limits^{\box\@transbox}$} + \ht\@transbox\z@\dp\@transbox\z@ + \mathrel{\box\@transbox}} + +\makeatother + +\begin{document} + +\maketitle + +\section{Introduction} + +This document takes a brief look at the requirements for setting arrows +in math mode. Arrows are used as mathords, as binary operators as +binary relations, as delimiters, and as accents, for example: +\[ + (X = \vec Y) \Rightarrow ({\rightarrow}) : X^2 \mathbin\rightarrow \vec Y +\] +and: +\[ + \left\uparrow\begin{array}{c} a \\ b \\ c \end{array}\right\downarrow +\] +In addition, arrows are often extended, and such extensions may be +arbitrarily long, for example: +\[ + D \goesto[f \circ ()_\bot \circ ({\rightarrow}) \circ \Delta] D +\] +Arrows may also be negated, for example: +\[ + P \not\rightarrow P +\] +In this document, we'll just consider arrows in math mode (rather than +used in pictures such as commuting diagrams). The arrow accents will be +left for the accents document. + +\section{A survey of arrows} + +The following arrows are used in mathematics, there are probably more: +\begin{center} +${-}\!\vcenter{\hbox{$\scriptstyle\triangleright$}}$ +$\vcenter{\hbox{$\scriptstyle\triangleleft$}}\!{-}\! + \vcenter{\hbox{$\scriptstyle\triangleright$}}$ +${-}\!\vcenter{\hbox{$\scriptstyle\bullet$}}$ \ignore{arrowrightbullet} +$\vcenter{\hbox{$\scriptstyle\bullet$}}\!{-}\!\vcenter{\hbox{$\scriptstyle\bullet$}}$ +${-}\!\vcenter{\hbox{$\scriptstyle\circ$}}$ +$\vcenter{\hbox{$\scriptstyle\circ$}}\!{-}\!\vcenter{\hbox{$\scriptstyle\circ$}}$ +$\vcenter{\hbox{$\scriptstyle\circ$}}\!{-}\!\vcenter{\hbox{$\scriptstyle\bullet$}}$ +$\Rightarrow$ \ignore{arrowrightdbl} +$\Leftrightarrow$ +$\hookrightarrow$ \ignore{arrowrighthook} +$\mapsto$ \ignore{arrowrightmapsto} +$\rightarrow$ \ignore{arrowright} +$\leftrightarrow$ \\ +$\rightharpoondown$ \ignore{harpoonrightdown} +$\rightharpoonup$ \ignore{harpoonrightup} +\msam{0A} \ignore{harpoonrightupharpoonleftdown} +\msam{10} \ignore{arrowrightheadright} +\msam{13} \ignore{arrowrightarrowright} +\msam{1A} \ignore{arrowrightheadleft} +\msam{1A}$\!\!\!\!\!\rightarrow$ \ignore{arrowrightheadleftheadright} +\msam{1D} \ignore{arrowrightarrowleft} +\msam{20} \ignore{arrowrightcurly} +\msam{21} +\msam{23} \ignore{arrowrightturn} +\msam{56} \ignore{arrowrighttrpl} +\end{center} +Each of these is used mirrored around the vertical axis, extended, +and negated. The following are used facing vertically: +\begin{center} + +$\uparrow$ \ignore{arrowup} +$\updownarrow$ +$\Uparrow$ \ignore{arrowupdbl} +$\Updownarrow$ +\msam{16} \ignore{arrowupharpoonright} +\msam{18} \ignore{arrowupharpoonleft} + +\end{center} +Each of these is used mirrored around the horizontal axis, +extended and negated. The following are used facing diagonally: +\begin{center} + +$\uparrow$ \ignore{arrowne} +$\updownarrow$ +$\Uparrow$ \ignore{arrownedbl} +$\Updownarrow$ + +\end{center} +Each of these is used facing north-east, south-east, south-west and +north-west, with two-headed versions, extended and negated. There are +rare uses of north-north-east, north-north-west, south-south-east and +south-south-west. + +There may be a demand for vertical and diagonal versions +of `\msam{20}' and `$\hookrightarrow$'. Indeed, it would be pleasant if +all arrows were available in all eight directions, but this will probably +not be practical, and is heading in the direction of the work on category +theoretic diagrams. + +\makesignature + +\end{document} +ATDT 678387 + diff --git a/info/ltx3pub/bnf.sty b/info/ltx3pub/bnf.sty new file mode 100644 index 0000000000..6e841e1bea --- /dev/null +++ b/info/ltx3pub/bnf.sty @@ -0,0 +1,164 @@ +%% +%% This is file `bnf.sty', generated on <1993/2/16> +%% with the docstrip utility (2.0r). +%% +%% The original source file was `bnf.doc'. +%% Included options: `style'. +%% +%% +%% IMPORTANT NOTICE: +%% You are not allowed to distribute this file. +%% For distribution of the original source see +%% the copyright notice in the file bnf.doc. +%% +\def\filename{BNF.DOC} +\def\fileversion{1.05} +\def\filedate{09 Feb 1993 15:16:48 BST} +\def\docdate{09 Feb 1993 15:16:48 BST} +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "BNF.DOC", +%%% version = "1.05", +%%% date = "09 Feb 1993", +%%% time = "15:16:48 BST", +%%% author = "Mike Piff", +%%% address = "Dr M. J. Piff +%%% University of Sheffield +%%% Department of Pure Mathematics +%%% Hicks Building +%%% Hounsfield Road +%%% SHEFFIELD S3 7RH +%%% England", +%%% codetable = "ISO/ASCII", +%%% telephone = "+44 742 824431", +%%% email = "M.Piff@shef.ac.uk (Janet)", +%%% keywords = "Backus,Naur,syntax,grammar", +%%% supported = "yes", +%%% checksum = "15432 526 2399 20401", +%%% docstring = "A style option to LaTeX for producing +%%% Backus-Naur Form syntax notation.", +%%% } +%%% ==================================================================== +%% This is BNF.DOC +%% Copyright (C) 1993 Mike Piff +%% All rights reserved. +%% Copying of this file is authorized only if +%% you make absolutely no changes to your copy. +%% +%% Usage: +%% \documentstyle[bnf]{article} %% in LaTeX + %<+driver> \DocInput{BNF.DOC} +\typeout{Backus-Naur Form style option for LaTeX, (c) Mike Piff, \filedate} +\newif\ifnonterminal +\def\NonTerminal{\left\langle\obeyspaces\ControlSpaces + \nonterminaltrue\NonTerminalStyle} +\def\endNonTerminal{\right\rangle} +\def\NonTerminalStyle{\fam0 } +{\obeyspaces\gdef\ControlSpaces{\let =\ }} +\def\Star{\,\left\{} \def\endStar{\right\}\,} +\def\Optional{\,\left[} \def\endOptional{\right]\,} +\def\Bracket{\,\left(} \def\endBracket{\right)\,} +\def\OR{\mathop{\left|\right.}\nolimits} +\def\Production{\mathrel{\longrightarrow}} +\def\Yields{\mathrel{\Longrightarrow}} +\def\Empty{\varepsilon} +\begingroup + \catcode`\`=\active + \gdef\TerminalFont{\tt \catcode96\active + \def`{\leavevmode\kern\z@\char96 }} +\endgroup +\begingroup + \catcode`\~=\active + \lccode`\~=`\^^M + \lowercase{\endgroup + \gdef\Terminal{\relax\PreTerminal + \ifmmode \hbox \else \leavevmode\null \fi + \bgroup + \TerminalFont + \catcode`~\active + \def~{\egroup\@latexerr{Terminal string ended by + end of line.}\@ehc}% + \let\do\@makeother \dospecials + \@sTerminal}} +\def\@sTerminal#1{% + \catcode`#1\active + \lccode`\~`#1% + \lowercase{\def~{\egroup\PostTerminal}}}% +\def\PreTerminal{} \def\PostTerminal{} +\mathchardef\lt="313C \mathchardef\gt="313E +\def\mathactive{"8000} +\def\bnf{% + \mathchardef\HYPHEN="2D \mathchardef\MINUS="2200 + \mathchardef\Relbar="303D \def\relbar{\mathrel{\smash{\MINUS}}} + \mathchardef\EQUALS="303D + \mathcode`"=\mathactive + \mathcode`[=\mathactive \mathcode`\]=\mathactive + \mathcode`(=\mathactive \mathcode`\)=\mathactive + \mathcode`|=\mathactive \mathcode`-=\mathactive + \mathcode`<=\mathactive \mathcode`\>=\mathactive + \mathcode`@=\mathactive \mathcode`==\mathactive + \mathcode96 \mathactive +} +\def\endbnf{} +\def\NotInNonTerminal{\errmessage{Not allowed in a non-terminal}} +\def\NotNTdef#1#2{\gdef#1{\ifnonterminal\NotInNonTerminal\else#2\fi}} +\begingroup + \catcode`"\active + \catcode`[\active \catcode`\]\active + \catcode`(\active \catcode`\)\active + \catcode`|\active \catcode`-\active + \catcode`<\active \catcode`>\active + \catcode`@\active \catcode`=\active + \catcode96 \active + \gdef"{\Terminal"}% + \gdef`{\Terminal`}% + \NotNTdef[\Optional \NotNTdef]\endOptional + \NotNTdef(\Bracket \NotNTdef)\endBracket + \NotNTdef|\OR \NotNTdef<\NonTerminal + \gdef>{\endNonTerminal}% + \gdef-{% + \ifnonterminal + \def\Nnext{\HYPHEN}% + \else + \def\Nnext{\futurelet\Next\SeeIfProdn}% + \fi\Nnext} + \gdef={% + \ifnonterminal + \def\Nnext{\NotInNonTerminal}% + \else + \def\Nnext{\futurelet\Next\SeeIfYields}% + \fi\Nnext}% + \gdef@{% either an escape char or a star group + \ifnonterminal + \def\Nnext{\NotInNonTerminal}% + \else + \def\Nnext{\futurelet\Next\SeeIfSpecial}% + \fi\Nnext}% +\endgroup +\def\SeeIfProdn{% + \if\noexpand\Next\noexpand>% + \def\Nnext{\Production\@gobble}% + \else + \def\Nnext{\MINUS}% + \fi + \Nnext} +\def\SeeIfYields{% + \if\noexpand\Next\noexpand>% + \def\Nnext{\Yields\@gobble}% + \else + \def\Nnext{\EQUALS}% + \fi\Nnext} +\def\SeeIfSpecial{% + \if\noexpand\Next\noexpand<% + \def\Nnext{\lt\@gobble}% + \else + \if\noexpand\Next\noexpand>% + \def\Nnext{\gt\@gobble}% + \else + \def\Nnext{\Star\bgroup\aftergroup\endStar\aftergroup\egroup}% + \fi + \fi\Nnext} + +\endinput +%% +%% End of file `bnf.sty'. diff --git a/info/ltx3pub/l3d001.tex b/info/ltx3pub/l3d001.tex new file mode 100644 index 0000000000..e28aa9a88e --- /dev/null +++ b/info/ltx3pub/l3d001.tex @@ -0,0 +1,835 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-L3-001 +%%% filename = "l3d001.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Frank Mittelbach and Chris Rowley", +%%% doc-group = "Project core team", +%%% title = "The {\LaTeX3} Project", +%%% version = "1.03", +%%% date = "21 December 1994", +%%% time = "11:58:58 GMT", +%%% status = "public, official", +%%% abstract = "This is a brief sketch of the \LaTeX3 +%%% Project: background, history, principles, +%%% aims and functionality. +%%% \par +%%% The new version of \LaTeX{} is, like the +%%% current version, a freely available system +%%% for automated processing of structured +%%% documents, formatting them to the highest +%%% typographic standards by use of the \TeX{} +%%% typesetting software. +%%% \par +%%% Although its uses include a very large +%%% range of published documents, the +%%% importance of its unsurpassed ability to +%%% format mathematical formulas will not be +%%% forgotten in producing the new version. +%%% \par +%%% It is being produced by an international +%%% group of volunteers under the technical +%%% direction of Frank Mittelbach.", +%%% note = "submitted to the Euromath bulletin", +%%% 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 = "34301 835 4072 32184", +%%% 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.", +%%% } +%%% ==================================================================== +% LaTeX 2.09 document +% +\documentstyle{l3ms001} + + +\newcommand{\email}{\begingroup \catcode`\%=12 \xemail} +% Auxiliary function for \email. It applies \meaning to the +% argument to make all the characters category 12. +\newcommand{\xemail}[1]{\def\temp{#1}\tt + \expandafter\xmeaning\meaning\temp\xmeaning\endgroup} +% Auxiliary function for \xemail. \newcommand cannot be used here. +\def\xmeaning#1->#2\xmeaning{#2} + +\newcommand{\SGML}{{\sc SGML}} +\newcommand{\sgml}{{\sc SGML}} +\newcommand{\eg}{e.g.~} +\newcommand{\ie}{i.e.~} +\newcommand{\Dash}{---} +\newcommand{\dash}{--} +\newcommand{\oldstyle}[1]{$\mit{#1}$} +\newcommand{\lamstex}{% + L$\cal A \lower .5ex\hbox{$\!\cal M\!$}\cal S$\TeX} +\newcommand{\AmSTeX}{% + $\cal A \lower .5ex\hbox{$\!\cal M\!$}\cal S$\TeX} +\newcommand{\AmSLaTeX}{% + $\cal A \lower .5ex\hbox{$\!\cal M\!$}\cal S$\LaTeX} +\newcommand{\BibTeX}{{\sc Bib}\TeX} + +\title{The \LaTeX3 Project} + +\date{\FHuse{date}\\\FHuse{version}} + +\newcommand{\makecpr}{{\rm \small \centering \copyright 1993 + \ Frank Mittelbach and Chris Rowley\par + \vspace{6pt}}} + +\author{Frank Mittelbach\\ +Eichenweg 29 \\ +W-6500 Mainz 1\\ + Federal Redpublic of Germany\\ +E-mail: {\tt mittelbach@mzdmza.zdv.uni-mainz.de} +\and +Chris Rowley\\ +Open University\\ + Walton Hall\\ + Milton Keynes MK7 6AA\\ + United Kingdom\\ +E-mail: {\tt c.a.rowley@open.ac.uk}} + +\begin{document} + +\maketitle +\makecpr + +\begin{abstract} +This is a brief sketch of the \LaTeX3 Project: background, history, +principles, aims and functionality. + +The new version of \LaTeX{} is, like the current version, a +freely available +system for automated processing of structured +documents, formatting them to the highest typographic standards by use +of the \TeX{} typesetting software. + +Although its uses include a very large range of published documents, +the importance of its unsurpassed ability to format mathematical +formulas will not be forgotten in producing the new version. + +It is being produced by an international group of volunteers under +the technical direction of Frank Mittelbach. +\end{abstract} + + +\section{Why a new version?} + + With \TeX{}, Knuth designed a formatting system~\cite{A-W:DKn86} +that is able to produce a large range of documents typeset to +extremely high quality standards. For various reasons, including its +quality, portability, stability and availability, \TeX{} spread very +rapidly and can nowadays be best described as a world-wide de facto +standard for high quality typesetting. Although it is most famous for +its ability to typeset mathematics, it is being used for many other +types of document, particularly those with multi-lingual requirements. + + + The \TeX{} system is fully programmable. This allows the development +of high-level user interfaces whose input is processed by \TeX{}'s +interpreter to produce low-level typesetting instructions; these are +input to +\TeX{}'s typesetting engine which outputs the format of each page in a +device-independent page-description language. + +Many people have made use of this powerful feature of \TeX{} and +developed their own front-ends; the most commonly used such packages +are \AmSTeX{} and \lamstex{} by Michael +Spivak~\cite{AMS:MSp90,TpC:MSp89} and \LaTeX{} by Leslie +Lamport~\cite{A-W:LLa86}. The development of \AmSTeX{} was sponsored +by the American Mathematical Society, a publishing house which now +processes and typesets the majority of its output using \TeX{}. + + The principal aim of \AmSTeX{} was to simplify the user interface to +the sophisticated built-in math-typesetting capabilities of \TeX{}. +It therefore does not provide support for certain more general +document processing requirements (such as symbolic cross-references, +automatic numbering, etc.); it is therefore most appropriate for short +articles which contain lots of formulas. + +The \LaTeX{} system, on the other hand, supports the needs of long +documents such as textbooks and manuals. It was designed to separate +content and form as much as possible by providing the user with a +generic (i.e.~logical rather than visual) markup interface; this is +combined with style files in which the formatting is specified. +Nevertheless, \LaTeX{} also provides a complete set of direct +formatting instructions; these allow the user to access the full power +of \TeX{}'s typesetting expertise when preparing the final version of +the document. + + Recent years have shown that the concepts and approach of \LaTeX{} +have become widely accepted. Indeed, \LaTeX{} has become the standard +method of communicating and publishing documents in many academic +disciplines. +This has led to many publishers accepting +\LaTeX{} source for articles and books. The American Mathematical +Society, for example, now provides a \LaTeX{} style +option~\cite{AMS:AMSLaTeX90b} which makes the math-typesetting +features of \AmSTeX{} available to users of \LaTeX{}. But the use of +\LaTeX{} in the publishing industry goes further: Elsevier Science +Publishers, for example, +are developing a system~\cite{Cork:NPo91} +which links \SGML{} (for electronic storage of documents in +databases) and \LaTeX{} (for formatting these +documents). + +The use of \LaTeX{}, together with \sgml{}, is now also spreading +into industrial environments, where the technical qualities of \TeX{} +together with the concepts of \LaTeX{} are considered a powerful +combination of great potential importance to such areas as corporate +documentation~\cite{cpc:RWo90} and database +publishing. + + + With the spreading use of SGML-compliant systems, such as the Grif +editor, \LaTeX{} again is a common choice as the formatter for high +quality typeset output~\cite{embull:HLe92}. +A typical SGML Document Type Definition (DTD) uses concepts similar +to those of \LaTeX{}. Therefore, as in the Euromath system, the +formatting is often implemented by simply mapping document elements to +\LaTeX{} constructs rather than directly to `raw +\TeX'~\cite{Kluwer:EvHe90}. +This enables the sophisticated analytical and processing techniques +built in to much of the \LaTeX{} software to be exploited; and it +avoids the need to program in \TeX{}. + +Such developments ensured that the uses of \LaTeX{} have become +widespread, both geographically and typographically. However, they +have also pushed the system way beyond its original intended purpose. +Moreover, as most people who have been involved in the production of +style files will agree, they have demonstrated that the current +version, whilst making the author's job easier, provides little +assistance to developers of new applications. Thus there can be no +doubts about the need for the continued development of \LaTeX{} into a +new, improved, front-end to \TeX{}---one that will serve the +typesetting needs of the nineties and beyond---so that is what we +intend the \LaTeX3 project to provide. + + +\section{History} + +The original goals for the development of a new version of +\LaTeX{} are described +in a paper~\cite{Stanford:MS89} presented in 1989 at the 10th annual +meeting of the \TeX{} Users Group at Stanford---it was also at this +time that Leslie Lamport expressed his full support for such a +project. +However, we have since +discovered that those original goals did not touch many of the +deficiencies of the current system. + +New applications of \LaTeX{} have highlighted many +limitations of its interface (both for authors of documents and for +designers of styles); and further research on such problems +led us to the conclusion +that one gains very little by just providing more and more +specialized style files to solve this or that special problem. +This is because many of these deficiencies and limitations have their +source in \LaTeX{}'s internal concepts and +design~\cite{Stanford:MS89,cahgut:MS90,Cork:MS91}. + +The most important of those original goals, and one that is still a +core part of the \LaTeX3 system and a +central concern of the project team, is the provision of a good +style design interface\Dash one that allows easy +implementation of various layouts. (Easy, of course, is relative: we +mean `as easy as possible, given the complexity of the task'.) +In order to make \LaTeX3 a fully flexible and +extensible system, a major effort is needed in the near future in +order to get this interface `right'. + + + +\section{Aims} + +The principle aims guiding our work on the project's development are +as follows. +\begin{itemize} +\item +The \LaTeX3 system will provide high quality typesetting for +a wide variety of document types and typographic requirements. + \item For authors, it will be easy to use since it will be +highly automated, but controllable. +\item +For editors and designers, it will support the direct formatting +commands which are essential to the fine-tuning of document layout. + \item It will process complex structured documents and + support a document syntax that allows automatic + translation of documents conforming to commonly used + \SGML{} document type definitions + into \LaTeX{} documents\Dash this syntax will therefore, for + example, support the \SGML{} concepts of `attribute' (or + `named argument') + and `short reference', in such a way that these can be easily + linked to the corresponding \SGML{} features. +\item +\LaTeX3 will be designed as an open system and, +like the present version, it will + be usable with any standard \TeX{} system and will thus + be available on a very wide range of platforms. + +\item + Its highly modular design will provide a system that is +flexible and extensible, with well-defined and fully documented +interfaces. + +\item + The code itself will also be thoroughly documented and the + modular design will help to make the system + easy to maintain and enhance. + +\item + We shall also provide extensive catalogues containing many + examples that are carefully designed to make the learning time + for new users (including designers, editors and programmers) + as short as possible. + + \end{itemize} + + + +\section{Available now!} + +In some important +areas, the extra facilities of \LaTeX3 are already +available to current \LaTeX{} users. +\begin{itemize} +\item +The New Font Selection Scheme (NFSS) is now in widespread use, +providing very general and powerful tools for setting up and accessing +all available fonts. A new version (NFSS2) has recently been released, +which extends the flexibility of the system in the following areas of +font management. + +\begin{itemize} +\item + Scalable fonts, e.g., support for PostScript +fonts. +\item +Encodings, i.e., support for multilingual documents allowing change of +font encoding (code page) within a document. + +\item +Math symbols, facilitating access to a wide range of symbols. + +\item +Math typesetting using any suitable family of fonts, eg Lucida or +Adobe Times. + +\end{itemize} + +\item + With \AmSLaTeX{}~\cite{AMS:AMSLaTeX90b} +the capabilities of \LaTeX{} for mathematical typesetting +have reached at least the standard of \AmSTeX. +\item + Work by Frank Mittelbach and David Carlisle, together with valuable +suggestions by several +others, has made available more sophisticated tabular +processing~\cite{unp:MC92}. +\item +Various forms of multiple-column formatting are also now +available~\cite{unp:FMi92}. +\item Johannes Braams~\cite{tub:JBr93} has produced a new version of the +`Babel system' to support a wide range of languages. +\end{itemize} + + + + +\section{New features} +\LaTeX3 will provide much new and enhanced functionality in addition +to the above facilities; and its +`\LaTeX3 programming language' will enable it to be further extended +in a controlled way. + +Here are further details of some of the many planned improvements. + + \begin{itemize} + \item A robust author interface: providing interactive error +recovery linked to an on-line help system. + + \item Languages: +the typesetting will be +customisable for use with different languages +(as will the whole system, \eg the error/help components). +In particular, there will be support for mixed language documents and +for multiple languages within one paragraph to be correctly hyphenated. + + \item Table formatting: a large number of extensions in this area +will be available, including: + \begin{itemize} + \item multi-page tables; + \item automated column width calculation; + \item a variety of designs for ruled tables; + \end{itemize} + +\item Float handling: +the major problem in processing floats (\eg tables and figures) +is the precise specification of +the designer's rules concerning how to position them. The new system +will make it possible to implement a large range of such positioning +algorithms, including the requirements of multi-column formatting, +whilst also supporting explicit positioning commands. + +\item Many of the non-typesetting aspects of document +processing will be automated, providing a +flexible interface to cover a wide range of requirements and styles in +the following areas: + \begin{itemize} + \item citations and bibliographies; + \item cross-references; + \item indexing, etc.; + \item tables of contents, etc.; + \item multiple marks. + \end{itemize} + +\item +The enhanced functionality in the area of mathematical typesetting +will include: + \begin{itemize} + \item alignments in displayed formulas; + \item alphabets, symbols, embellishments; + \item commutative (arrow) diagrams. + \end{itemize} +These will extend many of the features which are +already available in the current version of +\AmSLaTeX{}~\cite{AMS:AMSLaTeX90b}. + +The system will also support the elements defined in the `standard SGML +DTD for mathematical expressions' which is currently under +development~\cite{embull:BSy92}. + +\item The typesetting requirements of many other areas +will also be addressed---some examples: + +\begin{itemize} +\item +technical documentation (\eg offset layout, change bars); +\item +academic publishing in the humanities (\eg critical text editions); +\item +structural formulas in chemistry; +\item +integration of graphical structures, including shading and colour; +\end{itemize} + \end{itemize} + + +\section{Interfaces} + +As we said earlier, the design specification interface is probably +the most significant single new feature of \LaTeX3. It will +have two clearly separated parts: +\begin{itemize} +\item[--] +the creation of the generic mark-up (\eg +environments) used by the author in creating the \LaTeX{} +form of the document; +\item[--] +the specification of how (in \SGML{} language) the document elements +will be formatted. +\end{itemize} +This will simplify the production of different layouts for the same +document type. It will also enable \LaTeX{} documents to be created +and modified by structured document editors, such as Arbortext +Publisher and Grif. Indeed, these two parts are direct analogues of +the following components of the Grif system: the `generic structure +definition (or S) language' and the `presentation description (or P) +language'~\cite{man:GrifL92}. + +However, in order to support the requirements of high quality +typesetting, the \LaTeX3 equivalent of the P language will need to be +even richer than the Grif language. Despite the complexity of the +task, this part of the `designer interface' will help to make the +following straightforward: +\begin{itemize} +\item specification of a wide variety of typographic design rules; +\item linking of the elements in a document type to the desired + formatting; +\item specifying and modifying all of the parameters + that influence the layout. +\end{itemize} + +Another important interface will be the \LaTeX3 programming language, +used for producing enhancements and extensions: it will be an entirely +new language based on data structures and operations suited to the +kind of programming required by document processing applications and +to the expression of visual components of the layout process. Built +on this language there will be high-level generic functions that allow +the straightforward expression of common layout components. + + + +\section{Resources} + +The majority of the work, including conceptualisation, modelling, +prototyping, implementation and testing, +is being undertaken by a dozen individuals under the technical +direction of Frank Mittelbach. +This work is, in most cases including that of the technical director, +done entirely in their spare time and so +involves, as you can imagine, a lot of enthusiasm to keep the +project alive. +A large number of other individuals and organisations have contributed +in one way or another to the effort, and we are confident that this +number will continue to rise. + + There are, nevertheless, many other tasks still to be done in support + of the \LaTeX3 project. These can be worked on concurrently with the + development of the \LaTeX3 kernel system. Furthermore, some of these + tasks require special expertise not found among the core programming + team. Initial research, analysis, and other work on these tasks by + volunteers will, we are sure, greatly speed up the process of + integrating a number of desirable features into \LaTeX3. + +For this reason a `volunteer task list' has been set up: this +describes briefly the individual tasks, which require a wide variety +of expertise and time involvement. It will be updated at regular +intervals and a copy is available, via anonymous {\tt ftp} from `ctan' +sites: {\tt ftp.shsu.edu}, {\tt ftp.dante.de}, {\tt ftp.tex.ac.uk}, in +the directory\\ + {\tt tex-archive/info/ltx3pub}.\\ +For access via mail server, send mail to {\tt +fileserv@shsu.bitnet}, with no subject line and in the body write: +{\tt sendme vol-task}, or to {\tt mail-server@rus.uni-stuttgart.de}, +with no subject line and in the body write: {\tt send +soft/tex/vol-task/vol-task.tex}. If you are unable to retrieve a copy +via electronic networks, please contact Chris Rowley. + +To provide a means of communication with a large number of \LaTeX{} +users an electronic mailing list has been installed at Heidelberg. To +subscribe to this list send a mail message to +\email{listserv@vm.urz.uni-heidelberg.de}, with one line as the body +of the message (substituting your own names): +\begin{verbatim} + subscribe LaTeX-L Your-first-name Your-surname +\end{verbatim} + + +One of the major, and growing, problems is how to bring people from +all over the world together +to discuss the open questions and find new solutions. +It is important that these meetings +involve people from outside the project since we very much +need the views and +experience of typesetters, designers, publishers, etc.\ to help +eliminate the flaws +in the system and to find new and better solutions. + +We have so far held two `open workshops', in London, UK and Boston, +USA; these were hugely successful and showed that further workshops +of this kind are essential if we are to provide \LaTeX3 with a +good designer interface. + +It is now clear that our ability to maintain the current progress +will depend on adequate financial support being available for the +following purposes: +\begin{itemize} + \item enhancement of computer equipment and software for the core + development team; + \item purchase of books on typography and other related subjects; + \item essential expenses (travel, accommodation, etc.) for +meetings of the project's core development team; +and also for meetings with others, for example: testers of early +versions; publishers; typographic designers; suppliers of related + software, etc. +\end{itemize} + + + + + +\section*{References and Bibliography} + +This bibliography contains some items which are not specifically +referenced in this article: these contain further information about the +\LaTeX3 project. It also contains entries concerning \BibTeX, which +will be reimplemented and enhanced by Oren Patashnik for use with +\LaTeX3. + + +\def\section*#1{} + + +%\bibliographystyle{plain} +%\bibliography{string,ttn,texline,texkom,ntg,tub89,tub90,tub92% +% ,cahgut,manual,proceed,unpubl,book,article,latex3} + + +\nocite{Portland:CRo92,CollegeSt:FMi90a,Cork:WM91,texkom:MR91,ttn:MR92% + ,Lausanne:MR92,texline:FMi92,ntg:FMi92,tub:MR92,texkom:FMi92% + ,LaTeX3:MRD92% + ,texline:DRh91,texline:DRh90a,texline:DRh90,ttn:MCl92,ttn:AHo92} + + +\begin{thebibliography}{10} + +\bibitem{AMS:AMSLaTeX90b} +American Mathematical Society, Providence, Rhode Island. +\newblock {\em {\AmSLaTeX} Version 1.1 User's Guide}, December 1990. + +\bibitem{tub:JBr93} +Johannes Braams +\newblock An update on the {\tt babel} system +\newblock {\em {TUG}boat}, 14, to appear 1993. + +\bibitem{ttn:MCl92} +Malcolm Clark. +\newblock What is the {\LaTeX3} project? +\newblock {\em {\TeX} and {TUG} {NEWS}}, 1(1):4, February 1992. + +\bibitem{man:GrifL92} +Grif S.A, St Quentin en Yvelines. +\newblock {\em Grif Languages: Grif 2.2}, 1992. + +\bibitem{proc:MGu91} +Mary Guenther, editor. +\newblock {\em {\TeX} 90 Conference Proceedings}, March 1991. +\newblock Published as {TUG}boat 12\#1. + +\bibitem{ttn:AHo92} +Alan Honig. +\newblock {\LaTeX3}, {TUG} and {You}. +\newblock {\em {\TeX} and {TUG} {NEWS}}, 2(1):2--4, July 1992. + +\bibitem{A-W:DKn86} +Donald~E. Knuth. +\newblock Computers \& {T}ypesetting. Addison-Wesley, Reading, +Massachusetts, 1986. + +\bibitem{A-W:LLa86} +Leslie Lamport. +\newblock {\em {\LaTeX:} A Document Preparation System}. +\newblock Addison-Wesley, Reading, Massachusetts, 1986. + +\bibitem{embull:HLe92} +Helmut Lenzing. +\newblock The euromath project. +\newblock {\em Euromath Bulletin}, 1(1):13--20, 1992. + +\bibitem{CollegeSt:FMi90a} +Frank Mittelbach. +\newblock {\LaTeX}~2.10. +\newblock In Lincoln~K. Durst, editor, {\em 1990 Conference +Proceedings}, page 444, September 1990. +\newblock Published as {TUG}boat 11\#3. + +\bibitem{texline:FMi92} +Frank Mittelbach. +\newblock {\LaTeX2.09} $\to$ {\LaTeX3}. +\newblock {\em {\TeX}line}, (14):15--18, February 1992. + +\bibitem{texkom:FMi92} +Frank Mittelbach. +\newblock {\LaTeX3}. +\newblock {\em Die {\TeX}nische {K}om{\"o}die}, 4(2):15--22, August +1992. + +\bibitem{ntg:FMi92} +Frank Mittelbach. +\newblock {\LaTeX3} project. +\newblock {\em {\TeX} Gebruikers Group}, 92(1):87--90, May 1992. + +\bibitem{unp:FMi92} +Frank Mittelbach. +\newblock The {\tt multicol} package. +\newblock Distribution of style options that allow multi-column layout + with \LaTeX, May 1992. + +\bibitem{unp:MC92} +Frank Mittelbach and David Carlisle. +\newblock The {\tt array} package. +\newblock Distribution of style options that extend \LaTeX's array and +tabular facilities, May 1992. + +\bibitem{texkom:MR91} +Frank Mittelbach and Chris Rowley. +\newblock The {\LaTeX3} project fund. +\newblock {\em Die {\TeX}nische {K}om{\"o}die}, 3(4):13--15, December +1991. + +\bibitem{tub:MR92} +Frank Mittelbach and Chris Rowley. +\newblock {\LaTeX209} $\to$ {\LaTeX3}. +\newblock {\em {TUG}boat}, 13(1):96--101, April 1992. + +\bibitem{ttn:MR92} +Frank Mittelbach and Chris Rowley. +\newblock The {\LaTeX3} project fund. +\newblock {\em {\TeX} and {TUG} {NEWS}}, 1(1):5--6, February 1992. + +\bibitem{Lausanne:MR92} +Frank Mittelbach and Chris~A. Rowley. +\newblock The pursuit of quality---how can automated typesetting +achieve the highest standards of craft typography? +\newblock In C.~Vanoirbeek and G.~Coray, editors, +{\em Electronic Publishing '92}, pages 260--273, Cambridge, April +1992. Cambridge University Press. + +\bibitem{LaTeX3:MRD92} +Frank Mittelbach, Chris Rowley and Michael Downes. +\newblock Volunteer work for the {\LaTeX3} project. +\newblock \LaTeX3 project paper, September 1992. + +\bibitem{Stanford:MS89} +Frank Mittelbach and Rainer Sch{\"o}pf. +\newblock With {\LaTeX} into the nineties. +\newblock In Christina Thiele, editor, {\em 1989 Conference +Proceedings}, volume 10\#4 of {TUG}boat, pages 681--690. {\TeX} Users +Group, December 1989. + +\bibitem{cahgut:MS90} +Frank Mittelbach and Rainer Sch{\"o}pf. +\newblock {\LaTeX} dans les ann\'{e}es 90. +\newblock {\em Cahiers {GUT}enberg}, (6):2--14, July 1990. + +\bibitem{Cork:MS91} +Frank Mittelbach and Rainer Sch{\"o}pf. +\newblock Towards {\LaTeX} 3.0. +\newblock In Guenther \cite{proc:MGu91}, pages 74--79. +\newblock Published as {TUG}boat 12\#1. + +\bibitem{Cork:NPo91} +N.A.F.M. Poppelier. +\newblock {SGML} and {\TeX} in scientific publishing. +\newblock In Guenther \cite{proc:MGu91}, pages 105--109. +\newblock Published as {TUG}boat 12\#1. + +\bibitem{texline:DRh90a} +David Rhead. +\newblock Could {\LaTeX} do more for chemists? +\newblock {\em {\TeX}line}, (12):2--4, December 1990. +\newblock Suggestions for \LaTeX3. + +\bibitem{texline:DRh90} +David Rhead. +\newblock Towards {\BibTeX} style-files that implement principal +standards. +\newblock {\em {\TeX}line}, (10):2--8, May 1990. + +\bibitem{texline:DRh91} +David Rhead. +\newblock How might {\LaTeX3} deal with citations and reference lists? +\newblock {\em {\TeX}line}, (13):13--20, September 1991. +\newblock Suggestions for \LaTeX3. + +\bibitem{Portland:CRo92} +Chris Rowley. +\newblock {\LaTeX209} $\to$ {\LaTeX3}: an update. +\newblock In Mimi Burbank, editor, {\em 1992 Annual Meeting +Proceedings}, pages 390--391, October 1992. +\newblock Published as {TUG}boat 13\#3. + +\bibitem{TpC:MSp89} +Michael~D. Spivak. +\newblock {\em {L\AmSTeX} The Synthesis}. +\newblock The \TeX plorators Corporation, Houston, 1989. + +\bibitem{AMS:MSp90} +M.~D. {Spivak, Ph.D}. +\newblock {\em The Joy of {\TeX}, A Gourmet Guide to Typesetting + with the {\AmSTeX} macro package}. +\newblock American Mathematical Society, Providence, Rode Island, second + edition, 1990. + +\bibitem{Kluwer:EvHe90} +Eric van Herwijnen. +\newblock {\em Practical {SGML}}. +\newblock Wolters Kluwer Academic Publishers, Dordrecht, 1990. + +\bibitem{embull:BSy92} +Bj{\"o}rn von Sydow. +\newblock The design of the euromath system. +\newblock {\em Euromath Bulletin}, 1(1):39--48, 1992. + +\bibitem{cpc:RWo90} +Reinhard Wonneberger. +\newblock Structured document processing: the {\LaTeX} approach. +\newblock {\em Computer Physics Communications}, (61):177--189, 1990. + +\bibitem{Cork:WM91} +Reinhard Wonneberger and Frank Mittelbach. +\newblock {\BibTeX} reconsidered. +\newblock In Guenther \cite{proc:MGu91}, pages 111--124. +\newblock Published as {TUG}boat 12\#1. + +\end{thebibliography} + + +\end{document} diff --git a/info/ltx3pub/l3d002.tex b/info/ltx3pub/l3d002.tex new file mode 100644 index 0000000000..fc978eb122 --- /dev/null +++ b/info/ltx3pub/l3d002.tex @@ -0,0 +1,227 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-L3-002, +%%% filename = "l3d002.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% related-files = "l3d002a.tex - l3d002h.tex", +%%% author = "David Rhead", +%%% doc-group = "Project core team", +%%% title = "Some ideas for improving {\LaTeX}", +%%% 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 = "04798 227 1131 9585", +%%% 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.", +%%% } +%%% ==================================================================== +% LaTeX 2.09 document +\documentstyle[11pt,twoside]{report} + +\newcommand{\AmSTeX} + {$\cal A$\kern-.1667em\lower.5ex% + \hbox{$\cal M$}\kern-.125em$\cal S$-\TeX} +\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + % for use in "references" +\newcommand{\itlatex} + {L\kern-.30em\raise.3ex\hbox{\footnotesize\it A}\kern-.15em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.100emX} + +\chardef\ttbackslash=`\\ + +\newcounter{exhibit} + + +\hfuzz=1in +\newdimen\hfuzz +\vfuzz=30pt +\newdimen\vfuzz + +\hbadness=10000 +\vbadness=10000 + + +\begin{document} + +\title{Some ideas for improving \LaTeX} +\author{David Rhead\\ +University of Nottingham\\ +{\tt JANET: d.rhead@uk.ac.nottingham.ccc.vme} +} +\date{July 1991} +\maketitle +\cleardoublepage + +\pagenumbering{roman} +\setcounter{page}{3} + +\tableofcontents + + +%------------------- preface ---------------- + +\chapter*{Preface} +\addcontentsline{toc}{chapter}{Preface} + +Frank Mittlebach suggested that I might produce some material for +consideration by \LaTeX-people at Dedham. This document is the result. + +My involvement with \LaTeX\ 3.0 \cite{lamport-86,m+s-89} started early +in +1990 when I heard Chris Rowley announce that opinions were invited about +the facilities that should be provided in the new \LaTeX. Accordingly, +I submitted a \lq\lq wish list'', and have since submitted various +additional ideas. + +The present document is an attempt to put these wishes etc.\ together in +one place. It has been put together in a hurry from various sources. +Generally the main text is based on older material than the appendices: +you may find inconsistencies of detail that I haven't had time to +resolve. +(Frank only gave me two weeks notice!) I've included some extracts from +e-mail in which people were making comments about similar topics. (My +\lq\lq extracting algorithm'' has been an uneasy compromise between +thinking that I shouldn't confine the document to my own views, and +wondering whether people would want remarks they made in one context +reproduced in another context. I apologise to anyone whose views I've +omitted/included when I should have included/omitted them.) I realize +that the result is over-long and repetitive, but I don't have time to +think how to cut it down and re-organise it. + +In my case, most \lq\lq wishes'' are just particular cases of general +wish \lq\lq that \LaTeX\ would make it easy to produce documents that +conform to the conventions that are usual in traditional publishing'', +since most of the end-users who tell me \lq\lq I don't like the way +\LaTeX\ does this'' are, I think, really saying \lq\lq I'd just like +\LaTeX\ to do things like normal publishers do them'' (either because +they want to pass the result on to a publisher, or simply because +traditional conventions \lq\lq look right'' to them). + +I've generally tried to determine \lq\lq traditional publishing +practice'' by consulting the manuals to which a publisher's +copy-editors, designers, and typesetting staff might refer. I assume +that the {\it Chicago Manual of Style} \cite{chicago-82}, Butcher's {\it + Copy-editing}, \cite{butcher-81}, McLean's {\it Manual of Typography} + \cite{mclean-80}, +Williamson's {\it Methods of Book Design} \cite{williamson-83} and +Hart's {\it Rules} \cite{hart-83} are representative of such manuals. +Since I assume that \LaTeX\ is, and always will be, intended for +producing formally structured documents rather than for implementing +\lq\lq grid-based designs'', I presume that it is unrealistic to try to +support more than a selection of the features described in books (such +as \cite{miles-87} and \cite{white-88}) that are aimed at the \lq\lq +design for desktop publishing'' market. However, the classes of +document that are of interest to the Text Encoding Initiative +\cite{tei-90} seem similar to the classes for which \LaTeX\ is intended, +so I assume that the Initiative's views on structure are relevant +(although their objectives are broader than just typesetting). + +I'm very aware that it's easier \lq\lq to wish'' than \lq\lq to grant +wishes''. + + +%------------------- end preface ------------ + + + +\cleardoublepage + +\pagenumbering{arabic} + +\include{l3d002a} % {main-text} + +\appendix +\include{l3d002b} % {structure} +\include{l3d002c} % {counts} +\include{l3d002d} % {widethings} +\include{l3d002e} % {citing} +\include{l3d002f} % {standard} +\include{l3d002g} % {chemistry} + +\include{l3d002h} % {references} + +\end{document} diff --git a/info/ltx3pub/l3d002a.tex b/info/ltx3pub/l3d002a.tex new file mode 100644 index 0000000000..49ad542510 --- /dev/null +++ b/info/ltx3pub/l3d002a.tex @@ -0,0 +1,1748 @@ +%%% ==================================================================== +%%% @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 <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} +\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 <MJD@COM.AMS.MATH> +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 <DHOSEK@EDU.CLAREMONT.HMCVAX> +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 <PZF5HZ@EARN.RUIPC1E> +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 <DHOSEK@EDU.CLAREMONT.HMCVAX> +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 <PZF5HZ@EARN.RUIPC1E> +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} diff --git a/info/ltx3pub/l3d002b.tex b/info/ltx3pub/l3d002b.tex new file mode 100644 index 0000000000..61bcc48454 --- /dev/null +++ b/info/ltx3pub/l3d002b.tex @@ -0,0 +1,934 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-LTX3-002b, +%%% filename = "l3d002b.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 = "20144 934 5970 41620", +%%% 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{Some e-mail comments about structure} +\label{structure} + +\begin{footnotesize}\begin{verbatim} + +From: MITTELBACH FRANK <PZF5HZ@EARN.DRUEDS2> +Date: Fri, 5 Oct 90 17:43:46 CET + +I would like to foward a mail from Nico which was a reaction +to some discussions at the Cork meeting. + +------------------------ forwarded mail ------------- +... + +> Front matter +> ------------ +> Currently, an article starts with \title, \author and \date +> instructions. In the Elsevier styles I have added \address, +> \received, \revised and \accepted commands, and also a keyword +> environment, similar to the abstract environment. By doing so, we can +> automatically convert a LaTeX-coded document to an SGML-coded +> document. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Don Hosek <DHOSEK@EDU.CLAREMONT.HMCVAX> +Date: Mon, 18 Feb 91 16:36:00 PST + +A few items which have been brought up previously, but I'm +willing to bring them up again now that I have some direct +experience with the situation in a production situation: + +\chapter*, to make sense, should work as follows: +- A TOC entry should be generated +- Headers should be appropriately modified ++ All sections contained in it should be unnumbered. Not sure + about "numbered-within" items like equations and figures. The + situation has yet to come up + +Other sectioning commands should work similarly + +Items like \tableofcontents and \thebibliography which currently +use \something* to generate heads can use the low-level commands +to get at the header alone. Things would make more sense in the +style files this way as well. + +My use of \chapter* is to mark the prefatory sections of a +document. The first non-starred chapter command switches to +arabic numerals for pages. + +... +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Sebastian Rahtz <S.P.Q.Rahtz@UK.AC.SOTON.ECS> +Date: Tue, 19 Feb 91 13:54:39 gmt + + > \chapter*, to make sense, should work as follows: + > - A TOC entry should be generated +no, not necessarily. that should be clearly up to the style designer. +I dont want Preface and Acknowledgments in my TOC, thanks, in style B + + > + All sections contained in it should be unnumbered. Not sure + > about "numbered-within" items like equations and figures. The + > situation has yet to come up +again, this is not a universal rule. it might make sense, though, to +copy the (S)GML world, and have a higher level constrcut like +\begin{prefacesection} and \end{prefacesection} in which, by default, +sections are all * type + +isn't Don's requirement catered for by the values of tocdepth and +secnumdepth, used judiciously? one can reset them on the fly, yes? +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Don Hosek <DHOSEK@EDU.CLAREMONT.HMCVAX> +Date: Wed, 20 Feb 91 19:14:00 PST + +> > \chapter*, to make sense, should work as follows: +>4 > - A TOC entry should be generated +>no, not necessarily. that should be clearly up to the style designer. +>I dont want Preface and Acknowledgments in my TOC, thanks, in style B + +Well you might not, but picking five books at random from my +bookshelf (it's so nice having a computer at home, finally), +reveals: + +Norman Sherry, _The Life Of Graham Greene, Vol. I_: Various *-forms +in TOC. + +Jan White, _Graphic Design for the Electronic Age_: ditto. + +Floyd L. Moreland & Rita M. Fleisher, _Latin: An Intensive +Course_: ditto + +Leslie Lamport, _LaTeX: A Document Preparation System_: ditto. + +Bentley Layton, _The Gnostic Scriptures_: ditto. + +I haven't tried, but I suspect that there are no examples of the +opposite practice in my library. + +> > + All sections contained in it should be unnumbered. Not sure +> > about "numbered-within" items like equations and figures. The +> > situation has yet to come up +>again, this is not a universal rule. it might make sense, though, to +>copy the (S)GML world, and have a higher level constrcut like +>\begin{prefacesection} and \end{prefacesection} in which, by default, +>sections are all * type + +>isn't Don's requirement catered for by the values of tocdepth and +>secnumdepth, used judiciously? one can reset them on the fly, yes? + +Kind of. You get one tocdepth per document, the one in affect +when \tableofcontents is executed. One _could_ exert some effort +in writing \setcounter{tocdepth} commands to the toc, but I'm not +inclined to bother. Setting secnumdepth to a negative number for +the prefatory material, though is a very appealing idea and +solves the problem quite nicely. I think I'm going to change a +few sections of my LaTeX book once I finish this note. + +Incidentally, in keeping with established LaTeX usage, I would +suggest that we have single commands to indicate the beginning of +prefatory material and the beginning of the body a la \appendix +and \ps (think about that one... the analagy seems to be the best +way for my students to understand what \ps is about when I teach +the LaTeX course). +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Date: 20 Feb 91 16:20:30 + +BACKGROUND + +Most users of TeX and LaTeX 2.09 are not committed TeXies: they just want +typesetting that looks as if it was produced by traditional means. If +TeX/LaTeX are working in terms of structures/concepts/practices that are +different from those adopted in mainstream publishing, authors (and support +staff) are going to be forever translating from LaTeX-speak to publisher-speak. + +I appreciate that TeX and LaTeX 2.09 were produced in limited time, and that +if their authors had had to completely research structures/concepts/practices +before they started coding, they might never have had time to write any code. +But if, with the move to LaTeX 3.0, there are opportunities to phase out +the old ways of doing things and to phase in new ways of doing things, +I think that it is worth taking these opportunities to move LaTeX in the +direction of traditional mainstream publishing. Then the communications +problems between designers and computer-people will be reduced, and authors +will be able to get what designers intend fairly painlessly. + +Thus, I tend to think that, if some aspect of LaTeX 2.09 is out of line +with traditional mainstream publishing practice, then it is LaTeX 2.09 +that is in "the wild blue yonder". Admittedly, it's not always easy to +identify what is fundamental in traditional mainstream publishing, but its +better TO TRY than to risk leaving LaTeX out on a limb. + +\CHAPTER* + +As far as I can see, there is no concept in traditional mainstream +publishing practice that really corresponds to \chapter*. + +The relevant concepts seem to be "front matter" (or "preliminary pages", +or "prelims") and "back matter" (or "end pages" or "back matter"). +Within these divisions, there are top-level units (Preface, +Acknowledgements, Glossary, References, Index), but they aren't +really chapters. See, for example, +"Chicago Manual of Style", Chicago University Press, 1982, + pages 4-5; +Judith Butcher, "Copy-editing", Cambridge University Press, 1981, + chapters 7, 8, 9; +Hugh Williamson, "Methods of Book Design", Yale University Press, + 1983, chapter 8; +Ruari McLean, "The Thames and Hudson Manual of Typography", + Thames and Hudson, 1980, chapter 10; +Jan V. White, "Graphic Design for the Electronic Age", Watson-Guptill, + 1988, pages 156-161; +John Miles, "Design for Desktop Publishing" Gordon Fraser, 1987, + pages 58-61. + +This divergence between LaTeX 2.09 and traditional publishing practice +seems to be what causes: Don's problems; Sebastian to have to +countenance resetting tocdepth and secnumdepth "on the fly" (OK for +Sebastian, but I think that it would just put ordinary users off); +ordinary mortals to mess around with \pagenumbering{roman} and +"\pagenumbering{arabic} right after the first \chapter command". + +Don wants to signal "prefatory sections" (i.e., what a publisher would +call "front matter", "preliminary pages" or "prelims"). In his design, +"front matter" has: TOC entry; modified headings; page numbering +in roman; equations and figures unlikely. I presume that modifying the +effect of \chapter* to meet Don's requirements would violate the +decision that "LaTeX 3.0 should be able to process LaTeX 2.09 input +files", so we'd be talking in terms of phasing something else in to +meet his requirements. + +Sebastian's design happens to treat "front matter" differently from Don's, +but I think he still has a chunk of document that would be recognised +as "front matter", etc. + +I agree with Sebastian that "a higher level construct" would be appropriate. +I'd suggest something like \begin{prelimpages} ... \end{prelimpages} +\begin{maintext} ... \end{maintext} \begin{endpages} ... \end{endpages} +[If you want a precedent, I think that MIT-press-book.sty envisages that +the author will go \begin{frontmatter} ... \end{frontmatter}.] +Then the user wouldn't have to bother about: the \chapter/\chapter* +distinction; \pagenumbering; \addcontentsline. Such details should +be taken care of by the designer, via the style file. The designer +will be thinking in terms of "preliminary pages" and "end pages", +the user will "tell" LaTeX (via the environments) which pages +are "preliminary pages" and "end pages", the user will have to think +in the terms in which his/her publisher is thinking but won't have +to bother with how to coerce LaTeX to make the "preliminary pages" +and "end pages" conform to the publisher's design. As a bonus, "preliminary +pages" could have a \countN set appropriately to help page selection, e.g. +\count2 = 1, 2, 3 might mean "preliminary pages", "main text", "end pages". + +... +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: N.POPPELIER@NL.ELSEVIER +Date: Thu, 21 Feb 91 09:03:38 +0000 + +I agree with David Rhead that there is a definite need for a division of a +book in front matter, body and back matter. In fact, last summer I suggested +that we start defining the structure of every class of documents for which we +will make a document style in SGML-like terms. Existing SGML dtd's for books +already contain the division David suggested. + +... +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: CA_ROWLEY@UK.AC.OPEN.ACS.VAX +Date: Mon, 8 Apr 91 13:22:53 GMT + +This message is partly ... and partly to +say that David Rhead's suggestions seem to be a very reasonable +outline programme for when we get to that stage. + +However, in the last sentence, he says: + +> I'd suggest a move towards the "publishing-industry standard" structures. +> +The only such standard I know of at present for the logical structure +of books is the AAP's DTD. + +I should therefore like to hear people's views as to whether we should +be thinking about doing this and, also, from those more familiar with +it (Nico!), whether it would be feasible/sensible etc. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Michael Downes <MJD@COM.AMS.MATH> +Date: Mon, 8 Apr 91 18:46:30 CET + +I am currently working on a documentstyle with a slightly weird design. +It's for a book consisting of chapters by various authors; the chapters +are collected from various sources, and may be previously published, or +given as a talk at some conference but not previously published, or +written specifically for the current book. I am wondering about +questions such as the following. + +---Structure of a chapter: Make it exactly like a journal article? + + \title{Chapter title} + \author{Chapter author} + \affiliation{Author's university or institution} + \maketitle + +Or use \chapter instead of \title? Each chapter is numbered with a big +chapter number, which wouldn't normally be the case in, say, a +conference proceedings volume. + +Maybe it's only a question of semantics; but if the publisher wants to +call them chapters, my first choice is to use the \chapter command, to +avoid confusing end users and the publisher's staff. + +However, this immediately raises another difficulty: \chapter +does not normally have an associated \maketitle command, but the format +of the author names and affiliations is such that typesetting +each one as it comes along, and getting it in the right place, +would be technically difficult. So I am leaning to the format + + \chapter{Chapter title} + \author{Chapter author} + \affiliation{Author's university or institution} + \makechaptertitle + +But this is a little out of synch with the LaTeX manual. + +---Processing each article separately or processing them together using +\include. The main benefits of processing them together seem to be (a) +less chance of error in the page numbering and (b) cross-references +between chapters---but this is unlikely to be applicable for +independent articles. The main drawback of processing articles by +different authors together is the possibility of a global change in one +article affecting subsequent articles in undesirable ways. Local +changes can of course be limited to the original article by enclosing +it in a group. In AMS journals we have experimented with processing +all the articles of an issue together, and encountered undesirable +global changes, as well as save stack overflow from the extra +level of grouping, often enough that eventually we went to separate +processing, with the sequence of articles controlled in a VAX/VMS DCL +command procedure, and with the page number being passed from one +article to the next using \write and \read. + +---There is also a possibility in any given volume that certain commands +might be required both within a chapter and at the outer level: +\tableofcontents, \bibliography, \appendix. Something of course +can be managed, but does anyone have previous experience and/or +suggestions on how the user interface ought to look? Should I +provide \tableofcontents and \chaptertableofcontents, +\bibliography and \chapterbibliography, etc.? Or how about +putting commands such as \frontmatter, \middlematter, \backmatter +in the driver file that would change the effect of \tableofcontents, +\bibliography, and \appendix commands? I.e., + + \documentstyle{X} + + \begin{document} + % front matter beginning here + \tableofcontents + \include{preface} % containing \chapter{Preface} + \include{notation} % containing \chapter{List of Notation} + + \middlematter + \include{chapter1} % normal chapters, maybe containing + \include{chapter2} % their own \tableofcontents, \appendix, + \include{chapter3} % or \bibliography commands. + ... + + \backmatter + \appendix % switch to appendix format + \include{app1} % \chapter{Appendix title} + \include{app2} + + \include{biblio} % \bibliography + \include{index} % \begin{theindex}...\end{theindex} + + \end{document} + + +---On another tangent, the way the \appendix command works has always +seemed slightly odd to me. It would seem more natural to make \appendix +a direct substitute for \section (in an article documentstyle) or +\chapter (in a book documentstyle). Maybe in LaTeX 3.0, with its +attribute handling, we'll be able to say something like + + \section[variant=appendix]{...} + +? + +The chief difficulty seems to be resetting the counter to 1, for the +first such command, and incrementing it naturally thereafter. Other +changes would be straightforward. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: bbeeton <BNB@COM.AMS.MATH> +Date: Mon, 8 Apr 91 19:42:51 CET + +mike downes has suggested the term \middlematter . the term +\bodymatter is generally accepted among the sgml people i hang +around in standards meetings, so i'd like to suggest that as a +substitute. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: N.POPPELIER@NL.ELSEVIER +Date: Fri, 12 Apr 91 15:10:43 +0000 + +Chris more or less invited me to comment on the point of publishing-industry +standards and SGML. By coincidence, I have been looking at these things the +past week; next week I will be in CERN working on the AAP dtd and conversions +SGML <--> LaTeX. + +O.K., just a quick reply. Sorry haven't got more time. You can skip +everything of this message if you wish, except the part with the ! in +column 1. + +There are no real publishing-industry standards: there is a group of +publishers who support the AAP dtd, but the AAP dtd's for scientific articles +and books are not always suited to the needs of publisher X. Therefore, +publisher X adapts the AAP dtd to his purposes and (hopefully) tries to stay +as close to the original as possible. + +[The original, by the way, contains several errors, as was pointed out in +EPSIG News by Derek Coleman and Jan Bleeker of our company.] + +! Nevertheless, the AAP dtd's for scientific articles and books serve as good +! starting points and I would suggest that we try to create document styles +! that are as close to these dtd's as possible. + +What you will immediately notice when you try this, is that they contain much +more elements and sub-elements, especially in the front matter. The +front-matter elements of LaTeX's standard document styles are totally +insufficient. I can understand Michael Downes' attempts at refining this +structure -- in fact I've been doing the same here. + +[Another interesting initiative in the SGML field is the TEI initiative, +which is an initiative from the area of humanities and linguistics. A +different approach, but draft version 1.1 of TEI P1 contains interesting +thoughts.] +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From David Rhead ... +Date: 12 Apr 91 20:46:08 + +Here are a few comments about Chris's and Nico's postings. + +Martin Bryan gives a DTD for textbooks in Appendix C of his "Author's +Guide to SGML". I also seem to remember that the British Library had +a project that was defining some DTDs (but I could have remembered wrongly). + +Irrespective of whether there are formal standards yet (in terms of SGML +DTDs, etc.), there does seem to be an informal consensus about "the +structure of a book" within the publishing industry. See, for example, + Hugh Williamson. "Methods of book design", chapters 7 and 8. + Judith Butcher. "Copy-editing", chapters 7-10. + Ruari McLean. "Thames and Hudson manual of typography", chapter 10. + Jan V. White. "Graphic design for the electronic age", pages 157-161. + "Chicago Manual of Style", pages 4 and 5. + +With a bit of luck, we'll find that the emerging DTDs are consistent +with the previous informal consensus. For example, if the AAP and Chicago +University Press both manage to produce books in the end, they must both +be talking about the same thing! + +As regards the "more elements and sub-elements, especially in the front +matter", I think that this is a price worth paying if it means that +LaTeX and the .sty file can relieve an author of more of the work. +With more accurate knowledge of the structure, LaTeX could take care of +details like: +- when to have page-numbers, and whether they should be arabic or roman + (rather than authors having to mess about with \chapter*, + \addcontentsline, \pagenumbering{roman}, \pagenumbering{arabic} + "right after the first \chapter command") +- when to have table-of-contents entries. +This would help "free authors from formatting concerns to allow them to +concentrate on writing". + +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: CA_ROWLEY@UK.AC.OPEN.ACS.VAX +Date: Sat, 13 Apr 91 16:01:11 GMT + +Nico writes (apart from the very useful earlier parts of his message): + +> [Another interesting initiative in the SGML field is the TEI initiative, +> which is an initiative from the area of humanities and linguistics. A +> different approach, but draft version 1.1 of TEI P1 contains interesting +> thoughts.] +[TEI = Text Encoding Initiative] +I have not read this document but knew of its existence: +my reason for not mentioning it in my message is that my understanding +of the TEI project is that it is intended to code a far larger range +of "texts" (in particular, historical material) and a far larger range +of properties of those texts (eg what prining press and which +compositor produced them) than any system aimed at typesetting +documents would need to encompass. + +Nevertheless, I am sure it contains some matter of interest. Is it +any easier to study than the AAPs DTD? +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David_Rhead@UK.AC.NOTTINGHAM.CCC.VME +Date: Sun, 14 Apr 91 17:36:30 BST + +Barbara suggested \bodymatter (as apparently used by SGML people) +as an alternative to the \middlematter used in one of Michael's examples. + +The publishing gurus I mentioned in my last contribution use the terms: +"The text" or "main text" (Williamson, p. 180) +"The text" or "main book" (Butcher, pages 119 and 130) +"Main text" (McLean, p. 157) +"Text" (White, p. 159) +"The text" or "text proper" (Chicago, pages 4 and 22) + +Would \maintext be worth considering as a command-name? (If we use existing +publishing-industry jargon rather than defining new jargon, the end-user +gets spared the job of interpreting new jargon in terms of old jargon. +Unless, of course, the publishing industry's jargon is in the process of +changing, in which case we'd be better off using what they are changing to.) +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David_Rhead@UK.AC.NOTTINGHAM.CCC.VME +Date: Mon, 15 Apr 91 09:54:21 BST + +Michael raised the question of a book that consists of contributions by +various authors. + +Obviously, at the moment, he has to do whatever is necessary to get this +particular book published. However, it would be nice if, in the long term, +there was a recognised way of producing these things. So I'll comment on +the questions he raised from a long-term point of view, even if the +comments are not relevant to his short-term difficulty. It seems part +of the question of a "conference-proceedings style" that I think Frank +mentioned informally at Cork (unless I've remembered wrongly). + +Generally, I think that having jargon/structures designed for one situation +and then mis-using them in another situation will tend to give confusion +and trouble. If computer-people and publishing-people use different jargon, +everyone is going to waste time translating from one to the other. If +they use the same jargon (in this case "chapter") but mean different things, +that's even worse! + +In this situation, "being out of synch with the LaTeX manual" is only +to be expected, since the LaTeX 2.09 standard styles weren't really +designed to handle multi-author works. Using \author when its not +clear whether the author is the "overall editor" or the "author of this unit", +or \chapter when the unit concerned isn't what everyone thinks of as a chapter, +seems like asking for trouble. The fundamental problem seems to be that +the 2.09 standard styles don't include one that is designed for dealing +with multi-author works. + +So, what's required? Judging by the Chicago Manual of Style and Butcher's +"Copy-editing", we are talking about "multiauthor works", that consist +of "contributions" which are written by "contributors", where the whole +thing is made into a book-like object by a "volume editor". So an +appropriate set of jargon/structure might go like: + \documentstyle[...]{multiauthor} + \volumeeditor{...} + \begin{frontmatter} + ... + \end{frontmatter} + \begin{maintext} + \begin{contribution} + \contributor{...} + ... + \end{contribution} + \begin{contribution} + \contributor{...} + ... + \end{contribution} + \begin{backmatter} + ... + \end{backmatter} +"Contribution" sounds like a word that is already in use in this context, so +that people in the same situation as Michael and his publishers could use it +to avoid confusion about "the publishers calling the units chapters, but +\chapter not being appropriate". Its sufficiently neutral to allow both +designs that have "chapter numbers" and those that have no "chapter numbers". +[Within each contribution, it does seem more like a "journal article" than +like a "\chapter" so, if \volumeeditor was adopted to mean "volume editor", +one could probably use \author rather than \contributor without (too much) +confusion.] Hence, if necessary, \volumetableofcontents, +\contribtableofcontents, etc. perhaps? + +If an approach such as that outlined above was adopted, only a small +proportion of the people involved (the volume-editor, the publisher's staff, +the style-file hacker) would need to be aware of any of the above. +The individual contributor to a multi-author work can regard themselves +as producing a paper (e.g. in 2.09's \documentstyle{article}); indeed +the volume-editor might send them some "instructions for contributors" that +tell them to do just that. So specialised commands/environments (such +as "contribution") needn't necessarily be mentioned in the documentation +aimed at ordinary end-users/contributors. Contributors could pick up +\section etc. from the body of the LaTeX 3.0 manual; details (of specialised +environments like "contribution") needed by volume-editors could be given +in an appendix of the LaTeX 3.0 manual or just as comments in the style files. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David_Rhead@UK.AC.NOTTINGHAM.CCC.VME +Date: Mon, 15 Apr 91 10:28:13 BST + +Michael commented that: + " ... the way the \appendix command works has always seemed slightly odd + to me. It would seem more natural to make \appendix a direct substitute + for \section (in an article documentstyle) or \chapter (in a book + documentstyle). Maybe in LaTeX 3.0, with its attribute handling, we'll be + able to say something like \section[variant=appendix]{...}" + +I presume that doing the above literally would conflict with the requirement +that LaTeX 3.0 should be able to process LaTeX 2.09 input files (which might +use \appendix as defined in the 2.09 manual). So \appendix would have +to be left with its 2.09 meaning, but something better could be phased in. +Perhaps one could have +.. +\begin{backmatter} + \begin{appendices} + ... + \end{appendices} + ... +\end{backmatter} + +I think that, if a document has just one appendix, then it is silly to call +it "Appendix A". It can just be called "Appendix" (since there is no +"Appendix B"). If LaTeX can't work out for itself that there is only +one appendix (e.g. from the .aux file), it might be appropriate to allow +a variation of "appendices" that tells LaTeX that there is only one appendix, +e.g. \begin{anappendix} ... \end{anappendix}. + +There is the problem of how to introduce the individual appendices: by using +\chapter (in book, report, etc.) or \section (in article etc.), or by using +something else? I don't have any specific suggestions here (unless anyone +likes \toplevel), but I think that the question needs considering in +conjunction with questions about how to introduce other "top level" units +that appear in the front-matter and back-matter (such as Preface, +Acknowledgements, Glossary). +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Michael Downes <MJD@com.ams.math> +Date: Mon 15 Apr 91 12:55:35-EST +To: David_Rhead ... + +> I think that, if a document has just one appendix, then it is silly to call +> it "Appendix A". It can just be called "Appendix" (since there is no +> "Appendix B"). + +I was thinking about this very thing over the weekend. I surmised +that in LaTeX 2.09 the user should be instructed to do something like + + \appendix + \renewcommand{thechapter}{} + \chapter{Text of the title} + +(in a book). But I haven't tried this yet to see what might happen with +table of contents entries and running heads. + +... +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: N.POPPELIER@NL.ELSEVIER +Date: Mon, 22 Apr 91 08:34:57 +0000 + +The TEI draft report is certainly easier to read than the AAP documentation. +Furthermore, the AAP dtd is more or less a dtd for the exact sciences, you +know: with lots of math and tables. TEI aims at linguistics, humanities, etc. +It is useful to have a look at both, since two of the flaws of LaTeX's +document styles are, in my opinion, + +1. not enough structure +2. aimed at exact sciences (with exception of chemistry), + hardly usable for humanities +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: N.POPPELIER@NL.ELSEVIER +Date: Mon, 22 Apr 91 08:48:54 +0000 + +I am strongly in favor of the nomenclature of the Electronic Manuscript +Standard (ANSI Z39.59-1988), otherwise known as the AAP dtd. + +book|article|journal == (fm, bdy, bm) + +fm: front matter +bdy: body, which in turn is defined as 1 or more chapters|sections|articles +bm: back matter +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: CHAA006@UK.AC.RHBNC.VAX +Date: Mon, 22 Apr 91 13:57:27 BST + +Bearing in mind Franks' frequent injunctions to make a contribution +rather than allow silence to imply tactit acceptance, I would like +to add my vote to support (front matter, body matter, back matter). +Strangely I would prefer end matter to back matter for reasons which +are not clear even to me, but realise that the term is ambiguous and +could encompass front matter as well as back matter. + + ** Phil. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: MITTELBACH FRANK <PZF5HZ@EARN.RUIPC1E> +Date: Tue, 23 Apr 91 15:34:29 CET + +I just finished an issue of some internal newletter printed at the EDS +which has the problem of being a typical multi-author work. There is +the overall stuff like table of contents as well as individual articles +from different authors. There is also some `backmatter' material +like a glossary which is compiled by the editor. +The individual articles are of (at the moment) two different types +namely `contributions' and `notices' in our internal jargon. + +Guided by production experiences the style for this newsletter +was set up in a way that individual articles are prepared in +the standard article style syntax. + +Reasons: + + 1) The individual author is able to typeset his/her article + with any style (house or otherwise) that implements `article + makeup'. He is not forced to know about special names and + functions but can view his article in the way the document is + natural to him, namely as an individual article which is so far + not necessarily part of some larger structure. + + 2) The only thing we request is to separate the article from + the driver file to keep unnecessary editorial work to a minimum. + That is, we suggest to use + + \documentstyle{article} + + \begin{document} + \input{myarticle} + \end{document} + + The file myarticle then contains the real article with + definitions and all, and can therefore be pasted directly into + other structures. + + 3) The style itself contains environments like `notice' and + `contribution' that redefines \author \maketitle and the like + to produce a desired layout. Some of these commands are ignored + depending on the kind of article. This means that the editor is + free to turn any article into a contribution or a notice or ... + without changing the source. + This concept was considered important as it speeds up processing + time. Changes to articles are done only for the sake of + editorial corrections (typos, grammar, contents) but are not + necessary when simply fitting the article into the larger + context of the newsletter. + + 4) On the newletter surface, commands like \tableofcontents + are available but produce information assembled from \maketitle + etc of individual contributions and notices. + + 5) We think of adding a section `letters to the editor' which will + certainly be implemented as some letter environment that accepts + standard letter GML but turns this into suitable output for the + newletter. + + +Problems: + + As mentioned by several people on the list, the front matter + declarations in LaTeX are clearly not sufficiant. In fact they + are nearly non existant. This means that we currently have to + help ourselfs by abusing fields like \date which then in turn + produce a problem in such a concept. + But this only means that we have to define a proper front matter + concept that will allow to specify necessary information in a + natural manner. + + I don't consider the question of compatibility here a difficult one + since the current LaTeX provides nearly nothing which can be easily + provided in a `compatibility style' or changed in an older source. + + The use of identical names(e.g. \tableofcontents) for slightly + different things might be considered confusing but this is something + I think is in practice perhaps even more natural then inventing new + names (like \volumetoc \issuetoc ...) that are actually all commands + for the same concept only that the special outcome is determined by + the position in the document. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: MITTELBACH FRANK <PZF5HZ@EARN.RUIPC1E> +Date: Tue, 23 Apr 91 15:35:34 CET + +David said some time ago: +> +> I presume that doing the above literally would conflict with the requirement +> that LaTeX 3.0 should be able to process LaTeX 2.09 input files (which might +> use \appendix as defined in the 2.09 manual). So \appendix would have +> to be left with its 2.09 meaning, but something better could be phased in. + +Let me say a few words to the compatibility problem. + +While compatibility is certainly an important issue, we +should not make it the main issue. Seeking better +solutions to some problems might result in some +incompatibility in the end but once we found a solution +we will probably also find a way to successfully parse +older documents. + +I think that it is wrong to start with the idea ``LaTeX +2.09 has an \appendix therefore LaTeX 3 needs to have +the same concept.'' To start with the goal that we +``necessarily can process LaTeX 2.09 *within* 3.0 +documents without any changes to the old sources'' +seems to be too restrictive (to me). We should try to +achieve this if it is feasible but we should not defend +bad concepts for the sake of full compatibility. + +In other words: when we found some concept feasible we +can then ask how to achieve compatibility but not the +other way around. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Don Hosek <DHOSEK@EDU.CLAREMONT.HMCVAX> +Date: Tue, 30 Apr 91 23:34:00 PDT + +Some days ago, it had been suggested that the current syntax of + +\appendix +\chapter {...} +.. +\chapter {...} +.. + +be replaced with something more like + +\appendix{...} +.. +\appendix{...} +.. + +I would like to suggest that this is a mistake. When I teach +LaTeX classes, my presentation of the \appendix command is that +it switches LaTeX into an "appendix mode" where formatting rules +may change. In the standard report style, the numbering of +chapters is changed from arabic numerals to uppercase latin +letters. In other styles more dramatic changes may be called for: +at BRL their article style, in addition to changing section +numbering also changes equation numbering from 1,2,3 through the +document to A1,A2,A3...; B1,B2,B3... in each appendix. The +working design for my class notes switches to nine point type and +two columns for the appendices. + +I find that presenting the material in this fashion (and making +analogies with it for the \ps command of the letter style), +allows users to see pass the seeming illogicality of the scheme +and have it make sense again. What's more, it seems to me that +this scheme is somewhat _more_ logical in terms of document +structures and also (slightly) easier to implement. +\end{verbatim}\end{footnotesize} + + diff --git a/info/ltx3pub/l3d002c.tex b/info/ltx3pub/l3d002c.tex new file mode 100644 index 0000000000..15c1ada268 --- /dev/null +++ b/info/ltx3pub/l3d002c.tex @@ -0,0 +1,347 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-LTX3-002c, +%%% filename = "l3d002c.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% related-files = "part of l3d002.tex", +%%% author = "David Rhead", +%%% doc-group = "Project core team", +%%% title = "Some ideas for improving {\LaTeX}\\ General", +%%% version = "1.1", +%%% date = "18-Mar-1993", +%%% time = "20:19:36 GMT", +%%% status = "public, official", +%%% abstract = "Ideas and suggestions from David Rhead for +%%% improving various areas in LaTeX", +%%% note = "prepared for the workshop at Dedham 91", +%%% keywords = "", +%%% project-address = "LaTeX3 Project \\ +%%% c/o Dr. Chris Rowley \\ +%%% The Open University \\ +%%% Parsifal College \\ +%%% Finchley Road \\ +%%% London NW3 7BG, England, UK", +%%% project-tel = "+44 171 794 0575", +%%% project-FAX = "+44 171 433 6196", +%%% project-email = "LTX3-Mgr@SHSU.edu", +%%% copyright = "Copyright (C) 1993 LaTeX3 Project +%%% All rights reserved. +%%% +%%% Permission is granted to make and distribute +%%% verbatim copies of this publication or of +%%% coherent parts from this publication provided +%%% this copyright notice and this permission +%%% notice are preserved on all copies. +%%% +%%% Permission is granted to copy and distribute +%%% translations of this publication or of +%%% individual items from this publication into +%%% another language provided that the translation +%%% is approved by the original copyright holders. +%%% +%%% No other permissions to copy or distribute this +%%% publication in any form are granted and in +%%% particular no permission to copy parts of it +%%% in such a way as to materially change its +%%% meaning.", +%%% generalinfo = "To subscribe to the LaTeX3 discussion list: +%%% +%%% Send mail to listserv@vm.urz.uni-heidelberg.de +%%% with the following line as the body of the +%%% message (substituting your own name): +%%% +%%% subscribe LaTeX-L First-name Surname +%%% +%%% To find out about volunteer work: +%%% +%%% look at the document vol-task.tex which can +%%% be obtained electronically, see below. +%%% +%%% To retrieve project publications electronically: +%%% +%%% Project publications are available for +%%% retrieval by anonymous ftp from ctan hosts: +%%% ftp.tex.ac.uk +%%% ftp.dante.de +%%% ftp.shsu.edu +%%% in the directory /tex-archive/info/ltx3pub. +%%% +%%% The file ltx3pub.bib in that directory gives +%%% full bibliographical information including +%%% abstracts in BibTeX format. A brief history +%%% of the project and a description of its aims +%%% is contained in l3d001.tex. +%%% +%%% If you only have access to email, and not ftp +%%% You may use the ftpmail service. +%%% Send a message just containg the word +%%% help +%%% to ftpmail@ftp.shsu.edu +%%% for more information about this service. +%%% +%%% For offers of financial contributions or +%%% contributions of computing equipment or +%%% software, contact the project at the above +%%% address, or the TeX Users Group. +%%% +%%% For offers of technical assistance, contact the +%%% project at the above address. +%%% +%%% For technical enquiries and suggestions, send +%%% e-mail to the latex-l list or contact the +%%% project at the above address.", +%%% checksum = "51871 347 2131 16546", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== + + +\chapter{Support for accurate page-selection from {\tt dvi} files} +\label{counts} + +\section{Objectives} + +Although I assume that it is open to anyone writing style-files to do +whatever they like with the 10 \verb+\count+ registers \cite[p.\ +119]{knuth-90}, I think that it would be worth trying to set a good +precedent in the \LaTeX\ 3.0 \lq\lq standard styles''. I therefore suggest +that there should be a scheme for using the \verb+\count+ registers in such +a way that pages can always be specified unambiguously in those {\tt +report}-like and {\tt book}-like documents that have: +\begin{itemize} +\item roman-numbered \lq\lq front matter'' followed by arabic-numbered + body text, and/or +\item pages numbered \lq\lq within chapters''. +\end{itemize} + +In practice, I have the impression that documents which have pages numbered +\lq\lq within chapters'' are in a minority. It may therefore be worth +having a scheme that can be used selectively, i.e, such that, if a style-file +writer knows that it will be important to distinguish between certain +units of a document but not between others, the \verb+\count+s for the former +can have the non-zero values given by the scheme, while those for the +latter can be zero. This would make for consistency (i.e., if a +\verb+\count+ is non-zero, then it would be used in the same way in one +standard style-file as in another) without unnecessary clutter (e.g., if +all \verb+\count+ registers but \verb+\count0+ can be set zero without +ambiguity, the user would get monitoring of the form {\tt [1] [2] [3] [4] +...\ } rather than of the form {\tt [1.1.1] [2.1.1] [3.1.1] [4.1.1] ...\ }). + +\section{A scheme} +\label{a-scheme} + +The following scheme would probably achieve the objectives suggested above. + +\begin{center} +\begin{footnotesize} +\begin{tabular}{lllll} +\hline\hline +Major division & Minor divisions&\verb+\count0+&\verb+\count1+&\verb+\count2+\\ +\hline\hline +Front matter & --- & page-number & {\tt -1} & {\tt 0} \\ +\hline +Main text & chapters & page-number & chapter-number & {\tt 0} \\ + & & & {\tt 1, 2, ... }& \\ +\hline +Back matter: & appendices &page-number&appendix number& {\tt 1}\\ +appendices & & & {\tt 1, 2, ... }& \\ +\hline +Back matter: & glossary, &page-number&other-unit & {\tt 2}\\ +other units & bibliography, & &number \\ + & index, etc. & & {\tt 1, 2, ... } \\ +\hline\hline +\end{tabular} +\end{footnotesize} +\end{center} + +\subsection*{Examples} + + +\begin{enumerate} +\item A pamphlet that is numbered in arabic throughout would + only use \verb+\count0+. +\item A traditional book could have \verb+\count1+ set to + {\tt -1} in the front matter and set to {\tt 0} thereafter. +\item A manual that is to be numbered in the style of DEC's VAX/VMS manuals + would use the full scheme, i.e. + \begin{itemize} + \item \verb+\count2+ set to {\tt 1} within the appendices and + set to {\tt 2} after the appendices + \item \verb+\count1+ set to {\tt -1} in the front matter, set to + \lq\lq chapter number'' within the body text, set to + \lq\lq appendix number'' or \lq\lq other-unit number'' + in the \lq\lq back matter''. + \item \verb+\count0+ reset at the start of each chapter and + each unit of \lq\lq back matter''. + \end{itemize} +\item It would be open to someone producing a style-file for a + \lq\lq traditional book'' to increment \verb+\count1+ and + \verb+\count2+ in the way suggested for \lq\lq a manual'' above, + even though \verb+\count0+ would {\em not} be reset at the + start of each chapter. Although (after the \lq\lq front matter'') neither + \verb+\count1+ nor \verb+\count2+ would affect the printed + page-numbers, their settings would, for example, enable someone + \begin{itemize} + \item using DVItoVDU \cite{trevorrow-86} to give a + command that means \lq\lq go to the start of chapter 2'' + \item using {\tt dviselect} \cite{torek} to specify + \lq\lq pick out all the pages in chapter 2''. + \end{itemize} +\end{enumerate} + +Thus there would be consistency across most common classes of document +regarding the use of non-zero settings for the \verb+\count+ registers, but +the number of registers used in a particular style-file could, if desired, +be limited to those needed to avoid ambiguous page-specifications at the +{\tt dvi}-file processing stage. + +\subsection*{Notes} + + +\noindent +\begin{enumerate} +\item Although the \verb+\count+ registers give 10 possible \lq\lq + dimensions'' of page-identification, Knuth defines yet another \lq\lq + dimension'' with the \lq\lq roman-numbered pages have a negative + \verb+\count0+'' convention in the \lq\lq plain'' macros \cite[p.\ + 252,362]{knuth-90}. I guess that the \lq\lq plain'' macros are + intended for typesetting a certain class of document (draft papers?), + and that the convention is adequate for this class. However, \LaTeX\ + is intended to be used for a wide variety of classes of documents, so + I think it is better to \lq\lq start from first principles'' and find + a scheme that can cope well with the classes of documents for which + \LaTeX\ is likely to be used. The scheme suggested in the above table + does not aim for compatibility with \lq\lq plain'' since: + \begin{itemize} + \item in terms of \lq\lq logical structure'' there doesn't seem + any reason to treat \verb+\count0+ differently in the + \lq\lq front matter'' rather than (for example) in \lq\lq chapter + 2'' or in the \lq\lq back matter''. + \item if the end-user learns that \lq\lq \verb+\count1+ and + \verb+\count2+ specify the division you are in'', + this will be the only concept they need. They can select + the 4th page in the \lq\lq front matter'' and page 4 of + chapter 5 in a consistent way, e.g., if {\tt dvitops} + \cite{clark} is used, + \begin{verbatim} + dvitops -f 4.-1 root + \end{verbatim} + and + \begin{verbatim} + dvitops -f 4.5 root + \end{verbatim} + respectively. If \LaTeX\ 3.0 had the additional concept + that \lq\lq roman-numbered pages have \verb+\count0+ negative'', + this would be an unnecessary, redundant, concept + for the end-user to learn. + \end{itemize} +\item In terms of \lq\lq logical structure'', there is a case for treating + the \lq\lq front matter'' in precisely the same way as the \lq\lq back + matter''. This would imply the modifications shown below: +\begin{center} +\label{modification} +\begin{footnotesize} +\begin{tabular}{lllll} +\hline\hline +Major division & Minor divisions&\verb+\count0+&\verb+\count1+&\verb+\count2+\\ +\hline\hline +Front matter & table-of-contents,& page-number&{\tt 1} & {\tt -1} \\ + & list-of-figures, & &{\tt 2} \\ + & acknowledgements, & &{\tt 3} \\ + & preface, etc. & &{\tt 4, ...}\\ +\hline +\dots \\ +\hline\hline +\end{tabular} +\end{footnotesize} +\end{center} + My impression is that, in practice, the scheme shown on page + \pageref{a-scheme} would be adequate since there is generally + less \lq\lq front matter'' than \lq\lq back matter''. + End-users would probably prefer to issue a command such as + \begin{verbatim} + dvitops -f 4.-1 root + \end{verbatim} + (as implied by the scheme shown on page \pageref{a-scheme}) + to select the 4th page of their \lq\lq front matter'' rather than + \begin{verbatim} + dvitops -f 4.*.-1 root + \end{verbatim} + (as implied by the modified scheme shown on page \pageref{modification}). +\item If desired, the scheme shown on page \pageref{a-scheme} could be modified + to remove the need for \verb+\count2+ to be non-zero after the appendices. + For example, the convention might be: +\begin{center}\begin{footnotesize}\begin{tabular}{lllll} +\hline\hline +Major division & Minor divisions&\verb+\count0+&\verb+\count1+&\verb+\count2+\\ +\hline\hline +\dots \\ +\hline +Back matter: & glossary & page-number&{\tt -2} & {\tt 0} \\ +other units & bibliography & & \\ + & index, etc. & & \\ +\hline\hline +\end{tabular}\end{footnotesize}\end{center} + Although this modified scheme would not eliminate ambiguity when + people are selecting pages from documents that are numbered like DEC's + VAX/VMS manuals (in which each \lq\lq other unit'' of \lq\lq back + matter'' has page-numbers starting from 1), but it might be argued that + such manuals are fairly rare. + +\end{enumerate} + +\section{Some e-mail comments} + +\begin{footnotesize}\begin{verbatim} +From: bbeeton <BNB@COM.AMS.MATH> +Date: Thu, 27 Jun 91 11:13:09 CET + +re making page numbers distinct, at the american math society, we +faced this problem long ago (though not in latex). the circumstance +was multi-column pages where each column had to be output separately +on account of memory limitations (this was tex80), and "pasted up" +by the output driver. the convention we devised (and still use with +some publications) is + \count0 = \pageno (for compatibility with plain) + \count1 = column within page (for consistency, if 1-column pages + were mixed with 2-column pages -- an everyday occurrence -- + two "logical" pages were put in the dvi file for each + "physical" page) + \count2 = sequential counter, 1, ..., col x number of pages +although it doesn't necessarily bear any clear relation to the printed +page number, the sequential counter does guarantee a unique value that +can be homed in on by a device driver (although not all device drivers +may give you access to all ten counters, a difficulty that should be +decreasing), and is very nicely reported by tex in the transcript file. +if used in conjunction with some more descriptive scheme, it gives a +useful value that can help one identify pages properly even to a driver +that gives no access at all to the tex counters but always considers +the first page of a dvi file to be page "1" (another driver lapse that +should mercifully soon be a thing of the past). +\end{verbatim}\end{footnotesize} + +\begin{center} --- \end{center} + +\begin{footnotesize}\begin{verbatim} +From: eijkhout@EDU.UIUC.CSRD +Date: Thu, 27 Jun 91 08:45:10 -0500 + +David Rhead's problem is a legitimate one. Here's how I have solved +it (for the moment) in my own format: +- use count0 for counting succesful shipouts by the output routine; +- use count1 for keeping track of the number at the top/bottom of the page. +That way the user can let the page number jump any way s/he likes, and +still no dvice driver will ever complain about pages not found, +which could still happen if count0 is merely the page number. + +I guess this could be augmented by a facility to print both counters +at the page bottom, but I found it easy enough to read the correspondence +from the log file (the joys of X windows: there is always some corner left +on the screen to display some piece of information). + +Victor Eijkhout +\end{verbatim}\end{footnotesize} diff --git a/info/ltx3pub/l3d002d.tex b/info/ltx3pub/l3d002d.tex new file mode 100644 index 0000000000..0360e82ae9 --- /dev/null +++ b/info/ltx3pub/l3d002d.tex @@ -0,0 +1,471 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-LTX3-002d, +%%% filename = "l3d002d.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 = "53711 471 3078 21211", +%%% 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{Some e-mail comments about treatment of wide objects} +\label{wide-things} + +\begin{footnotesize}\begin{verbatim} +From: "Nelson H.F. Beebe" <beebe@EDU.UTAH.MATH> +Date: Tue, 18 Dec 90 17:17:39 MST + +In the current LaTeX, input of the form + +\begin{center} +...something... +\end{center} + +does not center the ...something... if its box is wider than +textwidth; instead, it is flush against the left margin, and +extends into the right margin. + +I feel this is counterintuitive, and the situation happens +often enough with wide tables, that I sought, and found, a +solution: + +% This environment allows wide centered objects to spill into the +% margins, evenly on both sides +\newenvironment{widecenter}{ + \bgroup + \makeatletter + \@flushglue = 0pt plus 1fil minus \textwidth + \makeatother + \begin{center} +}{ + \end{center} + \egroup +} + +This solves my own problems, but the question for the LaTeX +redesign is: + + Should centering into the margins be the default + behavior of the center environment? + +Obviously, the default definition of the center environment could +be easily modified to work this way. + +I personally would vote for such a change, unless someone exhibits +good reasons to the contrary. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: bbeeton <BNB@COM.AMS.MATH> +Date: Thu, 20 Dec 90 16:32:56 CET + +nelson asks whether over-large centered items should be allowed +to exceed the margins automatically. + +while i agree that centering of items that are slightly wider +than the text area is usually preferable to having it shifted +to the right, in cases such as centered titles an even better +solution is to divide the centered text into more shorter lines. + +it's my feeling that many people tend to ignore overfull boxes in +any event, and full automatic centering might tend to camouflage +situations where reasonable action would yield a better result. +so i'd be in favor of keeping a widecenter environment, for +intentional use in situations where there isn't any choice. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: MITTELBACH FRANK <PZF5HZ@EARN.RUIPC1E> +Date: Thu, 20 Dec 90 17:46:11 CET +> +> while i agree that centering of items that are slightly wider +> than the text area is usually preferable to having it shifted +> to the right, in cases such as centered titles an even better +> solution is to divide the centered text into more shorter lines. +> +> it's my feeling that many people tend to ignore overfull boxes in +> any event, and full automatic centering might tend to camouflage +> situations where reasonable action would yield a better result. +> so i'd be in favor of keeping a widecenter environment, for +> intentional use in situations where there isn't any choice. + +What Barbara is implicitly pointing out is that there are two +or perhaps three distinct concepts connected with centering of +items. + + 1) Centering of text and objects similar to text in a + `reasonable' way. If things do not fit into a + given frame (\hsize) then the user gets a waring + and an overfull box. This is more or less + realized in the currrent LaTeX environment. + + 2) Centering of items on the current page regardless of their + size, or at least within some given extra size. This is + useful for tables figures etc. and only possible in the + current LaTeX by using \makebox to hide the actual size. + + 3) Centering of text within a given frame so that lines are + neither too long nor too short. This can be done automatically + only making direct use of \leftskip and \rightskip. + +I suppose the correct way to handle this is to either provide +different environment or (which I favor) to add attributes to the +center environment to address the special cases. I think that the +default setting could be left as it is. + +A similar problem arises with flushleft and flushright environments. +In case of flushleft we miss a raggedright environment for text +typesetting which is able to hyphenate in a given range. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +Subject: Re: Wide things +From: Don Hosek <DHOSEK@EDU.CLAREMONT.HMCVAX> + +>My first reservation is that, in publishing practice, it seems normal +>[1, p. 336; 2, p. 158] to set tables in a smaller typeface than the body of +>the text. [1] says "tables may be set in small type or footnote size, or the +>size may vary from one table to another ... ". [2] seems to imply that it +>is normal to set tables in an 8-point typeface, presumably when the +>body of a document is in 10-point (and suggests going down to 7- or 6-point +>if a table won't fit in 8-point). In fact [1] and [2] recognise that +>"getting tables to fit" is often difficult, and devote several paragraphs +>to tactics for dealing with the difficulties. So I think that: +>* the user should still get a warning if a centred thing is allowed to +> spill into the margin. The user should then e.g. go and read [1] and [2] +> to decide whether to accept the "spillage" or to e.g. see whether +> column-headings could be made more concise and/or decide whether to change +> font-size +>* there is a case for making the font-size in the "successor to tabular" +> a feature of the design. Typically if a design has main text in 10-point, +> the design might give 8-point as the default in the "successor to tabular". +> Then (a) LaTeX would conform to what appears to me to be publishing +> practice (b) the proportion of tables whose width causes problems would +> be reduced (and less users would bother people like me about them). + +Below is an excerpt from my LaTeX class notes which explains how +I teach users to deal with the situation here and now. Although the +text deals simply with centering and the like, the approach can be +applied to other items of table formatting as well (many of my LaTeX +styles provide a somewhat fancier aroundtbl environment built-in). + +The tabular environment is normally treated as just a big letter. +For example, it's possible to get LaTeX to typeset something that + 4 1 ii +looks like 123 345 fgh in the middle of a paragraph. This is + 7 12 q +seldom actually desired, but useful to know. Where this becomes +particularly noticable is that a tabular environment in its own +paragraph is typeset with paragraph indentation, viz: + + 4 1 ii + 123 345 fgh + 7 12 q + +rather than flush left as you might prefer. The best way to deal +with this problem is to define an aroundtbl environment which +will tell LaTeX how to postion the tabular. The reason for +defining an environment in this fashion is that it makes it +easier to change how the tabulars will be placed: if one simply +told LaTeX to center each tabular and then decided to typeset all +tabulars flushleft, every instance of tabular would need to be +changed. Defining the aroundtbl environment would reduce the work +to simply changing a single definition. + +Using the aroundtbl environment, one would simply type something +along the lines of the following for each tabular: + +\begin{aroundtbl} +\begin{tabular}{cc} +These columns & are \\ +lined up & and centered +\end{tabular} +\end{aroundtbl} + + +The following definitions are three possibilities for definining +the aroundtbl environment: + +\newenvironment{aroundtbl}{\begin{center}}{\end{center}} + +will center each tabular. + +\newenvironment{aroundtbl}{\begin{flushright}}{\end{flushright}} + +will place each tabular flush against the right margin. + +\newenvironment{aroundtbl}{\begin{flushleft}}{\end{flushleft}} + +will place each tabular flush against the left margin. + +n.b. You should never use the center, flushright, or flushleft +environments outside of the definition of a new command or +environment. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Leslie Lamport <lamport@COM.DEC.SRC> +Date: Wed, 2 Jan 91 20:12:58 CET + +Once again, the discussion on LaTeX-L is sailing off into the wild blue +yonder. The document style should not try to figure out that because +this is the left-hand page of an article for a physics journal edited +by a woman, overlong equations should extend to the right. This kind +of nonsense will produce 126-megabyte document styles that will exhibit +three new bugs per month for ten years. + +Problems such as things that don't fit on a line require user +intervention. They are solved, as the final step in producing a +document, by inserting "visual-formating" commands. + +Instead of all this pie-in-the-sky discussion about how to do +everything automagically, how about giving some thought to how the user +can EASILY specify where this particular equation or table should be +placed on this page of this version of this document. Or, more +generally, on how visual-formating commands, which may have to be +changed each time a new version is created, should be integrated +with the idealogically correct logical-formating commands. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Subject: Tables (which may be wide) +Date: 9 Jan 91 15:25:49 +To: latex-l%dhdurz1@uk.ac.earn-relay +Msg ID: < 9 Jan 91 15:25:49 GMT A101BA@UK.AC.NOTT.VME> + +Would there be a consensus in favour of the following? + +1. Have a standard name for "an environment into which people normally + put non-floated tables". Names currently on offer include Don + Hosek's "aroundtbl" and my "displaytable". I'll use the name "N" + below (where N denotes an unknown). + +2. In the manual, mention N (as the environment into which the user + normally puts a table) before mentioning center, etc. (to which the user + might have to resort if user intervention is required for a particularly + awkwardly sized table). + +3. In the standard styles, have a fairly simple definition of N, but + one which conforms to a common publishing convention. E.g., in the + successors to report, article and book, something like + \newenvironment{N}{\begin{center}\begin{footnotesize}}% + {\end{footnotesize}\end{center}} + would do (although a definition involving Nelson's widecenter + or Frank's "center with attributes" could be used). Thus the user + would go + \begin{N} + \begin{tabular}{...} % or tabbing, or their successors + ... + \end{tabular} + \end{N} + I'd justify the footnotesize as a "common publishing convention" by + reference to Butcher's book and the Chicago Manual of Style (see my last + mail) which both talk in terms of tables usually being set in a smaller + typeface than the main text (but people who work for publishers would + be better placed than me to advise). Such definitions should be + sufficiently simple that they don't generate "3 bugs/month for 10 years". + Yet the existence of N would make it clear "what one should do with a + table" and having a reduction in size as standard (if adopted) would + save a bit of "support" time by allowing more information in before + problems of size arise. + +4. If someone is writing a style-file for a particular application, and has + to implement a particular design, it will be up to them how ambitious + they are in their re-definition of N. + + People attenting Don Hosek's classes might simply replace center by + flushright or flushleft. + + If a "a woman editor of a physics journal" has to enforce a house-style + that doesn't lend itself to a simple re-definition of N, it would be up + to her whether she goes for: + (a) a complicated re-definition of N, in the hope that, although she can + expect to spend time finding bugs in her definition, the time she spends + on coding and bug-fixes may be less than the time she would have spent + in "visual formatting", + (b) visual formatting, by replacing N by lower-level commands in the + few cases when the simple definition leaves things sticking into + a margin (or margins). + If she goes for (a), and is sufficiently confident of the code to put it + "in the public domain", people will look to her for maintenance of the + code, not to the people who produced the simple code in the standard + styles. + + Similarly, it would be open for someone writing their own style file + to try making N intelligent enough to "fit" awkwardly sized tables + automatically, but maintenance would be a matter for them. E.g. if + someone produces a style-file that lays a document out in the style + of the PostScript manuals, it would be up to them whether they try + to make N intelligent enough to use the "heading margin" when "necessary", + and if so whether they risk putting the style-file in the public domain. + Nothing they did would imply any additional maintenance for the + simple definitions used in the "standard styles". + + +There would then be the following open questions: + +* the name to be used for N + +* the relationship with the "floating environments". + + Should it be possible to have a common numbering sequence for the captions + for both fixed and floating tables? If so, it would presumably be necessary + to define N so that, as far as floats were concerned, it was as if a + \begin{table}[h] had been possible. Otherwise, numbering could get out of + sequence if a floated-table floated past a fixed-table. + + Should a float automatically do an N? If it's an environment that's + specifically designed to float tables, I'd say "yes" for the standard + styles, although obviously anyone writing anything else could do what + they liked. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: MITTELBACH FRANK <PZF5HZ@EARN.RUIPC1E> +Date: Thu, 10 Jan 91 14:11:27 CET +> +> Once again, the discussion on LaTeX-L is sailing off into the wild blue +> yonder. The document style should not try to figure out that because +> this is the left-hand page of an article for a physics journal edited +> by a woman, overlong equations should extend to the right. This kind +> of nonsense will produce 126-megabyte document styles that will exhibit +> three new bugs per month for ten years. + +Of course, the document style should be able to figure +out that this is a left hand page and place an example +(as in the LaTeX book) into the correct margin. The +same might be true for other objects in special +application. This is not a question of standard styles, +but one of my goals for the LaTeX reimplementation is +to provide the necessary tools for the designer to +produce such styles if desired. + +... +In this special case, the concept of a +`displaysomething' environment looks like a good idea +to me, at least much better then telling the user to +use center, etc. for things like this. ... + +> +> Problems such as things that don't fit on a line require user +> intervention. They are solved, as the final step in producing a +> document, by inserting "visual-formating" commands. +> +That there are a lot of cases which can not be solved +automatically is clear (for this reason I like to have +e.g. user/editor invention via attribute). But is not a +bad idea to free a standard document from visual +formatting by adding standard logical concepts which +are missing so far (do not let you guide solely by +trying to keep the LaTeX book rewrite to a minimum). +This can and should be discussed, that just the reason +for this list. + +> placed on this page of this version of this document. Or, more +> generally, on how visual-formating commands, which may have to be +> changed each time a new version is created, should be integrated +> with the idealogically correct logical-formating commands. +> + +This is an interesting side remark, should there be +some way to make visual formatting like \newpage +visible? I remember a case where somebody said +\samepage without any grouping and it took me a long +time to find out why his document was formatted in a +funny way. + +\end{verbatim}\end{footnotesize} + + diff --git a/info/ltx3pub/l3d002e.tex b/info/ltx3pub/l3d002e.tex new file mode 100644 index 0000000000..52e5d5f036 --- /dev/null +++ b/info/ltx3pub/l3d002e.tex @@ -0,0 +1,1599 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-LTX3-002e, +%%% filename = "l3d002e.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 = "28553 1599 11400 79963", +%%% 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{Citations and reference-lists} +\label{citing} + +\section{Some e-mail comments} + +\begin{footnotesize}\begin{verbatim} +From: Sebastian Rahtz <spqr@UK.AC.SOTON.ECS> +Date: Tue, 7 Aug 90 15:33:13 bst + +... writes: + > One of the most common mistakes that I see from LaTeX users is typing + > \maketitle before \begin{document}; since this causes horrible things to + > happen, perhaps we should make sure that this causes an error. +and why not put \bibliographystyle before \begin{document}, where it +belongs.. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From David Rhead ... +Date: 13 Aug 90 17:39:39 + +Sebastian suggested + "and why not put \bibliographystyle before \begin{document}, where it + belongs.." + +This might need thinking through, bearing in mind that certain types of +document may have more than one list of references. For example: +Manuals produced by software houses, e.g. the SPSS-X documentation. + Such manuals may, in effect, divide citations into 2 categories: + 1. references to other manuals produced by the software house, + which might be cited using a "short title" scheme + 2. references to other literature, which might be cited using + an author-date scheme. + E.g. the SPSS-X Introductory Statistics Guide generally uses + author-date, but gives the full reference to the SPSS-X User Guide + in its preface and thereafter refers to it as "SPSS-X Users Guide". + The software house may list its own publications in the preface to + its manual, putting the list of references to other literature + at the back of the manual. To support this sort of thing would + require something like + \documentstyle{manual} + \begin{document} + ... + % \xxx represents a command that embeds \bibliography-like + % information in a preface. "software-house" represents + % a style that software houses seem to like where the + % reference is embedded in an explanatory paragraph. + \xxx[Our other manuals]{software-house}{our-manuals} + \chapter{...} + ... + \bibliography[Other people's stuff]{author-date}{other-literature} + where \xxx and \bibliography are assumed to have + * an optional argument to specify a title + * an argument to specify the scheme (like \bibliographystyle does) + * an argument to specify the bib files. +Books. It might be sensible to divide a book's references into 2 lists, e.g. + "References" and "Further reading". E.g. the draft revised British + Standard for theses suggests having "Bibliography" as well as "List + of references". It might also be sensible to have different styles + for the 2 lists: perhaps a concise style for the "References", + but a style that prints some extra information about the + "Further reading". The author might want to specify something like + \documentstyle{...} + \begin{document} + ... + \bibliography[References]{author-date}{specific-books} + \bibliography[Further reading]{annotated}{general-books} + ... + [Such sub-division seems to be countenanced by the gurus, e.g. Chicago + Manual of Style (p. 425) and Butcher's Copy-editing (p. 183,192).] +Unfortunately, such considerations lead to more questions like "How does +one arrange that \cite gives (...) around author-date citations, but not around +short-title citations?" and "Can a root file have several bbl files and what +would they be called?", and I don't know the answers. + +At the moment, I just think that it would be better to refrain from putting +\bibliographystyle before \begin{document} until the implications for +documents that have more than one list of references have been thought through. +Otherwise there might be a change to "\bibliographystyle before +\begin{document}" at LaTeX 3.0 followed by another change (e.g. to +"bibliography style as argument of \bibliography") in some subsequent LaTeX. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Sebastian Rahtz <spqr@UK.AC.SOTON.ECS> +Date: Tue, 14 Aug 90 10:00:33 bst + + > "and why not put \bibliographystyle before \begin{document}, where it + > belongs.." +David Rhead has some sensible cautionary remarks, and I would concur +with his underlying thesis that the bibliography support in +LaTeX/BibTeX has definite lacunae. He identifies the problem + + > This might need thinking through, bearing in mind that certain types of + > document may have more than one list of references. For example: + +and suggests a formulation along the lines of + > \bibliography[References]{author-date}{specific-books} + > \bibliography[Further reading]{annotated}{general-books} + +this is interesting, but nobody will thank anyone for changing the +basic syntax of a LaTeX command in the near future. I would suggest +retaining \bibliography as it is documented, and implementing David's +suggestions with others as new commands. ... such as separate +bibliographies for chapters - whatever LL or OP say about it being so much +work to do a multi-chapter book that sets of bibliographies being not +much more work, I don't see why we shouldn't get it in one day. People +*do* want it. I am on my fourth conference proceedings in as many +years, and I dont enjoy building the slightly complicated Makefile to +get all the references in the right place up to date. + +but I continue to say that the user who puts \bibliographystyle before +\begin{document} is behaving intuitively, and should therefore be +allowed to do it. lets keep `bibliography' for the relatively simple +academic type that LL and OP envisaged, and invent a new term +(\reference?) for what David Rhead is talking about. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: "Nelson H. F. Beebe" <Beebe@EDU.UTAH.SCIENCE> +Date: Sat, 18 Aug 90 17:15:10 CET + +I just hit what I view as a design flaw in thebibliography +environment. It was precipitated by the following BibTeX +bibliography entry in the .bbl file: + +\bibitem{Steele:floating-point-output} +Guy~L. {Steele Jr.} and Jon~L. White. +\newblock How to print floating-point numbers accurately. +\newblock {\em ACM SIG\-PLAN Notices}, 25(6):112--126, June 1990. +\newblock In electronic mail dated Wed, 27 Jun 90 11:55:36 EDT, Guy +Steele reported that an intrepid pre-SIGPLAN 90 conference +implementation of what is stated in the paper revealed 3 mistakes: + + \begin{enumerate} + \item + Table~9 (page 125):\par\noindent + \begin{tabular}{ll} + for & {\tt -1:USER!({"}{"});} \\ + substitute & {\tt -1:USER!({"}0{"});} + \end{tabular} \par\noindent + and delete the comment. + \item + Table~10 (page 125):\par\noindent + \begin{tabular}{ll} + for & {\tt fill(-k, {"}0{"})}\\ + substitute & {\tt fill(-k-1, {"}0{"})} + \end{tabular} + \item + Table~5 (page 124):\par\noindent + insert {\tt k <-- 0} after assertion, and also delete {\tt k + <-- 0} from Table~6. + \end{enumerate} + +The effect of this is that the next bibliography entry gets +number 4, one more than the last enumerate counter. The reason +lies in latex.tex: + +% The thebibliography environment is a list environment. To save the +% use of an extra counter, it should use enumiv as the item counter. + +For now, I will switch to an itemize instead of enumerate. + +The question for this list is, is the saving of an extra counter +at what is usually almost the end of a document anyway worth this +design gotcha? I suggest not. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: MITTELBACH FRANK <PZF5HZ@EARN.DRUEDS2> +Date: Fri, 5 Oct 90 17:43:46 CET + +I would like to foward a mail from Nico which was a reaction +to some discussions at the Cork meeting. + +------------------------ forwarded mail ------------- +> +> here are some first thoughts on BibTeX and front matter. +> +> BibTeX +> ------ +> BibTeX is unfortunately not a database management system -- +> unfortunate in the sense that users have to think of a way to +> *really* manage the database, i.e. add, change, remove, sort, select, +> import and export entries. On my Atari I use a simple database +> program -- a real GEM program with mouse and buttons -- to maintain a +> literature database. I've written a conversion program that generates +> a .bib file from this database. This system works and is also used ny +> my ex-colleagues at the university. +> +> In general, working with BibTeX is cumbersome -- every time you add a +> reference to your document you have to run LaTeX, BibTeX, and LaTeX +> twice again -- and a lot of LaTeX users think it only pays off when +> your document/bibliography is above a certain length. +> +> What I would like to see in LaTeX is coding of the logical structure +> of every \bibitem. In version 2.09, BibTeX takes care of the logical +> structure and outputs formatted text. In other words: a part of the +> document, the one included by the \bibliography command, does not +> contain tags for the logical structure. Furthermore, if a user +> decides NOT to use BibTeX, he/she has to do the formatting completely +> by hand. +> +> Front matter +> ------------ +> Currently, an article starts with \title, \author and \date +> instructions. In the Elsevier styles I have added \address, +> \received, \revised and \accepted commands, and also a keyword +> environment, similar to the abstract environment. By doing so, we can +> automatically convert a LaTeX-coded document to an SGML-coded +> document. +> I think it is a bad idea to put the front matter information in a +> .bib record for the above reasons and also for the following reason: +> some parts of the front matter do not have to be re-used again in +> bibliographical entries, and therefore do not belong in the .bib +> database. +> Examples: list pf previous books in a series, LCC data, dedication, +> motto (books), keywords, date of receipt, revision, acceptance +> (articles). +> +... + +The last comment about the bad idea probably needs some +explanation: During the Cork conference we discussed the possibility +to use an extended version of bibtex, which is able to produce +several bibliogrphies at once, to format a title page (on request). + +The idea was that for larger documents one could set up a bibliography +entry for the document itself with all relevant information in it. +In the document itself the title would then be formated by a command, +say \titlefrombib{<key>} which would make request bibtex to produce +a file containing all necessary information for producing the title. +This means that every journal that accepts LaTeX input would supply +a BibTeX style file which generates from a single bib entry such +a file. The advantages of this method would be that unused information +would produce no problem (the bst file would simply ignore them). +Another advantage would be that authors (for eample for TUGboat) would +already sending a bib entry along with his document. + +Of course, a standard way for simple document that generates titles +without using BibTeX should be availabe too. And the standard document +styles should also have their bst files for producing the title. + +This scheme if, of course only sensible (if at all) if \BibTeX is +able to produce several bbl files in one pass. + +I still think that such a feature has some promising possibilites +and would like to hear other opinions about it. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David Rhead +Date: 9 Oct 90 10:39:45 + +Frank forwarded some mail from Nico about BibTeX etc. + + +BIBLIOGRAPHIC DATABASE? + +I agree with Nico's comment about BibTeX not being a database management +system. I have the impression that some research workers really want a +system that will not only contain author, date, etc. for a paper/book, +but also a copy of the abstract and perhaps some reminders to themselves. +Thus, they want something that will both +(1) help (by supplying bibliographic details) when they are in the process + of writing a paper +and +(2) help them to search through all the papers they've ever read + until they come to something that is about a particular subject. + E.g. "give me all the papers about X", "what was that paper about Y?". + +It's unfortunate that Lamport/Patashnik used the term "bibliographic +database" (although I can't think of anything better offhand). It leads +to people thinking that BibTeX will do the things that they associate +with "database systems" these days. + +However, I think that to turn BibTeX into something that did more +than (1) would be too ambitious. We're going to have enough problems +finding someone to make BibTeX do (1) better. + +I think it would be better to treat (2) as a separate project, and to ask +"is (2) best done by adding database management features to BibTeX, +or would it be better done by adding BibTeX-like features to a +database management system?" I don't know what the answer is. + +For the time being, I think users will have to be left in an unsatisfactory +situation. If the "raw data" is kept in a "real database", the .bib file +is just yet another intermediate file. I seem to remember that +Sebastian Rahtz has set INGRES up so that INGRES can hold bibliographic +information and write it out in the form of a .bib file. It sounds as +though Nico is doing something similar with a different database +system. + +It seems sensible to use a "real database system" for what "real database +systems" are good at. Although it is clearly unsatisfactory to have a .bib +file that merely "shadows" a "real database" I can't think of anything better +that could be done quickly. [Perhaps a database expert might have some bright +ideas. Could such an expert write software that took an .aux file, generated +instructions in a "query language" to select the \cite-ed references, and +then produced a .bbl file (or equivalent) without there ever being a .bib file? +I don't know: I'm not a database expert. Even if they could, it +would probably still be useful to have a standalone program like BibTeX +that did task (1) in a database-system-independent way.] + +A salesman has sent me a leaflet about a piece of software called +EndNote which apparently seems to aim to do both (1) and (2) for Mac and PC +word-processor users. (It's not public domain, but then neither is INGRES.) +I see that it can export information for troff's "refer". He's coming to +see me at the beginning of November, so I'll ask if EndNote might be tailored +to read .aux files and produce .bbl files. I expect the answer will be +"no" or "only after a lot of work", but it does no harm to ask! +Perhaps one could have a public-domain BibTeX for task (1) with tailored +proprietary software for people who want (1)+(2). + +Conclusion: I can't think of an easy way of improving the "3 times +through LaTeX and once through BibTeX" business at the moment. I doubt +whether its worth making BibTeX into a proper database system, although +it might be worth making "a proper database system" do what BibTeX does. + + +CODING THE LOGICAL STRUCTURE OF EACH \BIBITEM? + +I can see the attraction of this. The list of references could be +held in the root file or \input or \include-ed from a .tex file +like everything else. There wouldn't need to be any special treatment +of .bbl files. + +However, in terms of project-management, it seems very convenient to regard +determination of the logical structure for bibliographic references +as a separate task which can be delegated to whoever volunteers +(if we can find them) to do another iteration on BibTeX. +It would be up to this person to specify the logical elements +for a reference, e.g. to agonise about whether ADDRESS is +the fundamental concept of whether it should be PLACEOFPUBLICATION. + +All that needs agreeing between the LaTeX 3.0 people and the +BibTeX worker (if we find one) is the form of interface, i.e. +what BibTeX passes back to (a) go where the \cite was and (b) go +in the list of references. There might need to be separate +interfaces for "reference by number", author-date and "short title" +[I'll have a go at suggesting what these might be in a future message] +but beyond that, the LaTeX 3.0 people need not be concerned +about the distinction between e.g. different author-date styles. +Thus, the BibTeX worker's considerations of matters such as +ADDRESS versus PLACEOFPUBLICATION can proceed in parallel with +the LaTeX 3.0 people's work on other matters. It wouldn't matter +much whether both projects were complete at the same time. + +If the LaTeX 3.0 people attempted to code the logical structure of +each \bibitem, this would mean that LaTeX 3.0 could not be finished +until the LaTeX 3.0 people had satisfied themselves about "What are +the fundamental types of publication (\bibitem{knuth-84}{book} or +\bibitem{knuth-84}{monograph}?), and what are the fundamental +items of bibliographic information about them? Did Lamport/Patashnik +get it right? E.g. ADDRESS versus PLACEOFPUBLICATION." The LaTeX 3.0 +people would presumably have to provide TeX code that sorted bibliographic +details out into the order required for a particular style e.g. "reference +by number in ACM style" (and perhaps provide a few style-options to +show how the details could be changed for a different convention, +e.g. author-date in APA style). I think that the LaTeX 3.0 work +is ambitious enough without taking this analysis on too. Attempting +to get the subdivision of \bibitem right could hold the rest of the +project up. + +Continuing to delegate the work on the logical structure of each \bibitem +to BibTeX might not be as elegant from the user's point-of-view as +getting LaTeX to do all the work (using structure information from +subdivisions of \bibitem and bibliography-style information from +\documentstyle) but I think the result would be available sooner and that +the user might prefer to have something better than LaTeX 2.09 soon, rather +than to have perfection not so soon. + +The two approaches (1) "put all the BibTeX work into LaTeX" (to take +account of the logical structure of each \bibitem), and (2) "make +BibTeX into a proper database management system" seem to be pulling +in different directions. I don't think one can do both (otherwise +you'd end up with LaTeX as a bibliographic database management system), +although one could do neither. + +For LaTeX 3.0, I'd be inclined to leave the contents of each \bibitem +(or the successor to \bibitem) as a "black box", to be filled in by the +user or by BibTeX. If someone does the analysis for BibTeX 2.0 (say), +the question could be considered again if there is ever a LaTeX 4.0 (!) + +[This all assumes that the SGML-ers have not analysed the structure +of a list of references and hence that someone has to do the analysis. +If the SGML-ers have done the anlysis (for a DTD, perhaps), could they +publish it?] + +Conclusion: I'd specify an interface between LaTeX 3.0 and BibTeX +that would support the "reference by number", author-date and (if +possible) "short title" schemes, but delegate the task of supplying +\bibitems (or whatever) to that specification to whoever updates BibTeX +and its .bst files. + + +FRONT MATTER INFORMATION IN A .BIB RECORD? + +The gurus of "how to do a list of references" seem to agree that +bibliographic details should be as they appear on the title page of +the article, book, etc. But there are many caveats: +* Several books by the same author in one bibliography should + follow the same style (Chicago Manual of Style, p. 441). +* There are potential problems with names like Tchaikovsky, + which may appear in different forms (Chaikovsky) on different + title pages, even though the works are all by the same person. + [British Standard BS 1629, p. 5] +* The part of the name not on the title page may be enclosed + in square brackets (Chicago, p. 441). +* If the name on the title page is a pseudonym, the author's + real name may be given in the bibliography in square brackets. + (Chicago, p. 442). +* Capitalization, punctuation, etc. of a title may be differ in a + bibliography from the conventions on the title page (Chicago, p. 447). + Similarly, compulsory line-breaks may be wanted on the title-page + but not in the list of references (\\, Lamport's book, p. 164). + For another example, consider "LaTeX: A Document Preparation System": + that's not how it appears on the title page. +* It may be necessary to use discretion about whether to regard + a subtitle as part of a title or to abbreviate a long title + (ISO standard 690, p. 5). +* A bibliography may give "place of publication" in a form that is + different to that on the title page, using discretion about: + - whether to list all places where the publisher has offices + or just one place + - whether to give further information (if the place of publication + is not widely known or could be ambiguous). + (Chicago, p. 456). +* A bibliography might give a publisher's name in a form that differs + slightly from that shown on the title page (Chicago, p. 458). + +I think that having a BibTeX that can produce several bibliographies at +once would be "a good thing". For example: +* for conference proceedings where each contribution may have its own + list of references +* for books that may have e.g. "References" and "Further reading" +* things like the SPSS manual (and other things produced by software + houses), which seem to give the software-house's related publications + in a preface, but put "academic references" at the end. + +However, I don't necessarily think that the same mechanism should +be used to "derive a publication's title-page from its .bib entry". +Traditionally, bibliography entries have been derived from title-pages +(with some human discretion), rather than the other way round, so its +probably safer to have software that imitates the tradition. One might +think of having things like +\begin{titlepage} + \author[bibliography-version]{titlepage-version} + \title[bibliography-version]{titlepage-version} + \place[bibliography-version]{titlepage-version} + \publisher[bibliography-version]{titlepage-version} +\end{titlepage} +\begin{copyrightpage} + \copyrightholder{...} + \isbn{...} +\end{copyrightpage} +in the .tex file (where the optional arguments allow humans to exercise +the discretion recommended by the gurus) and having LaTeX produce +perhaps a .bibitem file that the user can append to a suitable .bib file +(maybe after exercising a bit more discretion). LaTeX could put +information that might conceivably be used by a bibliographer in the +.bibitem file, but refrain from putting information that no bibliographer +would ever want to that file. TUGboat would get a .bib entry +with each article (but it would be derived automatically from the +article-heading, rather than used to automatically produce the +article-heading). + +[Conversely, if the Cork suggestion was adopted, and title-page +information was produced by some future BibTeX from a .bib file, there +would have to be some mechanism to allow for minor variations, e.g. + TITLE = "LaTeX: A Document Preparation System", + TITLEPAGETITLE = "LaTeX\\A Document Preparation System"] + +The problems that I mentioned in the context of "logical structure +of \bibitem" arise here too. To write .sty files for (say) book, report, +conference-proceedings and article, you only need to be clear about those +categories (as well as being a TeX wizard and having a lot of time, +perseverance and patience). To write .bst files with entry-types of book, +report, conference-proceedings, article, you need to be clear whether +they are distinct entry-types or not. [ISO 690 could be interpreted +as lumping books, reports and conference-proceedings all together +as "monographs".] You also need to be clear about the fields: +e.g. PLACE or ADDRESS. So the LaTeX 3.0 code for title-pages would +get held up (and hence LaTeX 3.0 as a whole would get held up) +while someone analysed "the structure of a \bibitem". +On the other hand, if LaTeX 3.0 wrote out a .bibitem file that wasn't +quite what some new BibTeX expected, it wouldn't matter very much, +and could be corrected once it was clear what was required. + +Conclusion: I'd like BibTeX to support multiple lists-of-references, +but think that "LaTeX producing .bib info from titlepage info" +might be better than "BibTeX producing titlepage info from .bib info". +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\section{My e-mailed \lq\lq paper''} + +\subsection{Introduction} + +Since there are now plans for a new version of \LaTeX\ +\cite{lamport-86,m+s-89}, this may be a good time to consider +how a future version should deal with citations and reference-lists. + +My viewpoint is that of an advisor to authors who use \LaTeX\ 2.09. +As such, I'm often in the position of having to decide whether \LaTeX\ +acts inappropriately or whether an author is asking for something +inappropriate. Generally, I have the impression that \LaTeX\ 2.09 sometimes +makes it unnecessarily difficult for people to comply with the conventions that +are standard in \lq\lq academic publishing''. + +In making the suggestions that follow, I do realise that it's easier for me +to suggest that the volunteers developing \LaTeX\ 3.0 might provide some new +facilities than it is for a volunteer to find time to do the work! + +I assume that the reader is familiar with the relevant sections of +\cite{lamport-86}. + +\subsection{Conventions to be supported} +\label{conventions} + +\subsubsection{Citation schemes} +\label{basic-schemes} + +In mainstream publishing +\cite{bs-5605,bs-6371,butcher-81,chicago-82,gibaldi,huth,inter,iso-690,% +oconnor,page}, +there seem to be three basic schemes for citations and the corresponding +reference-lists: +\begin{description} +\item[reference by number] In this scheme, citations are normally numbered in + order of first citation. In particular, \lq\lq order of first citation'' + is used by over 300 biomedical journals \cite{huth,inter}, and is + specified in the ISO standard \cite{iso-690}. (Thus, in \BibTeX\ terms, + the usual numbering sequence is that given by {\tt unsrt}.) The number + is used as a \lq\lq label'' in the reference-list. +\item[author-date] There are two main forms of citation, depending on whether + or not the cited author's name occurs naturally in a sentence. In the + first case, the citation is of the form \lq\lq\ \dots\ (1972) + \dots\ '', whereas in the second case it is of the form \lq\lq\ \dots\ + (Crane, 1972) \dots\ ''. There are no \lq\lq labels'' in the + reference-list, which is arranged in alphabetical order of authors' + surnames (with supplementary rules for \lq\lq tie-breaking''). +\item[short form] The \lq\lq short form'' scheme is often used when citations + occur in footnotes. Typically, the first citation (or the first + citation in the current chapter) gives a fairly full reference but + subsequent citations use a short form. The \lq\lq short form'' may be + introduced within the first citation, or given in a table of + abbreviations. There are no \lq\lq labels'' in the reference-list, + which may be subdivided by \lq\lq type of cited document''. + The scheme is common in the humanities, but also seems to be used by + some software-houses when referring to their own publications (see, for + example, \cite{norusis}). +\end{description} +I think that, in order to make it straightforward to achieve, with \LaTeX, +the effects that people routinely achieve with traditional publishing +procedures, it is desirable that \LaTeX\ should provide explicit support for +all three citation schemes. + +Notice that: +\begin{itemize} +\item It is not, in general, possible to convert a document from one scheme + to another (e.g., from \lq\lq reference by number'' to author-date) + automatically. Some re-writing is required. +\item The number of items of information that need to be available + differ between the schemes. For a \lq\lq reference by number'' + citation, it is only necessary to keep track of one item + (the number), whereas for the other schemes it is necessary to keep + track of more than one item (i.e., the author and the date, or the + \lq\lq fairly full form'' and the \lq\lq short form'') + so that they can be used separately. +\item Occasionally, two different schemes may be used in parallel + within the same document. (For example, in \cite{norusis}, + a software-house seems to use \lq\lq short form'' when citing + its own publications, but author-date when citing other publications.) +\end{itemize} +Thus, it seems to me that the three schemes are best regarded as logically +distinct. + +However, within a particular scheme, there are variations of punctuation, etc., +that can be regarded as matters of \lq\lq house style''. +For example, some journals that have adopted a \lq\lq reference by number'' +scheme use bracketed numerals for citations, while others use superscripts. +Such variations can be accomodated by differences between style files. + +\subsubsection{Additional references} +\label{support-additional} + +In addition to a list of \lq\lq works cited'', some documents +have an additional reference-list that specifies \lq\lq further reading'' +or \lq\lq all sources consulted'' (see \cite[pp.\ 182 \& 192]{butcher-81}, +\cite[p.\ 40]{huth} and \cite[p.\ 22]{bs-4821}). There needs to be some +provision for typesetting such additional lists. + + +\subsection{Deficiencies in \LaTeX\ 2.09} +\label{2.09-problems} + +\subsubsection{Citations} +\label{2.09-citations} + +When used in conjunction with \BibTeX\ and \verb+\bibliographystyle{unsrt}+, +\LaTeX\ 2.09 makes a good job of organising citations (and sorting the +corresponding reference-list) according to the \lq\lq reference by number'' +scheme as required by many journals. + +Generally, however, \LaTeX\ 2.09 does not provide the breadth or depth +of facilities needed to support the variety of requirements for +mainstream publishing: +\begin{itemize} +\item It is unfortunate that the \lq\lq reference by number'' sequence obtained + most naturally by the do-it-yourself-er \cite[p.\ 73]{lamport-86} from + \LaTeX\ 2.09 (\lq\lq order of appearance within {\tt thebibliography}'') + is unlikely to be what the do-it-yourself-er's journal-editor requires + (which will usually be \lq\lq order of first citation''). The + do-it-yourself-er is given no warning (either in \cite{lamport-86} or by + the software) that sorting is likely to be needed. +\item Although one can use style-options such as {\tt apalike} and + {\tt aaai} to re-define \verb+\cite+ and {\tt thebibliography} + for an author-date scheme, there are many obstacles placed in the + user's way: + \begin{itemize} + \item The existence of the style-options is not documented in + \cite{lamport-86}. + \item If one finds a style-option in a (software) archive, it + may need modification to produce the precise effect required. + \item It is not obvious how one should refer separately to two + items (author and date) supplied via a \verb+\bibitem+ argument + originally designed for one. The do-it-yourself-er might + have to study style files such as {\tt aaai.sty} and {\tt bbl} + files such as those produced by {\tt aaai-named.bst} to + deduce how to do this. + \end{itemize} +\item The \lq\lq short form'' scheme seems unsupported. +\item At certain points in a document, an author my need to cite + several works at once. It may be necessary to specify a + page (or section, etc\@.) for each work. For instance, + \cite[p.\ 404]{chicago-82} suggests references of the form + \lq\lq (Kelley 1896a, 10; Kelley 1896b; Kelley 1907, 3)''. + This is not easy in \LaTeX\ 2.09, since \verb+\cite+'s + optional argument applies to the citation as a whole. The + author cannot supply a separate \lq\lq optional argument'' + for each work. (By contrast, {\sf EndNote}'s analogous facilities + \cite[p.\ 58]{endnote} seem to allow each individual work + to be given its own \lq\lq additional text''.) +\item It does not seem easy to use different schemes in parallel + within the same document. If \verb+\cite+ and + {\tt thebibliography} are defined as required for one scheme, + they will usually be unsuitable for any other. +\end{itemize} + +\subsubsection{Additional references} +\label{2.09-additional} + +As stated in section \ref{support-additional} an author may need to +typeset a list of \lq\lq further reading'' etc., in addition to +the usual list of \lq\lq works cited''. + +If using the {\tt thebibliography} environment from one of \LaTeX\ +2.09's standard styles for such additional references, an author will be +faced with the following problems: +\begin{itemize} +\item the title will be the same as that for the list of \lq\lq works + cited'', namely \lq\lq References'' for {\tt article} and + \lq\lq Bibliography'' for {\tt report} and {\tt book} +\item the \lq\lq labels'' (which may be appropriate in the list + of \lq\lq works cited'', particularly for the \lq\lq reference + by number'' scheme) will also appear in the + additional list (where they are inappropriate), because + both lists use the same definition of \verb+\bibitem+ +\item by default, the \lq\lq labels'' will not be unique, since + the \lq\lq works cited'' list and the \lq\lq additional references'' + list will both be numbered from one +\item it will be necessary to supply dummy {\it cite-key\/}s, + purely to satisfy the syntax required for a \verb+\bibitem+. +\end{itemize} + +\subsubsection{Other problems} +\label{2.09-other} + +The definitions of the {\tt thebibliography} environment in \LaTeX\ +2.09's standard styles: +\begin{itemize} +\item issue either a \verb+\section*+ or a \verb+\chapter*+ command, + using a {\it heading} of \lq\lq References'' for {\tt article} + and \lq\lq Bibliography'' for {\tt report} and {\tt book} +\item set {\it left-head\/} and {\it right-head\/} to either + \lq\lq REFERENCES'' or \lq\lq BIBLIOGRAPHY'' +\item do not arrange for a table-of-contents entry. +\end{itemize} +These definitions can cause problems when the {\it heading}, etc.\ +supplied by the standard style is inappropriate, or when a table-of-contents +entry is desired. +Admittedly, anyone who doesn't like the standard styles is free to +take copies of the style files and modify them to suit their requirements. +However, I have the impression that: +\begin{itemize} +\item among people who are competent to modify style files, + modification of these aspects of the standard styles is \lq\lq the + rule'' rather than \lq\lq the exception'' +\item those \LaTeX\ users who aren't particularly computer-literate + find the whole business mysterious, and seek out support staff + who have to modify these aspects of the style files for them. +\end{itemize} +Overall, this seems to be an area where \LaTeX\ 2.09 is failing to +\lq\lq free people from formatting concerns to allow them to +concentrate on writing'' \cite[p.\ 8]{lamport-86}. + +An associated problem is that modified style files may no longer be +compatible with standard utilities such as {\tt lablst}. + +\subsection{Introduction of new facilities} +\label{new-facils} + +It has been decided \cite{m+s-89} that \LaTeX\ 3.0 will be compatible with +\LaTeX\ 2.09 input files. Thus, in particular, \LaTeX\ 3.0 must define +\verb+\cite+ and \verb+thebibliography+ so that they have the same effect on +\LaTeX\ 2.09 input files as the \LaTeX\ 2.09 definitions do. This implies that +it would be difficult for \LaTeX\ 3.0 to (for example) define \verb+\cite+ +so that there can be an optional argument for each work in a multiple citation +and define \verb+\bibitem+ so that it can have an \lq\lq author'' argument and +a \lq\lq date'' argument. + +It therefore seems best to provide duplicates of the \LaTeX\ 2.09 facilities +in \LaTeX\ 3.0 (for \lq\lq backwards compatibility'') but to attempt to +provide new commands/environments in parallel so as to provide the required +functionality. The new facilities would be regarded as the \lq\lq normal'' +facilities, would be described in the body of the successor to \cite{lamport-86}, and +would be the natural choice for new users. The old facilities would be +regarded as \lq\lq deprecated'' and relegated to an appendix of the successor +to \cite{lamport-86}. + +Thus we can have both backwards compatibility and improved facilities +for the future. + +\subsection{Division of labour} +\label{div-of-labour} + +\subsubsection{Details needed for document \lq\lq as a whole''} + +The three basic citation schemes mentioned in section \ref{basic-schemes} +determine certain details of a document \lq\lq as a whole''. For each +citation, there must be an entry in a reference-list. Each entry in +the relevant reference-list must have associated information that can be +used in citations. + +\subsubsection{Details needed for reference-list, etc.} + +There are a lot of other details that need to be resolved. + +The information within each reference-list entry will probably need +formatting according to certain rules of \lq\lq house style''. +The information given in citations needs organising in a consistent way +(particularly for the \lq\lq short form'' scheme). + +Different people may want to assemble their reference-lists in different ways. +Some people may wish to \lq\lq do it themselves'' \cite[p.\ 73]{lamport-86} from +a physical card-index, while some may prefer to use \BibTeX\ to get details +from a {\tt bib} file. In some disciplines, proprietary systems such as +{\tt EndNote} \cite{endnote} seem popular (because they help the user to search +a database for literature to cite, as well as helping the user +incorporate details of the literature into a document). +Researchers may also wish to incorporate material obtained by searching +details held on a {\sc cd-rom}. + +A reference-list generally needs sorting into a particular order. Since the +list may occupy several pages, I assume that any sorting is best done outside +\LaTeX, either by other software (e.g., \BibTeX) or manually by the author. + +\subsubsection{\LaTeX\ and other software} + +It seems best to regard the movement of text-strings (e.g., an author's +surname) within the \lq\lq document as a whole'' as a task that is distinct +from the arrangement of details within the text-strings, and to assume a +\lq\lq division of labour'' in which the former task is performed by \LaTeX\ +while the latter is performed by some other software or manually by the author. +The \lq\lq division of labour'' between \LaTeX\ 2.09 and \BibTeX\ seems to set +a good precedent. + +This division of labour will lead to modular software. Once the +interface between a reference-list and the rest of the document has +been defined, people can use \LaTeX\ for the body of their document, +but can: +\begin{itemize} +\item experiment with different software (\BibTeX, {\sf EndNote}) + for formatting the details of their reference-lists +\item enhance the other software (e.g., \BibTeX) independently + of enhancements to \LaTeX. +\item lay their reference-lists out manually if they prefer. +\end{itemize} + +\subsection{\protect\LaTeX\ 3.0: A possible user interface?} +\label{what-to-do} + +\subsubsection{Specifications and names} + +If the reasoning given in sections \ref{conventions}, \ref{new-facils} +and \ref{div-of-labour} is accepted, consideration needs to be given to +the form that new commands/environments should take in order to support the +three basic citation schemes, and to provide facilities for \lq\lq additional +references''. In particular, it will be necessary to choose +names other than \verb+\cite+, {\tt thebibliography} and \verb+\bibitem+ (since +these names will be kept for the facilities provided for compatibility with +\LaTeX\ 2.09). + + +\subsubsection{Four sets of commands/environments} +\label{4-sets} + +It seems to me that it would probably be convenient to have three sets of +commands/environments for dealing with citations and the corresponding +reference-lists, each set specifically designed to implement a particular +citation scheme. Having three such sets gives scope for taking proper +account of the peculiarities of each scheme, without having one scheme +adversely affected by the peculiarities of another. + +To avoid the difficulties mentioned in section \ref{2.09-additional}, +it might also be worth having a specific environment for +\lq\lq additional references''. + +\LaTeX\ 3.0 might, for example, have commands/environments as specified +in the following table. + +\begin{center} +\begin{footnotesize} +\renewcommand{\arraystretch}{1.25} +\begin{tabular}{lccccccc} +\hline + & Citation & Environment for & Entry in \\ + & & reference-list & reference-list \\ +\hline +Reference by number & \verb+\numcite+ & {\tt numrefs} & \verb+\numentry+ \\ +\hline +Author-date & \verb+\dcite+ + & {\tt adrefs} & \verb+\adentry+ \\ + & \verb+\adcite+ & & \\ +\hline +Short form & \verb+\firstcite+ & {\tt sfrefs} & \verb+\sfentry+ \\ + & \verb+\sfcite+& & \\ +\hline +Additional references& --- & {\tt morerefs} & \verb+\moreentry+ \\ +\hline +{\it Analogue at 2.09} & \verb+\cite+ & {\tt thebibliography} + & \verb+\bibitem+ \\ +\hline +\end{tabular} +\end{footnotesize} +\end{center} + +Here it is assumed that: +\begin{itemize} +\item \verb+\numcite+ and \verb+\numentry+ have {\it key-list} and + {\it cite-key} (respectively) as their only mandatory arguments. +\item \verb+\dcite+ and \verb+\adcite+ have {\it key-list} as argument. + \verb+\dcite+ gives a citation of the form (1972), + while \verb+\adcite+ gives a citation of the form (Crane, 1972). + \verb+\adentry+ has three arguments: the {\it cite-key}, + the author (e.g., Crane), and the date (e.g., 1972). +\item \verb+\firstcite+ and \verb+\sfcite+ have {\it key-list} as argument. + \verb+\firstcite+ gives the form of citation to be used when a work + is first mentioned. \verb+\sfcite+ gives the short form + to be used in subsequent citations. + The arguments of + \verb+\sfentry+ might include: the {\it cite-key}, the form + of reference to be used at the first citation, and the short form + to be used subsequently. + Whereas \verb+\numentry+ and \verb+\adentry+ can \lq\lq introduce'' + the full reference (like \verb+\item+ starts a new item + \cite[p.\ 166]{lamport-86}), it may be better for \verb+\sfentry+ + to have the full reference as an argument, so that it can be used + as the default \lq\lq form to be used at first citation''. +\end{itemize} + +Although it would be desirable for the successors to the ``standard styles'' +to define facilities for all three citation schemes, other +\verb+\documentstyle+s need not define facilities for all three. For example, +a journal that wants its authors to use the author-date scheme would supply a +style file that only provides author-date facilities. + +\subsubsection{Further details} +\label{further-details} + +\paragraph{Reference by number} + +The \verb+\numcite+ and \verb+\numentry+ commands might take the form +\verb+\numcite{+{\it key-list}\verb+}+ and +\verb+\numentry{+{\it cite-key}\verb+}+. Notice that, since \verb+\numentry+ +is specifically designed for \lq\lq reference by number'', there is no need to +allow an optional {\it label} argument like that for \verb+\bibitem+. + +To conform to the ISO specification \cite{iso-690}, the successors to the +``standard styles'' would arrange for \verb+\numcite+ to give a citation of the form (24) +and for \verb+\numentry+ to give a reference-list entry of the form +\begin{description} +\item[{\rm 24.}] {\sc Crane, D.} {\it Invisible colleges.} \dots +\end{description} + +Perhaps \LaTeX\ 3.0 could use the {\tt aux} file to refine an initial estimate +of the width of the final \verb+\numentry+'s \lq\lq label'', so that the +do-it-yourself-er wouldn't need to supply a {\it widest-label\/} argument. + +\paragraph{Author-date} + +The commands \verb+\dcite+, \verb+\adcite+ and \verb+\adentry+ might +be defined to have the forms \verb+\dcite{+{\it key-list}\verb+}+, +\verb+\adcite{+{\it key-list}\verb+}+ and +\verb+\adentry{+{\it cite-key}\verb+}{+{\it author}\verb+}{+{\it date}\verb+}+. +The {\tt adrefs} environment would {\it not} have a {\it widest-label} +argument, since in this scheme entries in the reference-list are unlabelled. + +If such a definition of \verb+\adentry+ was documented in the successor to +\cite{lamport-86}, a do-it-yourself-er would be able to use the author-date +system just as easily as the \lq\lq reference by number'' system. + +To conform to the ISO specification \cite{iso-690}, the successors to the +``standard styles'' would arrange for \verb+\dcite+ to give a citation of +the form (1972), for \verb+\adcite+ to give a citation of the form +(Crane, 1972), and for \verb+\adentry+ to give a reference-list entry with no +label. + +\paragraph{Short form} + +The \verb+\firstcite+, \verb+\sfcite+ and \verb+\sfentry+ commands might +be defined as \verb+\firstcite{+{\it key-list}\verb+}+, +\verb+\sfcite{+{\it key-list}\verb+}+ and +\verb+\sfentry{+{\it cite-key}\verb+}[+{\it + fairly-full-form}\verb+]{+{\it short-form}\verb+}{+{\it + full-reference}\verb+}+. +Such definitions would, in effect, automate Butcher's manual method of +ensuring consistency \cite[p.\ 178]{butcher-81}. +Having {\it full-reference} as an argument means that the full reference +can be used as the default {\it fairly-full-form} (to be used when the work +is first cited \cite[p.\ 407]{chicago-82}). +The {\tt sfrefs} environment would {\em not} have a +{\it widest-label} argument. + +The successors to the ``standard styles'' would arrange for \verb+\firstcite+ +to produce the {\it fairly-full-form} and \verb+\sfcite+ to produce the +{\it short-form}.% +\footnote{% +This makes the pessimistic assumption that \LaTeX\ can not itself determine +whether a citation is the \lq\lq first citation'' of a particular work. +If someone was ingenious enough to produce code that determined whether a +citation is a \lq\lq first citation'', {\tt\ttbackslash firstcite} would be +unnecessary (except, perhaps, for the construction of tables of abbreviations +\cite[p.\ 414]{chicago-82}.)% +} +To conform to the ISO specification \cite{iso-690}, neither +\verb+\firstcite+ nor \verb+\sfcite+ +would add any punctuation (but, for example, a style file that implemented +the MLA conventions would have to add brackets \cite[ch.\ 5]{gibaldi}). +In the successors to the ``standard styles'', +the \verb+\sfentry+ would produce an entry with no label. + +People producing other style files would be free to implement other +conventions \cite[p.\ 168]{butcher-81}. + +Some works may have no bibliography or may have just a \lq\lq select +bibliography'' \cite[p.\ 168]{butcher-81}. For such works, it will still +be necessary to supply the details for use by \verb+\firstcite+ and +\verb+\sfcite+. It may therefore be worth allowing a form of +{\tt sfrefs} (e.g., \verb+\begin{sfrefs}[null]+) +that holds details of cited works but does no typesetting. + +\paragraph{Additional references} +\label{3.0-additional} + +Since the entries in an \lq\lq additional list'' will not be cited as such +(although an \lq\lq all sources consulted'' list may contain a duplicate of +a cited entry in a \lq\lq works cited'' list), the list will be typeset +without \lq\lq labels''. Even in a document that uses the \lq\lq reference by +number'' citation scheme (and so needs \lq\lq labels'' in the {\tt numrefs} +list), there will be no \lq\lq labels'' for the entries in an additional list. + +It therefore seems likely that the {\tt morerefs} environment could +be implemented as a variation of {\tt adrefs} or {\tt sfrefs}, the main changes +being: +\begin{itemize} +\item a change of title (but see section \ref{reflist-scope}) +\item absence of + {\it cite-key, author, date, fairly-full-form} and {\it short-form} + arguments. +\end{itemize} + +\subsubsection{Order within the reference-list} + +As stated in section \ref{div-of-labour}, it is probably best to leave +any sorting of the reference-list to some other software, or to the author. + +However, it might be possible for \LaTeX\ to provide a warning if a +reference-list is obviously in the wrong order. Perhaps: +\begin{itemize} +\item although there may be no easy alternative to numbering + \verb+\numcite+s in order of appearance within {\tt numrefs} + (even though \lq\lq order of first citation'' is usually what + is required), \LaTeX\ could give a warning if a \verb+\numcite+ + gave a number that exceeded the \lq\lq biggest number produced + by \verb+\numcite+ so far'' by more than one. +\item there could be a warning if an \verb+\adentry+ had an + {\it author} whose first letter came before the first letter of the + preceding \verb+\adentry+'s {\it author} in the alphabet. +\end{itemize} + +\subsubsection{Citation of a specific division} +\label{division} + +As stated in section \ref{2.09-citations}, provision needs to be made for +the citation of a particular division (e.g., page, section, chapter, +equation) of another work. The syntax of citation commands should +not only allow several works to be cited simultaneously, but should also +allow the relevant division of each work to be specified. + +From the author's point-of-view, there would be a variety of satisfactory +ways to specify citations that are to appear as +``[4, p.\ 10; 5; 6, p.\ 3]'', e.g. +\begin{verbatim} + \numcite{smith[p. 10],brown,jones[p. 3]} + \numcite{smith, p. 10; brown; jones, p. 3} + \numcite{smith & p. 10; brown; jones & p. 3} +\end{verbatim} +The precise syntax would have to take +account of the practicalities of programming a command that has to be able +to accept pairs of arguments, where the second member of each pair is optional. + +Analogous facilities would be needed for author-date and \lq\lq short form'' +citations. + +Incidentally, since abbreviations such as p., ch., sec., and fig.\ are +common when such divisions are specified, I think that citation commands +should arrange for the optional arguments to be typeset with +\verb+\frenchspacing+. + +\subsection{Details of reference-lists} + +\subsubsection{Variations within mainstream publishing practice} +\label{mainstream-lists} + +Although many academic and technical publications involve only a single +undivided reference-list, some such publications involve: +\begin{description} +\item[more than one list] + This situation can arise: + \begin{itemize} + \item when there is a list of \lq\lq further reading'' etc., + as well as the list of \lq\lq works cited''. + This case has been covered in sections \ref{support-additional}, + \ref{2.09-additional}, \ref{4-sets} and \ref{3.0-additional}. + \item when conference proceedings are produced, since each + contribution may have its own reference-list. + \item in manuals for software. For example, in \cite{norusis}, a + software house's own publications are introduced in the preface + and cited (in effect) using a \lq\lq short form'' scheme, while + other people's publications are listed at the end of the manual + and are cited using the author-date scheme. + \end{itemize} +\item[subdivisions within a list] + Some reference-lists, particularly in the humanities, are subdivided + according to the source of the cited documents (see + \cite[p.\ 183]{butcher-81}, \cite[p.\ 425]{chicago-82} and + \cite[p.\ 88]{gibaldi}). +\end{description} + +In some cases, an author may wish to add explanatory paragraphs describing, +for example, how material was chosen for a \lq\lq select bibliography'' +\cite[fig.\ 15.11]{chicago-82} or information about access to (document) +archives \cite[fig.\ 15.16]{chicago-82}. + +\subsubsection{\protect\LaTeX\ 2.09} + +\LaTeX\ 2.09 can cope with documents that have more than one +{\tt thebibliography} environment, and seems to deal satisfactorily +with a situation in which some \verb+\cite+ commands are to +one {\tt thebibliography} and some are to another (provided that +the {\it cite-key\/}s are unique). The default effect is +to give {\it label\/}s that are not unique, which will be acceptable +when each contribution to a \lq\lq conference proceedings'' has its +references numbered from one, but not if \lq\lq works cited'' +and \lq\lq additional references'' are both numbered from one +(see section \ref{2.09-additional}). + +The specification of {\tt thebibliography} \cite[p.\ 187]{lamport-86} +does not allow anything other than \verb+\bibitem+s within a +{\tt thebibliography} environment. Hence, it is not clear +how one can introduce subheadings within a reference-list. +(In practice, a \verb+\section*+ seems to work between +\verb+\bibitem+s, but I suspect that it puts \LaTeX\ 2.09 into a loop +if placed before the first \verb+\bibitem+.) + +Anyone trying to add explanatory paragraphs (as in \cite[fig.\ +15.11]{chicago-82} and \cite[fig.\ 15.16]{chicago-82}) will probably +find that \LaTeX\ 2.09 objects that +\begin{quote} +\lq\lq{\verb+Something's wrong--perhaps a missing \item+}''. +\end{quote} + +\subsubsection{\protect\LaTeX\ 3.0} + +Ideally, in order to provide support for the conventions that are routine +in mainstream publishing practice, \LaTeX\ 3.0 should be able to cope with +all the variations outlined in section \ref{mainstream-lists}. + +\paragraph{Multiple lists} + +The suggestions made in section \ref{what-to-do} would probably cater for most +situations where a document has more than one reference-list. + +The distinction between {\tt morerefs} and the other environments for +reference-lists would take care of situations where there is a list of +\lq\lq additional references'' as well as a list of \lq\lq works cited''. +The distinction between the \lq\lq short form'' commands/environment +and the other commands/environments would take care of situations where a +software house uses \lq\lq short form'' for its own publications +and some other scheme for other publications. Conference proceedings +will be able to have \lq\lq a reference-list for each contribution'' +if \LaTeX\ 3.0 follows the \LaTeX\ 2.09 precedent that allows +more than one {\tt thebibliography} in a document. + +\paragraph{Subdivisions and explanatory paragraphs} + +I have the impression that, because the sciences have different conventions +from the humanities, people using the \lq\lq reference by number'' citation +scheme are unlikely to want the options of subdividing their reference-list +and inserting explanatory paragraphs. Therefore, it would be legitimate to +say (for example) \lq\lq subdivisions and explanatory paragraphs are supported +within {\tt adrefs}, {\tt sfrefs} and {\tt morerefs} but not within +{\tt numrefs}'', if this made the programming task easier. + +For example, it might be convenient to implement {\tt numrefs} as +a \lq\lq list-making environment'' (as in \LaTeX\ 2.09) but to implement +the other environments in some other way. Lack of support for subdivisions +and explanatory paragraphs is unlikely to matter in {\tt numrefs}; the +\lq\lq other way'' (more like \verb+\paragraph+, perhaps?) might make it +easier to implement support for these facilities in the other environments. + +\paragraph{Other problems} +\label{reflist-scope} + +One approach to some of the problems mentioned in section \ref{2.09-other} +is for the standard styles to define the heading for the reference-list by, +for example, \verb+\def\numrefsheading{References}+, so that anyone who wants +to change the heading can do so by issuing a \verb+\renewcommand+ command +somewhere before the start of their reference-list. + +Another approach is to work in terms of the standard publishing industry +concept of \lq\lq back matter'' \cite[p.\ 4]{chicago-82}. Instead of having to +understand where the {\it heading}, {\it left-head}, {\it right-head} and +table-of-contents entry (or lack of it) originate for units such as the +glossary (if any), the reference-list(s) and the index (if any) +{\em separately}, an author would only have to understand how these features +are treated {\em consistently} within \lq\lq back matter''. + +Although the \lq\lq back matter'' approach could be used if environments +such as {\tt numrefs} followed the {\tt thebibliography} precedent and issued +commands such as \verb+\chapter+ or \verb+\section+ themselves, authors +might find the way that {\it heading}, {\it left-head}, {\it right-head} and +table-of-contents entry materialize less mysterious if it was just the same +for a reference-list as for (say) a glossary. This would imply that +{\tt numrefs}, {\tt adrefs}, {\tt sfrefs} and {\tt morerefs} should +not issue commands like \verb+\chapter+ or \verb+\section+ themselves. +As a bonus, it would then be possible for an author to insert an explanatory +paragraph before the reference-list, and to arrange for subdivisions. + +For example, if there was a {\tt backmatter} environment within which +\verb+\chapter+ was treated as defining a unit of \lq\lq back matter'', +an author's file might contain commands such as +\begin{verbatim} +\begin{backmatter} + \chapter{Glossary} + ... + \chapter{References} + \section{Primary sources} + \begin{sfrefs} + ... + \end{sfrefs} + \section{Secondary sources} + \begin{sfrefs} + ... + \end{sfrefs} + \chapter{Further reading} + \begin{morerefs} + ... + \end{morerefs} +\end{backmatter} +\end{verbatim} + +\subsection{Conclusion} + +\LaTeX\ has a large number of users, and potential users, who wish to produce +documents that conform to the conventions that are standard in academic +publishing. One element of their requirement is the need to conform to the +conventions for citations and reference-lists that are usual in their +disciplines. + +The choice for \LaTeX\ 3.0 may be between: +\begin{enumerate} +\item having more facilities for citations and reference-lists than + \LaTeX\ 2.09, perhaps as suggested in section \ref{what-to-do}. + This would imply an increase in: + \begin{itemize} + \item the amount of code needed to implement the facilities, and + the guru time needed for writing the code + \item the number of pages needed, in the successor to \cite{lamport-86}, + to describe the facilities --- perhaps 8 pages rather than + the 2 pages in \cite{lamport-86}. + \end{itemize} +\item no significant increase in the facilities provided for citations + and reference-lists. Contrary to the idea of \lq\lq freeing people + from formatting concerns to allow them to concentrate on writing'' + \cite[p.\ 8]{lamport-86}, many authors (perhaps most authors) would be + wasting time: + \begin{itemize} + \item hacking at style-files + \item searching (software) archives for ready made solutions + \item taking up support staff's time in the search for advice + (with the support staff + in turn taking up gurus' time in their search for solutions). + \end{itemize} + Moreover, most of this time would be wasted by (or on behalf of) authors + who don't want anything at all exotic; they just want to conform + to the conventions that are standard in traditional academic publishing. +\end{enumerate} +I'm inclined to think that the first option would be the lesser of the +two evils. + +\subsection*{Appendix: Interface with \protect\BibTeX} +\addcontentsline{toc}{subsection}{Appendix: Interface with \protect\BibTeX} + +The preceding sections make some suggestions for a \LaTeX\ 3.0 user +interface that would enable the do-it-yourself-er to conform to +the conventions that are usual in academic publishing. +It is also necessary to consider the implications for the interface to +\BibTeX. + +\subsubsection*{Single reference-list} + +Inspecting {\tt bst} files gives me the impression that, if it +was decided to adopt a scheme such as that described in section +\ref{what-to-do}, it would be fairly easy to produce new {\tt bst} files +to supersede existing ones. For example, a {\tt bst} file +that implemented a \lq\lq reference by number'' scheme would write +\verb+\numentry+ commands rather than \verb+\bibitem+ commands. + +If {\tt bst} files were created in this way, they would be able to +deal with the straightforward situation when there is a single +reference-list that contains all works cited (plus, possibly, +any works specified by a command like \verb+\nocite+). + +\subsubsection*{Multiple reference-lists, all with the same style} + +More complicated situations can arise in which a document involves +several reference-lists. For example: +\begin{itemize} +\item The editor of the proceedings of a conference might want the + published proceedings to have a reference-list at the end of each + chapter. +\item If, as suggested in section \ref{reflist-scope}, {\tt sfrefs} was + implemented in a way that allowed a sequence of {\tt sfrefs} environments + to each be preceded by a \verb+\section+ command, then, as far as + \BibTeX\ is concerned, each {\tt sfrefs} environment might be a separate + reference-list. +\end{itemize} + +In both these examples, the document would involve several reference-lists, +but each reference-list would need to be typeset in a common style. +I assume that the main problems would be in arranging: +\begin{itemize} +\item to have multiple {\tt bbl} files, or distinct divisions of a single + {\tt bbl} file +\item that each reference-list takes its entries from the correct {\tt bbl} + file, or from the correct division of a single {\tt bbl} file. +\end{itemize} + +\subsubsection*{Two reference-lists, each with a different style} + +People producing documents that have a second reference-list (e.g., +\lq\lq further reading'') in addition to the list of \lq\lq works cited'' +might want the first list typeset in one style and the second +list typeset in another. (In particular, if the \lq\lq reference by number'' +scheme is used, the first list will have \lq\lq labels'' but the second +list will have no \lq\lq labels''.) If the commands/environments suggested +in section \ref{what-to-do} were implemented, the first list would use +{\tt numrefs}, {\tt adrefs} or {\tt sfrefs}, while the second list would +use {\tt morerefs}. + +In this situation, it would be necessary to communicate to \BibTeX\ +that two lists are required, but that they are to be typeset in different +styles. Since the second list is to contain \lq\lq works {\em not\/} +cited'', it will also be necessary to specify the works to be shown in the +second list. + +If it is decided to extend the interface between \LaTeX\ and \BibTeX\ to +cater for such situations, it will probably be necessary to consider +defining alternatives to \LaTeX\ 2.09's \verb+\bibliography+ and +\verb+\bibliographystyle+ commands, since it seems unlikely that the syntax +of the \LaTeX\ 2.09 commands could be extended so as to pass the necessary +information. One might, for example, consider syntax such as +\verb+\bibtexcites[+{\it cites-style}\verb+]{+{\it bib-files}\verb+}+ +and +\verb+\bibtexmore[+{\it more-style}\verb+]{+{\it bib-files}\verb+}{+{\it + key-list}\verb+}+. +Here, it is assumed that: +\begin{itemize} +\item the \verb+\documentstyle+ would set defaults for the {\it cites-style} + and {\it more-style} that are to be passed to \BibTeX, but the user + can over-ride the defaults via the optional arguments to + \verb+\bibtexcites+ and \verb+\bibtexmore+ +\item \verb+\bibtexmore+'s {\it key-list} argument would be used to + specify the works to be included in the list of \lq\lq additional + references''. +\end{itemize} + +If it is not practicable to extend the \LaTeX/\BibTeX\ interface to cater for +these situations automatically, it would presumably be a matter of +some \lq\lq human intervention'': +\begin{itemize} +\item to prepare a {\tt bbl} file for the \lq\lq additional references'' +\item to \verb+\input+ the {\tt bbl} file. +\end{itemize} + +\section{Further e-mail comments} + +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Date: 4 Apr 91 12:16:14 + +Here are a few comments on Nico's comments (5th March) about my paper on +citations and reference-lists. + + +>> 2. The paper on reference lists concentrates too much on layout and not +>> enough on structure. For a, in my humble opinion, much more valuable +>> discussion of LaTeX 3.0, reference lists and BibTeX I'd like to refer to the +>> talk Frank Mittelbach gave at the Cork conference last year. + +Frank has sent me a copy of "BibTeX reconsidered", by Reinhard Wonneberger +and himself. I think that this is the written version of the talk that +he gave at Cork. There seems to be a lot of common ground between my paper +and "BibTeX reconsidered", although the former is looking at it from the LaTeX +point-of-view while the latter is looking at it from the BibTeX point-of-view. +[Both my paper and "BibTeX reconsidered" would like support for multiple +bibliographies, the short title/form scheme (often in footnotes) and +commented bibliographies.] + +I'd like "document support" (as Reinhard/Frank put it) for reference-by-number, +author-date and short-form citation schemes. My paper suggested one possible +user interface through which this support could be provided. Of course, +other interfaces could be defined that would do the job. I think that the +main thing is to provide satisfactory support for the 3 schemes. + + +>> I'm totally opposed to the idea of having different coding schemes for +>> different systems of citation. In my opinion, this goes completely against +>> the basic idea behind LaTeX and SGML, namely separation of form and contents. +>> Consider the amount of re-coding when switching from the number system to the +>> name-year system! + +There are differences between the schemes that may be so significant that +they could/should be regarded as "different in form". +* For instance, ISO 690 gives the example + The notion of an invisible college has been explored in the + sciences (24). Its absence among historians is noted by + Steig (13, p. 556). It may be as Burchard (8) points out ... + which, if converted to author-date, would be + The notion of an invisible college has been explored in the + sciences (Crane, 1972). Its absence among historians is noted by + Steig (1981, p. 556). It may be as Burchard (1965) points out ... + where the substitution has to take account of whether the author's name + does or does not occur naturally in the sentence. I.e. the form of + citation depends on what else is in the sentence, and conversion + cannot easily be automated. Similarly, I'd be surprised if one can + guarantee to be able to change from other schemes to the + short-form scheme without some re-writing. +* Reference-by-number involves keeping track of one thing (the number), + author-date involves keeping track of two (surname and date), short-form + involves keeping track of at least two things (form for first citation, + form for subsequent citations, perhaps also the full form as the default + form for first citation). +If the schemes are different in form (i.e. involve different logical +structures), it may be legitimate to consider having different coding +schemes, while still aiming at separation of form from content (e.g. +whether reference-by-number uses superscripts or brackets). + +However, if someone has sufficient insight to be able to propose a single user +interface that can cater for all three schemes (plus possible "additional +references") within one set of commands/environments, I agree that it +would be very nice. My own attempts to define a single interface +that would cater for all three schemes have ended up being unsatisfactory. +Here's how they end up unsatisfactory. + ------------ +For the purpose of this account I'll use \refentry to mean the successor +to \bibitem. Presumably \refentry would have to have 2 or 3 arguments besides +the cite-key (rather than \bibitem's one extra argument) so that the arguments +could be used for: +- nothing, in the reference-by-number scheme (since LaTeX would supply + the numbers) +- author and date, in the author-date scheme +- first-citation-form and subsequent-citation-form, for the short-form + scheme. +Thus, for reference-by-number, the user (or BibTeX) would supply +\refentry{cite-key}{}{} ... +but for author-date they would supply +\refentry{cite-key}{author}{date} ... +while for short form they would supply +\refentry{cite-key}{fairly-full-form}{short-form} ... +[We're already in trouble. How do we deal with what appears to be the tendency +in short form for the "full reference" to be the default "fairly full form"? +Do we go for \refentry{cite-key}[fairly-full-form]{short-form}{full reference}, +and if so what are the implications for the other 2 schemes?] +Or should one go for +\refentry{cite-key}{author}{date}{fairly-full-form}{short-form} ... +so as to give LaTeX all the information it needs to allow completely +automatic switching between citation schemes, separating form from content +but placing a heavy burden on the user (who would have to provide +at least dummy information for both author-date and short-form +schemes, even if they are only going to use reference-by-number)? + +For citation commands one might have \cite and \shortcite (following +precedents in the archives) [but see section 6.5 of my paper, about citation +of a specific devision]. By aiming at author-date, one might be able to +get a .tex file that also worked for reference-by-number. For example, +if \cite and \shortcite both gave a number when a .sty file implemented +reference-by-number, while \cite gave (author, date) and \shortcite +gave (date) when a .sty file implemented author-date, the following +input might work for both schemes: + The notion of an invisible college has been explored in the + sciences \cite{crane-72}. Its absence among historians is noted by + Steig \shortcite{steig-81[p. 556]}. It may be as Burchard + \shortcite{burchard-65} points out ... +I don't think that the reverse would work, i.e. if you think in terms +of reference-by-number while writing, you'll do things like + Steig \cite{steig-81[p. 556]}. It may be as Burchard +which, if converted automatically to author-date, would give + Steig (Steig, 1981; p. 556). It may be as Burchard +which gives two occurences of Steig, which isn't right. +For short-form, you might interpret \cite as meaning "the form of citation +used at first citation" and \shortcite as meaning "the form to be used +subsequently". But if you do this, you'll put your \shortcites in +places that are different from the places you'd put them for author-date +For example, you might have (using an ISO 690 example again) + ... Steig \cite{steig-81}. It may be as Burchard + \cite{burchard-65} points out ... Steig \shortcite{steig-81} + has further noted ... +for the MLA or + ... Steig\footnote{\cite{steig-81}} ... Steig\footnote{\shortcite{steig-81}} +for most other publications that use short-form. [This assumes that the first +of these citations of Steig above is actually the first citation of Steig +in the whole document (or chapter).] But this would not give you the right +input file for author-date, for which you would want + ... Steig \shortcite{steig-81}. It may be as Burchard +Again, you might be able to convert automatically TO reference-by-number, +but it seems unlikely that you could convert automatically FROM +reference-by-number. The problem might disappear if LaTeX itself could work +out which citations are "first citations". Then someone can put \cites and +\shortcites in the places required for author-date but choose a .sty file +that gives short-form; the .sty file would ignore the distinction between +\cite and \shortcite and would use the fairly-full-form for "first citation" +and the short-form for subsequent citations. But can LaTeX work out which +citations are "first citations"? + ------------ +Although one can try (as above) to imagine a single set of +commands/environments that would support all three schemes, it seems to +lead to problems, and I worry that, in making things right for one scheme, +they'll be made wrong for another. So I gave up on the idea of a single +set of commands, which was why my paper went for the idea of separate +commands/environments tailored to the 3 specific citation schemes. +But, if someone has more success than I did in imagining how a single set of +commands/environments could be simultaneously compatible with all three schemes, +I'd be interested to see their proposals. + +Or should one be less ambitions, perhaps aiming to satisfy people who +want reference-by-number and author-date, and not bothering about people +who want short-form? Things like \refentry{cite-key}{author}{date}, +\cite and \shortcite might work for both reference-by-number and author-date. +(People who want reference-by-number would have to supply author and date +information that they might regard as redundant, unless they go +\refentry{cite-key}{}{} or the syntax is something like +\refentry{cite-key}[author][date].) + + +>> To David's review I'd like to add that \bibitem's have no sub-division, at +>> least not one that is indicated by explicit control sequences (`tags'). +>> Instead, the tagging of \bibitem's is done _outside_ LaTeX, which has always +>> struck me as odd. + +In theory, it would be nice if the \bibitem's did have subdivisions. There +might be subdivisions for the do-it-yourself-er that were analogous to +the fields used by the BibTeX-er. + +In practice, to sub-divide the \bibitems would involve deciding what the +subdivisions should be, which leads one into questions that cause difficulty +in BibTeX (e.g., "Should it be address or place-of-publication?", +"Is it really worth having booklet separate?", "Is it really worth +having phdthesis separate from mastersthesis?", "Does volume mean +number-in-series or subdivision-of-book?"). It may not be easy to +answer these questions. I don't think that it is worth delaying +LaTeX 3.0 while answers are sought. [One could always return to the +question for LaTeX 4.0, if there was one!] +\end{verbatim}\end{footnotesize} + + diff --git a/info/ltx3pub/l3d002f.tex b/info/ltx3pub/l3d002f.tex new file mode 100644 index 0000000000..d760a00ceb --- /dev/null +++ b/info/ltx3pub/l3d002f.tex @@ -0,0 +1,638 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-LTX3-002f, +%%% filename = "l3d002f.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 = "48575 638 4812 31716", +%%% 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{Some e-mail comments on standard styles} + +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Date: 3 Mar 91 17:58:49 + +At Cork, I think that Frank mentioned the idea of both: +1. supplying style files that emulate the effect of the present LaTeX 2.09 + "standard styles" (for backwards compatibility) +2. supplying new "standard style" files. I think he mentioned having + analogues of the current article, report and book, plus having + a "conference proceedings" style. +This note is about (2). + +In general, I'd suggest that (2) be done in line with traditional mainstream +publishing practice. [This seemed to be what Phil Taylor was after when, +at Cork, he described the adjustments he'd had to make to get a LaTeX-ed +book that didn't scream "I've been produced by (La)TeX!", and could be +published. It would be nice if people in his position didn't have to make so +many adjustments.] This leaves the problem of determining what mainstream +practice is. Here are some comments about page-sizes and typefaces. + + + JOURNAL ARTICLES + +As regards journal articles, the book by Page, Campbell & Meadows may be +helpful [1, pp. 35-6]. The gist of it seems to be that, for reasons +connected with the sizes of printing presses, journals tend to ignore +B5 and A4 (or did when [1] was written) and go for page sizes of: +* 244 mm x 172 mm, with a 2-column layout. This is slightly smaller + than B5 (because B5 doesn't make optimum use of the presses). + Page et al. seem to be talking in terms of typesize of "9 on 10.5" + for such a design (although strictly speaking this was for a B5 example.) + Perhaps this is what the analogue of \documentstyle[9pt,twocolumn]{article} + should be designed for. +* 276 mm x 219 mm (demi quarto), with a 2-column layout. This is slighly + smaller than A4. Page et al. seem to be talking in terms of typesize of + "10 on 11.5" for such a design. + Perhaps this is what the analogue of \documentstyle[10pt,twocolumn]{article} + should be designed for. + +Page et al. also give two B5 (250 mm x 176 mm) examples: +* single-column, type-area 197 mm x 130 mm, 10 on 11.5 + Perhaps the analogue of \documentstyle[10pt]{article} should + implement something like this. +* double-column, type-area 206 mm x 133 mm, 9 on 10.5 +These may be more to illustrate economics of different designs than +to say that people actually use B5 much, though. They say that +single column with 10pt is usually preferred for maths & physics. + +If some of the "new standard style" files implemented designs aimed +at the above sizes of paper (with crop marks to show the corners of +the target area), they might serve as a good starting point for anyone who +has to produce a style file for a real journal, particularly if the rest +of the design was based on "the average design" of some real journals +Such styles might also keep authors happy who want to see what their paper +might look like in a real journal. + + + BOOKS + +As regards books, Hugh Williamson suggests that the A series haven't caught +on for book work (not in 1983 Britain, anyway) [2, ch. 3]. He lists the +British Standard cut-page sizes, including (in millimetres): + quarto octavo +crown 246 x 189 186 x 123 +large crown 258 x 201 198 x 129 +demy 276 x 219 216 x 138 +royal 312 x 237 234 x 156 +Apparently 181 x 111 and 178 x 111 are used for paperbacks. +He also lists the corresponding American stock sheet sizes, which give +cut-page sizes of: + 140 x 216 + 156 x 235 + + 127 x 187 + 137 x 203 + 140 x 210 + 143 x 213 +which agrees with the Chicago Manual of Style [3, p. 623]. + +Obviously there is a great variety of sizes. Presumably any new "standard +book styles" would have to be designed for a particular size of paper. I'd +suggest that they be designed for a cut-sheet size that IS actually used for +books (e.g. one or more of the above) and that crop-marks be produced to +show the "target area". Ruari McLean [4, p. 130] says that demi octavo is +one of the most "normal" sizes for books, so perhaps 216 x 138 (or the +nearest US size, 216 x 140) should be one of the "target areas". + +As regards section headings - +Williamson [2, p. 163] mentions the scheme: + level A (i.e., \section) in roman capitals; + level B in small capitals; + level C in upper/lower case italic, + level D in upper/lower case italic, followed by a point, run-in + with text. +"The Chicago Manual of Style" [3, p. 570] mentions: + level A caps & small caps (or full caps) + level B in small capitals + level C in italics, upper/lower case, followed by a point, + run in with text. +There seems a fair amount of consensus between these gurus. Perhaps +elements of these schemes could be combined to give a mainstream design +that isn't going to upset anyone. + + + A4 (and US equivalent) + +We have the contradition that: +* LaTeX is a typeSETTING system. For most books and journals, + the typesetting tradition uses paper that is smaller than A4, and + uses fonts of around 10pt. +* most LaTeX output comes, at least in the first instance, on A4 (or + US equivalent) paper from a laserprinter, where A4 etc. is an "office" + paper size that fits in with the typeWRITING tradition (which usually + involves fonts of arout 12pt). +So the naive user, seeing something from a "book" \documentstyle on A4 +in 10pt, starts to ask "Why doesn't it use all the paper?". Crop +marks, to indicate the page-size for which the design is intended, +might help: +* such people to understand why the design doesn't fill A4 +* avoid such people getting an a4.sty out of an archive and going + \documentstyle[a4]{...} (to get text height/width that purports + to be "for A4 paper") and then wondering why they've got something + that is difficult to read +* help anyone who wants to produce a book to visualise the effect + that was intended by the designer. + +Although it may not be clear which, of the large variety of cut-page +sizes in common use, should provide the target "cut-page sizes" for the +"new standard style's" article and book designs (and their variants), +it does seem fairly clear that: +* the target "cut-page sizes" should generally be smaller than the A4 sheet + on which output will initially appear +* the users should be made aware that the target area is different from A4, + so they don't ruin the design in their attempts to "make it fit A4". + +Obviously, if a design is intended for A4 (as it might be for a +draft article, a report or a thesis), the crop marks would be omitted. +Users would then know that they can use the output just as it comes out +of their laserprinter. + + + GENERAL + +I'd be inclined to make Times Roman the normal font for running text +in any "new standard styles" (with a switch somewhere to substitute +Computer Modern for anyone who doesn't have Times Roman, or wants +to get "nearly ready for publication" before they switch from +preview-able Computer Modern to less-easily-previewed Times Roman). +I have the impression that Times Roman is "the default font" for running +text in mainstream publishing. This would cut out one change that publishers +often seem (rightly or wrongly) to ask people to make who are trying to +typeset a book themselves. [I have nothing against Computer Modern. +I'm just inclined to "bow to the inevitable".] + +I'd be inclined to refrain from providing style-files in situations +where they are unrealistic. For example, if it is very rare for +real journals and books to use a 12 point typeface for running text, +it may not be worth the effort of supporting \documentstyle[12pt]{article} +and \documentstyle[12pt]{book}. To support such things may involve +asking the question "What design would one have for a 12pt journal?", to +which the real answer may be "One wouldn't actually have a 12pt journal." + +As an alternative to "making the cut-page size depend on the font-size" +(which seems the consequence of the 2.09 way of doing things), it might +be worth considering "making the font-size depend on the target page-size". +E.g. rather than having the user go + \documentstyle[11pt,twocolumn]{article} +and (having measured distance between the crop-marks) deducing the +size of paper for which the design is intended, it might make more +sense for the user to go + \documentstyle[...b5]{article} +and get a one-column 10 on 11.5 design intended for B5 paper, or + \documentstyle[...b5,twocolumn]{article} +and get a two-column 9 on 10.5 design for B5, or + \documentstyle[...demisemioctavo]{article} +to get an error message along the lines "Sorry. No single-column +design is available for the demisemioctavo paper-size." Designs could +then be limited to combinations of paper-size and layout that a real +journal might conceivably use. + + + REFERENCES + +[1] Gillian Page, Robert Campbell & Jack Meadows. + "Journal publishing: principles and practice", Butterworths, 1987. + ISBN 0-408-10716-2. + +[2] Hugh Williamson. "Methods of Book Design", Yale University Press, + 1983. ISBN 0-300-03035-5. + +[3] "The Chicago Manual of Style", Chicago University Press, 1982. + ISBN 0-226-10390-0. + +[4] Ruari McLean, "The Thames and Hudson Manual of Typography", + Thames and Hudson, 1980. ISBN 0-500-68022-1. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Sebastian Rahtz <S.P.Q.Rahtz@UK.AC.SOTON.ECS> +Date: Mon, 4 Mar 91 11:11:40 gmt +... writes: + > My feeling on the standard document styles (and this is the way + > that I teach this in my LaTeX classes) is that they DEFINE the + > structures that appear in a document type, but only give an + > EXAMPLE of the appearance of those structures as printed. My +yes, fine. a good approach. but it is not very efficient if the +examples are not directly useable. you are talking about people +writing new style files, but 99.9% of the punters have no clue even +where the style files *are* let alone what to do to amend them. + +I applaud David Rhead's notes. Lamport states clearly that he +consulted document designers when he created the examples styles; +history seems to show that not many people agree with his style +designers, so lets at least try again and make LaTeX acceptable to a +few more people. Would anyone like to claim that LaTeX's defaults are +acceptable to any publisher they have dealt with? I'd suggest that the +defaults are quite suitable for computer science technical reports; +does not LaTeX aspire to be a professional tool? + + > Rather than trying to do something like say, let's make article + > look as much like some "standard" appearance for articles (good + > luck), let's create good structure definitions in our styles, +the two are not opposed + +I was interested by David's reflection that + [12pt]{article} +was contradictory. I suggest that the reason it exists is that people +use `article' for 90% of their daily work (like quick reports on what they +are up to, or class notes) *not* for journal articles. its a misnomer, +IMHO. I have never yet produced a document for use outside this +building that did not require a style different from `article' - are +there *any* journals which would accept it? This is no reflection, of +course, on LL's work! I just think the style designers he talked to +are unrepresentative of the profession. + +These discussions often concentrate on headings, by the way. Lets not +forget lists. Maybe David can tell us the ISO standard for vertical +space between items in an enumerated list + +PS what puts me off going away and playing with these ideas in sample +styles is a slight fear that the style interface will be very +different from what I have now. After hearing Frank talk about the +concept of an environment stack driven by rules, I have been lying +awake at night trying to decide what I think. If that *is* the model +to adopt, then it affects a lot of the ways one thinks about style +files. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Date: 4 Mar 91 15:43:11 + +Sebastian asks whether I can find an ISO standard for vertical space +between items in an enumerated list. + +I doubt whether there is such an ISO standard (although we don't have the +standards here for me to browse through). My impression is that ISO might +pronounce on document-structure and on things like SGML, but that +they are unlikely to pronounce on details of typographic design and +"house style". I haven't been able to find any particular views expressed +about lists in books on typographic design, either (except for Jan White - +see below). + +We do have British Standards for browsing. Those for theses, manuals +and reports (4821, 4884 and 4811) don't express any views on lists +(although they do seem to generally like arabic numbering). + +Jan White devotes pages 88-92 of "Graphic Design for the Electronic Age" +to lists. As a non-guru, I wouldn't lay lists out like Jan White +(not in a book that has non-indented paragraphs, anyway), since it +leaves the reader unclear about where paragraphs end. In documents +that have non-indented paragraphs, I wouldn't put extra space between +list items (because I'd want the reader to be able to distinguish +between "list within paragraph" and "list at end of paragraph", and hence +to be able to distinguish one paragraph from the next). But then Jan White +is a guru and I'm not. + +Martin Bryan devotes pages 328-333 of "SGML: an author's guide" to how a +particular "sample DTD" treats lists, but this doesn't answer Sebastian's +query either. (This particular DTD allows the author to over-ride +"house style" by specifying the numbering sequence to be used. I was +surprised to see such emphasis given to a feature that over-rides +"house style", since I thought that SGML was intended to help deliver +documents that conform to a "house style".) +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +Date: Mon, 4 Mar 91 16:29:09 CET +Comments: Originally-From: Don Hosek <DHOSEK@HMCVAX.CLAREMONT.EDU> + +My feeling on the standard document styles (and this is the way +that I teach this in my LaTeX classes) is that they DEFINE the +structures that appear in a document type, but only give an +EXAMPLE of the appearance of those structures as printed. My +approach to style design is to, after some preliminaries, input +the base style (report/letter/book/article) which defines the +category of documents that I'm working in. + +Rather than trying to do something like say, let's make article +look as much like some "standard" appearance for articles (good +luck), let's create good structure definitions in our styles, +make it easy to adjust the styles with the outline I gave above, +and provide multiple versions of how those classes of documents +could appear. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: N.POPPELIER@NL.ELSEVIER +Date: Tue, 5 Mar 91 12:45:21 +0000 + +I'd like to reply to David Rhead's recent contributions to this list. + + +1. His summary of page sizes and typefaces for book and journal publishing +is of course interesting in its own right, but its relevance with respect to +the discussion going on this list is not high -- this is not meant as a +personal criticism! + +Getting the sizes and typefaces right for a document style for scientific +books or journals always turns out to be the easiest part, in my experience. + +LaTeX needs more tools for designing page layouts, font sets -- the new font +selection scheme is already a major improvement -- and section headings, but +summaries of page sizes or section heading schemes are a bit beside the point +here. + +A few details: + +1.1. As for the use of typeface sizes >10pt: production of camera ready copy +on a larger page frame, using \normalsize = 12pt, followed by photographic +reduction, is normal practice here. `What design would one have for a 12pt +journal?' is not the right question. + +1.2. Times Roman can never be the normal font as long as the only font _all_ +TeX sites have is Computer Modern. Far more important: the new font selection +scheme combined with the virtual-font mechanism enables you to make a +document-style option for _any_ font you like. + +1.3. As for Sebastian's comment: there is nothing wrong with using `article', +especially with \baselinestretch > 1.0 and in combination with the 11pt or +12pt option, for producing a preprint of a research paper. In our, i.e. +Elsevier's, case the printed version produced by the author is excellent for +conventional copy-editing. For compuscripts, it doesn't even matter what the +author uses to print his article, since we put in a new document style during +the production stage. Only in a very limited number of cases do we accept the +printed version for actual production of the book or journal. +So `are there *any* journals which would accept it?' is the wrong question, +at least in Elsevier's case. + + +2. The paper on reference lists concentrates too much on layout and not +enough on structure. For a, in my humble opinion, much more valuable +discussion of LaTeX 3.0, reference lists and BibTeX I'd like to refer to the +talk Frank Mittelbach gave at the Cork conference last year. + +As for `standards in academic publishing': there aren't any! At one of the +first meetings of the Dutch TeX Users Group there was a discussion about this +and a staff member of Kluwer Scientific Publishers argued that every +publisher has his own standards. It's the same here at ESP: every publishing +unit within our company has its own standards, and even though there is +something like an `ESP house style', there is also plenty of variation. + +I'm totally opposed to the idea of having different coding schemes for +different systems of citation. In my opinion, this goes completely against +the basic idea behind LaTeX and SGML, namely separation of form and contents. +Consider the amount of re-coding when switching from the number system to the +name-year system! + +To David's review I'd like to add that \bibitem's have no sub-division, at +least not one that is indicated by explicit control sequences (`tags'). +Instead, the tagging of \bibitem's is done _outside_ LaTeX, which has always +struck me as odd. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: MITTELBACH FRANK <PZF5HZ@EARN.RUIPC1E> +Date: Thu, 7 Mar 91 12:17:48 CET + +Here is an answer from Leslie to Davids mail about sizes +and a few comments of my own. + +----------------------------------------------------------------------------- + + he'd had to make to get a LaTeX-ed book that didn't scream "I've been + produced by (La)TeX!", and could be published. + +LaTeX output screams "I've been produced by LaTeX" because it has been +produced with the same standard document style that every other LaTeX +user uses. As long as there are standard styles, that's going to be +the case. And that's fine with me. + + journals tend to ignore B5 and A4 + +When there is a standard journal, there will be a standard journal +style. Until then, journals who want to typeset using LaTeX will +have to design their own styles. + +As long as the printers used by 99.99997% of LaTeX users use either +8-1/2" X 11" or A4 paper, the standard LaTeX styles will be designed to +be printed on that paper. + +Similarly, until there is a standard-sized book, the standard LaTeX +"book" style will be for 8-1/2" X 11" or A4 paper, so they can be used +while writing the book. (This may come as a surprise to some of the +younger members of the TeX community raised during the television age, +but books actually have to be written--a process that takes orders of +magnitude longer than typesetting.) Thus, "book" describes the logical +structures that are handled, not the size and shape of the typeset +output. + +Leslie Lamport + +----------------------------------------------------------------------------- + +I agree with David insofar as the standard styles do not conform +to general practice at least in europe. +But the aim of the standard styles is to provide a layout that +is displaying the contents in a logical way, down to six levels +of sectional units etc. +Or say it in another way, the LaTeX styles will work with any kind +of document that use their tags. This is often not true for +special styles. + +We certainly have to try making standard styles that will be usable +by many sites without much adjustments, I agree that at the moment +nearly every user (to my experience in Germany) fiddles around with +the settings because the standard University style is sooooo much +different, but we should keep styles that support documents they +the current styles do. + +Adding better support for the two main paper sizes namly Laserprinter +A4 or American size is certainly necessary, and should be part of the +document style since it usually effects quite a few parameter. +The current situation in Europe is not satisfactory with 10 different +A4 styles that all have different problems. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: "Nelson H.F. Beebe" <beebe@edu.utah.math> +Date: Mon, 4 Mar 91 12:47:55 MST + +... + +we should make sure to avoid using style file names longer than 8 +characters (PC DOS strikes again). Even though most TeX +implementations on the PC simply drop the extra characters, and find +the right file, when users employ the truncated name and then port +their files back to other systems, they discover that LaTeX cannot +find their style files, and may have to resort to a TeXpert for help. +... +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Date: 3 Apr 91 11:57:22 + +You may remember my entry about "standard styles" on March 3rd. +Here are a few comments about the subsequent comments. + +I started on March 3rd by recalling that Frank had mentioned (at Cork) the +idea of having both: +1. style files that emulate the effect of the 2.09 standard styles, + book, article, report, etc. +2. some additional style files, analogous to, but different from, + the present book, article and report, plus a "conference proceedings" + style. +[I hope I've remembered Frank's remarks correctly, and that (2) isn't just +a figment of my imagination.] + +My suggestions were about (2). I don't know how definite Frank's plans +are about "having some additional style files". If no-one has time to do +anything, neither my suggestions nor the subsequent comments matter +much anyway. But if someone has time to do something about (2), they might +as well try to make the style files practically useful. This could be +either by having designs that are aimed at a phototypesetter, on which + "print size" will also be "publication size" (which was the scenario + I assumed) +or by having designs that are intended for printing "too big" followed + by photographic reduction for publication (as mentioned by Nico). +If something is done, please could the corresponding style files have +comments stating the design assumptions, e.g. "This design is intended +for ultimate publication (without reduction) on demi-octavo paper. If printed +on bigger paper, it produces crop marks to show the demi-octavo target area." +or "This design is intended for ultimate publication on B5 paper. To achieve +the effect intended by the designer, you must photoreduce the LaTeX-ed +output to 70%" or "This design is only intended for use while you are +writing your book. Unless you are proficient at writing LaTeX style-files, +you are advised to submit your book to a publisher whose staff can supply +style-files that will re-format the book prior to publication.". +I.e. the assumptions should be made clear, so that people know what they +have to do to get the effect the designer intended with the style-files that +form part of the standard distribution, and can make changes (if necessary +to keep their publisher happy) from a position of understanding the +designer's assumptions/intentions rather than from a position of ignorance. + +I'd have thought that Leslie's concern about people who are at the "writing" +stage, and are using standard laserprinter paper, would be catered for by +(1), i.e. the style-files that emulate the 2.09 standard styles. + +Frank reports Leslie as saying + "book" describes the logical structures that are handled +This is obviously true in the sense that LaTeX 2.09's book.sty etc. define the +logical structures that LaTeX 2.09's "book style" handles. But what if +the logical structures that the 2.09 book.sty etc. handle aren't quite +the logical structures of "a book" as understood by the rest of the publishing +industry? See, for example, pages 4 and 5 of the "Chicago Manual of Style" +(which has its origins pre-television) and pages 157-161 of Jan White's +post-television "Graphic Design for the Electronic Age". A move towards the +industry's structures would be "a good thing" (e.g. it would make it easier to +implement design decisions like "within front matter we do this" and "within +back matter we do that"). If questions arise about whether any + "additional style files, analogous to, ... the present book, etc." +should implement 2.09 structures or "publishing-industry standard" structures, +I'd suggest a move towards the "publishing-industry standard" structures. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: Don Hosek <DHOSEK@EDU.CLAREMONT.HMCVAX> +Date: Sun, 3 Mar 91 12:23:00 PST + +My feeling on the standard document styles (and this is the way +that I teach this in my LaTeX classes) is that they DEFINE the +structures that appear in a document type, but only give an +EXAMPLE of the appearance of those structures as printed. My +approach to style design is to, after some preliminaries, input +the base style (report/letter/book/article) which defines the +category of documents that I'm working in. + +Rather than trying to do something like say, let's make article +look as much like some "standard" appearance for articles (good +luck), let's create good structure definitions in our styles, +make it easy to adjust the styles with the outline I gave above, +and provide multiple versions of how those classes of documents +could appear. +\end{verbatim}\end{footnotesize} diff --git a/info/ltx3pub/l3d002g.tex b/info/ltx3pub/l3d002g.tex new file mode 100644 index 0000000000..de36a7d302 --- /dev/null +++ b/info/ltx3pub/l3d002g.tex @@ -0,0 +1,484 @@ +%%% ==================================================================== +%%% @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 = "55562 484 2612 20025", +%%% 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{Could \LaTeX\ do more for chemists?} + +This appendix is based on a \lq\lq paper'' that I e-mailed a while +back. It also contains some e-mailed comments. + + +\section{Motivation} + +\begin{footnotesize}\begin{verbatim} +From: Rainer Schoepf <Schoepf@DE.DBP.ZIB-BERLIN.SC> +Date: Mon, 15 Oct 90 13:09:23 +0100 + +I got the following message a while ago, as a reaction to a discussion +I had with John Simmie after the talk at Cork. He's a chemist, so his +focus of interest is different from the mathematicians one. I think it's +interesting to pass this on to the list. + + - Rainer + +----------------------original message follows ------------------------------ + +... I would like to see ... +a user-definable environment which would parallel displaymath-mode. + +For example, in printing chemical equations the conventions are that +the text is in roman not math-italic---ok this is easily done via +\def\chem{\rm\everymath={\rm}} +and \chem can now be included inside $...$ or \[ ... \] or $$ ... $$ etc +or outside as for {\chem\begin{eqnarray} ... \end{eqnarray}} +Your virtual fonts approach will also work. +Problems arise if mathematical and chemical equations are mixed in the sense +text +text +\begin{equation} pV = nRT \end{equation} +text +\begin{equation}\chem + 2 H_2 + 2O_2 = 2H_2O \end{equation} +text +because the automatic numbering schemes assigns (1) to the first eqn +and (2) to the second. Whereas one wants to number maths eqns and +chemical eqns (reactions) independently---for example, +(2.1) eqn 1 of chapter 2 and (1) reaction number 1, maybe in bold or +oldstyle and maybe with <> brackets. + +At the moment the only solution is to hack into latex.tex +and duplicate LL's \equation and \eqnarray environments with new +counters and parameters---this I have done and it works fine for +simple examples but failed for cases where the number of stacked +eqnarray's exceeded the page size (hash size and other mysterious errors). + +You suggested that AMSTEX might do but on reflection that involves +even more maths---and what us chemists want is less! + +Another feature is the lack of a construct to do the following: + + catalyst + 2H_ + O_2 -------------> 2 H_2O + 300 K; 4 bar +where the length of the arrow (---> or <--- or <===>) is +determined by the amount of text over and under it. + +Note that we do not want to disable the equation environment just +have a second customisable one. + +Regards, John. +\end{verbatim}\end{footnotesize} + +\section{Typesetting and artwork} + +It may help to consider the division of labour +within a traditional publishing house. A ``copy-editor'' +\cite[p.\ 236]{butcher-81} might divide the +work on chemical formulae up between ``the printer'' and ``the draughtsman''. +Thus, some formulae can be typeset, but others are treated as ``artwork'' +and are drawn. + +Although there have been valiant attempts \cite{haas+okane,ramek-90} +to define \TeX\ macros for +drawing chemical structure diagrams, +I think it is inevitable that, whatever \TeX\ macros +are defined, there will be chemists who come along with requirements that +are beyond the abilities of the macro packages. Therefore, it seems sensible +to retain the traditional division between typesetting and artwork: to +typeset those formulae that can be typeset easily and to get the other +formulae drawn in some way. + +In \TeX\ terms, artwork can be treated as ``graphics'' to be +``pasted'' into a typeset document via \verb+\special+. +For example, +{\sc chemdraw} +\cite{CSC} can produce ``encapsulated {\sc PostScript}'', +so a \LaTeX-ed document with {\sc chemdraw} diagrams can be printed on +a {\sc PostScript} printer. + +\section{Desirable facilities for chemists in the new \protect\LaTeX} + +\LaTeX\ is never going to be a system for producing ``artwork'', +so it seems to me that it would be unwise to attempt to provide comprehensive +facilities for ``chemical artwork'' in \LaTeX. +However, it does seem worth providing a limited number of +facilities to make it easier to produce the chemical +formulae that should be treated as ``typesetting''. + +\subsection{Environments} + +Chemists' problems start when they use \LaTeX's ``mathematics'' +environments for ``chemistry''. Chemistry is not mathematics, and +the conventions for typesetting chemistry are different from those for +typesetting mathematics. In terms of the \LaTeX\ philosophy +\cite[p.\ 6]{lamport-86} +``mathematics'' and ``chemistry'' represent ``logically distinct structural +elements''. + +It would seem natural to: +\begin{itemize} +\item define environments for chemists that are + analogous to the environments that are available for mathematicians +\item within these ``chemistry'' environments, aim to keep to + whatever typesetting conventions are usual in chemistry. +\end{itemize} +How about defining {\tt chem}, {\tt displaychem} and {\tt chemequation} environments, +by analogy with {\tt math}, {\tt displaymath} and {\tt equation}? + +If such environments were defined, the style-file writer would then +have control over ``mathematics'' and ``chemistry'' separately. +In particular: +\begin{itemize} +\item The default would be \verb+\rm+ for chemistry (although + a designer could change the default in a {\tt .sty} file). + Individual + authors would no longer have to search through + ``double bend'' sections of the \TeX book themselves + \cite[pp.\ 163 \& 179]{knuth-90}. +\item A designer could implement a house-style in which + mathematical and chemical equations are numbered in separate + sequences + \cite[p.\ 224]{butcher-81} or a house-style in which there is only one + sequence of numbers \cite[p.\ 132]{dodd-86}. +\item It might be possible to arrange that subscripts will normally be + at the same level \cite[p.\ 179]{knuth-90} inside the environments + for chemistry. +\end{itemize} + +\subsection{Commands} + +At first sight, the \LaTeX\ manual \cite[ch.\ 3]{lamport-86} gives +the impression that \LaTeX\ 2.09 provides the +``building blocks'' to give all the arrows, harpoons and annotation that +a chemist could want. However, it is often difficult to get these +building blocks arranged in the ways required. +For example: +\begin{itemize} +\item How does one obtain CH${_3}$(C=O)OCl + \cite[p.\ 235]{butcher-81} in ``math mode''? + We can't simply + use ``='' + to mean ``double bond'', since \TeX\ puts space + around it. +\item To represent a reversible reaction with rate constants above/below + a pair of harpoons, I ended up with + \begin{verbatim} + \[ + \renewcommand{\arraystretch}{0.5} + A \begin{array}{c} + \scriptstyle k\_1 \\ [1mm] + \rightleftharpoons \\ + \scriptstyle k\_{-1} + \end{array} B + \] + \end{verbatim} + before it looked right. Surely individual \LaTeX\ users shouldn't have + to re-do the ``tuning'' needed to get these things right? +\item As in the above example, + arrows and harpoons are often labelled to show reaction conditions. + It is not clear how to get arrows/harpoons that expand to the + width of the labels. +\end{itemize} +Many of these difficulties are another consequence of trying to use, +for chemistry, +the structural elements that were designed for mathematics. + +So what commands might usefully be made available inside some future +``chemistry'' environments? +\begin{itemize} +\item +It seems desirable \cite[p.\ 237]{butcher-81} +to have documented facilities for +single and double bonds. Triple bonds might also be needed +\cite{chemsoc-61}. +Documented facilities would also be useful for representing +\begin{itemize} +\item single bonds by raised dots \cite[p.\ 59]{hart-83} +\item ``association of an unspecified type'' by three centred dots + \cite[p.\ 96]{dodd-86}. +\end{itemize} + +Might commands such as \\ +\verb+\bond+, \verb+\doublebond+, +\verb+\triplebond+ and \verb+\association+ \\ +be appropriate? +\item +It seems desirable to have specific commands for arrows/harpoons +with labels above/below (to indicate conditions or rate +constants). We can obtain an indication of the combinations +of arrows/harpoons that might have traditionally been typeset from +\cite[p.\ 371]{chicago-82}. +Thus, as well as providing simple arrows for one-way reactions, it might +be worth aiming to provide commands for: equilibrium reactions (beginning +at left and right); reversible reactions (beginning at left and right); +reactions beginning at left/right and completed to left/right. +Might it be worth defining some commands such as \\ +\verb+\oneway+, +\verb+\equilibriumR+, +\verb+\equilibriumL+, +\verb+\reversibleR+, \\ +\verb+\reversibleL+, +\verb+\rightright+, +\verb+\rightleft+, +\verb+\leftright+, +\verb+\leftleft+, \\ +that each accept two parameters: one to give a label +above the symbol, the other to give a label below the symbol? +For example, + +\begin{footnotesize}\begin{verbatim} +\begin{displaychem} + 2H\_2 + O\_2 \oneway{catalyst}{300 K; 4 bar} 2 H\_2O +\end{displaychem} +\end{verbatim}\end{footnotesize} + +might be a natural way to specify +\marginpar{\it But oneway, etc.\ + should ensure that symbol width exceeds label width} +\[ \rm +2H_2 + O_2 + \renewcommand{\arraystretch}{0.5} + \begin{array}{c} + \scriptstyle\rm catalyst \\ [1mm] + \longrightarrow \\ + \scriptstyle\rm 300\ K;\ 4\ bar + \end{array} + 2H_2O +\] +\end{itemize} + +\section{Work involved} + +I'd guess that my suggestions about environments could be implemented +by slight modications of the code that implements the corresponding +environments for mathematics. + +Some new work would be required for commands such as +\verb+\bond+, \dots~, \verb+\association+, +\verb+\oneway+, \dots~, \verb+\leftleft+. (The only facility +like \verb+\oneway+, \dots~, \verb+\leftleft+ +that I've found +in an existing macro package is that for arrows in \AmSTeX\ +\cite[p.\ 140]{spivak-86} +but, from a chemist's point-of-view, this doesn't provide sufficient +choice of symbols.) + +It might be worth seeking advice about objectives +from people who typeset chemistry professionally. +% Perhaps the UK's Royal Society of Chemistry would be prepared to advise +% about details. I've been in e-mail correspondence with their Publications +% Manager about authors submitting manuscripts electronically to them, +% although they seem to be going the wordprocessor + chemdraw + SGML route. + +\section{Documentation} + +If the facilities that I've outlined above were provided, I would +be inclined to give them less prominence in the documentation than +the analogous facilities for mathematicians. This would help +give the impression that, whereas mathematicians can expect \LaTeX\ +to do everything they want, chemists can only expect \LaTeX\ to do a certain +proportion of what they want. +For example, in the successor to \cite{lamport-86}, +the description of facilities for +chemists might be relegated to an appendix, which could start with a +paragraph explaining that the facilities are intended to support ``typesetting'' +but not ``artwork''. + +\section{Some e-mail comments} + +\begin{footnotesize}\begin{verbatim} +From: CA_ROWLEY@UK.AC.OPEN.ACS.VAX +Date: Mon, 22 Oct 90 13:51:21 GMT + +This is a comment on the message from John Simmie, passed on by Rainer: + +Whilst I think that the typesetting of chemical formulas, etc, is an +important area for any TeX-based system to provide. I think that, in +common with maths, it should be provided by an add-on package (as +AMS-LaTeX does for maths). This should be written in close +cooperation with experts in such typesetting. + +Nevertheless, we should attempt to ensure that we dot make any +decisions about "basic LaTeX" which make such an add-on dificult to +produce. It is not clear to me how we can achieve this in general +(since it applies to many other specialist areas of typeseting) +but I cannot see anything in John's requests that requires any changes +to basic LaTeX. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Date: 24 Oct 90 14:10:44 + +% A LaTeX input file +\documentstyle[11pt]{article} + + +\begin{document} + +% A chemist might hope to typeset single/double/triple bonds in +% the following "obvious" ways. However, none of them will give +% what is required (because, although the bonds are visually +% similar to some mathematical sybols, they are logically different). + +A single bond? $X-Y$ + +A single bond? $X.Y$ + +A single bond? $X\cdot Y$ + +A double bond? $X=Y$ + +A triple bond? $X\equiv Y$ + +\end{document} +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +Subject: Re: Facilities for chemists. A LaTeX example file. +From: bbeeton <BNB@COM.AMS.MATH> +Date: Wed, 24 Oct 90 18:14:13 CET + + +in looking at david rhead's chemistry example, i find two distinct +notions presented: + (a) "the bonds are visually similar to some mathematical symbols" +and + (b) "they are logically different" + +why is it necessary to use the existing notation, just because of (a)? +why isn't it possible, yea almost trivial!, to define new names and +structures for these that are logically distinct? tex, after all, is +a powerful macro language -- one of its main, perhaps most important, +selling points. + +i offer another example to illustrate what i'm suggesting. + $\vector a$ (or $\vector{a}$ ) +assume this will be used only in math mode. +if you're a mathematician this becomes + \def\vector#1{\vec{#1}} +if you're a physicist, it becomes + \def\vector#1{{\bf#1}} +here the logical notion is the same, but the representation is different. + +seems to me that this is what sgml is trying to tell us. teach the +user to capture the logic, and let the representation be taken care of +behind the scenes. + +i don't say that the available fonts and structures are adequate for +chemistry (they're almost certainly not), but that doesn't mean that +suitable new ones can't be constructed. +\end{verbatim}\end{footnotesize} +\begin{center} --- \end{center} +\begin{footnotesize}\begin{verbatim} +From: David Rhead ... +Date: 25 Oct 90 14:08:11 + +... + +... with reference to Barbara's message, there may be no difference +between what she's suggesting and what I'm suggesting. ... +... I just intended +to show what a chemist might actually do on seeing the current LaTeX +manual (before the chemist found that it didn't give him/her what s/he +wanted), not to show what I think chemists should do in future. +I agree with Barbara that, in an ideal world (to which we are working with +LaTeX 3.0), the user should not use the existing notation ... +\end{verbatim}\end{footnotesize} diff --git a/info/ltx3pub/l3d002h.tex b/info/ltx3pub/l3d002h.tex new file mode 100644 index 0000000000..f43a81ec96 --- /dev/null +++ b/info/ltx3pub/l3d002h.tex @@ -0,0 +1,282 @@ +%%% ==================================================================== +%%% @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 = "09215 282 1188 10757", +%%% 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.", +%%% } +%%% ==================================================================== + + +\begin{thebibliography}{00} + +\bibitem{lamport-86} Leslie Lamport. + {\it \itlatex: A Document Preparation System.} + Addison-Wesley, 1986 + +\bibitem{m+s-89} Frank Mittelbach and Rainer Sch\"{o}pf. + \lq\lq With \LaTeX\ into the Nineties'', + {\it TUGboat}, {\bf 10} (1989), pp. 681--690. + +\bibitem{chicago-82} + {\it The Chicago Manual of Style.} + Thirteenth Edition. + University of Chicago Press, 1982. + +\bibitem{butcher-81} Judith Butcher. + {\it Copy-editing.} + Second edition. + Cambridge University Press, 1981. + +\bibitem{mclean-80} Ruari McLean. + {\it The Thames and Hudson Manual of Typography.} + Thames and Hudson, 1980. + +\bibitem{williamson-83} Hugh Williamson. + {\it Methods of Book Design.} + Third Edition. + Yale University Press, 1983. + +\bibitem{hart-83} + {\it Hart's Rules [for compositors and readers at the University Press, + Oxford].} + Thirty-ninth edition. + Oxford University Press, 1983. + +\bibitem{miles-87} John Miles. + {\it Design for Desktop Publishing.} + Gordon Fraser, 1987. + +\bibitem{white-88} Jan V. White. + {\it Graphic Design for the Electronic Age.} + Watson-Guptill, 1988. + +\bibitem{tei-90} C. M. Sperberg-McQueen and Lou Burnard (editors). + {\it Guidelines for the Encoding and Interchange of Machine-Readable + Texts.} Draft version 1.1. + Chicago, Oxford: Text Encoding Initiative, 1990. + +\bibitem{aap-1} {\it Standard for Electronic Manuscript Preparation + and Markup.} + EPSIG, c/o OCLC, 6565 Frantz Road, Dublin, Ohio 43017--0702, USA. + +\bibitem{aap-2} {\it Author's Guide to Electronic Manuscript and Markup.} + EPSIG, c/o OCLC, 6565 Frantz Road, Dublin, Ohio 43017--0702, USA. + +\bibitem{aap-3} {\it Reference Manual on Electronic Manuscript and + Markup.} + EPSIG, c/o OCLC, 6565 Frantz Road, Dublin, Ohio 43017--0702, USA. + +\bibitem{aap-4} {\it Markup of Tabular Material.} + EPSIG, c/o OCLC, 6565 Frantz Road, Dublin, Ohio 43017--0702, USA. + +\bibitem{aap-5} {\it Markup of Mathemtical Formulae.} + EPSIG, c/o OCLC, 6565 Frantz Road, Dublin, Ohio 43017--0702, USA. + +\bibitem{knuth-90} Donald E. Knuth. + {\it The \TeX book.} + Seventeenth printing. + Addison-Wesley, 1990. + +\bibitem{bsi-dd52} + {\it Draft for development: Recommendations for the presentation + of tables, graphs and charts.} + DD 52. British Standards Institution. + +\bibitem{mittelbach-88} + Frank Mittelbach. + \lq\lq A new implementation of the {\tt array} and {\tt tabular} + environments'', + {\it TUGboat,} {\bf 9} (1988), pp. 298--313. + +\bibitem{christian-87} + Kaare Christian. + {\it The UNIX text processing system.} + Wiley, 1987. + +\bibitem{trevorrow-86} Andrew Trevorrow. + {\it DVItoVDU User Guide.} + C version 1.0 for Unix. + University of Adelaide Computing Service, 1986. + +\bibitem{torek} Chris Torek. + {\it {\tt dviselect} command specification.} + University of Maryland. + +\bibitem{clark} James Clark. + {\it {\tt dvitops} command specification.} + +\bibitem{bs-5605} + {\it Citing publications by bibliographical references.} + BS 5605. British Standards Institution, 1978. + +\bibitem{bs-6371} + {\it Citation of unpublished documents.} + BS 6371. British Standards Institution, 1983. + +\bibitem{gibaldi} + {\sc Joseph Gibaldi and Walter S. Achert.} + {\it MLA handbook for writers of research papers.} + Modern Language Association of America, 1988. + +\bibitem{huth} + {\sc Edward J. Huth.} + {\it Medical style and format.} + ISI Press, 1987. + +\bibitem{inter} + {\sc International Committee of Medical Journal Editors.} + Uniform requirements for manuscripts submitted to biomedical + journals. + {\it British Medical Journal,} 1988, {\bf 296}, 401--405. + +\bibitem{iso-690} + {\it Documentation --- bibliographic references + --- content, form and structure.} + ISO 690. International Organization for Standardization, 1987. + +\bibitem{oconnor} + {\sc Maeve O'Connor.} + {\it Editing scientific books and journals.} + Pitman Medical, 1978. + +\bibitem{page} + {\sc Gillian Page, Robert Campbell and Jack Meadows.} + {\it Journal publishing: principles and practice.} + Butterworths, 1987. + +\bibitem{norusis} + {\sc Marija J. Noru\v{s}is.} + {\it SPSS-X Introductory Statistics Guide for Release~3.} + SPSS Inc., 1988. + +\bibitem{bs-4821} + {\it Presentation of theses and dissertations.} + BS 4821. British Standards Institution, 1990. + +\bibitem{endnote} + {\it EndNote: A reference database and bibliography maker.} + Berkeley: Niles \& Associates, Inc., 1989. + {\it {\tt dviselect} command specification.} + University of Maryland. + +\bibitem{haas+okane} Roswitha T. Haas and Kevin C. O'Kane. + \lq\lq Typesetting chemical structure formulae with the text formatter + \TeX/\LaTeX'', + {\it Computers and Chemistry,} {\bf 11} (1987), pp.\ 251--271. + +\bibitem{ramek-90} Michael Ramek. + \lq\lq Chemical structure formulae and $x/y$ diagrams with \TeX''. + In: + Malcolm Clark (editor). + {\it \TeX: applications, uses, methods,} + Ellis Horwood, 1990. + +\bibitem{CSC} {\sc chemdraw} (a program for the Macintosh). + Cambridge, Massachusetts: Cambridge Scientific Computing Inc. + +\bibitem{dodd-86} Janet S. Dodd. + {\it The ACS Style Guide,} + American Chemical Society, 1986. + +\bibitem{chemsoc-61} + {\it Handbook for Chemical Society Authors,} + The Chemical Society, 1961. + +\bibitem{spivak-86} Michael Spivak. + {\it The Joy of \TeX,} + American Mathematical Society, 1986. + +\end{thebibliography} diff --git a/info/ltx3pub/l3d003.tex b/info/ltx3pub/l3d003.tex new file mode 100644 index 0000000000..554a2e1918 --- /dev/null +++ b/info/ltx3pub/l3d003.tex @@ -0,0 +1,167 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-L3-003, +%%% filename = "l3d003.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Frank Mittelbach and Chris Rowley", +%%% doc-group = "Project core team", +%%% title = "{\LaTeX3} Projektwoche in Mainz", +%%% version = "1.02", +%%% date = "02 April 1993", +%%% time = "22:47:23 GMT", +%%% status = "public, official", +%%% 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 +%%% and Frank Mittelbach and Chris Rowley. +%%% 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 = "57264 167 860 7741", +%%% 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.", +%%% } +%%% ==================================================================== + +\documentstyle[german]{l3ms001} + +\newcommand{\email}{\begingroup \catcode`\%=12 \xemail} +% Auxiliary function for \email. It applies \meaning to the +% argument to make all the characters category 12. +\newcommand{\xemail}[1]{\def\temp{#1}\tt + \expandafter\xmeaning\meaning\temp\xmeaning\endgroup} +% Auxiliary function for \xemail. \newcommand cannot be used here. +\def\xmeaning#1->#2\xmeaning{#2} + + +\begin{document} + + +\title{{\LaTeX3} Projektwoche in Mainz} +\author{Frank Mittelbach \and Chris Rowley} +\date{02 April 1993 \\ +Version 1.02} + +\maketitle + + +Das \LaTeX3 Projekt ist ein internationales Projekt mit dem Ziel der +Reimplementierung und Erweiterung des Dokumentensystems \LaTeX{}. Das +erste Arbeitstreffen des Projektes im Jahre 1993 fand in der Zeit vom +19.~M\"arz bis 28.~M\"arz in Mainz statt. Die Projektleitung dankt dem +Zentrum f\"ur Datenverarbeitung der Universit\"at Mainz f\"ur seine +Unterst\"utzung durch Bereitstellung von Arbeitsr"aumen und Equipment. + +Teilnehmer des Treffens waren Johannes Braams (PTT Research Neher +Laboratorium, The Netherlands), Dr.~David Carlisle (University of +Manchester, UK), Michael Downes (American Mathematical Society, +Providence, USA), Frank Mittelbach (Document Processing Consultant, +Germany), Dr.~Rainer Sch\"opf (Zuse Institut Berlin, Germany) und +Dr.~Chris Rowley (Open University, London, UK). + +Die Schwerpunkte dieses Treffens waren unter anderem Fehlerbehandlung +und Hilfsysteme, generische Formatierungsfunktionen, ein erweitertes +"`Box"'-Konzept welches zus\"atzliche Referenzpunkte unterst\"utzt, +Syntax und Konzeption von komplexen Tabellen, Unterst\"utzung +multilingualer Dokumente, sowie Methoden zur Spezifikation und +Implementierung von Seitenlayout. + +Ein wichtiger Aspekt des \LaTeX3 Systems wird ein zuverl\"assiges +Wartungskonzept sowie eine verst\"andliche Release-Politik sein. Die +dazu n\"otigen Konzepte, wie etwa die Installierung von +Wartungprozeduren, offizielle Adressen und Verfahren zur Meldung von +Fehlern, wurden w\"ahrend des Treffens erarbeitet. Die Einzelheiten +werden demn\"achst ver\"offentlicht werden, siehe unten. + + +Publikationen im Umfeld des \LaTeX3 Projektes werden demn\"achst in +elektronischer Form der Allgemeinheit zur Verf\"ugung gestellt. Die +meisten der dazu erforderlichen Vorbereitungen wurden w\"ahrend des +Projekttreffens durchgef\"uhrt. + + +F\"ur Interessenten an der Arbeit des Projektes gibt es auch ein +offene Mailing-Liste mit Namen {\tt LaTeX-L}. Sie dient als Medium zur +Diskussion von Konzepten, die in \LaTeX3 Verwendung finden sollen, +sowie zur Verbreitung von Informationen des Projektteams. Zur +Subskription schickt man eine Mail an +\email{listserv@vm.urz.uni-heidelberg.de}, mit der Zeile +\begin{quote} + \verb=subscribe LaTeX-L= {\it Vorname Nachname} +\end{quote} +wobei man "`{\it Vorname Nachname}"' durch den eigenen Namen +ersetzt. + +\end{document} diff --git a/info/ltx3pub/l3d004.txt b/info/ltx3pub/l3d004.txt new file mode 100644 index 0000000000..e83a56d9e4 --- /dev/null +++ b/info/ltx3pub/l3d004.txt @@ -0,0 +1,902 @@ + ==================================================================== + @LaTeX3-article{ LaTeX3-L3-004-txt, + filename = "l3d004.txt", + archived = "ctan:/tex-archive/info/ltx3pub/", + author = "Frank Mittelbach and Chris Rowley", + doc-group = "Project core team", + title = "The {\LaTeX3} Project; Report 1991--92", + version = "1.00", + date = "01 April 1993", + time = "13:37:20 GMT", + status = "public, official", + abstract = "This report describes the current + activities of the \LaTeX3 project. + After a short project overview, the + major events of 1991 and 1992 are + described. Finally the project plan for + 1993 is presented. + ", + 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 + and Frank Mittelbach and Chris Rowley. + 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 = "30097 902 5006 49192", + 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.", + } + ==================================================================== + + + + + The LaTeX3 Project (C)1993 Frank Mittelbach + Chris Rowley + Report 1991--92 + + + + Abstract This report describes the current activities of the + LaTeX3 project. After a short project overview, the + major events of 1991 and 1992 are described. Finally the + project plan for 1993 is presented. + + + Project overview The aim of this project is the development of a new + version of LaTeX with the following enhancements. + + * It provides an enhanced user-interface, facilitating + the expression of a large range of typesetting + requirements from fields both within and outside the + natural sciences. This includes the requirements of + technical documentation (offset layout, change bars, + etc.) as well as requirements from humanities + (critical text editions, etc.), many of which are + not supported by the current LaTeX. + * It provides a more robust user-interface. For + example, restrictions on the nesting of commands + will be removed; error handling will be improved. + * It provides a syntax that allows (semi-)automatic + translation from popular SGML DTD's into provided + LaTeX document style options. The new syntax will + include, for example, attribute and short reference + concepts that can be mapped directly into + corresponding SGML features. + * It provides a style-designer interface that allows + easy specification of a wide variety of layouts. + This includes, for example, access to arbitrary font + families. + * The style-design language should be as natural as + possible. It will be based on a hierarchical + collection of generic formatting functions, so that + layouts can be specified by parameters without + involving difficult TeX coding. + * The new interfaces will be described in detail, with + carefully chosen examples, making the learning time + + LaTeX3 Project + --------------- + for new users (both designers and authors) as short + as possible. + + To achieve this aim it was necessary to review large + parts of the user-interface and to design a complete new + language for style-design. + + One result of this work was to show the necessity of + completely rewriting the kernel of the current LaTeX. + Therefore the project is divided into six partly + overlapping phases. + + + Phase 1: Review and redesign of the user-interface. The + requirements imposed on a typesetting language by + various applications are analysed. This includes the + proposed translation from popular DTD's into the + language of the LaTeX user-interface. + + + Phase 2: Prototype implementation of new concepts. The + new concepts developed in phase one are implemented and + tested. The tests should not only prove that the + concepts are implementable within TeX but also test the + functionality of the concepts. Larger real-life + applications from different fields will show to what + extent the new concepts are suitable and might lead to + some refinements in the design of the user-interface. + + + Phase 3: Design of a designer-interface. This phase is + more or less independent of the first two phases. The + current LaTeX is considered unsatisfactory since it + forces the designer to become deeply involved with TeX's + algorithmic philosophies and these are likely to be + unfamiliar to him. An analysis will be made of the + extent to which it is possible to support a + layout-description language that is natural for a + designer. + + + Phase 4: Prototype implementation of the designer + interface. This is similar to phase two. The concepts + resulting from phase three are implemented in prototype + versions which are used to test the acceptance of the + + 2 + + LaTeX3 Project + --------------- + new designer-interface. In this area implementation + details are relatively uncritical, whereas the + development of the interface might pose difficult + questions since there is no previous research in this + area. + + + Phase 5: Re-implementation of the LaTeX kernel. The + results from phases two and four are combined and a + system kernel that supports both interfaces is + implemented. At this point beta-testing at selected + sites is started. + + + Phase 6: Documentation. While internal documentation is + an integral part of every phase, the main work of phase + six (manuals and conversion) is devoted to the writing + of informative manuals covering both the user- and + designer-interface. + + + Milestones '91 Shortly after the start of the project three important + events took place: a workshop with professionals from + the publishing industry in Dedham, followed by working + week at the American mathematical Society (AMS) in + Providence and later on a meeting with Professor Donald + Knuth in Stockholm. + + In the last quarter of 1991 substantial effort was put + into the development of an internal LaTeX3 programming + language. A prototype kernel, written in a first + approximation to the final language, formatted its own + documentation (a 120 page document) for the first time + in December. + + + Workshop After the annual meeting of the TeX Users Group in + Dedham Dedham (July 91) a two-day workshop was held to discuss + design questions for LaTeX3 with TeX experts, + compositors and other professionals from the publishing + industry. In this workshop (lead by Chris Rowley and + Frank Mittelbach) questions of page layout + specifications and user interface design were discussed. + It was based on material gathered and collated by David + Rhead from previous electronic mail discussions about + + 3 + + LaTeX3 Project + --------------- + these topics on the LaTeX3 discussion list. This + workshop was sponsored by the TeX Users Group. + + + Working week Following this workshop Chris Rowley, Michael Downes + at AMS (AMS), and Frank Mittelbach worked for one week at the + AMS headquarter at Providence on the specifications for + the LaTeX3 error recovery and help system and on some + problems related to the efficiency of TeX's approach to + mathematical typesetting. + + + Paris At the European TeX conference in Paris (September), + conference Chris Rowley and Rainer Schoepf presented an overview of + the enhancements to be made to the user interface. + + + Stockholm In November Frank Mittelbach was invited to Stockholm to + attend the celebrations for the Honorary Doctorate of + Donald Knuth and to give a paper on LaTeX3 at the Nordic + TeX conference. The handouts for this paper were later + published in TeXline [7] and in [9]; later an enlarged + version, co-authored by Chris Rowley, appeared in [14]. + Whilst in Stockholm Frank took the opportunity to + discuss for two days with Donald Knuth design decisions + he had taken in the development of the TeX system. + + + Milestones '92 The last year has seen substantial progress in three + major areas: establishing structures to consolidate + support for LaTeX 2.09 (these structures will therefore + be well tested before they are needed for LaTeX3); + deciding which of the many requirements of a + high-quality document formatting system can be + implemented using TeX as the formatting engine; research + on models of document formatting which support + high-quality typography. These last two are, of course, + closely related and mutually supportive. + + + SGML Users In February Chris Rowley gave a presentation to the + Group inaugural meeting of the UK chapter of the SGML Users + Group. This gave an outline of the project and its + importance to the formatting of documents encoded in + accordance with SGML. + + 4 + + LaTeX3 Project + --------------- + Hamburg At the Dante Meeting in Hamburg (March 92) Frank + Mittelbach presented an overview of the LaTeX3 project; + this was later published as [8]. After the conference a + two day workshop with various TeX and LaTeX experts from + several European countries was held to discuss questions + of the user and style-designer interfaces for LaTeX3. + + + Questionnaire Rolf Lindgren, a student in the field of psychology, + volunteered to develop and analyse a questionnaire on + the subject of site-specific usage, including additions + and changes, of popular extensions to LaTeX 2.09. The + project team hopes that this will provide important data + about such areas as the current usage of LaTeX, which of + these additions are the most important for inclusion in + the main system of LaTeX3, etc. + + A first draft of the questionnaire was handed out to the + participants at the Hamburg meeting and Rolf Lindgren + used the results of this to write a preliminary + report [5] and also to redesign the questionnaire + itself. The final questionnaire will be sent out to a + representative sample of sites in 1993. + + + Lausanne At the Electronic Publishing Conference EP92 in + conference Lausanne, Chris Rowley and Frank Mittelbach gave a paper + about potential problems when trying to produce high + quality output using automated document typesetting + systems [18]. The results presented in this paper were + influenced by their work on the LaTeX3 system. On the + other hand, this basic research into models for document + formatting has direct benefits for the LaTeX3 project + since it leads to the development of useful new concepts + and methods. + + + CERN Frank Mittelbach and Chris Rowley were also invited to + CERN to give a talk about the LaTeX3 system and to + discuss problems encountered in the production of + high-quality output from SGML sources. Addressing such + problems is a major goal of the LaTeX3 project. + + + + + 5 + + LaTeX3 Project + --------------- + Mainz At the end of April Frank Mittelbach invited the core + workshop development team for LaTeX3 to an 11 day workshop in + Mainz to discuss data structures for the kernel and for + the style designer language. This workshop was made + possible through support from the Zentrum fuer + Datenverarbeitung der Universitaet Mainz (providing + working facilities), the AMS (facilitating Michael + Downes attendance), and DANTE, the German TeX Users + Group (help with other expenses). + + The main results of this workshop were summarized in an + internal project paper by Denys Duchier [2]; they are + mainly of a somewhat theoretical nature, e.g., + discussions about what algorithms to use, the nature of + internal interfaces, etc. Some of them are now + implemented in prototypes, others are scheduled for + further work during 1993. + + + Paris meeting In May GUTenberg (the French TeX Users Group) invited + Rainer Schoepf and Frank Mittelbach to a one day meeting + in Paris to discuss various aspects of the LaTeX3 + project. They presented an overview of the user + interface, a summary of the structure of the LaTeX3 + system, the layout specification interface and the + coding of tabular material. They also discussed details + of the LaTeX3 programmer's environment, the short + reference mechanism, the float mechanism, the mark + mechanism, the I/O interface and the error recovery + mechanism. GUTenberg also made a much appreciated + contribution to the project's expenses. + + Later in the year the possibility of a collaboration + between the LaTeX3 project, the University of Mainz and + one or more French institutes was discussed. This + collaboration is now becoming concrete and it is planned + that, in the second half of 1993, French students of + informatique will spend periods of three or more months + in Mainz and assist Frank Mittelbach in the development + of the LaTeX3 system. + + + Macro Together with David Carlisle, Frank Mittelbach developed + validation a system for automatic validation of changes in large + system macro packages [13, 1]. The purpose of this system is to + + 6 + + LaTeX3 Project + --------------- + detect errors introduced by incorrect bug fixes to the + macro packages before such changes are distributed. The + quality of the automated checking system depends largely + on the number of test files in it. It was first tested + with the New Font Selection Scheme (NFSS) package [22] + where it was successful in preventing some mistakes from + getting into the distributed version. + + After this successful test a group of volunteers under + the direction of Daniel Flipo started to write test + files for the LaTeX 2.09 base system; these will improve + the quality of its maintenance. It is intended that they + will also be used as a test base for the user interface + of the LaTeX3 system. + + + New A considerable amount of time during 1992 was devoted to + LaTeX 2.09 reorganizing the distribution and support of the styles + style which have been developed by Rainer Schoepf and Frank + distributions Mittelbach for the LaTeX 2.09 release. A lot of work was + done on the code-documentation package, consisting of + the program docstrip and the style doc. The program + docstrip was reimplemented and enhanced by Johannes + Braams, Denys Duchier and Frank Mittelbach. The + documentation of the doc style was brought up-to-date by + David Love [11]. The array package, which contains an + enhanced reimplementation of the array and tabular + environments of LaTeX 2.09, was improved by the addition + of code written by David Carlisle [12]. Frank Mittelbach + rewrote parts of the multicol package to support \marks + for use in running headings and to allow for up to ten + columns [10]. These packages, and all others, have been + reorganized to make use of the extra features of the new + docstrip program; this will ensure their smooth and easy + installation at every site having a TeX installation. + + + LaTeX 2.09 At the same time, a new system for maintaining the + maintenance LaTeX 2.09 base system was installed at Mainz by Rainer + Schoe pf and the whole base system was transferred to + this site so that it can be maintained by him and Frank + Mittelbach. + + + + + 7 + + LaTeX3 Project + --------------- + BibTeX reim- One of the important programs in the LaTeX system is + plementation BibTeX, a system for managing bibliographical material + and producing bibliographies in documents. At the TeX + Users Group Conference in Cork (1990) Reinhard + Wonneberger and Frank Mittelbach presented a paper + discussing several proposals for a reimplementation of + this program [24]. During the summer Oren Patashnik, the + original author of BibTeX, was contacted to discuss with + him a reimplementation of BibTeX. He agreed to + reimplement this program so that it will interface + smoothly with the new LaTeX system. + + These reimplementation proposals are now being discussed + by a small group of experts and work is under way to + finalize the user interface for providing + bibliographical information in the LaTeX3 system; this + will support the many distinct citation conventions + (author-date system, etc.) that are in common use. In + addition to providing the LaTeX3 system with a + bibliographical system which is also freely available, + it is planned to provide, wherever possible, interfaces + linking LaTeX3 with commercially available bibliographic + software. This will, for example, enable users to + integrate into LaTeX documents information extracted + from large bibliographic databases. Much of the work in + this area is being carried out by David Rhead. + + + TUG annual At the annual meeting of the TeX Users Group in + meeting Portland, Oregon, Chris Rowley gave a talk which + surveyed the current status of the LaTeX3 project [23] + and ran a mini-workshop at which some of the more + technical aspects were discussed. This meeting was + important in establishing the project as being of + central importance to the community of TeX users and + developers and to the future of TeX as a formatter for + high quality typographic output. + + + Volunteer One of the results of the meeting of the core + tasks development team in Mainz was to single out tasks that + could be taken up by volunteers whose work could be to a + large extent independent of the core team. During the + summer, Michael Downes and Frank Mittelbach prepared a + task list and working procedures for such volunteers. + + 8 + + LaTeX3 Project + --------------- + George Greenwade from the Sam Houston State University + kindly agreed to serve as a task list manager; the + Volunteer Task List was therefore presented to the + public at the Prague conference in + September [15, 17, 16]. + + + Prague In September the European TeX conference took place in + conference Prague. Chris Rowley and Frank Mittelbach reported on + the status of the LaTeX3 project and described some + aspects of the formatting model which it will implement. + In a separate presentation they described some results + of their research on more general models for document + formatting. + + + Series During the conference in Prague Frank Mittelbach + agreement concluded with Peter Gordon (Addison-Wesley) publication + agreements concerning the documentation of the LaTeX3 + system and related books. They will appear in a book + series with the tentative title `Tools and Techniques + for Computer Typesetting' under the editorial + supervision of Frank Mittelbach and with the + participation of Leslie Lamport and other key players in + the LaTeX3 project. + + + BCS meeting In September Chris Rowley was invited to give a talk + about LaTeX3 at a meeting on Structured Documentation + organised by the British Computer Society EP Specialist + Group in Nottingham. This contained a brief history and + outline of the project, followed by some discussion of + the requirements of the designer's interface. + + + Working week Leslie Lamport visited Frank Mittelbach for five days in + in Mainz October to discuss the work in progress. They covered + many aspects of the user interface including the + important mechanism for attaching attributes to commands + and environments. + + + + + + + 9 + + LaTeX3 Project + --------------- + Washington During the Lausanne Conference Chris Rowley and Frank + conference Mittelbach had been invited to present further results + of their research on document formatting models at an + international `Workshop on Principles of Document + Processing' in Washington DC, organized by the Xerox + Webster Research Center, Cornell University and Syracuse + University. This talk, which has now been written up for + publication, led to many fruitful discussions. These + covered many aspects of the relationship between their + approach and that of other work on models of document + processing. + + The workshop also showed the need to investigate the + relationship between two types of model: those similar + to that of Mittelbach/Rowley, which are oriented towards + data structures and operations that can be effectively + implemented, and those of a more general nature, which + describe a large range of document processing + applications in terms of formal structures such as + attribute grammars and trees. + + + Bell-Labs During their stay in the US they also visited AT&T Bell + Laboratories, invited by John Hobby, who worked under + Knuth on the TeX project in Stanford. In addition to + giving a talk about their research in document + formatting models and discussing this with researchers + there, they had the opportunity to discuss with Brian + Kernighan his recent work on page-makeup by + post-processing [4]. + + + Multiple As part of the LaTeX3 kernel Frank Mittelbach developed + marks prototype code for multiple independent marks. This + allows information, such as the first or the last index + entry for each column in a multi-column layout, to be + recorded for later use in the final page make-up. Due to + the limited support for such layout structures in TeX, + the current LaTeX only provides a very simple mechanism. + + + Bremen Following the Lausanne conference Frank Mittelbach was + colloquium invited to give a colloquium talk on the subject + `Computereinsatz in der Typographie: Kann die hohe + Qualitaet des Handsatzes durch Computerprogramme + + 10 + + LaTeX3 Project + --------------- + erreicht oder uebertroffen werden?' at the Computer + Science Institute of the Bremen University. During his + two-day visit to Bremen Frank Mittelbach had several + fruitful discussions with the research team working with + Professor Frieder Nake on research problems in computer + controlled typesetting. + + + Meppel In the second half of November Frank Mittelbach was + conference invited to give a talk at the meeting of the Netherlands + TeX Users Group in Meppel. He spoke about possible + directions in research on typesetting problems, + discussing tasks which are impossible to achieve using + state of the art typesetting systems such as TeX. This + talk was based on a paper published in the conference + proceedings of TeX90, [6]. + + + Nordic TeX The Nordic TeX users group invited a representative of + conference the LaTeX3 project to speak at their meeting in + Kobenhavn so Chris Rowley presented a brief history of + the project and discussed several aspects of the + designer interface. He also discussed future + collaboration with other research projects in the area + of document processing. + + + Euromath Chris Rowley has been exploring the relationships + between the LaTeX3 project and the Euromath project. + This latter project was started in 1986 and is aimed at + the production of an integrated system which provides a + homogeneous working environment for mathematicians. It + is based on the Grif structure editor, which provides an + object oriented system and applications programming + interface. Thus LaTeX is their natural, and preferred, + choice of application for the production of + publishing-quality typeset output. + + + alpha-test In the last quarter of 1992 Frank Mittelbach rewrote the + NFSS2 NFSS system (New Font Selection Scheme for + LaTeX [20, 21]), based on a prototype extension to NFSS + written by Mark Purtill in 1991. This reimplementation + extends the released version in several ways including + encoding support (multiple languages), scalable font + + 11 + + LaTeX3 Project + --------------- + support (PostScript fonts) and math font support. In + addition Frank Mittelbach wrote new documentation for + the package, which will appear as a chapter of [3]. The + alpha-testing of the new release was started at the end + of December and the official release is planned for + summer 1993. + + + Error For error recovery a prototype had already been + recovery and implemented early in 1992, as part of the prototype + help system kernel for LaTeX3, but the interface to an interactive + help system existed only as a specification written + during the working week at the AMS in Providence. A + first prototype was implemented by Michael Downes in + December, so that it is now possible to do small field + tests; this implementation is, however, currently only + available as a LaTeX 2.09 style file. It is planned to + reimplement this in the LaTeX3 programming language + during 1993. + + Current status Phase 1: Review and redesign of the user-interface. + There is now enough information about the requirements + to be able to produce a testable version of the + user-interface in the near future. + + + Phase 2: Prototype implementation of new concepts. As + outlined above, several prototype implementations have + been tested during the last year. However, further tests + will be necessary once the user-interface, the design + language and the internal LaTeX3 programming language + are in their final form. + + + Phase 3+4: Design and prototypes of a + designer-interface. The main concepts for the design + interface are now developed and some proto-typing has + already taken place. Nevertheless, this phase of the + project will need considerable additional time as these + concepts are new and thus cannot rely on experience + already gathered. + + + Phase 5: Re-implementation of the LaTeX kernel. As + mentioned above, a prototype version of the LaTeX3 + + 12 + + LaTeX3 Project + --------------- + kernel, written in the current version of the LaTeX3 + programming language, has already been completed. + However, as long as the work on phases 3 and 4 is still + under way, this forms only an approximation to the final + product. + + + Plans for 1993 In the first quarter of 1993 the project team plans + another workshop in Germany to work on the style design + language. + + The core project team will investigate the possibilities + for collaboration with related research and development + projects such as Euromath. They will also establish + contact with the ISO working group on the Document Style + Semantics and Specification Language (DSSSL). + + The beta-testing of NFSS2 is planned for March up to May + and the official release of the system is scheduled for + summer 1993. + + The project team will work on a prototype of the + designer-interface. This will lead to testing of this + interface by working with designers to discover how + easily it enables them to realise practical designs. + + It is planned that in the summer a French student will + come to Mainz for three months, to help with the + project's work. + + + Finance There has been a modest but steady flow of contributions + into the project fund set up by the TeX Users Group. + Many of these come from individual members and they are + particularly valued by the project team since, in + addition to their financial significance, they represent + a very high level of personal commitment to the success + of the project amongst the TeX community---much thanks + to everyone involved in these fund-raising efforts, + especially to Alan Hoenig, Doug Henderson and the TUG + office staff. + + The project's finances will also benefit greatly from + the generosity of the authors of the forthcoming book A + LaTeX Companion [3] to be published by Addison-Wesley in + + 13 + + LaTeX3 Project + --------------- + 1993: they are donating 50% of their royalties to the + project. This book will describe the contents and use of + many of the extensions to LaTeX 2.09 which are now + widely available. + + The following institutions have made substantial + contributions to the fund administered by TUG or to the + project directly and we are very glad to acknowledge + them here with thanks: Addison-Wesley, Blue Sky + Research, Dante, GUTenberg, NTG Nederlandstalige TeX + Gegruikersgroep, Nordic TeX Users Group, UK TeX Users + Group. + + The following organisations have also assisted the + project in various ways, including the provision of + books, equipment, software, staff time, etc: AMS, + ArborText, ArchaeoInformatica, Aston University, Blue + Sky Research, CERN, Digital Equipment Corporation, + EDS Electronic Data Systems, Elsevier Science + Publishers, Life Science Communications, Manchester + University, Open University UK, PCTeX, Royal Institute + of Technology Stockholm, Royal Military College of + Science, The Royal Society, TCI Research, Southampton + University, TeX88, Zentrum fuer Datenverarbeitung der + Universitaet Mainz. + + The project is still in need of financial assistance + since demands on the fund are certain to grow + substantially when wide-spread testing begins. + + + References [1] David Carlisle and Frank Mittelbach. A test system + for LaTeX-2.09. LaTeX3 project paper, June 1992. + [2] Denys Duchier. Mainz, May 26--Jun 3 1992. Internal + LaTeX3 paper, June 1992. + [3] Michel Goossens, Frank Mittelbach and Alexander + Samarin. The LaTeX Companion (tentative title). + Addison-Wesley, Reading, Massachusetts, 1993. to + appear. + [4] Brian W. Kernighan and Christopher J. Van Wyk. Page + makeup by postprocessing text formatter output. + Computing Systems, 2(2):103--132, 1989. + [5] Rolf Lindgren. Preliminary report on LaTeX style + options. Internal LaTeX3 paper, August 1992. + + + 14 + + LaTeX3 Project + --------------- + [6] Frank Mittelbach. E-TeX: Guidelines to future TeX + extensions. In Lincoln K. Durst, editor, 1990 + Conference Proceedings, pages 337--345, September + 1990. Published as TUGboat 11#3. + [7] Frank Mittelbach. LaTeX2.09 -> LaTeX3. TeXline, + (14):15--18, February 1992. + [8] Frank Mittelbach. LaTeX3. Die TeXnische Komoedie, + 4(2):15--22, August 1992. + [9] Frank Mittelbach. LaTeX3 project. TeX Gebruikers + Group, 92(1):87--90, May 1992. + [10] Frank Mittelbach. The multicol package. + Distribution of style options that allow + multi-column layout with LaTeX, November 1992. + [11] Frank Mittelbach, Johannes Braams, David Love and + Denys Duchier. The doc package. Distribution of the + utilities for the documentation and distribution of + TeX macro packages., May 1992. + [12] Frank Mittelbach and David Carlisle. The array + package. Distribution of style options that extend + LaTeX's array and tabular facilities, May 1992. + [13] Frank Mittelbach and David Carlisle. The validation + package. Distribution of tools for automatic + validation of changes in large macro packages, June + 1992. + [14] Frank Mittelbach and Chris Rowley. LaTeX2.09 -> + LaTeX3. TUGboat, 13(1):96--101, April 1992. + [15] Frank Mittelbach, Chris Rowley and Michael Downes. + Volunteer work for the LaTeX3 project. LaTeX3 + project paper, September 1992. + [16] Frank Mittelbach, Chris Rowley, and Michael Downes. + Volunteer work for the LaTeX3 project. TUGboat, + 13(4):510--515, December 1992. + [17] Frank Mittelbach, Chris Rowley and Michael J. + Downes. Volunteer work for the LaTeX3 project. TeX + and TUG NEWS, 1(3):18, November 1992. + [18] Frank Mittelbach and Chris A. Rowley. The pursuit + of quality---how can automated typesetting achieve + the highest standards of craft typography? In + C. Vanoirbeek and G. Coray, editors, Electronic + Publishing '92, pages 260--273, Cambridge, April + 1992. Cambridge University Press. + [19] Frank Mittelbach and Chris A. Rowley. The pursuit + of quality---How can automated typesetting achieve + the highest standards of craft typography? MAPS, + + + 15 + + LaTeX3 Project + --------------- + 92(2):50--56, November 1992. Paper already + published in Electronic Publishing '92, April 1992, + Cambridge University Press, (ISBN 0-521-43277-4); + Reprinted with permissions. + [20] Frank Mittelbach and Rainer Schoepf. A new font + selection scheme for TeX macro packages---the basic + macros. TUGboat, 10(2):222--238, July 1989. + [21] Frank Mittelbach and Rainer Schoepf. Reprint (with + corrections): The new font family selection --- + user interface to standard LaTeX. TUGboat, + 11(2):297--305, June 1990. + [22] Frank Mittelbach and Rainer Schoepf. The nfss + package release 1. Distribution of a new font + selection mechanism for LaTeX, May 1992. + [23] Chris Rowley. LaTeX2.09 -> LaTeX3: an update. In + Mimi Burbank, editor, 1992 Annual Meeting + Proceedings, pages 390--391, October 1992. + Published as TUGboat 13#3. + [24] Reinhard Wonneberger and Frank Mittelbach. BibTeX + reconsidered. In Mary Guenther, editor, TeX 90 + Conference Proceedings, pages 111--124, March 1991. + Published as TUGboat 12#1. + + + + + + + + + + + + + + + + + + + + + + + + + 16 + diff --git a/info/ltx3pub/l3d005.tex b/info/ltx3pub/l3d005.tex new file mode 100644 index 0000000000..01ca6c03a5 --- /dev/null +++ b/info/ltx3pub/l3d005.tex @@ -0,0 +1,1065 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-L3-005, +%%% filename = "l3d005.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "David Rhead", +%%% doc-group = "Project core team", +%%% title = "The ``operational requirement'' (?) for +%%% support of bibliographic references by +%%% \LaTeX\ 3", +%%% version = "1.00", +%%% date = "09 August 1993", +%%% time = "10:48:08 MET", +%%% status = "public, official", +%%% abstract = " +%%% It is suggested that: +%%% \begin{itemize} +%%% \item \LaTeX\ 3 should aim to support the +%%% principal citation schemes used +%%% in conventional publishing +%%% \item consideration be given to a +%%% {\it modus vivendi} between \LaTeX\ 3 +%%% and mainstream bibliography-formatting +%%% software. +%%% \end{itemize} +%%% ", +%%% 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 +%%% and David Rhead. +%%% All rights reserved. +%%% +%%% No permissions to copy or distribute this +%%% publication in any form are granted and in +%%% particular no permission to copy or distribute +%%% parts of it.", +%%% 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 = "15455 1065 6201 46964", +%%% 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.", +%%% } +%%% ==================================================================== +% LaTeX 2.09 document + +\documentstyle{l3ms001} + + +\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + + +\newcommand{\bs}{\char '134} + +\begin{document} + +\title{The ``operational requirement'' (?) for +support of bibliographic references by \LaTeX\ 3} +\author{David Rhead} +\date{August 1993} + +% Cripps Computing Centre +% University of Nottingham +% JANET: d.rhead@uk.ac.nott.vme + +\maketitle + +\begin{abstract} +It is suggested that: +\begin{itemize} +\item \LaTeX\ 3 should aim to support the principal citation schemes used + in conventional publishing +\item consideration be given to a {\it modus vivendi} between \LaTeX\ 3 and + mainstream bibliography-formatting software. +\end{itemize} +\end{abstract} + +\tableofcontents + +\section{Introduction} + +Ideally, when writing software, it is a good idea to write down what the +software is intended to achieve --- the ``operational requirement'' --- +before writing any code. + +This article attempts to take an ``operational requirement'' approach to +the ``bibliographic reference'' aspects of \LaTeX\ 3.% +\footnote{Obviously, there are limits to the what the OR approach can +achieve. For example, it is difficult to quantify ``usability''. +Nevertheless, the approach should facilitate debate about objectives {\em +before} the ``user interface'' has been fixed.} +The objective is to stimulate debate --- if you don't agree with my +suggestions, please suggest specific alternatives! (In the remainder of +the article, ``operational requirement'' is abbreviated to ``OR''.) + +Generalizing the approach taken by the \LaTeX\ 2.09 manual \cite[pp.\ +73--74]{lamport-86}, it is convenient to divide the topic into ``doing it +yourself'' and ``using bibliography-formatting software''. + +\section{Doing it yourself} +\label{DIY} + +In effect, the only scheme that is ``fully supported'' by \LaTeX\ 2.09 is +``reference by number, where the sequence of numbers is determined by +position in the reference-list''. + +By contrast, for ``real-world publishing'', my impression is that: +\begin{enumerate} +\item + only a minority of ``instructions to authors'' specify anything like + the default \LaTeX\ 2.09 scheme. This minority consists of those + journals that specify ``reference by number, with the reference-list + in alphabetical order of author's names''. +\item the majority of ``instructions to authors'', style-books, etc., + specify one of the following: + \begin{enumerate} + \item + reference by number, with the reference-list in order of first + citation + \item + author-date + \item + ``short-form in footnotes''. For publications in the humanities, + there seem to be two main variants of this scheme, depending on + whether or not there is a reference-list.% +\footnote{If there is no reference-list, the convention is usually ``first +citation gives full bibliographic details, subsequent citations give +cross-reference to first citation''. This variant is common in law +publications, when it is used in conjunction with numerous law-specific +citation conventions \cite{harvard-law}.} + \end{enumerate} + ISO 690 \cite[sec.\ 9]{iso-690} provides a convenient specification of + the details of these schemes. The default \LaTeX\ 2.09 system gives + no particular help to anyone wanting to use them.% +\footnote{% +\BibTeX\ can help with (a). +Anyone wishing to use (b) will probably grope around in archives +looking for style-options that: arrange for {\tt \bs cite} to give (\dots) +rather than [\dots]; omit [\dots] from the reference-list; support +date-only citations when the author's name appears naturally in a +sentence. +Apart from the law-specific Lexi\TeX\ \cite{bennett-93}, I'm not aware of +any 2.09-related software that helps people who wish to use scheme (c).} + \item a few publishers specify alternative schemes. + E.g., + \begin{itemize} + \item some Springer journals% +\footnote{See the ``instructions for authors'' in, for example, {\it +Mathematische Zeitschrift.}} + accept citations of the form ``first letter of author's surname, + in square brackets'' + \item + Butcher \cite{butcher-92} mentions a variation of the + reference-by-number system in which there is a separate numerical + sequence for each letter, and a variation of the author-date + system in which a number is used instead of a date + \item a scheme like the \BibTeX\ {\tt alpha} style is sometimes + used (for example, in the journal {\it Formal Aspects of + Computing}). + \end{itemize} +\end{enumerate} + +Therefore, I suggest that the OR for \LaTeX\ 3: +\begin{itemize} +\item + should include support% +\footnote{I assume that ``sorting a reference-list'' will be beyond the +scope of \LaTeX\ 3. Thus, in practice, the \LaTeX\ 3 ``support'' might be +minimal (a ``better than nothing'' warning that a reference-list needs +human intervention, perhaps). People who want anything better would +be advised to use bibliography-formatting software.} + for the schemes mentioned in items 1 and 2 above, i.e., + \begin{itemize} + \item + a 2.09-like scheme aimed at journals that specify ``reference by + number, with the reference-list in alphabetical order of author's + names'' + \item + the schemes specified in ISO 690, namely: ``reference-by-number + in order of first citation'', author-date, and 2 variations of + ``short-form in footnotes''.% +\footnote{To support these schemes, it is probably desirable that \LaTeX\ 3 +should be able to determine whether a citation of a source is ``the first +citation'' of that source. Clearly this would help to provide support for +``reference by number in order of first citation''. In the author-date +case, it would allow support for the convention \cite[sec.\ 3.87]{apa-83} +that, when there are multiple authors, they should all be named in the +first citation but ``{\it et al.\/}'' should be used subsequently. It +might also help to provide support for the variant of the short-form scheme +in which a ``subsequent citation'' uses the short-form and gives a +cross-reference to the footnote containing the ``first citation'' (where +full details of the source can be found).} + \end{itemize} +\item + should bear in mind the possibility of a ``plug-in module'' to support + law conventions. Since such conventions are only crucial to lawyers, + it would probably be inappropriate to delay \LaTeX\ 3 while + law-specific commands were finalised, or to increase the bulk of the + \LaTeX\ 3 manual by including law-specific material. Nevertheless, it + might be worth simultaneous experiments with a prototype \LaTeX\ 3 + and a prototype law-support module, in the hope that the law-specific + commands in such a module might end up with a similar ``look and + feel'' to those for the mainstream ``short-form in footnotes'' + commands. +\item + need not include support for the alternative schemes mentioned in + item~3 above (although the possibility of ``plug-in modules'' to + support these schemes might be borne in mind). +\end{itemize} + +In addition, the following features are desirable: +\begin{itemize} +\item + for situations where several bibliographic sources are cited + simultaneously: + \begin{itemize} + \item + a syntax that permits a particular division of each source to be + pin-pointed \cite[sec.\ 15.25]{chicago-82}. (The \LaTeX\ 2.09 + \verb+\cite[...]{...}+ syntax only supports pin-pointing within a + single source.) + \item + a mechanism for sorting reference-by-number citations into + ascending numerical order \cite[p.~106]{acs-86}.% +\footnote{Alternatively, if it is not feasible to sort reference-by-number +and author-date citations into a desired order, mechanisms for giving +warnings if simultaneous citations are in the wrong order would be ``better +than nothing''.} + \item + a mechanism for sorting author-date citations% +\addtocounter{footnote}{-1}\footnotemark + into alphabetical + order of author's surnames (or, ideally, the order in which the + sources appear in the reference-list) \cite[sec.\ 3.91]{apa-83} + or into ``date of publication'' order \cite[sec.\ + 15.24]{chicago-82}. +\end{itemize} + +\item + support for types of bibliography that, although not as common + as a single undivided list, are appropriate in + particular circumstances, namely: + \begin{itemize} + \item a list divided into sections according to kinds of material, + subject matter or other appropriate categories + \item an annotated bibliography + \item a bibliographical essay. + \end{itemize} + See, for example, the {\it Chicago Manual of Style} \cite[chap.\ + 15]{chicago-82}. + + End-users could get confused if they try using \LaTeX\ 2.09's {\tt + thebibliography} environment for such bibliographies. +\end{itemize} +The above might provide the major elements of an OR\@. Minor elements may +be more difficult to specify, but can perhaps be summarized as +\begin{quote} + \LaTeX\ 3 should be able to survive $\beta$-testing of whether + it can conveniently deliver bibliographic details formatted as + specified by influential style-books and ``instructions for authors''. +\end{quote} +See +\cite{harvard-law,iso-690,butcher-92,apa-83,chicago-82,mhra-91,mla-88,% +vancouver-91,bs-5605,bs-1629,bs-6371}. + + +\section{Using bibliography-formatting software} + +\subsection[Background]{Background\footnotemark} +\footnotetext{Warning: I do not currently have ``hands on'' experience of +using \LaTeX\ in conjunction with software other than \BibTeX\ (although I +have browsed through as many of the relevant manuals as I could find). +Hence, the ideas given in this section, and in section \ref{misc}, +are theoretical and speculative.} +\label{background} + +\subsubsection{Software available} + +The bibliography-formatting software that is ``advertised'' in the \LaTeX\ +2.09 manual is \BibTeX\ \cite{lamport-86,patashnik-88}. Tib +\cite{alexander-89} is also sometimes mentioned in \TeX\ circles. + +In fact, there are a large number of bibliography-formatting programs +available. A recent review article \cite{stigleman-93} names 52 such +programs. + +Judging by comments on the {\tt bibsoft} list, the most important +bibliographic programs (from the point-of-view of professional librarians +and bibliographers) seem to be EndNote, Library Master, Papyrus, ProCite +and Reference Manager. (Appendices \ref{suppliers} and +\ref{discussion-lists} give details of the {\tt bibsoft} list and of the +relevant vendors.) + +Of these, EndNote, Papyrus, ProCite and Reference Manager have procedures +for processing a ``manuscript'', filling in the in-text citations and +generating the corresponding reference-list. Although I understand that a +similar facility is planned for the next version of Library Master, I don't +know what form this will take. Therefore, when referring to these +programs, I will use: +\begin{description} +\item[``main 4''] to mean the programs (EndNote, Papyrus, ProCite and Reference + Manager) whose procedures for filling in the in-text citations are + currently known +\item[``main 5''] to mean the ``main 4'' plus Library Master. +\end{description} + +>From a \LaTeX-er's point-of-view, the public-domain \BibTeX\ and Tib are +obviously attractive, since they were {\em designed} to work with +\TeX/\LaTeX, and are available for most of the platforms on which +\TeX/\LaTeX\ are available. By contrast, the ``main 5'' are: +\begin{itemize} +\item proprietary +\item currently aimed at ``wordprocessor'' users.% +\footnote{Certain vendors state that \TeX\ is one of their program's +``supported wordprocessors''. You may or may not regard this as a hopeful +sign!} +\item only available on a restricted selection of platforms. (All are + available for MS-DOS. Some are available for Macintosh or VAX/VMS.) +\end{itemize} + +Nevertheless, there are many things about the ``main 5'' that are of +interest: +\begin{itemize} +\item + The programs have standard procedures for importing information from + standard database programs, online information services, CD-ROMs and + library catalogues. +\item + They generally have good facilities for maintenance of a ``personal + bibliographic database'', and for searching such a database for + entries that satisfy particular criteria. +\item + It seems likely that the programs will continue to be developed and + supported into the future. (By contrast, my understanding is that + \BibTeX\ will be ``frozen'' when version 1.0 has been finished.) +\item + There is a choice. If one program has underlying assumptions that + don't match the assumptions that are usual in your discipline, you can + look for an alternative! +\end{itemize} + +Even if you don't regard the ``main 5'' as of positive interest, you may be +unable to avoid them. If a research-group contains a \LaTeX-ing minority +and a non-\LaTeX-ing majority: +\begin{itemize} +\item + the ``majority'' may choose one of the ``main 5'' as the group's + ``standard bib\-li\-og\-ra\-phy-formatting software'' +\item + the \LaTeX-ers will then be at a serious disadvantage if they cannot + use the group's bibliographic databases. +\end{itemize} +Also, if your librarian is providing bibliographic information in +electronic form (e.g., from a computerized library catalogue), s/he may +offer an off-the-shelf way to get the information into a database for one +of the ``main 5'', but be unable to help you if you use \BibTeX. + +Overall, it seems to me desirable that, as well as having standard +procedures for inter-working with \BibTeX\ and Tib, \LaTeX\ 3 should have +standard procedures for inter-working with the ``main 5''. Such procedures +are unlikely to be perfect, but it should be possible to agree on some {\it +modus vivendi}.% +\footnote{It is unlikely that the vendors will re-focus their products to +concentrate on \LaTeX\ users --- and equally unlikely that \LaTeX-ers will +start to think of themselves as ``wordprocessor users''. Nevertheless, +with a few minor changes (which might involve the \LaTeX\ end, the +bibliographic program end and/or the documentation), it should be possible +for \LaTeX\ 3 and the mainstream bibliographic software to work reasonably +well together. + +``{\it Modus vivendi}\/'', i.e., ``an arrangement between peoples who agree +to differ'', seems to fit the situation quite well.} + + +\subsubsection{{\it Modus vivendi} with the main 4?} +\label{modus-vivendi} + +Before considering how \LaTeX\ might co-operate with the ``main 4''% +\footnote{Hopefully, it will be possible to use the same general ideas for +Library Master when its procedure for ``filling in the in-text citations +and generating the reference-list'' becomes known.} +it is convenient to contrast \BibTeX's approach with that of Tib. + +\BibTeX's approach involves searching a \LaTeX\ {\tt .aux} file for details +of in-text citations, and then writing out a {\tt .bbl} file. The {\tt +.bbl} file defines a reference-list that is read in when \LaTeX\ is next +applied to the root file. + +Tib's approach is different. It starts with a {\tt .tex} file that +contains ``incomplete or keyed citations'' within citation-delimiters, and +produces another {\tt .tex} file that contains proper in-text citations +plus (optionally) a reference-list. + +When the procedures used by the ``main 4'' are interpreted in terms of +\LaTeX, they seem to be more akin to Tib's approach than to \BibTeX's. It +looks as though the end-user would start with a {\tt .tex} file containing +keys, etc., within citation-delimiters, and use the bibliography-formatting +program to produce a near-duplicate {\tt .tex} file that contains proper +in-text citations plus a reference-list. + +In fact, Tib's citation-delimiters are chosen so that: +\begin{quote} +The escape characters of Tib do not interfere with \TeX\ processing. If +\TeX\ is applied to the original pre-Tib document, the escape characters +and incomplete citations will appear as written. +\end{quote} +I.e., the pre-Tib {\tt .tex} file and the post-Tib {\tt .tex} file are both +valid \LaTeX\ input files. + +This seems a useful precedent. If \LaTeX\ could inter-work with the ``main +4'' in an analogous way, it would not be necessary to +\begin{quote} +Apply bibliography-formatting software.\\ +Then apply \LaTeX. +\end{quote} +every time that a {\tt .dvi} file is required. For example, if someone is +concentrating on getting their equations typeset correctly, they might want +to get {\tt .dvi} files quickly without always having to go through the +bibliography-formatting step. At the equation-checking stage, they may +just want a {\tt .dvi} file that shows their equations, and not be worried +about the appearance of their in-text citations or reference-list. + +A potential problem for any \LaTeX-er trying to follow the Tib precedent, +is that EndNote and ProCite use \verb+#+ to identify ``number within +database''. Hence the end-user may need to put a \verb+#+ (which is one of +\LaTeX's 10 ``special characters'') within the relevant +citation-delimiters. (See Table \ref{analogues} for details of the +programs' default citation-delimiters, and the alternatives available.) + +\begin{table} + +\begin{center} +\begin{footnotesize} + +\begin{tabular}{lll} +\hline\hline +Software & Citation & Notes \\ + & delimiters & \\ +\hline\hline +\LaTeX\ 2.09 with \BibTeX & {\tt \bs cite\{\ \}} & \\ +\hline +Tib & {\tt [.\ .]} & + The delimiters {\tt <.\ .>} are used \\ + & & in some circumstances \\ +\hline +EndNote & Default: {\tt [\ ]} & + You can tell EndNote to look for alternative \\ + & & 1-character delimiters (e.g., {\tt <\ >}).\\ +\hline +Library Master & Not known & + I understand that a facility for ``given \\ + & & the in-text citations, compile a \\ + & & reference-list'' is in preparation. \\ +\hline +Papyrus & Default: {\tt \%\%\ \%\%} & + You can tell Papyrus to look for alternative \\ + & & delimiters (but ``start delimiter'' must \\ + & & be the same as ``end delimiter'') \\ +\hline +ProCite & Default: {\tt (\ ) } & + You can tell ProCite to look \\ + & & for {\tt [\ ]} rather than for {\tt (\ )}. \\ +\hline +Reference Manager & Default: {\tt \{\ \}} & + You can tell Reference Manager to look \\ + & & for alternative delimiters. ``Start delimiter'' \\ + & & and ``end delimiter'' can each have up \\ + & & to 7 characters. \\ +\hline\hline +\end{tabular} + +\end{footnotesize} +\end{center} + +\caption{Citation-delimiters: defaults and alternatives\label{analogues}} + +\end{table} + + +One way of imitating Tib (in spite of the possibility of \verb+#+ +characters) might be to arrange delimiters such that the proprietary +program's ``start delimiter'' is interpreted by \LaTeX\ as being equivalent +to \LaTeX\ 2.09's \verb!\verb+!, and its ``end delimiter'' is interpreted +as equivalent to the \verb!+! that terminates the text introduced by +\verb!\verb+!. Then: +\begin{itemize} +\item + If \LaTeX\ is applied to the original {\tt .tex} file, the citation + keys will be typeset ``as is'' in a {\tt typewriter} font (to remind + the \LaTeX-er that the bibliographic software needs applying before + the document can be regarded as finished). +\item + If the bibliographic software is applied to the original {\tt .tex} + file, a new {\tt .tex} file will be produced that, when \LaTeX-ed, has + proper in-text citations and a reference-list. +\end{itemize} +Overall, the \LaTeX-er will be able to apply \LaTeX\ and the bibliographic +software in either order (in much the same way that \LaTeX\ and Tib can be +applied in either order). + +This approach could be the major element of a {\it modus vivendi} between +\LaTeX\ 3 and the ``main 4''. Table \ref{choice-of-delimiter} shows some +delimiters that might be suitable. + +\begin{table} +\begin{center} +\begin{footnotesize} + +\begin{tabular}{llll} +\hline\hline +Biblio.\ & Tell bib.\ software & Tell \LaTeX\ 3 & Notes \\ +software \\ +\hline\hline +EndNote & Delimiters are & {\tt<}\dots{\tt>} is equivalent \\ + & {\tt <} and {\tt >} & to 2.09's {\tt \bs verb+}\dots{\tt+} \\ +\hline +Papyrus & Delimiter is {\tt"} & {\tt"}\dots{\tt"} is equivalent \\ + & & to 2.09's {\tt \bs verb+}\dots{\tt+} \\ +\hline +ProCite & & & No obvious alternative to ``always \\ + & & & apply ProCite before \LaTeX'' \\ +\hline +Reference & Delimiters are & + {\tt \bs bsoft\{\dots\}} is equiv.\ to \\ +Manager & {\tt \bs bsoft\{} and {\tt\}} & + 2.09's {\tt \bs verb+}\dots{\tt+} \\ +\hline\hline +\end{tabular} \\[2mm] +\begin{tabular}{lp{100mm}} +{\it Note:} + & Clearly the default Papyrus and Reference Manager delimiters (see + Table \ref{analogues}) must be changed if the end-user is to have the + option of applying \LaTeX\ without having previously dealt with + citations, etc. However, the Papyrus and Reference Manager keys are + not liable to contain a {\tt \#} character. Hence, it is not crucial + whether Papyrus and Reference Manager keys are ``hidden'' from \LaTeX. +\end{tabular} + + +\end{footnotesize} +\end{center} + +\caption{Choice of delimiters for {\it modus vivendi\/}?% +\label{choice-of-delimiter}} +\end{table} + +A {\it modus vivendi} would also need to incorporate an approach to the +``root file and {\tt \bs include}-ed files'' situation. Although I don't +have any specific suggestions at this stage, I speculate that support for +this feature might be obtained by reference to the bibliographic software's +support for analogous features in wordprocessors (e.g., WordPerfect's +``master document and subdocument'' scheme, and Microsoft Word's +``include'' scheme). + +\subsubsection{Preferred interface} + +The suggestions in Table \ref{choice-of-delimiter} are intended as part of +a {\it modus vivendi} between \LaTeX\ 3 and the {\em current} versions of +the ``main 4''. Although the general approach is the same, the details +differ from product to product. + +It would be open to \LaTeX-ers to decide on a preferred interface, and to +inform the vendors of their preference in the hope that it may be possible +to implement the approach more consistently at some time in the future. We +wouldn't lose anything by asking! + +For example, if the preferred interface involved \verb+\bsoft{+{\it +key\/}\verb+}+ (as shown in Table \ref{choice-of-delimiter} for Reference +Manager), it would be open to us to ask the other vendors to relax their +rules on citation-delimiters so that future versions of the ``main 5'' will +all accept \verb+\bsoft{+{\it key\/}\verb+}+. If we were lucky enough to +get the vendors' agreement, this might enable us to produce ``using +proprietary bibliographic software with \LaTeX'' notes that are simpler +from the \LaTeX\ point-of-view than Table \ref{choice-of-delimiter}. + +\paragraph{Note} + +It might be possible to have a {\it modus vivendi} (e.g., with Reference +Manager) involving \verb!\verb+!{\it key\/}\verb!+!, rather than having an +additional command such as \verb+\bsoft+ (which would, in any case, be +implemented in much the same way as \verb!\verb!). The bibliographic +software will probably ignore things within \verb!\verb+! and \verb!+! +that don't look like citation keys. Nevertheless, I would be inclined to +introduce an extra command (e.g., \verb+\bsoft+) so that {\tt .tex} files +can be ``marked up logically'' to distinguish between: + \begin{itemize} +\item delimiters for a key that is intended for processing by + bibliographic software +\item delimiters for text that is intended to appear in a {\tt typewriter} + font in the final document. +\end{itemize} + +\subsubsection{Hybrid approaches} + +One can envisage schemes that embed a proprietary bibliographic system's +mechanism for dealing with citations and reference-lists within \LaTeX's +mechanism or {\it vice versa\/}). Examples might include: +\begin{itemize} +\item + telling Papyrus to use \verb+!!+ as its delimiter, and putting the + Papyrus citation markers inside a \LaTeX\ \verb+\cite+ command, thus + \verb+\cite{!!+\dots\verb+!!}+.% +\footnote{Bernard J. Treves Brown, of Manchester University, is +experimenting with this technique.} + +\item + trying to get proprietary bibliographic software to read an {\tt .aux} + file, and write a {\tt .bbl} file, as \BibTeX\ does. (Perhaps this + could be done by a shell script which invokes the proprietary software + in a suitable way.) + +\end{itemize} + +Generally, I fear that such hybrid schemes may lead to confusion, and I +would not be inclined to persue them: +\begin{itemize} + +\item + Anyone constructing a hybrid scheme will have to be very careful about + ``which software is in charge when'' (e.g., whether citation numbers + are incremented by \LaTeX, by the proprietary system, or by ``one + shadowing the other''). The hybrid scheme will need maintenance + (e.g., someone will need to verify that the scheme still works with + each new release of the proprietary system). There may be three lots + of documentation for the end-user to study: that about \LaTeX\ 3, that + about the proprietary system, and that about the hybrid scheme's + subtle combination of elements of both. If anything goes wrong, it + may be in ``a grey area'', which is neither the responsibility of the + \LaTeX\ 3 project, nor the responsibility of the bibliographic + software vendor. + +\item + The proprietary systems seem more akin to Tib than to \BibTeX. To try + and force them into the \BibTeX\ sterotype when they are not designed + to work like \BibTeX\ seems like ``asking for trouble''. I doubt + whether the \TeX\ community has the resources to produce interfaces + that ``make proprietary systems work like \BibTeX'', and I doubt + whether the vendors have the inclination to commit such resources. + +\end{itemize} + +My instinct is that it would be better to have a simple interface (e.g., +conventions such as those outlined in Table \ref{choice-of-delimiter}), so +as to put the end-user in a situation where responsibilities are clear: +\begin{itemize} +\item + Typesetting is the responsibility of \LaTeX\ 3. +\item + Bibliography-generation is the responsibility of the bibliographic + software. +\end{itemize} + +Hence, if using a proprietary bibliographic system, the end-user should +ignore the \LaTeX\ 3 manual's descriptions of commands to support the +DIY-er (i.e, ignore the \LaTeX\ commands envisaged in section \ref{DIY}), +and ignore anything that is provided to support the \BibTeX-er. +\begin{itemize} + +\item + The proprietary system will be ``in charge'' of bibliography + generation. The method used will be that envisaged by the vendor, and + documented in the vendor's manual: if it's good, the vendor will get + the credit; if it's bad, the vendor will get the blame. + +\item + The delimiters in the {\tt .tex} file will be delimiters for the + proprietary system (chosen, if possible, in such a way that the {\tt + .tex} file as acceptable to \LaTeX\ even before processing by the + proprietary system.) They might be as shown in Table + \ref{choice-of-delimiter}. The ``keys'', etc., inside the delimiters + will follow the rules given in the vendor's manual ({\em not} the + rules given in the \LaTeX\ 3 manual about keys that the DIY-er can + use.) + +\item + The proprietary system will be ``told to produce \TeX\ output''. How + good or bad they are at this will be the responsibility of the + proprietary system (although interested \LaTeX-ers might advise the + vendors about what is required). +\end{itemize} +Overall, the end-user will get in-text citations filled in, and reference +lists generated, in the standard way that is described in the manual that +describes the proprietary system. If this standard way does not suit a +\LaTeX-er's requirements, it may be better for the him/her to seek +alternative bibliography-formatting software rather than spending time +trying to circumvent the problems. + +Of course, if people want to put effort into developing hybrid schemes, and +happen to get good {\it modus vivendi} between \LaTeX\ and proprietary +bibliographic systems, I would be delighted to find that my instinct is +wrong! + +\subsubsection{The user's choice} + +Given some {\it modus vivendi}, end-users would be able to make their own +assessments of which bibliographic software suits their needs. +\begin{itemize} + +\item Cost is obviously a factor. + +\item + An end-user who wants software that has been designed specifically for + use in conjunction with \LaTeX, will probably be inclined to choose + \BibTeX\ or Tib. + +\item + \BibTeX's approach makes good use of disk-space. A {\tt .bbl} file + will be smaller than ``near-duplicates of {\tt .tex} files''. + +\item + An end-user who wants ready-made methods of downloading information + from commercial bibliographic databases, library catalogues, etc., + will probably favour one of the proprietary programs. The proprietary + systems also offer database administration and searching facilities. + +\item + Anyone who does not have the time and patience to deduce (from a + proprietary system's wordprocessor-oriented documentation/menus) what + the \LaTeX-er should do might prefer to wait until someone else has + deduced what is required, and has documented the tricks involved. + +\item + The end-user's choice may be constrained by the platform on which they + are using \LaTeX\ (e.g., they may need bibliographic software for a + Unix system). + +\item + Wordprocessor-oriented systems may not support typesetting subleties + to the degree that \LaTeX-ers would like. + +\item + Support (or lack of it) for non-English languages may be another + factor.% +\footnote{Decisions may be needed about whether to try using a proprietary +system's support for diacritics, in the hope of being able to share a +database with colleagues who use wordprocessors. The alternative would be +to have database entries that use \TeX\ encoding for diacritics.} + +\item + End-users may be constrained to use the same system as other people in + their research group (e.g., so that the group can share databases). +\end{itemize} + +It is unlikely that anyone will find bibliographic software that is perfect +for their needs. However, people are more likely to find something that +suits them if they have a choice than if they have no choice. + + +\subsection{OR for \LaTeX\ 3} + +Given the situation outlined in section \ref{background}, I suggest the +following as the OR for \LaTeX\ 3's relationship with +bibliography-formatting software: +\begin{itemize} + +\item + As far as practicable, \LaTeX\ 3 should be neutral towards the + end-user's choice of bibligraphy-formatting software. Ideally, people + should be able to choose typesetting software for typesetting reasons, + and bibliographic software for bibliographic reasons --- their choice + of typesetting software should not restrict their choice of + bibliographic software. +\item + Hence, a {\it modus vivendi} between \LaTeX\ 3 and each of the + ``main 5'' should be thought up, tested and documented.% +\footnote{The {\it modus vivendi} might be along the lines shown in Table +\ref{choice-of-delimiter}, or might be something else that emerges from +practical experience. It doesn't matter much whether the documentation is +provided by the \LaTeX\ 3 project or by the bibliography software vendor, +as long as someone provides it!} + +\item + There might be ``a preferred interface'' between \LaTeX\ 3 and + proprietary bibliographic software. It vendors can be persuaded to + support this interface, \LaTeX-ers will get a consistent interface to + proprietary bibliographic software. If not, things will stay + inconsistent (e.g., as shown in Table \ref{choice-of-delimiter}). + +\item + In line with the neutrality suggested above, \BibTeX\ will continue to + be supported, but \LaTeX\ 3 documentation will not be particularly + pro-\BibTeX. It is desirable that {\tt .bst} files should be updated + so that \BibTeX\ produces \LaTeX\ 3 commands (designed to satisfy the + requirements listed in section \ref{DIY}) rather than \LaTeX\ 2.09 + commands. +\end{itemize} + +\section{Miscellaneous} +\label{misc} + +\subsection{``Local names'' for keys} + +If you are ``doing it yourself'', choice of keys is unlikely to be a +problem. For example, you could equally well use {\tt lamport-86} or {\tt +latexbook} as a key for the \LaTeX\ manual. There is no particular need +for consistency from one document to another: you can use {\tt lamport-86} +as the key in one document, and use {\tt latexbook} as the key in another. + +However, if you have a large bibliographic database (perhaps shared with a +group of colleagues), it may be impracticable to keep track of keys +assigned on an {\it ad hoc} basis, and difficult to guarantee that keys +will stay unique whenever a new item is added to the database. + +Moreover, a {\tt .tex} file to be \verb+\input+ may contain bibliographic +details and \LaTeX\ commands that are generated automatically by +bibliographic software (even though \LaTeX\ will have no way of +distinguishing the file from a one typed in by a DIY-er). Such +bibliographic software might be programmed to assign keys automatically. +For example, software might write a {\tt .tex} file that contains \LaTeX\ +2.09 \verb+\bibitem+ commands, with keys of the form {\tt lamport-86} +constructed automatically from two fields in the database.% +\footnote{Some thought would need giving to any method of assigning keys +automatically. If a bibliographic database is continually growing, there +may be no guarantee that keys of the form {\tt lamport-86} will stay unique +when new items are added to the database. It might be safer to assign less +memorable keys that can be guaranteed to stay distinct, e.g., the ``record +number'' in the database, or a book's ISBN.} + +To help cater for such situations, it might be useful if \LaTeX\ 3 allowed +``local names'' for keys, i.e., some mechanism whereby an author could +declare (e.g., in a document's root file) that, for the duration of a +document, a particular ``informal key'' (to be used in in-text citation +commands) should be treated as a synonym for a ``formal key'' (which +appears in an entry in an automatically generated reference-list). For +example, it might be useful to be able to declare that {\tt latexbook} can +be used as a ``local name'' for {\tt lamport-86}. + + +\subsection{Reference-lists that are also indexes} + +Another requirement that needs to be borne in mind is for reference-lists +which, as well as providing bibliographic details of sources, provide an +index to the pages on which the sources are cited: +\begin{itemize} +\item + in mainstream academic publications, the requirement will probably be + for a ``combined list of references and author index'' \cite[pp.\ 198 + \& 258]{butcher-92} +\item + in law books, the requirement is usually for ``front matter'' units + such as ``table of cases'', ``table of statutes'' and ``table of + treaties''. In a typical ``table of cases'', each entry + tells the reader + \begin{itemize} + \item where further details of the case can be found + (e.g., the relevant law report) + \item which pages in the book's main text mention the case. + \end{itemize} + The other types of tables are analogous. +\end{itemize} + + +\appendix +\section{Some suppliers of mainstream bibliographic software} +\label{suppliers} + + +\begin{description} + +\item[EndNote] + Niles and Associates. 2000 Hearst St, Berkeley, CA 94709, USA. + E-mail: {\tt nilesinc@well.sf.ca.us}. +% UK agents: Cherwell Scientific, 27 Park End Street, Oxford OX1 1HU. +% Tel: 0865 794884. A couple of Cherwell people have JANET addresses +% --- {\tt hodgkina@oxford.vax} is one, I think. + +\item[Library + Master] Balboa Software, P. O. Box 3145, Station D, Willowdale, + Ontario, M2R 3G5, Canada. E-mail: {\tt hahne@epas.utoronto.ca}. +% No UK agent that I know of. +% Current version just does reference-lists. Next version +% should do in-text citations, so they say. + +\item[Papyrus] + Research Software Design, 2718 S. W. Kelly St, Suite 181, Portland, + Oregon 97201, USA. E-mail: {\tt RSD@applelink.apple.com}. +% UK agents: Paul Tharagonnet, European Scientific Software Company, +% Britannia Centre, Point Pleasant, Tyne and Wear, NE28 6HQ. Tel: +% 091-295 3000 + +\item[ProCite] + Personal Bibliographic Software, P. O. Box 4250, Ann Arbor, Michigan + 48106. E-mail: \verb+sales@pbsinc.com+ or \verb+support@pbsinc.com+. +% European Office: PBS. Woodside, Hinksey Hill, Oxford OX1 5AU. Tel: +% 0865 326612. There's a UK user group --- I think some official +% (secretary?) is at Birmingham University somewhere (probably in the +% library). I've forgotten the details. + +\item[Reference + Manager] Research Information Systems, Camino Corporate Center, 2355 + Camino Vida Roble, Carlsbad, CA 92009, USA. E-mail: {\tt + sales@ris.risinc.com}. +% John Cox (Royal Free) thinks the ``best people in the UK'' for RefMan +% stuff are: Bilaney Consultants, St. Julians, Sevenoaks, Kent, TN15 +% 0RX. Tel. 0732 450002. Also sold by: Microinfo, P. O. Box 3, +% Omega Park, Alton, Hants, GU34 2PG. Tel: 0420 86848. + +\end{description} + + +\section{E-mail discussion lists about bibliographic software} +\label{discussion-lists} + +The {\tt bibsoft} list provides a forum for general discussion +of personal bibliographic database management systems. You can subscribe +by sending a one-line e-mail message of the form\\ +{\tt subscribe bibsoft last-name,first-name}\\ +to\\ +{\tt listserv@indycms.iupui.edu}. + +There are also specific discussion lists for EndNote, Library Master and +ProCite. See \cite{stigleman-93}. + +In the United Kingdom, there is a discussion list for Higher Education +institutions that have taken up the {\sc chest} Papyrus deal. You can +subscribe by sending a one-line message of the form\\ +{\tt subscribe chest-papyrus first-name last-name}\\ +to\\ +{\tt mailbase@mailbase.ac.uk}. + +\begin{thebibliography}{10} + +\bibitem{lamport-86} +Leslie Lamport. +\newblock {\em \LaTeX: A Document Preparation System}. +\newblock Addison-Wesley, 1986. + +\bibitem{harvard-law} +{\em The Bluebook: A Uniform System of Citation}. +\newblock Harvard Law Review Association, 15th edition, 1991. +\newblock Obtainable from: Harvard Law Review Association, 1511 Massachusetts + Avenue, Cambridge, Massachusetts 02138. + +\bibitem{iso-690} +Documentation --- bibliographic references --- content, form and structure. +\newblock ISO 690, International Organization for Standardization, 1987. + +\bibitem{bennett-93} +Frank~G. Bennett, Jr. +\newblock {Lexi\TeX}: a {\LaTeX} macro package for lawyers. +\newblock Document deposited in electronic archives, 1993. + +\bibitem{butcher-92} +Judith Butcher. +\newblock {\em Copy-editing}. +\newblock Cambridge University Press, 3rd edition, 1992. + +\bibitem{apa-83} +{\em Publication Manual of the American Psychological Association}. +\newblock American Psychological Association, 3rd edition, 1983. +\newblock Obtainable from: American Psychological Association, P. O. Box 2710, + Hyattsville, MD 20784. + +\bibitem{chicago-82} +{\em The {C}hicago Manual of Style}. +\newblock University of Chicago Press, 13th edition, 1982. + +\bibitem{acs-86} +Janet~S. Dodd. +\newblock {\em The ACS Style Guide}. +\newblock American Chemical Society, 1986. + +\bibitem{mhra-91} +{\em MHRA Style Book}. +\newblock Modern Humanities Research Association, 4th edition, 1991. + +\bibitem{mla-88} +Joseph Gibaldi and Walter~S. Achtert, editors. +\newblock {\em MLA Handbook for Writers of Research Papers}. +\newblock Modern Language Association of America, 3rd edition, 1988. + +\bibitem{vancouver-91} +International~Committee of~Medical Journal~Editors. +\newblock Uniform requirements for manuscripts submitted to biomedical + journals. +\newblock {\em British Medical Journal}, 302:340--341, February 1991. +\newblock Note: This article was also published in the {\it New England Journal + of Medicine} (7th Feb.\ 1991). It specifies the ``Vancouver style'' for + manuscript-preparation, which is accepted by over 400 journals. + +\bibitem{bs-5605} +Citing publications by bibliographic references. +\newblock BS 5605, British Standards Institution, 1978. + +\bibitem{bs-1629} +References to published materials. +\newblock BS 1629, British Standards Institution, 1989. + +\bibitem{bs-6371} +Citation of unpublished documents. +\newblock BS 6371, British Standards Institution, 1983. + +\bibitem{patashnik-88} +Oren Patashnik. +\newblock {BibTeXing}. +\newblock Document deposited in electronic archives, January 1988. + +\bibitem{alexander-89} +James~C. Alexander. +\newblock Tib: A {\TeX} bibliographic preprocessor. +\newblock Document deposited in electronic archives, 1989. + +\bibitem{stigleman-93} +Sue Stigleman. +\newblock Bibliography formatting software: an update. +\newblock {\em Database}, February 1993. + +\end{thebibliography} + +\end{document} diff --git a/info/ltx3pub/l3d006.tex b/info/ltx3pub/l3d006.tex new file mode 100644 index 0000000000..3be75f0dc4 --- /dev/null +++ b/info/ltx3pub/l3d006.tex @@ -0,0 +1,558 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-L3-006, +%%% filename = "l3d006.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "David Rhead", +%%% doc-group = "Project core team", +%%% title = "Structures to be supported", +%%% version = "1.00", +%%% date = "April 1992", +%%% time = "", +%%% status = "discussion paper", +%%% abstract = "", +%%% 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 = "61107 558 3086 23976", +%%% 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.", +%%% } +%%% ==================================================================== + + +% These notes are along the same lines as Wessel Kraaij's comments, as +% copied from comp.text.tex by Rainer. + +% Please feel free to replace ... + \documentstyle{l3ms001} + \sloppy +% ... by a command to map a "2.09 article structure" into whatever +% design you like which is compatible with that structure. + +\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\begin{document} + +\title{Structures to be supported} +\author{David Rhead} +\date{April 1992} +\maketitle + +\tableofcontents + +\section{Motivation} + +\subsection{Dual role of 2.09 style files} + +In \LaTeX\ 2.09, ``style files'' confuse 2 roles: +\begin{itemize} +\item definition of a structure. + (I think I've heard this given as a justification for the designs: + ``the designs don't matter, because the style-files are just there + to define what structures are supported''.) +\item mapping the structure into a design. +\end{itemize} +For example: +\begin{itemize} +\item {\tt article.sty} and {\tt xarticle.sty} seem to map the same + structure (the ``\LaTeX\ 2.09 analysis of the structure of an {\tt + article}'') into different designs +\item the command \verb+\documentstyle{siam}+ seems to map ``{\sc siam}'s + analysis of the structure of an article'' into ``{\sc siam}'s design for + an article''. (If so, then the roles of \verb+\documentstyle[11pt]{siam}+ + and \verb+\documentstyle[12pt]{siam}+ are unclear. Are they intended + as ``preprint styles'', for an author to use while a paper is + being drafted?) +\item the commands \verb+\documentstyle[onecolumn,10pt]{iso}+ and + \verb+\documentstyle[twocolumn,9pt]{iso}+ seem to map ``the structure + of an ISO standard'' into ``two designs for ISO standards''. +\end{itemize} +Changing from \verb+\documentstyle{article}+ to +\verb+\documentstyle{xarticle}+ will work (i.e., give a document with the +same structure but a different design), but changing from +\verb+\documentstyle{article}+ to \verb+\documentstyle{siam}+ or to +\verb+\documentstyle{iso}+ won't work. + +The analysis that was done for version 2.09 is mostly implicit in {\tt sty} +files, rather than being available explicitly. Subsequent providers of +{\tt sty} files have generally followed the same practice (although some +provide supplementary documentation). Thus, a user who just wants his/her +current structure laid out in a different design may end up reading lots of +archived {\tt sty} file code to see whether an alternative {\tt sty} file +supports the structure they are currently using. + +\subsection{Practical difficulties at 2.09} + +Someone attempting to produce a book/thesis with \LaTeX\ 2.09 +has to change various defaults: +\begin{itemize} +\item they will want their preliminary pages numbered in roman, but will + want to switch back to arabic at the start of their main text. + They may need a \verb+\setcounter+ to start the roman sequence at the + right place. +\item they will probably want units such as ``acknowledgements'' and + ``references'' to appear in their ``table of contents''. They will + be using \verb+\chapter*+ for such units (to get headings that + look appropriate), so will have to use \verb+\addcontentsline+ + to get the units mentioned in the ``table of contents''. +\item page-selection can be a problem, since \verb+\count0+ + doesn't distinguish between roman and arabic. +\end{itemize} + +People producing ``an issue of a journal'', or a conference-proceedings, +may have additional problems: +\begin{itemize} +\item if they treat the work as {\tt book} \cite[p.\ 23]{lamport}, they + will be faced with trying to get authors' names, affiliations, etc., + typeset consistently at the start of each chapter. +\item if they leave the work as a series of {\tt article}s, they will be faced + with ensuring that numbering (of pages, etc.) follows on. +\end{itemize} + +I think that these problems arise because the analysis of ``document +structure'' for the \LaTeX\ 2.09 ``standard styles'' is inappropriate: +\begin{itemize} +\item the concepts of ``front matter'' and ``back matter'' are well + known in publications about book design, etc., but aren't supported + by the 2.09 ``standard styles'' +\item an ``issue of a journal'', and a conference-proceedings, have structures + of their own (which are different from the structure of an ordinary book). +\end{itemize} + +\subsection{Suggestion for 3.0} + +I think that there would be advantages in: +\begin{enumerate} +\item + keeping a clear distinction between ``the structure supported'' and + ``the design into which the structure is mapped'', so that the + end-user will known when they can/cannot change design by changing + just one line of their {\tt tex} file. +\item + associated with (1), thinking in terms of ``software that maps a + structure into a design'', rather than ``style file'' which confuses + ``structure supported'' with ``design into which the structure is + mapped'' +\item + analyzing in more depth the structure of the types of documents to be + supported. Then, for example, the end-user will be able to just say + ``this is front matter'', and so have details such as roman/arabic + numbering, heading style, and ``table of contents'' entries taken care + of automatically in accordance with the relevant design (or + house-style). +\end{enumerate} + +\section{Structures to be supported} + +Various gurus \cite{chicago,aap,majour,white,bs-thesis,bs-report,tei} give +analyses of the structures of the document-classes for which people use +\LaTeX\ 2.09. Although, there may be differences between the analyses +offered by different gurus, I think that it would be better for the project +to consult the gurus, rather than to ignore them (since otherwise the +project will waste time re-doing the work already done by the gurus). + +\subsection{First proposition} + +It is easier to select the ``good bits'' from off-the-shelf analyses than +to start from nothing. + +\subsection{Second proposition} + +For overall structure, particularly ``good bits'' are to be found in the +{\it Chicago Manual of Style} \cite[pages 4,5]{chicago} and in the SGML DTDs +published by the Association of American Publishers \cite[appendix B]{aap}. + +\subsection{Notes about AAP analysis} + +\subsubsection{Three basic structures} + +Broadly, the AAP analysis defines three basic structures: +\begin{description} +\item[BK-1] book/monograph/textbook, conference proceedings, technical report, + thesis/dissertation +\item[ART-1] article, feature +\item[SER-1] serial,\footnote{% + I think they mean ``an issue of a serial''. See section + \ref{not-a-serial}.} + conference-proceedings. (Articles are embedded within + a serial without any modifications.) +\end{description} + +Thus, although the \LaTeX\ 2.09 and AAP analyses both define 3 main structures, +the boundaries are drawn differently: +\begin{itemize} +\item + the AAP regards reports and books as having the same basic BK-1 + structure (unlike \LaTeX\ 2.09, which has two distinct ``standard + styles'', {\tt report} and {\tt book}, the main difference being that + {\tt book} isn't allowed to have an abstract) +\item + whereas the \LaTeX\ 2.09 manual suggests \cite[p.\ 23]{lamport} that + ``it is easy to include an article as a chapter in a report or book'', + the AAP defines a special structure, SER-1, for multi-author works + made up of separate articles. +\end{itemize} + +\subsubsection{Borderline cases} + +Some types of document may lie on the borderline between two AAP +categories. For example, a long report might be divided into units called +chapters and be appropriately classified as BK-1, while a short report +might be divided into units called sections and be more akin to ART-1. +(Compare \cite{aap}, which envisages that technical reports will have BK-1 +structure, with \cite{bs-report} which envisages that technical reports +will be divided into sections.) + +At worst, cases that cross borderlines might need two mappings. In the +report example, they might be (1) a mapping of BK-1 structure to a report +design, and (2) a mapping of ART-1 structure to a report design. (This is no +worse than the situation with the \LaTeX\ 2.09 ``standard styles'', which +also envisage that {\tt report} is made up of chapters.) Thus, adoption of +AAP classification would not cause insuperable difficulties. + +\subsubsection{Advantages of AAP analysis} + +Paying serious attention to the AAP analysis would have various advantages: +\begin{itemize} +\item the analysis is well-known +\item it covers the types of documents that current \LaTeX-users generally + want to produce +\item it generally (but not always) gives analysis to the depth that + \LaTeX\ 3.0 might need +\item other gurus cite it (if only to disagree with it) +\item it embodies knowledge about publishing practice that the + average \LaTeX-er doesn't have +\item it is finite. The project would not be attempting to analyse + all possible documents, but would be concentrating on the structures + that are most commonly required. +\item support for AAP-like structures might attract ``real publishers'' + to \LaTeX +\item {\it it exists now} (unlike, for example, the European + journal-publishers' work \cite{majour}, which is still in progress). +\end{itemize} + +\subsubsection{Disadvantages of AAP analysis} +\label{not-a-serial} + +The AAP analysis is not suitable in all respects as a model of what +\LaTeX\ 3.0 (and associated software) should do: +\begin{itemize} +\item The analysis may go deeper in some areas than is required for \LaTeX\ 3.0. + (If something with the ``look and feel'' of SGML is required, one might + as well use SGML.) +\item On the other hand, the analysis doesn't go deep enough in other areas. + For example, the AAP analysis is no better than the \LaTeX\ 2.09 analysis + for: + \begin{itemize} + \item citations and reference-lists \cite{iso-690}; + \item captions, legends and credit-lines \cite[ch.\ 11]{chicago}; + \item notes to tables \cite[ch.\ 12]{chicago}. + \end{itemize} + Other gurus' analyses would have to be used in such areas. +\item At a recent SGML meeting \cite{exeter8}, the AAP standard was + described as too Anglo-centric. Hence the European journal-publishers' + work \cite{majour} was criticised as too AAP-influenced. +\item ``Serial'' is usually used (e.g., by librarians) to describe a + publication that could potentially continue indefinitely (e.g., all + the issues of a journal, including those not yet published). + Therefore SER-1 may be a poor choice of name for a structure that + would represent ``a single issue of a series'' or a ``one-off + conference proceeedings''. MULTI-1 might have been a better name + for such multi-author (or multi-article) works. +\end{itemize} + +\subsubsection{Attitude to AAP analysis} + +An analysis based on that given by the AAP (minus a few details, plus a few +other details which could be taken from \cite{chicago} and other places) +might give a reasonable compromise between: +\begin{itemize} +\item ``re-inventing the wheel'' +\item blindly obeying something (AAP structure) that hasn't been thought through + in all + respects. +\end{itemize} + +\subsection{Example} + +For example, if some compromise was made between the Chicago analysis and +the AAP analysis, one might envisage a user preparing a file of the form: +\begin{verbatim} +. +\begin{frontmatter} + \frontelement{Foreword} + ... + \frontelement{Preface} + ... + \frontelement{Acknowledgements} + ... + \frontelement{Dedication} + ... + \frontelement{Abstract} + ... +\end{frontmatter} +\begin{bodymatter} + \chapter{...} + ... +\end{bodymatter} +\begin{appendices} + \appendix{...} + ... +\end{appendices} +\begin{backmatter} % short for "other back matter" + \backelement{Glossary} + ... + \backelement{Notes} + ... +\end{backmatter} +\end{verbatim} +% Perhaps \oneappendix{...} could be substituted for +% \begin{appendices} +% \appendix{...} +% ... +% \end{appendices} +% if there is only one appendix. + +\subsubsection*{Note} + +The above example assumes that, for \LaTeX\ purposes: +\begin{itemize} +\item it will generally be sufficient to think in terms of ``front matter + elements'' and ``back matter elements'' +\item it will not be appropriate to go for complete analogy with the AAP's + SGML DTD. Thus, one would not expect typical \LaTeX\ 3.0 software to + define environments like \verb+\acknowledgements+: if \LaTeX\ 3,0 gets + used as a back-end for an SGML system, the AAP's \verb+<ack>+ would + get converted to \verb+\frontelement{Acknowledgements}+. (However, if + any elements required special treatment, particular environments could + be defined for them, as is done in \LaTeX\ 2.09 with {\tt abstract}.) +\end{itemize} + +\subsection{Bonuses from using structures influenced by Chicago/AAP} + +\subsubsection{Conference proceedings} + +A document with structure based on SER-1 will naturally support ``a +reference-list at the end of each chapter'' plus the option of a composite +bibliography at the end of the document (for which one sometimes sees +in requests in electronic digests from editors of conference proceedings). + +Because the structure is appropriate, there should be less conflict than if +one is (for example) mis-using the 2.09 {\tt book} structure. One +shouldn't end up trying to have {\tt thebibliography} at both 2.09 +``section'' level and at ``chapter'' level, because the ``references at end +of article'' and ``bibliography at end of complete work'' units would have +different definitions. For \BibTeX, one could envisage a scheme involving +perhaps {\tt article1.bbl}, \dots\ , {\tt article}$N${\tt .bbl}, {\tt +backmatter.bbl}. + +\subsubsection{Page selection} + +Such an analysis would lead naturally to schemes for using the \verb+\count+s +sensibly, so as to support: +\begin{itemize} +\item distinction between roman and arabic numbered pages (i.e., front + matter and main text) +\item selection of ``all the front matter'', a whole chapter, a whole appendix, + or ``all the (non-appendix) back matter''. +\end{itemize} +For example, one might have: +\begin{center} +\begin{footnotesize} +\begin{tabular}{lllll} +\hline\hline +Major division & Minor divisions&\verb+\count0+&\verb+\count1+&\verb+\count2+\\ +\hline\hline +Front matter & & page-number & {\tt -1} & {\tt 0} \\ +\hline +Main text & chapters & page-number & chapter-number & {\tt 0} \\ + & & & {\tt 1, 2, ... }& \\ +\hline +Back matter: & appendices &page-number&appendix number& {\tt 1}\\ +appendices & & & {\tt 1, 2, ... }& \\ +\hline +Back matter: & glossary & page-number&{\tt -2} & {\tt 0} \\ +other units & bibliography & & \\ + & index, etc. & & \\ +\hline\hline +\end{tabular}\end{footnotesize}\end{center} + +\subsubsection{Generally} + +Generally, if a correct analysis of structure is made, practical details +will tend to fall into place nicely, rather than needing messy {\it ad hoc} +circumventions. + +\section{Modularity} + +\subsection{Analysis in general} + +Although I've suggested that a Chicago/AAP analysis might provide a suitable +basis for ``structures to be supported by \LaTeX\ 3.0'': +\begin{itemize} +\item any ``\LaTeX\ 3.0 project'' selection of ``the good bits'' + is unlikely to be perfect +\item some better analysis may come along, and some successor to the + ``\LaTeX\ 3.0 project'' may want to support that analysis rather than + one derived from the suggestions given here +\item people may have to produce ``structure to design'' mappings for + structures other than the 3 ``modified AAP'' ones (e.g., legal + articles, ISO standards, SGML DTDs other than the 3 AAP ones) +\item people may produce ``structure to design'' mappings for + enhancements of the 3 ``modified AAP'' ones (e.g., a book + that contains plates and maps, if they are to be numbered + separately from other illustrations). +\end{itemize} +It seems desirable that such possibilities should be borne in mind when any +software is being written. + +\subsection{Structure supported by mapping software} + +I think that mapping software (i.e., whatever we call the successors to +2.09 ``style files'') should make clear the structure that is supported, +for example: +\begin{itemize} +\item by software checks +\item because the mapping software starts with a comment that defines the + structure it supports. +\end{itemize} +Then end-users will know (or find out in a friendly way) whether or not +they can simply ``change design by changing one line of the {\tt tex} file''. + +For example: +\begin{itemize} +\item a thesis and a Wiley book might have the same structure, so + a one-line change to the {\tt tex} file should lead to a change from one + design to another (with no change to the structure) +\item papers in different physics journals will probably have the same + structure, so + a one-line change to the {\tt tex} file should lead to a change from one + journal's design to another's +\item ISO standards have their own structure. Someone who tries to apply + typesetting software that is intended for a different structure (e.g., an + AAP-based structure) should get a sensible error message. +\end{itemize} + + + +\begin{thebibliography}{00} +\addcontentsline{toc}{section}{References} +\bibitem{lamport} + {\sc Leslie Lamport.} {\it LaTeX: a document preparation system.} + Addison-Wesley, 1986. +\bibitem{chicago} + {\it Chicago manual of style.} + 13th edition. + Chicago: University of Chicago Press, 1982. +\bibitem{aap} + {\it Electronic manuscript preparation and markup: ANSI/NISO Z39.59-1988.} + New Brunswick: Transaction publishers, 1991. + ISBN 0-88738-945-7. +\bibitem{majour} + {\it DTD for article headers.} + Amsterdam: European workgroup on SGML, 1991. +\bibitem{white} + {\sc Jan V. White.} + {\it Graphic design for the electronic age.} + Watson-Guptill, 1988. +\bibitem{bs-thesis} + {\it Presentation of theses and dissertations.} + BS 4821. British Standards Institution, 1990. +\bibitem{bs-report} + {\it Presentation of research and development reports.} + BS 4811. British Standards Institution, 1972. +\bibitem{tei} + {\sc C. M. Sperberg-McQueen and Lou Burnard.} + {\it Guidelines for the encoding and interchange of machine-readable + texts.} + Draft version 1.1. + Oxford, Chicago: Text Encoding Initiative, 1990. +\bibitem{exeter8} + {\sc Michael Popham.} {\it Report on inaugural meeting of + UK chapter of SGML Users' Group.} Report number 8, SGML project, Exeter + University, 1992. +\bibitem{iso-690} + {\it Documentation --- bibliographic references --- content, form and + structure.} + ISO 690. International Organization for Standardization, 1987. +\end{thebibliography} + +\end{document} diff --git a/info/ltx3pub/l3d007.tex b/info/ltx3pub/l3d007.tex new file mode 100644 index 0000000000..8816b1cd44 --- /dev/null +++ b/info/ltx3pub/l3d007.tex @@ -0,0 +1,5583 @@ +%%% ==================================================================== +%%% @LaTeX3-report { LaTeX3-L3-007 +%%% filename = "l3d007.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Justin Ziegler", +%%% doc-group = "Project core team", +%%% title = "Technical report on Math Font Encoding", +%%% version = "2.00", +%%% date = "June 1, 1994", +%%% time = "18:52:36 GMT", +%%% status = "Public, official", +%%% abstract = "This is a report of the \LaTeX3 +%%% Project work on math font encoding. +%%% ", +%%% keywords = "Math fonts encoding", +%%% project-address = "LaTeX3 Project \\ +%%% c/o Dr. Chris Rowley \\ +%%% The Open University \\ +%%% Parsifal College \\ +%%% Finchley Road \\ +%%% London NW3 7BG, England, UK", +%%% project-tel = "+44 20 7794 0575", +%%% project-FAX = "+44 20 7556 6196", +%%% project-email = "latex-team@latex-project.org", +%%% copyright = "Copyright (C) 1994 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@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: +%%% cam.ctan.org +%%% dante.ctan.org +%%% tug.ctan.org +%%% 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@dante.ctan.org +%%% 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 = "23322 5582 30455 207129", +%%% 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.", +%%% } +%%% ==================================================================== + +\NeedsTeXFormat{LaTeX2e} + +\begin{filecontents}{l3d007.sty} +%%% Action macros for this document +%%% + +%%% table stuff from testfont whole thing need wrapup!!!!!! + +\tracinglostchars=0 + +\newcount\mcnt \newcount\ncnt \newcount\pcnt \newdimen\dim +%JWZ the next two counters can be changed for 128 glyphs or 256 glyphs. +\newcount\maxz \maxz=128 +\newcount\maxiz \maxiz=127 +\newif\ifskipping +\def\setbaselineskip{\setbox0=\hbox{\ncnt=0 +\loop\char\ncnt \ifnum \ncnt<\maxiz \advance\ncnt 1 \repeat} +\baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 } +\def\hours{\ncnt=\time \divide\ncnt 60 + \mcnt=-\ncnt \multiply\mcnt 60 \advance\mcnt \time + \twodigits\ncnt\twodigits\mcnt} +\def\twodigits#1{\ifnum #1<10 0\fi \number#1} +\def\startfont#1{\font\testfont=#1 +% \leftline{\scriptsize Test of #1\unskip\ on \today\ at \hours} +% \medskip + \testfont \setbaselineskip + \ifdim\fontdimen6\testfont<10pt \rightskip=0pt plus 20pt + \else\rightskip=0pt plus 2em \fi + \spaceskip=\fontdimen2\testfont % space between words (\raggedright) + \xspaceskip=\fontdimen2\testfont \advance\xspaceskip + by\fontdimen7\testfont} + +\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant +\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant +\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal + \mcnt=\ncnt \divide\mcnt by 64 \xdef\0{\the\mcnt}% + \multiply\mcnt by-64 \advance\mcnt by\ncnt \divide\mcnt by 8 + \xdef\1{\the\mcnt}} +\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}% + \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F% + \global\pcnt=\lastpenalty}} % \pcnt=1 if none of the characters exist +\def\oddline{\cr + \noalign{\nointerlineskip} + \multispan{19}\hrulefill& + \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr + \noalign{\nointerlineskip}} +\def\evenline{\loop\skippingfalse + \ifnum\ncnt<\maxz \mcnt=\ncnt \divide\mcnt 16 \chardef\next=\mcnt + \expandafter\setdigs\meaning\next \testrow + \ifnum\pcnt=1 \skippingtrue \fi\fi + \ifskipping \global\advance\ncnt 16 \repeat + \ifnum\ncnt=\maxz \let\next=\endchart\else\let\next=\morechart\fi + \next} +\def\morechart{\cr\noalign{\hrule\penalty5000} + \chartline \oddline \mcnt=\1 \advance\mcnt 1 \xdef\1{\the\mcnt} + \chartline \evenline} +\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} +\def\chartstrut{\lower4.5pt\vbox to14pt{}} +\def\dofonttable#1{\startfont{#1}$$\global\ncnt=0 + \halign to\hsize\bgroup + \chartstrut##\tabskip0pt plus10pt& + &\hfil##\hfil&\vrule##\cr + \lower6.5pt\null + &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline} +\def\endchart{\cr\noalign{\hrule} + \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& + &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par} +\def\:{\setbox0=\hbox{\char\ncnt}% + \ifdim\ht0>7.5pt\reposition + \else\ifdim\dp0>2.5pt\reposition\fi\fi + \box0\global\advance\ncnt 1 } +\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0 + \advance\dim 2pt \dp0=\dim} +\def\centerlargechars{ + \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} + +%%% use of code example + +%\begin{figure} +%\dofonttable{msbm7} +%\caption{Output of the \texprog{nfssfont.tex} program for the font +% \texttt{msbm7}} +%\label{fig:testfontmsbm} +%\end{figure} + + +\newcommand\textem[1]{\emph{#1}} + +\newcommand{\note}[1]{% + \par \vskip .25cm \textbf{Note:\ }#1 \par \vskip .25cm} + +\chardef\bslash=`\\ +% Command name +\newcommand{\cn}[1]{$\mathchar"026E${\tt#1}} +% File name +\newcommand{\fn}[1]{{\tt#1}} + +\def\jzitem#1{\item{\bf #1\\}} + +\def\thisisnew{\marginpar {\textbf + {\textsl {\begin{raggedright}This part is + new.\end{raggedright}}}}} + +\def\changedabit{\marginpar {\textbf + {\textsl {\begin{raggedright}Changed this a little + bit. + \end {raggedright}}}}} + +\def\seeappendix{\marginpar {\textbf + {\textsl {\begin{raggedright}Here is an + appendix reference. + \end {raggedright}}}}} + +% don't warn about bold typewriter +\DeclareFontShape{OT1}{cmtt}{bx}{n}{ <-> ssub * cmtt/m/n }{} +% \DeclareFontShape {T1}{cmtt}{bx}{n}{ <-> ssub * cmtt/m/n }{} +\end{filecontents} + + + +\begin{filecontents}{l3d007a.tex} +\section{Introduction} + This document aims to put on paper what could be the backbone or the + skeleton of a new math encoding for \TeX. This is not the complete + description of an encoding, but a sort of grid, or global picture of + what things could look like. This document refers to many glyph groups + defined in another document called ``Towards a list of math glyphs''. + Same author. + + + + + +\section{A few definitions} + +\begin{description} + +\item[An ``encoding table''.] This conveys the +traditional meaning of an encoding. That is to say a set of 256 +glyphs in a given order. The expression ``encoding table'' is usually +abbreviated to ``encoding''. + +\item[A ``slot''.] It is the usual word used for referring +to a position in an encoding, that can contain a glyph. It is usually +an integer between 0 and 255. A slot is +certainly not a family, nor anything to do with it. + +\item[A ``math kernel''.] This terminology is used to +specify the fonts that are necessary for the math facility to work +as it is described in most \TeX\ documentation\footnote{documentation +on LA\TeX, AMS\TeX, etc, also fits in here.}. +In DEK's implementation the math kernel consists of the +families from 0 to 3. On top of the kernel, many other fonts, with +whatever encoding is available, could be optionally loaded and used. + +\item[A ``math encoding''.] It is considered here as a whole; not +just one 256-glyph encoding table, but a set of encoding tables. +This concept will be referd to as ``M-encoding''. + +\item[The ``core symbols''.] They are made of two +groups. The group of symbols that must live with the default alphabet +for kerning reasons, and the group of symbols that must live with the +default alphabet for design reasons. + +\item[The ``default alphabet''.] It is the alphabet that is +used when a user types \texttt{\$abc\$}. In the present encoding that +produces $abc$. + +\item[``Glyph compatibility''.] Two encodings are glyph compatible +when they contain the same glyphs but not in the same positions. As well +as containing the same glyphs, it must also be possible for the +corresponding fonts to contain the same sidebearings and the same +kerning and ligaturing information. + +\end{description} + + + + + +\section{Global policy} + \subsection{Text in math mode} + It is generally agreed that for best quality documents, if one wants + to put text in a math formulae, one should switch back into text + mode, using something like the \cn{text} macro in the AMS + package. None of the encodings can be expected to support bad + usage. In a math encoded font, the letters are not kerned in the same + way as in a text encoded font, and there are no letter ligatures, + because they are not needed. + + \subsection{A global rule for boldface} + It has been decided not to mix ligth face and bold face symbols in + the same encoding, but to generate a separate boldface version of all + lightface math encoded fonts when necessary. This does not make it + impossible to mix the two: either one can use the + \texttt{\string\boldsymbol} approach, or one can load an extra bold + face font in a given family, and have it directly and permanently + accessible. + + \subsection{Sans serif and typewriter fonts} + Extra fonts could be designed in sans serif, or in typewriter using + some of the proposed new encodings. Another solution is to load the + Cork encoded sans serif fonts (or typewriter fonts) in free + families. In either case, the new math encoding will not have any + slots containing specifically sans serif or typewriter glyphs. + + \subsection{Concerning the Euler shapes} + Euler shapes could be a good example implementation of the new math + encoding. Thus no Euler glyphs will be included in the new + encoding. However, it may be useful to use the Euler Fraktur for a + first implementation example, if the new encoding includes a Fraktur + or old German alphabet. + + +\section{Concerning Cyrillic letters} + These would be available, but not as part of the math encoding. They + would be loaded as an extra family, with whatever encoding exists, + together with suitable \cn{mathchardef}s. + + \subsection{Compatibility with other typesetting systems} + \subsubsection{Grouping all \TeX\ specific glyphs in one font + encoding} + The present \texttt{cmex} font contains glyphs that cannot be used + by other typesetting systems, because they are set in a strange way. + + The present \texttt{cmsy} font contains one glyph that is set in a + strange way --- the radical sign, and thus makes that whole font + unusable for the outer world. It would be a good idea to make sure + that this does not happen again. + + The \LaTeX 3 project is hoping to set a new standard, that will not + only be used by \TeX, but by all systems that typeset mathematical + formulae. If every thing goes according to plan, in the next few years + many math fonts will exist, for many different systems, and they will + all use the same encoding. + The fact that they all use the same encoding means that it will be + very easy to exchange fonts from one system to another. So one day a + \TeX\ user will be able to take a math font used by Microsoft Word, + and convert it easily in order to use it with \TeX. + + If \TeX\ specific glyphs are grouped in one font, there will only be + one problematic font. As it happens, all \TeX\ specific glyphs are + more or less geometric, so they could be used with more than one + math font. + + On the other hand, if \TeX\ specific glyphs are spread around in + many fonts, then many ``imported'' fonts will not be usable by \TeX\ + without major messing about. + + Concerning this problem, the real question is: is the \LaTeX 3 project + setting a real standard for the next few years, or just + making another \TeX\ math font encoding? + If the answer is: ``the \LaTeX 3 project is setting a real standard + for the next few years'', then \TeX\ specific glyphs must be grouped + in one font. If that is really not possible, + then one can maybe consider putting them in two fonts. + + If a font designer designs a math font for adobe, the work necessary + for adapting his font to the \TeX\ world should be reduced as much as + possible. + Otherwise nobody will provide any fonts for \TeX. + + The \TeX\ specific glyphs that are concerned here could be visually + compatible with many math fonts. + + Which are the \TeX\ specific glyphs? So far: + \begin{itemize} + \item The delimiters. + \item The large and small `bigops'. + \item The radicals. + \end{itemize} + + + \subsubsection{The space issue} + To enable easier font exchange between the \TeX\ world and the rest of + the world, the new math encoding will have a space in position 32 + (decimal) of every encoding table, if it is possible. + + + \subsection{General document compatibility} + It is not worth beeing totaly compatible. A lot of glyph positions + will change, thus direct \cn{mathchardef}s will not always work. + Documented names from AMSLA\TeX\ (this includes names from + LA\TeX, \TeX, and AMS\TeX, and LAMS\TeX) ought to be kept. + + + \subsection{Grouping all Plain and \LaTeX\ glyphs in 4 fonts} + The main reason for this is compatibility. Let us consider a user + that has typed a document with the present math encoding and has + saturated the families for this document. If the new math encoding + does not guarantee Plain and \LaTeX\ glyph compatibility with a + minimum of 4 fonts, then that document cannot run with the new math + encoding: not enough families. Thus one should make the first four + font encodings of the new math encoding glyph compatible with + the group made by: cmr, cmmi, cmex, cmsy. + + \subsection{Grouping all AMS\TeX\ and AMS\LaTeX\ glyphs in less than + 6 fonts} The main reason for this is compatibility. Let us consider + a user that has typed a document with the existant AMS\TeX\ or + \LaTeX\ package, and has saturated the families for this document. + If the new math encoding does not guarantee AMS\LaTeX\ and AMS\TeX\ + glyph compatibility with less than 6 fonts, then that document cannot + run with the new math encoding: not enough families. The first 6 + font encodings must be one way glyph compatible with the fonts + provided in the AMS package. + + \subsection{Replacing \texttt {cmex}} + The math font group has decided that the encoding due to replace the + \texttt {cmex} encoding will be designed in such a way that the + corresponding font can be loaded in three sizes or in one size. + + Loading such a font in three sizes produces better typesetting. But + the resulting page and line-breaks will not be the same as + when the font was loaded in one size only. Some people will not like + that change, in their old documents. But for new documents loading + the extensibles font in three sizes will be better. + + \subsection{Accents in maths} + There seems to be an agreement that math accents should not change + with the font or style of the letter. But it is not a problem to keep + the accents that are already in plain \TeX\ (and the \fn{cm} fonts) in + the same position as in the T1 encoding. That will allow them to be + variable family; thus any T1 encoding could be loaded, and its + accents used. Since there will be millions of documents using + bold hats this possibility must be preserved even if by default + all math accents are non-variable family. + + +\section{The base: a Cork encoded text font} + +Main use: things like \texttt{\string\log}. This would generally be a +Latin font. + +If it is a Latin upright font, it would probably also be used by +physicists (and chemists) for operators, and more generally whenever +upright letters are needed. + +\textbf{Separating this set from the rest} enables the user to decide +how `log' and `sin', etc. should be typeset. Thus the multiletter +operators can be compatible with the text font, or with the rest of +the math glyphs, or even set in yet another font. + +Math mode should not be used for setting text phrases in mathematical +material. For example: + \begin{verbatim} +$$x=y \quad {\rm is\ a\ direct\ consequence\ of} \quad y=x$$ +\end{verbatim} +would be better input as: +\begin{verbatim} +$$x=y \quad\hbox{\rm is a direct consequence of}\quad y=x$$ +\end{verbatim} +or, better still: +\begin{verbatim} +$$x=y \quad\text{is a direct consequence of}\quad y=x$$ +\end{verbatim} +where \verb|\text| is a macro which sets its argument in horizontal +mode. This avoids unpleasant surprises such as: +\begin{verbatim} +$$X \quad{\rm is\ a\ sub-object\ of}\quad Y$$ +\end{verbatim} +However, for upward compatibility with existing plain \TeX\ +documents, it will still be possible to set text phrases in math mode, +as long as they only contain $\langle\mbox{character}\rangle$s of type +Variable. + + + + + + + + +\section{The ``text symbol'' encoding: the TS encoding} +Here one would put the old style numerals, and most of what +is comming out of the present math encoding. Other symbols could +be added. The Text Symbol encoding is definetly \textem{not part of + the math kernel.} But since it will contain symbols that +previously were accessed via the math fonts, its +encoding must be supplied. This font will not be loaded in a family. It +will just be loaded as a normal text font\footnote{If some users really +feel the need to load it in a math family, they can.}. + + +\section{The core: the MC encoding (263)} +Counting: 1,10,1 , 54,5 , 124,14 , 12,24,9 ,9= 263 glyphs + +The accents are no longer here. They had no real reason to be here. +Most of them are geometrics anyway. But they do have reasons to be +elsewhere. One of the main consequences of taking these accents out +is that the core can be made more coherent, and more complete. The MC +encoding would contain: + \begin{itemize} + \itemsep -0.1cm + + \item The skewchar in position 0: 1 + \item The core digits: 10 + \item The space character in position 32: 1 + + \item The core Latin alphabet, which is the default alphabet, in + uppercase, and lowercase, together with the dotless i and j: 54 + + \item The Latin friends: 5 + + \item All the Greek material: 124 + + \item The Greek friends, next to the Greek: 14 + + \item The core symbols for kerning reasons (punctuation and + delimiters): 12 + + \item The core symbols for design reasons: 24 + + More for kerning reasons: + \item The basic geometric delimiters: 9 + + Some new glyphs: + \item New basic delimiters: 9 + + \end{itemize} + +Sacrifices can be made in the greek material, and in the core symbols +for design reasons. + + +\section{The MX encoding: 243} + +Count up: 1 1 78 8 10 24 6 16 7 7 26 47 = 230 + +The usual extensible characters, together with some new ones, would live +here. Here any characters that have strange \TeX\ features, like big +descenders are included, thus grouping glyphs that are not compatible +with the outer world. + +For various reasons discussed in ``Replacing \texttt {cmex}?'' (Same +author), the math font group has decided that the MX encoding will be +designed in a way such that when it is loaded in one size (like in the +present \TeX), every thing works OK, and the user can still have +access to the new symbols. However, the MX encoding will produce better +quality typesetting when loaded in three sizes. + +Detailed contents of MX: + \begin{itemize} + \itemsep -0.1cm + + \item Maybe a skewchar: 1 + + The space is questionable here, because MX will not be usable by + other typesetting systems, see comment: + \item Maybe a space: 1 + + \item Big and extensible \TeX\ delimiters from cmex: 78 + + Any characters that have strange \TeX\ features like big descenders: + \item The radicals: 8 + + Technically the following can come out, but then they must go in + MSP. + To make this possible one could take the bar accent out of MSP. + \item Horizontal curly braces: 10 + + \item All existant big and small ``bigops'' except the integrals: 24 + + \item The existant Plain vertical extensible arrows: 6 + + + One has to limit the number of wide accents, otherwise there is not + enough place. + \item The wide tildes, and the wide hats: 16 + + New glyphs: + + It is a little bothering that the following will be separated from + their small versions, but there is nothing much that can be done + about it: + \item The big ``big integral'' family: 7 + \item The small ``big integral'' family: 7 + + \item The new big and small `bigops': 26 + \item New multisized and extensible delimiters: 47 + + + \end{itemize} + +Note: all integral glyphs must be kerned with themselves, so that two +integrals following each other can be kerned easily with a little +care. Same for various other glyphs. + + +\section{The math symbol `privilege' font ``MSP'': 250} + Count up: 1,1, 54 , 18,7,3 , 23 , 8,4,2,4,4 , 20,7, 10 , 8,8,12 , 14 , + 6,4,5,4,5 , 8,2 , 16 = 250 + \begin{itemize} + \itemsep -0.1cm + + \item A skewchar in position 0: 1 + \item A spacechar in position 32: 1 + + \item The script/calligraphic Latin letter set:54 + + According to AMS statistics, the script/cal are + used more often than the Blackboard bold. + + Having the script/calligraphic here also achieves backward + compatibility with the existing \TeX, without loading MS1 and MS2. + + \item The basic accents: 18 % all basic accents should stay here + \item The double accents: 7 % could go elsewhere + \item The underaccents: 3 % could go elsewhere + + The following must stay here: + \item The ``Basic symbols'' group: 23 + + The next 5 are needed for compatibility with plain: + \item The ``Greater than plain'' group: 8 + \item The ``Subset plain'' group: 4 + \item The ``In / ni plain'' group: 2 + \item The ``Sqsubset plain \& ams'' group: 4 + \item The ``Succ without sim plain'' group: 4 + + \item The ``Small binops plain'' group: 20 + \item The small ints: 7 + These should probably live with the other `succ' members for design + reasons: + \item The ``Succ without sim ams'' group: 10 + + The next three make a homogenous group, and must live with sim. + Sim itself must live here because of compatibility with Plain: + \item The ``Greater than with sim'' group: 8 + \item The ``Succ with sim'' group: 8 + \item The ``Sim'' group: 12 + + The arrows, for compatibility, (improved a little though): + \item ``Plain horizontal arrows'': 14 or 10 + \item ``Plain vertical arrows'' : 6 \\ + Does not include the extensible arrows. + The latter are in MX as before. + \item ``Plain oblique arrows'': 4\\ + Also called ``Plain other arrows''. + \item ``Latex arrows'': 5 + \item Plain miscellaneous geometric symbols: 4 + + Extras ---~these are new glyphs~--- to improve a little what \TeX\ + can already do: + \item Extra arrows for use with plain: 5 + + The ``lasy'' triangles are included in the AMS fonts and thus are + included in the following group: + \item AMS left-right open triangles: 8 + + Should live with the ``Plain oblique arrows'': + \item ``AMS obliques'':2 + + Some new glyphs: Some of this could come out. + \item Wide accents bar: 8 + +\end{itemize} + + + + + + + +\section{The MS1, MS2, Math-Symbol encodings} +Each of these encodings will contain a set of Latin letters, like for +instance fraktur or blackboard bold, in uppercase or lowercase or +both. In some cases a place should be reserved for a set of matching +numbers too (i.e. Open). The rest would be filled up with symbols. +An MS$_i$ encoding is needed for: + +\begin{itemize} +\item An extra script/calligraphic, (see below comment on script and + calligraphic) the default caligraphic is in the MSP encoding. +\item Open + (Arrows or relations) + other geometrics. +\item Old german, +\end{itemize} + + +\textbf{Note:} Barbara Beeton writes ``Regarding script vs. +calligraphic, I do understand the difference; however, at AMS I believe +we only very rarely get a request to use both styles in the same paper. + +For that there are two possibilities: +\begin{enumerate} + \item designing one encoding table where the positions A-Z (and + probably a-z and 0-9 even if they are not all filled) are + supposed to contain a ``calligraphy/script'' set of characters. + Then there would be instances of that encoding that would + contain script chars and others that would contain calligraphic + chars. Suppose our standard would say that this encoding is to + be used as family 4. A designer would then choose one such + font with this encoding for family 4 (thereby effectively + deciding what \texttt{\string\cal} and a lot of other symbols + look like (the ones whose \cn {mathchardef} points into family + 4)). For those who in addition would like to use another + script/call math alphabet: they can then just allocate one of + the free families. Access to this would then be trivial. + + \item Having two different encodings; one for cal, and one for + script. The remaining symbols in both encodings would be + different too. Thus both encodings would need to be part of the + standard suite of math encoding tables. + + Which solution is preferable depends a bit on the number of + symbols that ought to go in the standard.'' +\end{enumerate} + +Also J\"org Knappen writes: ``I strongly support having two different +encodings, one for cal and one for script. If users have the choice +between cal and script, they prefer script (at least in +Mainz\footnote{Maybe Americans prefer it the other way + round.}). However, the old calligraphic alphabet still +needs to be supported for compatibility reasons.'' + + + +\section{The MS1 encoding: 232} +Count up: 1 1 54 10 32 36 30 12 10 21 10 15= 232 + \begin{enumerate} + \itemsep -0.1cm + + \item A skewchar in position 0: 1 + \item A spacechar in position 32: 1 + \item The BBB alphabet uppercase and lowercase: 54 + \item The BBB digits: 10 + \item The last WIDE ACCENTS: arc, back-to-front vector, and + double-sided vector, normal vector: 32 + + For AMS inclusion: + \item The ``AMS horizontal arrows'' group: 22 + \item The AMS other arrows group: 12 + \item The ``Greater than AMS'' group: 30 + \item The ``Subset AMS'' group: 12 + \item ``AMS Equals friends'': 10 + \item ``AMS Miscellaneous geometric symbols'': 21 + \item ``AMS Vdash group'': 10 + \item ``AMS boxes and friends: 15 + + For fun if there is place to spare: + \item Alan's arrow construction set: ? + + \end{enumerate} + + + + + + + + +\section{Other requested typefaces} + \begin{itemize} + + \item In general, users may want MC fonts in arbitrary styles (bold + sans serif MC for instance) in order to get the Greek letters in + their favourite styles. + + \item A ``text-like'' italic or slanted for computer science + identifier names and the like. This would be Cork encoded and + optionally loaded. + + \item A ``bold upright'' for use as variables -- e.g. vectors in + physics notation rather than the arrow over an italic letter. This + would be Cork encoded, and optionally loaded or accessed via the + \texttt{\string\boldsymbol} concept in which case no family would be + required. + + \item Bold italic for use as variables: either optionally loaded as + a second font with MC or cork encoding (using only variable family + symbols) or accessed via something like + \texttt{\string\boldsymbol}. + + \item Bold Old german (occasional) suggested + \texttt{\string\boldsymbol} approach. + + \item Bold script (occasional) suggested \texttt{\string\boldsymbol} + approach. + + \item Sans serif lightface (occasional): optionally loaded cork + encoded font. + + \item Sans serif boldface (occasional): optionally loaded cork + encoded font. + + \item Bold symbols: either \texttt{\string\boldsymbol} or optionally + loaded in remaining slots. + + \item Ultra bold symbols: either \texttt{\string\boldsymbol} or + optionally loaded in remaining slots. + + \item An MC-encoded bold font containing upright bold Latin glyphs, + plus bold upright and bold slanted Greek. This would contain all + of the most commonly requested bold glyphs in one font (rather + than many more). + + + \item A cyrillic alphabet. Loaded as an extra family, or in text. + + \end{itemize} + + + + + +\section{Summarising the families used by the proposed YAASP M-encoding} +\begin{enumerate} +\item Family $0$: A Cork encoded upright text font. + +\item Family $2$: An MC encoded font containing the default Latin and + Greek italic+upright, and core symbols... + +\item Family $1$: An MSP encoded font containing cal/script and + accents... + +\item Family $3$: An MX encoded font including all extensible glyphs, + and double sized operators... + +\item Family $y$: An MS$1$ encoded symbol font for Open, and arrows + or relations. + +\item Family $z$: An MS$2$ encoded symbol font for Old German. +\end{enumerate} + +\textbf{Comments:} +\begin{itemize} + \item This leaves 10 families free for anything else, (like bold + or sans...) and makes many symbols available. + + \item The first four encoding tables put together give total + \TeX, La\TeX\ compatibility. + + \item The first six give total \TeX, \LaTeX, AMS\TeX, + AMS\LaTeX, LAMS\TeX\ compatibility. + + \item The six put together: do wonders, using no more font + families than the present AMS\TeX. + +\end{itemize} + +\section{Discussion} + +\subsection{Advantages} + +For MC: A big advantage here, is kerning. In this encoding kerning +is possible between the Latin default alphabet, and both italic and +upright Greek alphabets. This is necessary for compatibility, and for +tidyness. On top of this both letter sets (in actual fact there are +three) can be kerned with the core symbols that are in the MC +encoding. This last point is the most important, and gives new and +better automatic math spacing. (For compatibility reasons, +the Greek italic must be kerned with the period, the comma, and the +slash.) + +The bold version of the MC encoding gives the user access to a lot of +bold letter sets in one go. The global family consumption is therefore +largely reduced: 1 bold font instead of 2 or 3. + +Taking the accents away from the letters, means that the accents do +not change when the text face changes, i.e. bold letters and medium +letters get the same accents. + +One can get more than compatibility with plain \TeX\ only using 4 +families (the same number as standard \TeX\ currently uses). + +One can get more than compatibility with AMS\TeX\ using 6 families. +This is less or equal than the number of families used by AMS\TeX. + +The calligraphic alphabet is more used than the open, so putting it +with the accents is a step towards grouping most used glyphs together. + +This proposal gives a little room in the MC for free spaces, and good +core material. + +With the MSP encoding concept, the MSi encodings can really be +considered as (optional) extensions. Thus somebody who knows he +does not need the arrow kit and the Blackboard bold letter set does not +have to load them. Same for Fraktur. + +All the \TeX\ specific glyphs are grouped in MX. Thus all the other +fonts could be used by other typesetting systems. + +Using the Cork encoded font in family 0 for things like \cn{log} and +\cn{sin}, means that the Greek users can replace it by a Greek font. +(Apparently Greek mathematicians set these function names +using a Greek alphabet). + + + +\subsection{Disadvantages} + +If there is not enough space for all the required symbols, +one can make an MS3 encoding that would contain the other +version of script/cal, together with extra symbols. + + +\subsection{Comments} + +In this proposal the core is really made of two fonts, and the kernel is +made of four. + +Comments from Alan about the space slot in MX: +\begin{quote} + ``MX will be used by \TeX, and the dvi drivers may be outputting to a + device that does not accept anything but a space in position 32. So + if you don't include a space here, then the MX-encoded fonts have to + be split into two device fonts by the drivers.'' +\end{quote} + +Comment from Alan about the Cork encoded font: +\begin{quote} + ``I think it would be good to specify that this is family 0, for + compatiblity with current \TeX\ documents containing explicit + \cn{fam 0} + (naughty them!) and in order to have filled up slots 0 to 3 rather + than leaving a gap in family 0.'' +\end{quote} +\end{filecontents} + +\begin{filecontents}{l3d007b.tex} +\section{Introduction} + The goal of this document is to try and list the future contents of + the new math encoding. The glyphs have been divided into groups and + subgroups. + + \textem {This is a draft and a workbench document. Some of it is out + of date, and usually the comments are not for the public. There are + lots of spelling mistakes, I know! The reader should be indulgent.} + + + +%something added by bb for euler: +%begin{enumerate} +%\item Cursive (normal) capital letters. not often used. +%\item Cursive (normal) lower-case letters. +%\item Script upper-case. +%\item (Some) script lower-case. +%\item Fraktur (old german) upper-case. +%\item Fraktur (old german) lower-case. +%\item Digits. +%\end{enumerate} +%% bb -- +%[bb: I will be happy to make a proposal for this.] + + +\section{Extra font dimensions} +\begin{itemize} +\itemsep -0.15cm +\item The design size, +\item The default script size, +\item The default scriptscript size, +\item Suggested value for mathsurround (in MC) +\item Math\_axis (in every font) +\item Thin mu skip, +\item Med mu skip, +\item Thick mu skip, +\item Recommended rule weight +\item Baselineskip: leadingheight, +\item Baselineskip: leadingdepth +\item Suggested by JMR: the big and bigg params. +\end{itemize} + + + + + + +\section{Kerning} +Better kerning should be made possible in the Latin math +italic, if it is possible. Normal kerning information is put in the +\fn{.tfm} +file. But in math mode, for things to get kerned as specified in the +\texttt{.tfm} file the left atom must be of ordinary type. If the user +interface redefines everything that must be kerned as being ordinary, +old documents will start looking different, and this is not wanted. To +avoid this, the user interface could define a macro +\texttt{\string\mathkerning\{...\}} that would use the kerning specified +in the \texttt{.tfm} file, without globally making all characters +ordinary. + +The following glyphs should be kerned: +\begin{itemize} +\itemsep -0.15cm +\item The spacing of [ and ( and ) and ] followed by letters should + be adjusted. + +\item The spacing of letters followed by [ ] ( ) should be + adjusted. This is an important one. + +\item Keep the kerning with\quad . \quad , \quad / \quad for most + letters ! +%\item Keep kerning between = and upright $\Gamma$ ! (I must have + %dreamt this one) Maybe add kerning for other punctuation characters. +\item At least keep the kerning between d and Y,Z,j,f. Maybe add some + others: dx, dy, d$\alpha$, d$\theta$, d$\phi$ ... + +\item New kerning of the integral with itself. This would only + be available via a \texttt{\string\mathkerning} macro (see + previous comment). +\item Kerning of the period with itself, +\item Kerning of the centered period with itself. +\item Jan M.R. is sure that kerning is needed between + Latin and Greek. More precise information is needed. +\end{itemize} + + + + + + + + + + + + + +\section{The following should be taken out of the present math encoding} +\begin{itemize} +\itemsep -0.15cm +\item The old digits: 10. +\item The 2 paragraph signs: \P, \S. +\item The Yen sign: Y. +\item The double dagger sign \ddag. +\item The four card families: $\clubsuit, \heartsuit, \diamondsuit, + \spadesuit$. +\item The musical signs: $\flat, \natural, \sharp$ ????????? +\item The maltese cross. (AMS) +\item The $\mathchar"017F$ seems not to be needed in maths. +\item The circled R must come out of the math symbols. (AMS) +\item The raised asterisk, +\item The two triangles in cmmi: cmmi'56 '57 ??????? +\end{itemize} + +All these will be put in to the ``Text symbols'' encoding, that would +come in many faces, and be text dependent. +Other glyphs could be put in the ``Text symbols'' font: +\begin{itemize} +\itemsep -0.15cm +\item More numerals, +\item The perthousand sign. +\item Maybe this is a good place for the `fraction' characters from + adobe. +\item $<$florin$>$, $<$ellipsis$>$ etc. +\item The superior and inferior digits, and put in kerning so that + $<$onesuperior$>$ $<$fraction$>$ $<$twoinferior$>$ produces a 1/2. +\item The single dagger finds a place here although it is in + maths as well. This makes them two different symbols, and enables both + to have more specific shapes. +\item A real copyright symbol, TM (trademark) and SM (service mark). +\item An interrabang (a combination of ? and !) new. (bb) +\end{itemize} + + +Alan Jeffrey has worked on the `text symbol font'. Actually it is now +called the companion text font. He has written more on this topic. +``alanje@cogs.susx.ac.uk'' + + + + + + +\section{The Greek glyphs: 124} +The following shapes must be included: +\begin{itemize} +\itemsep -0.15cm +\item All the Upper-case in upright. 24 +\item All the Upper-case in italic. 24 +\item All the Lower-case in upright. 24 +\item All the Lower-case in italic face. 24. So far: $24\times 4=96$ +\item All the variable shapes in upright. 10 +\item All the variable shapes in italic. 10 +\item All the special numeric letters in upright. 3 +\item All the special numeric letters in italic. If lack of space + prefer the italic shapes to the upright ones. 3. +\item Some control glyphs: 2 (probably useless) +\end{itemize} + + +\subsection{Variable shapes: 10} +This list comes basically from: J\"org Knappen. They are all listed +here including the ones that are already in the \fn{cm} fonts: +\begin{enumerate} +\itemsep -0.15cm +\item Lower-case Phi, +\item Lower-case Pi, +\item Lower-case Kappa, (AMS) +\item Lower-case beta (new), +\item Lower-case Rho, +\item Lower-case Epsilon, +\item Lower-case Sigma, +\item Lower-case Theta. +\item Upper case chi (new), +\item Upper case for upsilon. +\end{enumerate} + +\subsection{Extra letters for numerals: 3} +Source: J\"org Knappen. They are all listed here including the ones +that are already in the \fn{cm} and \fn{ams} fonts. Must be given in +lower-case. +Upper-case Greek numerals exist, although extremely rare. For the + sake of completeness one could fill them in. But they are surely not + the hottest characters needed. (J\"org) +\begin{enumerate} +\itemsep -0.15cm +\item Qoppa (new), +\item Sampi (Sanpi?) (new) (J\"org Knappen), +\item Digamma (AMS). +\end{enumerate} + + +\subsection{Control glyphs: 2} +\begin{enumerate} +\itemsep -0.15cm +\item An italic control glyph, i.e. the following Greek letter is not +taken from the upright, but from the italic Greek, +\item A variable shape control glyph, i.e. the following Greek letter +is not taken from the normal set of letters, but form the variant shape +set. This will not work for all letters. Thus may not be a good idea. +\end{enumerate} + +\note {From Alan about the control slots for Greek, ``Er, I'm not very + sure about those, since they'll affect kerning. I'd prefer to have + the choice between italic / upright made by the document designer. + And I'm not sure why anyone would want to get at an upper case $\xi$ + by a macro \texttt{\string\uppercasegreek}\{\texttt{\string\xi}\}!'' + --- ``True they will affect the kerning. But one could use them + differently from what you suggested. Although I'm not sure it is + interesting, the ligature mechanism does not have to be visible for + the user, i.e. he can still type \texttt{\string\Gamma}, which is + expanded to \texttt{\string\up \string\gamma}.''} + + + + + + + +\section{Extra Greek-like material: 14} +This group of glyphs should not really be separated from the rest of +the Greek material. +\begin{enumerate} +\itemsep -0.15cm + \item An upright partial sign, + \item An italic partial sign, + \item An upright partial sign with a slanted bar, AMS \cn{eth} + \item A \cn{thorn} WASY'151 but this one is not very good. There is a + better one in dcmr'136. There is one is wslipa10'102 (J\"org) + \item A barred upright lambda, ?????? (probably not J\"org) + \item A barred italic lambda, this is preferred. (J\"org) + \item An upright mho sign (upside down Omega), + \item The back to front epsilon: AMS "7F \cn{backepsilon}, + \item Arabic letter dal: looks something like a back to front $c$. + \item Hebrew letter msbm'151, + \item Hebrew letter msbm'152, + \item Hebrew letter msbm'153, + \item The $\aleph$ or \cn{aleph} in position CMSY'100, + \item The Nabla, $\nabla$ in CMSY'162 +\end{enumerate} + +The barred signs may be obtained by ligatures, or could be +constructed with kerning. In any case some slots for ligatures must be +left free if possible. + + + + + + + + +\section{The Latin letters: One set$=54$ glyphs} + +We shall assume here that all lower case alphabets contain a dotless `i' +and a dotless `j', so that they can take accents other than a dot. +\begin{itemize} +\itemsep -0.15cm +\item The usual \fn{cmmi} italic shapes. Upper-case and lower-case. +\item The calligraphic shapes. Upper-case and lower-case. + The lower-case shapes are presently maybe not available. +\item The script shapes. Upper-case and lower-case. + The lower-case shapes are presently maybe not available. +\item The black board bold shapes. Upper-case and lower-case. +\item The Fraktur style. Upper-case, and lower-case. +\end{itemize} + + \subsection{The calligraphic and/or script styles} + BB: ``How are ``calligraphic'' and ``script'' different here? I've + never seen what Knuth calls calligraphic and what most + mathematicians call script (the ``curly'' style) used in the same + context, so they are presumably not distinct from one another in + actual usage.'' + + The two should be included if there is enough space. + Otherwise one is enought. + + \subsection{A hyphen char ?} These Latin letters are not meant for + typesetting words. It is assumed that all multi-letter words should be + typeset using the text fonts, not the math fonts. Thus + the hyphen character is not needed in the math encoding. + + + \subsection{Computer science and identifiers} + It looks as though the new math encoding will not contain anything + specially designed for computer science. Computer scientists will have + to use \texttt {cmti*} in an extra family for long identifiers. + + \subsection{Chemists and chemical formulae} Considering the fact that + chemists do use a lot of mathematical expressions, they need the total + math mode as it is. On top of that they need a special mode for + writing chemical equations. One of the particularities of this + chemical mode would be the different placing of sub- and + superscript. A possible implementation is something like + \cn{EnterChemicalMode} and \cn{ExitChemicalMode}, which would + in actual fact load a new set of fonts (or only the font in family 2), + in order to have a different font dimensions in family 2. + + +\section{Latin-like material: 5} +This group should live next to the Latin letter set. + \begin{enumerate} + \itemsep -0.15cm + \item An upright d. This is needed for standard mathematical + typesetting. + + \item A horizontally barred italic h, for physicists. + + \item A slanted barred italic h, for physicists. + + \item An italic upper-case Vee with a bar, the bar is meant to be + horizontal. \texttt{jvpurcel@vela.acs.oakland.edu} + + \item An upright upper-case Vee with a bar, the bar is meant to be + horizontal, and extends through both sides of the Vee almost like + a strikeout. \texttt{jvpurcel@vela.acs.oakland.edu} + + \end{enumerate} + + + +\section{The different ways needed to write numbers} + \begin{itemize} + \itemsep -0.15cm + \item The normal set of numbers in \fn{cmmi}: upright lining. + + \item The blackboard bold numbers. (Used in physics and a field of + maths. See Alan J. for more details.) [Note: presently no + satisfactory bbb numbers seem to exist.] + + \end{itemize} + + + +\section{Empty slots?} +Some free slots could be included, so that people can put their +ligatures in when they are trying to convert fonts coming from other +worlds. + +Alan J. can give good explanations for this. + + +\section{Arrows} +Arrow construction should be possible. But to make sure it does not fail +when used in different sizes, every single glyph used for this purpose, +will be \textem{specifically} designed for this use. \textem{All of +them will be in the same font table}. This does not mean that a given +construction block can't be used for different types of arrows. This +sort of thing has to be thought of, and forecasted. These construction +blocks must not be used for any other purpose --- like for instance the +equal or minus sign. + +All arrows from \fn{cm}, and from \fn{msam/msbm}, should be taken if +necessary. Maybe some others too. + + \subsection{The ``Plain horizontal arrows'' group: 14 (Alan:10)} + The first 6 are in cmmi'050 to '055: + \begin{enumerate} + \itemsep -0.15cm + \item leftharpoonup + \item leftharpoondown + \item rightharpoondown + \item rightharpoonup + \item lhook + \item rhook + + From \fn{cmsy}: + \item leftarrow '40 + \item Leftarrow '50 + \item leftrightarrow '44 + \item Leftrightarrow '54 + \item rightarrow '41 + \item Rightarrow '51 + \item CMSY'67 this is the \cn{mapstochar} + \item CMSY'66 the negation sign/slash: 1 + \end{enumerate} + + \subsection{Extra arrows for use with plain arrows: 5 (Alan 5)} + \begin{enumerate} + \itemsep -0.15cm + + \item It would be reasonable to add a \cn{mapsfromchar} in order to + build things like: $<\!\!-\!|$: 1 + + \item It would be reasonable to add a \cn{Mapstochar} that could go + with the double arrows to build things like $|\!=\!>$ : 1 + + \item It would be reasonable to add a \cn{Mapsfromchar} + that could go with the double arrows to build things like + $<\!=\!\!|$ : 1 + + \item A - for extending arrows: 1 + \item A = for extending arrows: 1 + + \end{enumerate} + + + \subsection{The ``Plain vertical arrows'' group: 6 (Alan 6)} + \begin{itemize} + \itemsep -0.15cm + \item updownarrow cmsy'154 + \item Updownarrow cmsy'155 + \item uparrow cmsy'042 + \item downarrow cmsy'043 + \item Uparrow cmsy'052 + \item Downarrow cmsy'053 + \end{itemize} + + \subsection{Plain vertical extensible arrows: 6 (Alan 6)} + \begin{enumerate} + \itemsep -0.15cm + \item Top sing arrow: cmex'170 + \item Bottom single arrow cmex'171 + \item Top double arrow cmex'176 + \item Bottom double arrow cmex'177 + \item Middle double arrow cmex '167 + \item Middle single arrow cmex '077 + \end{enumerate} + + \subsection{Plain extra vertical arrows: 0} + Nothing added here. + + + \subsection{The plain other arrows: 8 (Alan)} + First the oblique arrows: + \begin{enumerate} + \itemsep -0.15cm + \item CMSY'45 + \item CMSY'46 + \item CMSY'55 + \item CMSY'56 + + What else: ? + \end{enumerate} + + \subsection{The ``Ams obliques'' group: 2} + \begin{enumerate} + \itemsep -0.15cm + \item msbm'36 + \item msbm'37 + \end{enumerate} + + + + \subsection{The ``Latex arrows'' group: 5} + The four characters in position LASY'50 to '53 from the lasy font + (These appear in the wasy font as well) must be put with the arrows. + They are arrow heads. The squig \cn{arrow} in position '73 + of lasy should also be included: 5 + + + \subsection{The ``Ams other arrows'' group: 4} + \begin{itemize} + \itemsep -0.15cm + \item Circle arrows MSAM: '10 to '11 :2 + \item Horizontal arrows MSAM:'113 '114 :2 + \end{itemize} + + \subsection{AMS horizontal arrows: 22 (Alan 23)} + This includes all the horizontal arrows and the negated ones, + that are listed page 280 of ``The joy of tex''. + \begin{enumerate} + \itemsep -0.15cm + \item leftarrowtail + \item leftleftarrows + \item leftrightarrows + \item leftrightsquigarrow + \item lefttrightharpoons + \item Lleftarrow + \item looparrowleft + \item looparrowright + \item nleftarrow + \item nLeftarrow + \item nLeftrightarrow + \item nleftrightarrow + \item nrightarrow + \item nRightarrow + \item rightarrowtail + \item rightleftarrows + \item rightleftharpoons + \item rightrightarrows + \item rightsquigarrow + \item Rrightarrow + \item twoheadleftarrow + \item twoheadrightarrow + \end{enumerate} + + \subsection{Ams vertical arrows (Alan: 6) (here: 8)} + \begin{enumerate} + \itemsep -0.15cm + \item MSAM:'24 upuparrows + \item MSAM:'25 downdownarrows + \item MSAM:'26 upharpoonright + \item MSAM:'27 downharpoonright + \item MSAM:'30 upharpoonleft + \item MSAM:'31 downharpoonleft + \item MSAM:'36 Lsh + \item MSAM:'37 Rsh + \end{enumerate} + + + \subsection{Some control glyphs for access to arrows } + These do not appear in the \fn{.dvi} file, they simply enable the + construction of some arrows and slahsed arrows using the ligature + mechanism. + +% end of arrows + + + + + + +\section{All sorts of accents} + + \subsection{Basic size accents: 18} + \begin{itemize} + \itemsep -0.15cm + \item All those that are created by macros in the Ams package: the 3 + dotted accent, and the 4 dotted accent.\quad 2 + + \item The ones in \TeX: e\char'22\ e\char'23\ e\char'24\ e\char'25 + e\char'26\ e\char'27\ e\char'136\ e\char'137\ e\char'177\ e\char'176 + e$\mathchar"017E$. They all come from \fn{cmr} except for + the last two from \fn{cmmi}. \quad 11 + + \item Extra: a back-to-front vector arrow, \quad 1 + \item Extra: a double sided type vector arrow, \quad 1 + \item Extra: a square bracket used as an accent, \quad 1 + \item Extra: The previous one turned upside down, \quad 1 + \item Extra: an arc is requested by AMS, \quad 1 + \end{itemize} + + \note {The e\char'175\ in \fn{cmr} is not needed in maths, it is just + a Hungarian accent.} + + \note {The $\mathchar"017F$ seems not to be needed in maths. It + could be put in the text companion font.} + + + + \subsection{Double accents: 7} + \begin{enumerate} + \itemsep -0.15cm + \item A bar and a dot on top, + \item A dot and a bar on top, + \item 2 dots with a bar on top, + \item A bar with 2 dots on top, + \item A hat and a tilde on top, + \item A hat and bar on top, + \item A double bar, + \end{enumerate} + + \note {For the double accents, Spivak and Ralf Rey could do some + archive research at the AMS. Similar research could be done at the + APS, and the CUP.} + + + \subsection{Variable size accents: $7*8=56$} + Variable size has meant 5 different sizes until today. + That number could be raised to 8. + \note {If the accents are in a font + loaded in three different sizes, the choice mechanism of + \cn{mathaccent} will only look in the current style size (unlike + the delimiter choice mechanism). Thus although one could hope to + multiply the number of available sizes by three, in actual fact in + a given style the number of automatically available sizes would not + be multiplied. All the same this \textem{would} give better + results in each style, + but it would also create \textem{compatibility problems} + i.e.~formulae heights and widths may change. Even if not done in an + automatic way, the user would still have a larger range of accents + to choose from. + Compatibility problems could be avoided by redefining + \cn{mathaccent} to a \cn{mathchoice}. Thus the accents could always + come from text style, and the accented material could come from the + current style. But this does not work either. In doing so one would + no longer be able to take the base accents from the current style. + Although one could make two macros. See paper ``Repacing + \texttt{cmex}?'', same author.} + + \begin{enumerate} + \itemsep -0.15cm + \item e$\mathchar"017E$ the vector. \quad 8 + \item e\char'176\ the tilde. \quad 8 + \item e\char'136\ the hat. \quad 8 + \item e\char'26\ the bar. \quad 8 + \item Some people request a variable size arc. \quad 8 + \item The back to front vector arrow, \quad 8 + \item The double sided vector arrow, \quad 8 + \end{enumerate} + + + \subsection{Under accents: 3 so far} + Requests exist for the following: + \begin{enumerate} + \itemsep -0.15cm + \item A tilde, + \item A breve (\char'25) + \item A bar + \end{enumerate} + + Like for the double accents, research could be done at the AMS... + ??????? + + +\section{Core symbols} + +The symbols that have some reason to live with the default math +material. There are mainly two reasons for them to be there: one is +kerning, and the other is design similarity. + + \subsection{For kerning reasons: 12} + \begin{enumerate} + \itemsep -0.15cm + \item The period . CMMI + \item The coma , CMMI + \item The semi colon ; CMR + \item The colon : CMR + \item The exclamation mark ! CMR + \item The ( + \item and the ) respectively opening-class and closing-class, CMR + \item The [ + \item and the ] respectively opening-class and closing-class, CMR + \item The $\{$, + \item And the $\}$ (design similarity reasons also) in positions '146 + and '147 of CMSY, + \item The `/' as a delimiter\footnote {This is not accessible via a + single key. The key `/' produces the sign $/$ taken from + \fn{cmmi}.}, and as a fraction sign, CMR + + \end{enumerate} + + \subsection{Basic geometric delimiters: 9} + Should go in the core, for kerning reasons, like the other ( ) and [ + ]. If they don't fit in the core, they must go with the basics. The + ones listed here are all in CMSY, around '142, and '150. + \begin{enumerate} + \itemsep -0.15cm + \item $\rangle$ + \item $\langle$ + \item $|$ + \item $\|$ + \item $\rceil$ + \item $\lceil$ + \item $\rfloor$ + \item $\lfloor$ + \item The $\mathchar"026E$ in position '156 + \end{enumerate} + + Test: $|f|,\|f\|,\lfloor f\rfloor,$$\lceil f\rceil,\langle + f\rangle$ $f\lceil,f\lfloor,$$f\langle,f\backslash$ strange that + no kerning seems to be needed here, where as it is necessary for + the bracket. + + \subsection{New basic size delimiters: 9} + Basic size means the same size as the parentheses and brackets in + \fn{cmr}. The following is a preference order list of desired new + delimiters: + \begin{enumerate} + \itemsep -0.15cm + \item A $|||$ for use as $|||f|||$ a norme, + + Semantic brackets: $[\![$ and $]\!]$ + \item The opening semantic bracket, + \item The closing semantic bracket, + + \item Opening multi set brackets $\{|$ + \item Closing multi set bracket $|\}$ + + Unicode contains another style of brackets, they call them + tortoise shell brackets. They look like: + \begin{verbatim} + / + / + / + | + | + | + \ + \ + \ + \end{verbatim} + These are like parentheses, but with straight lines. No curves. + \item The opening tortoise shell bracket, + \item The closing turtoise shell bracket, + + Triangle brackets, something like: + \begin{verbatim} + /| + / | + / | + \ | + \ | + \| + \end{verbatim} + \item The opening triangle bracket, + \item The closing triangle bracket. + +% \item The opening turtoise shell in Bbb. +% \item The closing turtoise shell in Bbb. + + \end{enumerate} + + + + \subsection{For design similarity reasons: 24} + All this group must live with the default alphabet for design + similarity reasons. + \begin{enumerate} + \itemsep -0.15cm + \item The question mark ? must live with the ! CMR + \item The percent sign \% must live with the ! and ? CMR + \item The at sign @ must live with the \% CMR + \item The \$ sign must live with the @ \% ? ! CMR + \item The \& must live with \$, \% .. CMR + \item The \# in CMR + + \item The inverted \&: must be found. + + \item The $\ell$ as a rounded `l'. CMMI + \item The centered dot $\cdot$ for use as a multiplication sign, + must live with the period. CMSY + \item The asterisk $\mathchar"0203$ for use as a multiplication + sign, in position '003 in CMSY. + \item The $\propto$ sign must live with @, \%, $\ell$. In position + '057 of CMSY. + \item The $'$ or prime in position '060 of CMSY, one cannot + separate the prime from the the prime ligature slots. (2 + ligatures) Kerning of letters with the prime is + not possible, because + the latter is set in superscript. ???????? + + \item The backprime from MSAM'070 should live with the prime. ?????? + + \item The $\infty$ sign in position '061, + + \item The $\emptyset$ in position '073 of CMSY, + + \item The \cn{check} mark in MSAM'130, ????? + \item The \cn{between} double parentheses in MSAM'107 + should go with the normal parentheses. + \item The $\Re$, could come out if necessary, + \item The $\Im$ in position '074, and '075 of CMSY, could also + come out if necessary. + \item The $\dagger$ or dagger in CMSY'171, ????? + \item The smile, ??????? + \item The frown form CMMI ???????? + \item Could maybe include the circled S from MSAM'163. ????? + \item The Weierstrass symbol: $\wp$ only in one style, (could come + out) + \item The powerset symbol from + \texttt{Martin.Ward@durham.ac.uk}. (could come out if necessary) + It looks something like this: + \begin{verbatim} + XXXXXXXXXXX + XXXXXXXX XXXX + XXXXX XXXX + XXXXX XXXX + XXXXXXXX XXXX + XXX XXX XX + XX XXXXXXX XXXXXX + XX XXXXXXXXXXXX + XX XXXX + XX XXXX + XX XXXX + XX XXXX + XXXX XXXX + XXXX XXXX + XXXX XXXX + XXXXXX + \end{verbatim} + \end{enumerate} + + + + + + + + + + + + +\section{Symbols from \fn{lasy} that must be kept: } +The first four \fn{lasy} symbols are in \fn{msam}. + +The ones in positions '50 through '53 are arrow heads, and are counted +as such in the corresponding group. + +Character '60 is in the \fn{msam}. + +'61 is not in the \fn{msam}, and should be kept. + +Char'62: same as \fn{msam}'03 ? + +Char'63: same as \fn{msam}'06? + +Lasy'72: same as \fn{msbm}'163 or \fn{msam}'166 ? + +Lasy'73: same as \fn{msam}'40 ? + +A list of what should be kept from \fn{lasy}: +\begin{itemize} + \itemsep -0.15cm + \item Character '61: \quad 1 + \item ??? +\end{itemize} \textbf{This makes a total of 1.} + + + +\section{The ``Subset'' groups} +\note {None of these have anything to do with the \cn{sim} glyph.} + + \subsection{The ``subset plain'' group: 4} + \begin{itemize} + \itemsep -0.15cm + \item The $\subseteq$ in position CMSY'022 + \item The $\supseteq$ in position CMSY'023 + \item The $\subset$ in position CMSY'032, + \item The $\supset$ in position CMSY'033, + \end{itemize} + + \subsection{The ``subset Ams'' group: 12} + \begin{itemize} + \itemsep -0.15cm + \item From MSBM'040 to MSBM'43 : 12 + \end{itemize} + + \subsection{The ``In/ni plain'' group: 2} + \begin{enumerate} + \itemsep -0.15cm + \item The $\in$ sign in position CMSY'062, + \item The $\ni$ sign in position CMSY'063, + \end{enumerate} + + \subsection{The ``sqsubset plain \& Ams'' group: 4} + These do not have a place any where else: + \begin{enumerate} + \itemsep -0.15cm + \item The $\sqsubseteq$, cmsy'166, + \item The $\sqsupseteq$, cmsy'167, + \item The sqsubset from MSAM'100, + \item The sqsupset from MSAM'101, + \end{enumerate} + + + + +\section{The ``Greater than'' group} + + \subsection{The ``Greater than Plain'' group: 8} + \begin{itemize} + \itemsep -0.15cm + \item The $\leq$ in position CMSY'024, + \item The $\geq$ in position CMSY'025, + \item The $\ll$ in position CMSY'34, + \item The $\gg$ in position CMSY'35 + \item $<$ less than CMMI'074, + \item $>$ Greater than: CMMI'076, + \item The alternative leq: msam'66 + \item The alternative geq: msam'76 + \end{itemize} + + \subsection{The ``Greater than AMS'' group: 30} + \begin{itemize} + \itemsep -0.15cm + \item From MSBM'000 to '005: 6 + \item From MSBM'010 to '015: 6 + \item From MSBM'024 to '025: 4 + \item From MSBM'154 to '155: 2 + \item From MSAM'060 to '061: 2 + \item From MSAM'065 and '067: 2 + \item From MSAM'075 and '077: 2 + \item From MSAM'121 to '124: 4 + \item From MSAM'156 to '157: 2 + \end{itemize} + + \subsection{The ``greater than with sim'' group: 8} + \begin{enumerate} + \itemsep -0.15cm + \item MSBM'022, + \item MSBM'023, + \item MSBM'032, + \item MSBM'033. + \item MSAM'046, + \item MSAM'047, + \item MSAM'056, + \item MSAM'057 + \end{enumerate} + + The `shapee' \cn{sim}, and the geometric \cn{sim} are considered to be + the same glyph, i.e. the difference that is sometimes visible is + considered to be a bug. + + +\section{The ``Succ'' groups} + + \subsection{The ``Succ without sim plain'' group: 4} + \begin{enumerate} + \itemsep -0.15cm + \item CMSY'026, + \item CMSY'027, + \item CMSY'036, + \item CMSY'037 + \end{enumerate} + + \subsection{The ``Succ without sim AMS'' group: 10} + \begin{itemize} + \itemsep -0.15cm + \item MSBM'006, '007: 2 + \item MSBM'016, '017: 2 + \item MSBM'026, '027: 2 + \item MSAM'062 - '064: 3 + \item MSAM'074: 1 + \end{itemize} + + \subsection{The ``Succ with sim Ams'' group: 8} + \begin{itemize} + \itemsep -0.15cm + \item MSBM'020, '021: 2 + \item MSBM'030, '031: 2 + \item MSBM'166, '167: 2 + \item MSAM'45, + \item MSAM'55, + \end{itemize} + + The `shapee' \cn{sim}, and the geometric \cn{sim} are considered to be + the same glyph, i.e. the difference that is sometimes visible is + considered to be a bug. + + + + + +\section{The ``Sim'' group: 12} + \begin{enumerate} +\itemsep -0.15cm + \item sim CMSY'030 + \item approx CMSY '31 + \item simeq CMSY'047 + \item wr CMSY'157 + \item The bold MSBM'034 + \item MSBM'035 + \item MSBM'150 + \item The bold MSBM'163 + \item The bold MSBM'164 + \item MSBM'165 + \item MSAM'166, backsim + \item MSAM'167, backsimeq + \end{enumerate} + + +\section{Binops} + \subsection{The ``Small binops plain'' group: 20} + \begin{enumerate} + \itemsep -0.15cm + \item cap CMSY + \item cup CMSY + \item uplus CMSY + \item sqcap CMSY + \item sqcup CMSY + \item big circle CMSY + \item big triangle up CMSY + \item big triangle down CMSY + \item vee CMSY + \item wedge CMSY + \item oplus CMSY + \item ominus CMSY + \item otimes CMSY + \item oslash CMSY + \item odot CMSY + \item amalg CMSY + \item bullet CMSY + \item circ CMSY + \item diamond CMSY + \item star (5 branches): CMMI'77 + \end{enumerate} + + \subsection{Small plain left right triangles: 2} + These should be replaced by the ones in the AMS fonts for math usage. + + They are also used as bullets, and should go in the text symbol + encoding for such a usage. + \begin{enumerate} + \itemsep -0.15cm + \item triangle left: CMMI'56 + \item triangle right CMMI'57 + \end{enumerate} + + \subsection{AMS left right open triangles: 8} + These are also in LASY. + \begin{itemize} + \itemsep -0.15cm + \item vartriangle left + \item vartriangle right + \item triangle left eq + \item triangle right eq + + The previous four are in \fn{msam} + \item Same 4 negated in \fn{msbm}: 4 + \end{itemize} + +\section{Basic Symbols: 24} +A group of symbols used for typesetting basic mathematics. +These are mainly geometrics. Some have been added for similarity +reasons: + \begin{enumerate} + \itemsep -0.15cm + \item = The equals sign, CMR'075 + \item - The minus sign, CMSY'00 + \item + The plus sign, CMR'053 + + \item The $\times$ multiplication sign CMSY'002, + \item The \cn{divide} sign $\div$ CMSY'004 + \item The \cn{divideontimes} from msbm'076 should live with divide + and times. + \item The rtimes from msbm'157 should live with the times. + \item The ltimes from msbm'156 should live with the times. + + \item The $\pm$ sign in position CMSY'006, + \item The $\mp$ sign in position CMSY'007, + + \item The $\equiv$ in position CMSY'021, Difficult to separate from + other similar relations. + + \item The $\forall$ sign in position '070, + \item The $\exists$ sign in position '071, + \item The \cn{nexists} sign from msbm'100 + \item The $\neg$ sign CMSY'072, + \item The \cn{varpropto} from AMS "5F. ????? or should this be left + as a geometric????? + \item The varemptyset from MSBM'77, ???? + + \item Could go here: the upside down F: Finv from msbm'140 ??????? + \item And the back to front G: Game from Msbm'141 ??????? + + \item Unary minus like en dash, could be CMR'173 but I personally + think it should be shorter. + + \item The \cn{varnothing} from MSBM'77, + \item smallsetminus from msbm'162 + + \item The $\perp$ perp or bot sign in position '077, + \item top sign CMSY'076 +\end{enumerate} + + + + +\section{Radical} + \subsection{The \TeX\ radicals: 10} + Currently available in \fn{cmex} are: + \begin{itemize} + \itemsep -0.15cm + \item Five radical signs: 5 + \item The vertical bit needed to construct the big + radical '165 : 1 + \item The top bit of the constructed radical. '166 : 1 + \end{itemize} + + \fn{cmsy} includes the basic size of the radical. It + has always been loaded in three sizes, and must remain so. + If it is taken out of \fn{cmsy}, and put in a \fn{cmex} + replacement, + then this point must be taken into consideration. + + If the new \fn{cmex} is loaded in one size, it must contain + three different sizes of the radical in order to stay compatible + with plain: 3 + + + \subsection{New radicals: 2} + Request made by: \texttt { HITT\% USOUTHAL.BITNET@SHSU.edu }. + + One can overload the little vertical extensible module of the + radical, in order to produce a left quantum operator. For the right + quantum operator, the glyphs could be available, but the radical + macro can't be used. + A specific macro could be designed and it would need two glyphs: + the top right hand corner, and the repeatable + vertical bit: 2 + + + + + + +\section{The integrals family: 18} + + \subsection{Big `bigops' size: 7} + \begin{enumerate} + \itemsep -0.15cm + \item The single integral. + \item The double integral. Could be done with kerning if there is + not enough space. + \item The triple integral. Could be done with kerning if there is + not enough space. + \item The single O integral. + \item The double O integral. +% \item The triple O integral. ??????? J\"org says no. + \item The sigma integral. For physics: J\"org. + \item The slash integral. For physics: J\"org. + \end{enumerate} + + \subsection{Small `bigops' size: 7} + The same as in big `bigops' size. + + \subsection{Small size: 7 } + This refers to the size of the \cn{smallint} in CMSY. + \begin{enumerate} + \itemsep -0.15cm + \item The single normal integral. + \item The single O integral. + \item Double O integral. ???? (J\"org thinks yes) + \item Double normal integral ???? (J\"org thinks yes) Could be done + with kerning if there is not enough space. + \item Triple normal integral ???? (J\"org thinks yes) Could be done + with kerning if there is not enough space. + \item The sigma integral. + \item The slash integral. + \end{enumerate} + + Mail from HSS: + \begin{quote} %\fontsize{7}{7}\selectfont + \cn{doubleoint} is used by Becker in "electromagnetic fields and + interactions" (Dover). I also saw \cn{tripleoint} used in + electromagnetic theory books although both are somewhat archaic. + + Concerning the small version (in \fn{cmsy}), I suggested this solely + for reasons of completeness. The need for it is less now that + \fn{cmex} will be loaded in three sizes. But the small version of + \cn{int} + \& \cn{oint} look a bit large when used in inline formulas. The + \cn{smallint} \& \cn{smalloint} etc. may be a choice for some + authors in the latter case. + + YH also pointed out, that the upright versions of integrals are very + common in textbooks. since the integral sign is one of the most + common symbols used in maths, it may not be a bad idea to include + upright versions of *all* integral signs in \fn{cmex} (with + corresponding small versions in \fn{cmsy}) again for reasons of + completeness. + + \end{quote} + +\section{AMS Vdash group: 10} +\begin{enumerate} +\itemsep -0.15cm +\item MSBM'054 nparallel +\item MSBM'055 nmid +\item MSBM'056 nshortmid +\item MSBM'057 nshortparallel +\item MSBM'061 nVdash +\item MSBM'062 nvDash +\item MSBM'063 nVDash +\item MSBM'160 shortmid +\item MSBM'161 shortparallel +\item MSAM'015 Vdash +\item MSAM'016 Vvdash +\item MSAM'017 vDash +\end{enumerate} + +\section{Plain and \fn{lasy} miscellaneous symbols: 6} +\begin{enumerate} +\itemsep -0.15cm +\item CMSY'20 +\item CMSY'140 +\item CMSY'141 + + Should live with the two previous: +\item MSBM'060 What about the back to front version of this ????? +\item LASY'061 the bow tie, +\item LASY'62 the small box. It is smaller than the one in the AMS + fonts. ???? +\end{enumerate} + + +\section{AMS equals friends: 10} + \begin{enumerate} +\itemsep -0.15cm + \item msam'155 + \item msam'154 + \item msam'120 + \item msam'73 + \item msam'72 + \item msam'54 + \item msam'53 + \item msam'52 + \item msam'51 + \item msam'44 + \end{enumerate} + + +\section{AMS miscellaneous geometric symbols: 21} +\begin{enumerate} +\itemsep -0.15cm +\item msam'174 +\item msam'173 +\item msam'171 +\item msam'170 +\item msam'165 +\item msam'164 +\item msam'161 +\item msam'160 +\item msam'151 +\item msam'150 +\item msam'147 +\item msam'146 +\item msam'141 +\item msam'140 +\item msam'136 +\item msam'135 +\item msam'134 +\item msam'133 +\item msam'132 +\item msam'131 +\item msam'050 +\item msam'005 + +\end{enumerate} + + + +\section{AMS boxes and friends: 15} +\begin{enumerate} +\itemsep -0.15cm +\item MSAM'000 +\item MSAM'001 +\item MSAM'002 +\item MSAM'003 +\item MSAM'004 +\item MSAM'006 +\item MSAM'007 +\item MSAM'014 +\item MSAM'106 +\item MSAM'110 +\item MSAM'111 +\item MSAM'112 +\item MSAM'115 +\item MSAM'116 +\item MSAM'117 +\end{enumerate} + + + +\section{The horizontal curly braces: 10} +Their design should be the same as the vertical braces. Add two +horizontal extension modules for them, since if they are drawn with +rules, digitization errors may cause them not to line up with the +horizontal brace glyphs. What's more, this would enable the designer +to choose there boldness. + +Plus two extra middle bits. So that the designer is not restricted by +the number of slots. Knuths design could use that little amount of +glyphs, but maybe other will need more. + +Count: for the downwards brace: 2 end bits, 1 middle bit, 2 extensible +modules. That makes a total of 5 per curly brace. One up, and one +down: makes 10. + + + +\section{Big and extensible \TeX\ delimiters from \fn{cmex}: 78} +This group includes delimiters that are in \fn{cmex}. And an extra +little extensible module for the \{ and \}. + \begin{itemize} + \itemsep -0.15cm + + \item Four different sizes of ( and ): 8 + + \item Extensible versions of ( and ): 6 \\ + Left and right extensible modules are '102 and '103. Top and bottom + are '060, '061, '100, '101. + + \item Four different sizes of [ ]: 8 + + \item Extensible version of [ and ]: 6 \\ + The extensible modules, one for the right bracket, and one for the + left bracket are: '066, '067. The top and bottom pieces are: '062 + to '065. + + \item Four different sizes of \{ and \}\,: 8 + + \item Extensible module for \{ and \}\,: 7 \\ + The extensible module ('76) used for the curly braces is very small, + because it is added twice: once above the middle piece, and once + below the middle piece. Its height is half that of the parentheses + extensible module. Other pieces are: '070 - '075. + + + \item An extra extensible module for the \{ and \}\,: 1\\ + There is only one extensible module for both the left and the + right curly brace in \fn{cm}. This is because the left-right spread + of a curly brace is symmetrical in \fn{cm}, unlike the parentheses + for example. + This may not be the case for other designs. + + \item Four different sizes of $\langle$ and $rangle$: 8 + + \item Four different sizes of $\backslash$ and $/$: 8 + + \item Four different sizes of $\lfloor$ and $\rfloor$: 8 \\ + The extensible version is build with the same pieces as the + extensible brackets. + + \item Four different sizes of $\lceil$ and $\rceil$: 8 \\ + The extensible version is build with the same pieces as the + extensible brackets. + + \item Extensible vert and parallel: 2 \\ + Extensible versions of the vertical bar and the double vertical + bar. They are their own extensible modules: '014 and '015. + + \end{itemize} + + + + +\section{Bigops} + \subsection{Old bigops from \TeX: 28} + There are two glyphs for each bigop. + \begin{enumerate} + \itemsep -0.15cm + \item The sqcup + \item The circled integral + \item The circled dot + \item The circled plus + \item The circled times + \item The sums + \item The prods + \item The normal integrals + \item The bigcups + \item The bigcaps + \item The U plus + \item The wedges + \item The vees + \item The coprods + \end{enumerate} + + \subsection{New double sized `bigops': 26 } + All these should come in two sizes, in the same font, like the present + \cn{bigcup}. One for display style, and one for text style. That + makes two glyphs for each one. + + \begin{enumerate} + \itemsep -0.15cm + + \item A double sized sqcap $\sqcap$ \cn{bigsqcap} (can be found in + \fn{cspex}) + + \item Two sized $\bigcirc$ with $\vee$ inside. $\bigcirc + \!\!\!\!\!\vee$ proposed name: \cn{ovee}, and \cn{bigovee}. + Can be found in \fn{cspex} and \fn{stmary}. + + \item Two sized $\bigcirc$ with $\wedge$ inside. $\bigcirc + \!\!\!\!\!\wedge$ proposed name \cn{owedge}, and + \cn{bigowedge}. Comment from Alan: + \begin{quote} + ``As far as I'm aware nobody has *ever* used these glyphs in a + paper. I put them in St Mary's Road because I needed them at + the time, but I shortly abandoned writing the paper they were + going to be used in. Please don't include them! (If we are + going to, we need to include <ovee> and <owedge> as well as + <bigovee> and <bigowedge> which are the ones you described.)'' + \end{quote} + + \item Dijkstra choice: $[\!]$ CSPEX + + \item A wide Dijkstra choice. CSPEX . Comment from Alan: + \begin{quote} + If this is the glyph I think it is, it's not quite a wide + Dijkstra choice in shape (although mathematically it's the + same thing as Dijkstra choice). The two glyphs are: + + $<$dijkstrachoice$>$ looks remarkably like [ and ] glued + together. + + $<$oblong$>$ looks like $<$sqcap$>$ but with the square + completed. + + $<$oblong$>$ is used in CSP in conjunction with $<$sqcap$>$, + so it's quite important that they look the same. In + particular, they need to be of the same width because if they're + not, formulae sometimes don't line up properly... + \end{quote} + + \item Parallel \cn{bigparallel} just a double sized version of + parallel. + + \item Interleaving $|\!|\!|$ : \cn{biginterleaving} + \begin{quote} + `Interleaving' and `parallel' are used in (at least) three + different ways: + \begin{itemize} + %\itemsep -0.15cm + \item As delimiters $||$foo$||$ and $|||$foo$|||$. These + should come in basic-sized and extensible versions. + \item As binary operators p $||$ q and p $|||$ q. These can + be the same glyphs as for the basic-sized delimiters. + \item As `big' operators $||_i \;p_i$ and $|||_i \;p_i$ + similar to \cn{bigcup}. These should come in text style and + display style versions. + \end{itemize} + The big operators are not the same glyphs as the extensible + delimiters. + \end{quote} + + \item \cn{bigcupdot}: A `U' with a dot in it. Something like: + $\bigcup\!\!\!\!\cdot$ + + \item \cn{bigcapdot}: an upside down `U' with a dot in it. Something + like: $\bigcap\!\!\!\!\cdot$ + + \item An inverted \& called \cn{dnasrepma} + + \item Large operator symbol based on, an asterisk sign. + + \item Large operator symbol based on a times sign. + + \item Large operator symbol based on, a hash sign. + + \item Large operator symbol based on, an ampersand sign. + + \end{enumerate} + + + +\section{Non classified existing symbols} +Here is a list of some symbols that do not have a place elsewhere: +\begin{itemize} + \itemsep -0.15cm + \item The different shapes of \# should find a place, although one is + already in the core group. +\end{itemize} + + + + + + + + +\section{A list of new glyphs} + +The following symbols should be added in the math fonts. Some have +already been designed by various people, so it should be possible to +find them... + + + \subsection{Basic size operators: 2} + Basic size means the same size as the operators in \fn{cmsy}. + \begin{enumerate} + \itemsep -0.15cm + \item Something like \cn{cupdot} and + \item Something like \cn{capdot} Frank M. can justify these. + \end{enumerate} + + + \subsection{New multi-sized, and extensible delimiters: 47} + Count: 8, 6, 1, 8, 8, 8, 8, makes 47 . + + A multi-sized delimiter means: 4 sizes for each side : 8 glyphs. + Plus and extensible version: top, bottom, extension module for both + sides: 6 glyphs. Sometimes also a middle: 8 glyphs. Total: 16 or 14. + \begin{enumerate} + \itemsep -0.15cm + + \item Four sizes of the semantic brackets $[\![$ and $]\!]$: 8 + + \item An extensible version of the semantic brackets: 6 \\ + (Top - Middle - Bottom) * 2 makes 6. + + \item An extensible version of $|||$ for use as $|||f|||$ (a + norme). Just the extension module: 1 + + \item 4 sizes of multiset brackets $\{|$ and $|\}$: 8 + + \item An extensible version of multi-set brackets: 8 \\ + (Top - Bottom - Middle - extensible module) *2 makes 8. + + Unicode contains another style of brackets, they are called + tortoise shell brackets. They look like + \begin{verbatim} + / + / + / + | + | + | + | + | + \ + \ + \ + \end{verbatim} + \item Four sizes of tortoise shell brackets: 8 \\ + No extensible version. could add them in. + + + \item Four sizes of triangle brackets: 8 \\ + They look like: + \begin{verbatim} + /| + / | + / | + \ | + \ | + \| + \end{verbatim} + + \end{enumerate} + + + +\subsection{Geometrics: 21} +\begin{enumerate} + \itemsep -0.15cm + + \item The \fn{ams} smaller or equal and greater or equal must not be + forgotten. + + \item Linear `is implied by' if o-- and o--o [bb: There are also + versions of these with filled-in circles.] + + \item From JMR: something like: $\raise .1cm \hbox{$|$}\!\_$ + maybe the same upside down. + + \item From JMR: Something like: $\_\!\raise .1cm \hbox{$|$}$ + maybe the same upside down. + + \item \texttt{Here are some other symbol I once needed: \cn{opm}, + \cn{omp}. Why? There is \cn{oplus} and \cn{ominus} and there + is +, -, \cn{pm} and \cn{mp}, but there's no \cn{opm} and + \cn{omp}.} + + \texttt {I once needed them in a context, where \cn{oplus} and + \cn{ominus} were used as subscripts to indicate symmetric and + antisymmetric wave functions that were normalized. It is easy to + specify formulae that include both cases using \cn{pm} and + \cn{mp}, but suddenly there was no \cn{opm} and \cn{omp}. I + constructed symbols using the circle from the copyright sign, + but that was not actually the perfect size.} + +\end{enumerate} + +\subsection{New arrows} +\begin{itemize} +\itemsep -0.15cm + \item Alan J. wrote: \cn{arrownot} and \cn{Arrownot}, so that for + example \cn{arrownot}\cn{mapsto} is visually compatible with + \cn{nrightarrow}. Describing the same thing he also wrote: Add + the `building blocks' for the AMS negated relations, for example a + \cn{arrownot} to build \cn{nlongrightarrow} and + \cn{nrightarrowfill}. + + \item The building blocks to make \cn{mapsfrom} $<\!\!-\!|$ + \cn{Mapsto} $|\!=\!>$ and \cn{Mapsfrom} $<\!=\!\!|$ + + \item Lfloor, Rfloor, Lceil, Rceil like $\lfloor\!\lfloor$ + + \item Arrows with triangles on the end. +$$<\!\!\!|\!\!-\!\!-,\ -\!\!-\!\!|\!\!\!>,\ <\!\!\!|\!\!-\!\!-|\!\!\!>$$ + + \item Equals like symbol: $<\!--\!>$ with $==$ underneath. +\end{itemize} + + +\subsection{Non geometrics: 19} + +\begin{enumerate} +\itemsep -0.15cm +% \item The double circled integral, or the surface integral for +% physicists. +% \item A single integral with on top a $\Sigma$: +% $\displaystyle\int\!\!\!\!\!\!\textstyle\Sigma$ (J\"org) +% \item A single integral with a slanted dash: +% $\displaystyle\int\!\!\!\!\!\textstyle-$ +% \item A triple, circled integral. + + \item Possibly something like $\bar{}\!\!($ and $\bar{}\!\!)$ if the + bar was touching the parentheses. + + \item Banana brackets: look (sort of) like $(\!|$ and $|\!)$. Or + they look like bananas if you believe Jeremy... Alan: The St. Mary + Road font includes samples of them, in a line-drawing style. Since + I have not seen them in real use, I cannot comment, if this style + or rather the look of \& in \fn{cmr} is appropriate. + + \item lightning (\fn{wasy}) --- probably does not belongs in maths. + Alan: It is actually used though! It means `interrupt' in process + theory, c.f. Communicating Sequential Processes, Hoare, Prentice + Hall 1985. I don't know how widely used outside process theory it + is though... + + + +% \item Upright partial derivation sign. In the Greek-like stuff. +% \item Arabic letter dal: looks something like a back to front $c$. +% This should live with the Hebrew letters. +% \item Remember that message forwarded by J\"org. The V-bar, and the +% parenthesis-bar. jvpurcel@vela.acs.oakland.edu. The V-bar is in +% with the Latin like stuff. + + \item Katakana character that looks like a spiral. (bb) + +% \item Here is a proposal from J\"org: Mylona's and Whitney's +% ligatures: two extra symbs. These would come in italic, and +% upright like the rest of the Greek stuff. J\"org himself does not +% like this. [bb: But we're not talking about text! Why put these +% in a math font?] It now looks as though this is not going to be +% included in the new math encoding. + + \item A lower-case sigma with a long tail that goes a little bit below + the baseline. + + \item The two versions of the \# hash sign must not be forgotten. It + seems that one is geometric, and one is not: the slanted + hash sign and the upright hash sign. + + + \item An \cn{inviota} is sometimes requested on the net. I'll send + you a reference file for it. (J\"org) + + \item More ? + +\end{enumerate} +\end{filecontents} + + + +\begin{filecontents}{l3d007c.tex} +%a macro to put a frame round a box +\newcommand{\frameit}[1]{\vbox{\hrule\hbox{\vrule + \hskip .1cm\vbox{\vskip .1cm\hbox{#1}\vskip .1cm}\hskip .1cm + \vrule}\hrule}} + + +\begin{quote} \small + The placing of mathematical accents in \TeX{} is done with + the following control sequence: {\tt\string + \mathaccent"xyzz\{box\}}. {\tt"xyzz} is the code that + identifies the accent, and `{\tt box}' is the entity to come + under the accent. The box can be any type of box known by \TeX{}: a + single letter, a vbox, an hbox, etc... The accent code used is a + usual math code (refer to any book on \TeX\ for more details). The + accent is basicaly centered over the given box, but there are ways + of influencing the way the centering is done. The vertical placement + is as we shall see a little more tricky. +\end{quote} + + + + + + +\section{The accent choosing} + +Let us call $x$ the box that is due to be accentuated, and $u$ its +width. +We shall first suppose that $x$ is a single character.\\ +\vskip .05cm +\centerline{$x:\qquad \rightarrow$\lower .2cm% +\hbox{\frameit{\huge x}}$\leftarrow$u} +\vskip .2cm + +If the accent is part of a list of successors\footnote{See document on + charlist for more details about successors.}, \TeX{} chooses the one +whose total width is {\em as close as possible} to $u$, but still +{\em smaller or equal} to $u$. + +\vskip .25cm \textbf{Note.} A list of successors can only take place +in one and one font only, and Knuth reminds us of this fact in rule 12: +``[...] has a successor in its font [...]'' This makes me wonder... +The hat and tilde come in their smallest size in cmr position '136 and +'176. The other sizes are in cmex position '142 - '147. The +following:\\ +\verb| $\mathaccent"005E{e}$, ... ,$\mathaccent"005E{eeee}$|\\ +produces: $\mathaccent"005E{e}$ and +$\mathaccent "005E{ee}$ and $\mathaccent "005E{eee}$ and +$\mathaccent "005E{eeee}$. So as expected there is no automatic sizing, +seeing as the hat in cmr is not part of a charlist. Same test with +tilde: \\ +\verb| $\mathaccent "007E{e}$, ... ,$\mathaccent"007E{eeee}$|\\ + produces: $\mathaccent"007E{e}$ and $\mathaccent +"007E{ee}$ and $\mathaccent "007E{eee}$ and $\mathaccent "007E{eeee}$. +In order to get a hat that changes size automatically one must +call the smallest hat in \texttt{cmex} directly , like \cn{widehat} +does. \cn{widehat} is defined as: \cn{mathaccent} \texttt{"0362}. +Family three indicates cmex, and 62 is the hex position of the +smallest hat in \texttt{cmex}. Thus \cn{widehat}\verb|{abda}| +produces: $\widehat{abda}$. + + + + + +\section{The horizontal placing} + +The accent followed by its italic correction is put into a box $y$ +whose width we shall call $w$.\\ +\vskip .05cm +\centerline{$y:\qquad \rightarrow$\lower .2cm\hbox{\frameit{ acc +{\tt \string\/}}}$\leftarrow\ w$} +\vskip .2cm + +Let us call $s$ the kern between the character in box $x$ and the {\em +skewchar\/}\footnote{See below for more details about the skewchar.} +---~taken in that order. The box $y$ is first centered on top of the +box $x$ and then shifted rightwards by the amount $s$. + +\textsl {If the box $x$ is {\em not a single character}, the amount + $s$ is taken equal to zero, therefore the skewchar is ignored and + the box $y$ is normally centered\footnote{But the box $y$ + contains the italic correction, which influences the centering.} + over the box $x$. +} +% +% +% +\subsection{The `skewchar'} +The \textem {skewchar} is a specific character that D.E.~Knuth decided +to use ---~in the way described above~--- for placing accents. Each font +should have its own skewchar. + +For most characters, the {\tt .tfm} file specifies a particular +kerning of each letter with the skewchar. This is true for the +computer modern fonts, but other font designers may not have used this +feature. + +Why choose one skewchar rather than another? This is because the +character $\mathchar"017F$ chosen by Knuth does not have any other +kerning that could have been disturbed by the skewchar kerning. This +choice may not always be good for all fonts, because it depends on +what the character in position '127 is. Thus a font designer might +choose another skewchar and put the necessary kernings in the {\tt + .tfm} file. Accent glyphs can be used as skewchars, because they +are usually not subject to kerns from other glyphs. + +As long as one uses the {\tt cm} fonts, it does not make much sense to +change the skewchar, unless one wants to get strange effects, or +unless one intends to change the {\tt .tfm file}. One should remember +that an assignment to skewchar is not undone at the end of the group, +but is a part of the global font information. A local change +therefore involves saving the original value, and then restoring it. + +\subsection{The italic correction} +The presence of the italic correction here is a little mysterious. +Its effect is to shift the accent to the left compared to the position +it would have without it. One should note that it is still added when +the $x$ box is more than one character. +%My personal theory is that +%whereas the skewchar-kerning enables a general positioning of all +%accents on one character, the italic correction enables an adjustment +%of a particular accent over all characters. + + +\subsection{Conclusions} +It is useless changing the skewchar unless one also modifies the +{\tt .tfm} file(s), which contain(s) the info for the skewchar kerning, +and for the italic correction. + +Accents from any font can be positioned on characters from any other +font if there is a skewchar in the character font. + +% +% +% +% +% +% +\section{The vertical placing} +This is a little more tricky. Here as well one can start +by supposing that the character to be put under the accent is single. +All previous notations are kept. $\chi$ is the x-height +of the accent's font i.e. {\tt\string \fontdimen5}. Let us call $h_x$ +the height of the $x$ box:\\ +% +\vskip .1cm + +\centerline{\vbox{\hbox{$\ \downarrow$} \frameit{\huge x} \kern + -.2cm\hbox{$\ \uparrow$} +\hbox{$h_x$}}} +\noindent +and $h'_x$ the height of a box $x'$ containing the character to be put +under the accent, together with an empty superscript, and an empty +subscript.\\ +\centerline{% +$x':\qquad $ \lower 1.5cm \vbox{\hbox{$\ \downarrow$}% +\frameit{$\mathop{\frameit{\huge x}}\limits^{\frameit{\scriptsize% +super}}_{\frameit{\scriptsize sub}}$}% +\kern-.2cm +\hbox{$\ \uparrow$}% +\hbox{$h'_x$}}% +}%end of centerline +% + +\noindent +Now set $\delta$ with the minimum of $\chi$ and $h_x$, and increase it +by $h'_x-h_x$. + +The end result is a \cn{vbox} $z$ containing box $y$ (the accent +correctly positioned lateraly), followed by a (vertical) kern of +$-\delta$, and then box $x'$ . A normal accent char has the folowing +aspect: +\frameit{\char127}. This explains why the kern of $-\delta$ is needed. +Without it the gap under the accent would be to big. One can now +understand why an `O' used as an accent over an `e' produces the +following: $\mathaccent"714F{e}$. + +If the height $h_z$ of $z$ is smaller than $h_x$ then a kern +is added on top of $z$ in order to make the end height that of $x$. +Finally, the width of $z$ is set to the width of $x$. +% + +\textsl{If the character to be accentuated is not single, $\delta$ is + not increased by $h'_x-h_x$. In other words, one can forget about + the subscript and superscript. +}%end of textsl + +\subsection{Conclusions} +The x-height is used for the vertical placing of accents. This means +that one cannot mix in the same font table glyphs designed with +different x-heights. +\end{filecontents} + + + +\begin{filecontents}{l3d007d.tex} +\begin{quote}\small +The re-encoding of the math fonts cannot be thought of without a +closer look at \TeX's mechanisms for dealing with extensible +characters. This includes all characters that come in different sizes, +all characters that are constructed, and the operators that usually +come in two sizes. The ultimate questions are: how +to implement these characters? What sort of kerning can be +done with them? +\end{quote} + + + + + + + + + + + + +\section{Let us start with the easiest: The operators} + +A large operator like $\sum$ will be vertically centered with respect +to the axis when it is typeset. Thus, large operators can be used +with different sizes of text. This vertical adjustment is not made for +symbols of other classes. [The \TeX book p.155] + +This is a sum in tex: $\sum_{i=0}^{i=n} i$ and this is a prod in text: +$\prod_{j=0}^{i=m} j$. +Same test in display maths:$$ \sum_{i=0}^{i=n} +vi\quad \prod_{j=0}^{j=m} j$$ + +The sum is defined as follows: +\begin{verbatim}\mathchardef\sum = "1350 \end{verbatim} +If \TeX\ is in display style, it looks to see if the character in +position "50 of family 3 (The extensible \fn{cmex} family) has a +successor\footnote{See below for explanations on successors.}. If it +does then the successor is taken. When not in display style, \TeX\ +just takes character "50 from family 3. + +\subsection{Conclusions for operators} +Both occurrencies of a double sized operator must be in the same font +table, because they are linked by the successor mechanism. + +%JWZ commented this out: don't understand. +%It would be a good idea to try and make them all similar sizes so that +%they don't require many different sizes. This is due to font +%restrictions. +%\subsection{Going further} +%One wonders if the choosing is recursive, but presumably it isn't, +%because of the ``if we are in display mode'', which does not do any +%size testing. + + + + +\section{How characters can be linked} + +\subsection{\texttt{charlists}} +They enable several characters of the same font to be linked together. +By simply typing \texttt{charlist oct"000": oct"020": oct"022": + oct"040": oct"060"} in the metafont source, one links all the +occurrences (in the \fn{cmex} font) of the left parentheses in +increasing size-order. + +They are used for: +\begin{itemize} +\item Linking variable-size delimiters, +\item Linking variable-width accents, +\item Making pairs of operators that come in textsize and + display size. +\end{itemize} + +\subsection{The \texttt{extensible} lists p318 metafont book.} + +An extensible glyph is identified with one of its pieces. One has +to decide which piece is going to be used for this identification. +For instance, in \texttt{extensible oct"060": oct"060", 0, oct"100", + oct"102";} the first \texttt{oct"060"} is the identifier of the whole + glyph. +The next three characters are the top, middle, and bottom pieces. The +last character position is that of the piece to be repeated as many +times as necessary between the top +and middle, and between the bottom and middle pieces. All three pieces +are optional. When they are not needed, they are replaced with `0'. +But if a zero is put in the repeater position, then character `0' will +effectively be used as a repeater. + +\subsection{Restrictions compiled from p318 of the Metafont book} +\begin{itemize} +\item An \texttt{extensible} identifier can only appear at the end of a + \texttt{charlist}. +\item A kerning/ligtable label can only appear at the end of a charlist. +\item One cannot use an extensible identifier as a kerning label. +\item One cannot use an extensible identifier as a ligature label. +%JWZ commented out the next two lines. +%\item this restriction explains why one specifies the kerning and the +% ligatures in the same table. +\end{itemize} + +\subsection{Conclusions} +Kerning with parentheses is going to be very tricky... + +A delimiter is made of two sets of characters that can be in two +separate font tables. The glyphs in these two sets (the delimiters), +can be kerned with the characters that accompany them in their font. So +one must place them correctly. + +\note {There are no parentheses in the \fn{cmmi} fonts, so this + possibility has not been used.} + +There is a list of all \fn{cm} extensibles, and charlists in ``Computer +modern typefaces'' p66. + + +\section{The vertical constructables, or ``those that come in pieces'' + --- \textit{Delimiters}} + +\subsection{A few notes} +First information about delimiters p.171 of the \TeX book. They are not +all of the same type. Some are (bigl,bigr) Open/close atoms, and +others are (bigm) rel and (big) ord atoms. On the other hand, a +\texttt{\string\left} \texttt{\string\right} grouping is inner. + +When a delimiter gets larger, its height and depth both grow by the +same amount. + +In the \fn{cmex} font, most of the vertical constructable glyphs are +below the baseline, in the \texttt{.tfm} file. + +\subsection{A first description of the choice mechanism} +A delimiter is defined by a small ``character'' and a ``large +character''. \textbf{These characters can be in different families, +and therefore in different font tables.} We shall call the small +character $a$ in family $f_a$, and the large character $b$ in family +$f_b$. + +The search first starts by considering the three different sizes of +char a in its family\footnote{i.e. the scriptscriptsize then the + scriptsize and finaly the textsize. This is done in an optimized + way: if the current size is bigger than scripscriptsize, no point + looking in the scriptscriptsize font, same goes for the other two + sizes.}. When testing a character in a given font table, its +successors are tested before going to the next bigger font. In other +words, for each member of a family, starting with the smallest, and +going to the biggest, \TeX{} first looks at char $a$ and then at its +successors\footnote{See later explanations.} in the same +font table. If nothing suitable is actually found within the family +$f_a$ a similar search is done in the family $f_b$ based on character +$b$. + +The search stops when the character being tested has a sufficient +height plus depth, or when it is extensible\footnote{Obviously in this + case the appropriate delim has been found, seeing as it can be made + to any given size bigger than the non-extensible characters.}. + +If either of the couples $(a,f_a)$, and $(b,f_b)$ are set to +$(0,0)$ then the corresponding part of the search is bypassed. + +If none of the characters actually found are suitable, the biggest is +taken, i.e. the one with the greatest height plus depth. + + +\subsection{A second description of the choice mechanism by Victor E.} +\TeX\ first tries the small variant, and if that is not satisfactory +(or if the left part of the delimiter code is 000) it tries the large +variant. If trying the large variant does not meet with succes \TeX +takes the largest delimiter encountered in this search. If no +delimiter at all is found, (which can happen if the right hand part is +also 000), an empty box of width \texttt{\string\nulldelimiterspace} +is taken. + +Investigating a variant means in sequence: +\begin{itemize} +\item If the current style is scriptscript style, the scriptscript font + of the family is tried. +\item If the current style is script style or smaller the script font of + the family is tried. +\item Otherwise the text font of the family is tried. +\end{itemize} +Note: The plain format puts the \fn{cmex10} font in all three styles of +family three. + +Looking for a delimiter at a certain position in a certain font means: +\begin{itemize} +\item If the character is large enough, accept it. +\item If the character is extensible, accept it. +\item Otherwise, if the character has a successor, (the same but + bigger), try the successor. +\end{itemize} + + +\subsection{The final width of the delimiter ?} +If the character chosen ends up to be an \textbf{extensible} one, +\textem{the resulting width is that of the repeatable piece.} +Otherwise (in the case of a normal character) the width is that of the +chosen character \textem{plus its italic correction.} + + +\subsection{Conclusions for delims} +\begin{itemize} +\item The different sizes of a delimiter can be spread in two font + tables if it is necessary. +\item A given delimiter does not absolutly have to have two sizes. +\item One can adjust the width of the repeatable piece for + extensibles. +\item One can adjust the italic correction of the normal ``single + glyph'' delimiters, in order to get it further away from things like + $f$, $j$, $g$ and $p$. In the present case of `(' (in text + size) it comes from the text font \fn{cmr*} so obviously has not got + any italic correction. The vertical bar has not got any either + (checked in the \fn{.pl} files). This is quite a global solution and + the italic correction will be added in all cases: if it is small it + may not bother anybody and should have the right effect + in most cases. +\end{itemize} + + + + + +\section{References} +The \TeX book ``Construction of math symbols'': +151 mathchoice: no good; +152: about delimiters and size choosing; +178: using phantom and vphantom - no good; +358: how large operators are assigned in plain, and + some horizontal constructables; +359: all the 24 delims that can change size and the big and bigg macros; +360-361: nothing. + +The \TeX book ``math symbols'': 127-128: nothing, 289: nothing, 290: +interesting things about delims. + +The \TeX book ``Mathcode'': +134: tiny little bit at the bottom about mathcodes, +154: a list of the 8 classes and (3) about variable family and (bottom) + about mathcode, +155: the mathcode "8000 + mathchardef + mathinner, +156: delcodes and delimiter, +157: radical, +214: nothing, +271: nothing, 289: nothing, +319,326: answer to exercises, +344: where all the mathcodes are set so that `1' comes from fam 0 and +`a' from fam 1, +345: where the delcodes for plain tex are set. + +The \TeX book ``mathop'': 155 cf mathcode, 178 cf construction of math +symbs, 291 a bit about mathaccent, radical 324-325 361 + +The \TeX book ``dilimiters'': +156: delcode; +157: radical; +214: nothing; 289: nothing; 271: nothing; +290: in the middle ``A delim...''; 345: see at the top; +359: Plain tex definitions of some delimiters; +146: A list of plain tex delims; +147: the bigs; +148-149: details for use of left right; +150: still more extensible chars (bottom not on growing delims); +171: info on the type of atoms made by big bigr bigl bigm; +437: openings and closings; +442: The search of the appropriate delimiter: good. + +About radicals rule 11 page 443 appendix G. \TeX book + +\TeX book: About operators rule 13 page 443, successors. Interesting +about italic corrections. The way limits are typeset rule 13a. + +About parameter usage p447 \TeX book. +About math spacing p170 \TeX book. + +\TeX\ for the impatient: p.126 nothing, p.194-196 a list of operators +and a few explanations. + +\TeX\ by topic p.194: Large operators and their limits, the choosing +method: good. +\end{filecontents} + + + +\begin{filecontents}{l3d007e.tex} +\begin{quote}\small +% jz -- a little change in the first sentence + While working on the new math encoding, the writer realised that + the fact the \texttt{cmex} font is only loaded in one size, and not in + three like the other math fonts, was going to create a few problems. + This paper deals with the following topics: + \begin{itemize} + \item What is in \texttt{cmex}? + \item Which special mechanisms does \TeX\ use to access glyphs from + \texttt{cmex}? + \item What could be added to \texttt{cmex}? + \item What could be taken out of \texttt{cmex}? + \end{itemize} + The aim of this paper is to help the MFG\footnote{Math Font Group.} + design the MX encoding as a replacement and improvement of the + \texttt{cmex} encoding. \note{Most of what is written in this paper + is pure theory, and has not been applied or tested.} + + Acknowledgements: thanks to Alan Jeffrey and Barbara Beeton for + their constructive comments, and help. +\end{quote} + +% bb -- suggest adding an introductory section 0 giving a bit of +% background on knuth and early history; i would make suggestions +% and vouch for the accuracy of the statements, or offer to be +% quoted as the source if something is conjecture. + +\section{What is in \texttt{cmex}?} + \subsection{Delimiters} + \begin{itemize} + \item Four different sizes of ( ) and extensible versions. Left and + right extensible modules are '102 and '103. + \item Four different sizes of [ ] and extensible versions. The + extensible modules, one for the right bracket, and one for the left + bracket are: '066, '067. + \item Same for \{ and \}\,; the extensible module is: '076. + \note{The extensible module here is very small, because it is + added twice: once above the middle piece, and once below the + middle piece. Its height is half that of the parentheses' + extensible module. Interesting to see that there is only one + extensible module for both the left and the right curly brace. + This is because the left-right extension of a curly + brace is symmetrical, unlike the parentheses for example.} + \item Four different sizes of $\langle$ and $rangle$. No extensible + version. + \item Same for $\backslash$ and $/$. No extensible version. + \item Four different sizes of $\lfloor$ and $\rfloor$ and an + extensible version. Extensible modules: '066, and '067. + \item Same for $\lceil$ and $\rceil$. Same extensible modules as the + previous one. + \item Glyphs in positions '014 and '015 are the extensible versions + of the vertical bar and the double vertical bar. They are their + own extensible modules. + \end{itemize} + + \subsection{Large operators} + Large operators come in pairs: + \begin{itemize} + \item The sqcup +% bb -- although the sqcap isn't here, might want to note that it +% isn't but could be added + \item The circled integral + \item The circled dot + \item The circled plus + \item The circled times + \item The sums + \item The prods + \item The normal integrals + \item The bigcups + \item The bigcaps + \item The U plus + \item The wedges + \item The vees + \item The coprods + \end{itemize} + + \subsection{Wide accents} + \begin{itemize} + \item 3 sizes for the hat + \item 3 sizes for the tilde + \end{itemize} + + \subsection{Radicals} + \begin{itemize} + \item Five radical signs + \item The vertical bit needed to construct the big radical: '165 + \item The top bit of the constructed radical: '166 + \end{itemize} + + \subsection{Arrows} + \begin{itemize} + \item The three pieces for the construction of the vertical double + arrow: '167 '176 '177 + \item The three pieces of the vertical single arrow: '077, '170, + '171 + \end{itemize} + + \subsection{Horizontal curly braces} + \begin{itemize} + \item The four pieces for the construction of horizontal curly + braces: '172 -- '175 + \end{itemize} + + + + + + + +\section{\TeX's behavior with \texttt{cmex} glyphs} + \subsection{Large operators} + \begin{itemize} + \item A large operator is vertically centered with respect to the + math axis. This means that, whatever the surrounding glyph size, + things will not look too bad. + \item With the following definition of a large operator: + \cn{mathchardef} \cn{sum} \texttt{= "1xyy}, if \TeX\ is in \textem + {display style}, it looks to see if the character in position + \texttt{"yy} of family \texttt{x} has a successor. If it does then + the successor is taken. When not in \textem {display style}, \TeX\ + simply takes character \texttt{"yy} from family \texttt{x}. Thus in + text style, in script style and in scriptscript style the same + glyph is used. + \end{itemize} + + \subsection{Vertical delimiters, and friends} + Radicals are delimiters, and vertical arrows also, so let us only + speak about delimiters. Here is a quote from Victor Eijkhout's book: + \begin{quote} + A delimiter has two codes: a small variant, and a large variant. + \TeX\ first tries the small variant, and if that is not + satisfactory (or if the left part of the delimiter code is 000) it + tries the large variant. If trying the large variant does not meet + with success \TeX\ takes the largest delimiter encountered in this + search. If no delimiter at all is found, (which can happen if the + right hand part is also 000), an empty box of width + \texttt{\string\nulldelimiterspace} is taken. + + Investigating a variant means in sequence: + \begin{itemize} + \item If the current style is scriptscript style, the scriptscript + font of the family is tried. + \item If the current style is script style or smaller the script + font of the family is tried. + \item Otherwise the text font of the family is tried. + \end{itemize} + + Looking for a delimiter at a certain position in a certain font + means: + \begin{itemize} + \item If the character is large enough, accept it. + \item If the character is extensible accept it. + \item Otherwise, if the character has a successor (the same but + bigger), try the successor. + \end{itemize} + \end{quote} + Using the three size mechanism probably did not seem necessary to + Knuth. Generally large delimiters are used in display style, and not + in script or scriptscript style. However, they can also be used in + the small styles. + + \subsection{Wide accents} + For the choice of accents, \TeX\ only considers one font, but looks + to see if the current accent has a successor. Unlike the delimiter + choice mechanism, the accent choice mechanism does not go through all + three sizes. \TeX\ chooses the accent in such a way that the accent + width is as close as possible but smaller than the width of the box + to cover. + + \subsection{First conclusion} + For operators, a distinction in size is made between text style and + display style, whereas with the usual automatic size choosing + mechanism, glyphs in text style and in display style are taken from + the text size font, and are therefore the same size. + + + +\section{Consequences of loading \texttt{cmex} in 3 different sizes} + + \subsection{Consequences for operators} + For operators, let us consider two completely separate policies. In + the one case \texttt{cmex} is unchanged, and loaded in three + sizes. In the other case, an imaginary font derived from \fn{cmex} + called \texttt{cmex}$'$ is loaded in three sizes. In \fn{cmex}$'$ the + operators no longer have two sizes, thus glyphs like \cn{bigcup} do + not have a successor in their font. + + \textem {All the following supposes that no new macros have been + written. What would \TeX's automatic behavior would be?} + + \begin{description} + \item[If \texttt{cmex}$'$ is loaded in three sizes.] In + such a situation \TeX\ has a large version of \cn{bigcup} (and + other operators) in text size, a small version in script size, and + yet a smaller version in scriptscript size. + + The operators can be centered: no problem. + +% jz -- change: + In script and scriptscript style the resulting `big operators' would + be smaller than if they were produced with today's standard \TeX, + and today's standard \texttt{cmex}. What is more, one would be + smaller than the other, which is also not the case with today's + standard \TeX, and today's standard \texttt{cmex}. +% ---- + + In display style one would get big operators from the text size + font: this is acceptable. \textem {But one would also get a big + operator in text style,} and that does not conform with today's + standard \TeX\ behavior. + + +% jz -- I added encoding: + \item[If the existing \texttt{cmex} encoding is loaded in three + sizes.] + The operators can be centered: no problem. + + In script style, one would get the smallest version of a large + operator. But coming from a small size font, that will produce + something very small. In scriptscript style, same behavior as in + script style, but the result would be even smaller. +% jz -- Added this: + Thus in script, and in scriptscript style, the large `big + operators' would never automatically be used. + Hence the \texttt{cmex}$'$ encoding. +% -- maybe should have said that earlier :-) + + In text style, \TeX\ would produce the small version taken from + the text size font. In display style \TeX\ would produce the big + version of operators taken from the text size font. + + So in text style and in display style, there would be no change + compared to what today's standard \TeX\ produces. +% jz -- changed the phrasing here: + But script and scriptscript style would produce different + results. +% -- + + \end{description} + + In both cases, things could be improved if macros were written to + override the present behavior of \cn{bigsqcup}. One could think of + things like \cn{mathchoice}, but $\ldots$ + + + + \subsection{For vertical delimiters, radicals, vertical arrows} + Let us start by supposing \TeX\ is in scriptscript style, and it has + to typeset a large delimiter. One should consider two cases: + \begin{description} + \item[The delimiter has an extensible variant.] In this case the + search will start in scriptscript size, and continue until \TeX\ + finds the extensible variant of scriptscript size. Then the search + will stop, and the extensible will be used. This extensible will + come from scriptscript size, and therefore probably not look the + same as it would in today's setup, where all extensibles come from + text size. + \item[The delimiter does not have an extensible variant.] As + previously, the search starts in scriptscript size. If nothing + big enough is found in scriptscript size, the search continues in + script size. If still nothing is found, the search then continues + in text size. If necessary the biggest delimiter from text size + will be used. If the search stops in text size, there is no + difference with what \TeX\ produces today. But if the search stops + before reaching text size, the chosen delimiter will be different + from the one \TeX\ would use in the present configuration. Its + strokes would be finer, and better adapted for use in script style. + \end{description} + + If one supposes that \TeX\ is in script style, the previous two + cases also apply, except that every occurrence of `scriptscript' must + be replaced with `script'. If one supposes that \TeX\ is in text + style, the result of loading three different sizes of \texttt{cmex} + would be the same as it is in \TeX's current configuration. + + \subsection{For horizontal curly braces} + If they are automatically taken from script size, or from script + script size when necessary, the spacing changes a little, + because the dimensions in the \texttt {.tfm} files would be + different. A consequence of this could be different line and page + breaks. + + However, it would be nice if curly braces did come out + of the correctly sized fonts. Then their boldness would match the + surrounding text. But apparently from a macro programming + point of view things could be difficult, even if the glyphs are + available and loaded. + + \subsection{For wide accents} + See first paragraph of previous section. + +% jz -- +% I guess that in actual fact, the wide accents were put in +% \texttt{cmex} because they could not fit any where else. +% jz -- I don't want to start any discussion on that topic so i'm +% taking it out + + If accents were taken from the current size, things could only look + better. + The accent width would be closer to that of the material under the + accent, and the accent's boldness would be better adjusted. + + \note {Unlike the delimiter choice mechanism, the accent choice + mechanism is restricted to one font, and one size. It will thus + not look in text size when it is in script size for instance. So + in script style, accents will always come out of the script size + font, and in scriptscript style, accents will always come out of + the scriptscript size font, etc.$\ldots$} + + \subsection{Conclusion} +% jz -- Changed the conclusion + Nearly everything in \texttt{cmex} could have lived in a normal three + sized math font, and maybe that would have been better. The only + problems would have come from the specific ``big operator'' behavior + required by Knuth. + + Also one must not forget that Knuth did not want to leave any empty + slots. +% jz -- added this: + + The reduced amount of memory that was available on the machines with + which \TeX\ was first used could have been another reason for loading + \texttt{cmex} in one size only. + + + + + + +% jz -- This section has been changed a bit, and extended. + +\section{What could be added to \texttt{cmex}?} +Let us now consider possible evolutions of \texttt{cmex}. +In spite of the terminology ``adding to \texttt{cmex}'', the font +resulting from these evolutions would have a different name. + \subsection{If the \texttt{cmex} encoded font is loaded in three + sizes} + In this case big operators would not produce the usual results, and + the rest would be slightly different, as stated above. + \begin{itemize} + + \item One could add wide accents, but one would get slightly + different (better) results. Thus wide accents would match the + script and scriptscript styles. Macros could be made available + as a style option to keep the old behavior, if necessary. + + \item One could increase the number of different sizes for accents. + + \item One could add big delimiters and their extensible versions, + without any problem! Things will be slightly + better adjusted in script and scriptscript style. Macros could + be made (available as a style option) to keep the old behavior, + if necessary. + + \item One could increase the number of different sizes for + delimiters, and one could probably reduce the height of the + extensible module in order to make the growing of delimiters + more gradual. + + \item One could add some vertical extensible arrows! Things will be + slightly better adjusted in script and scriptscript style. + + \item One can add small and large `big operators' without any + problem! + + \item Big improvement: one could add loads of other glyphs (symbols, + etc.$\ldots$) that would come in all three sizes. + + \end{itemize} + + \subsection{If the \texttt{cmex} encoded font is only loaded in one + size} + \begin{itemize} + \item One could add big delimiters and their extensible versions + without any problem! + + \item One could increase the number of different sizes for + delimiters, and one could reduce the height of the extensible + module in order to make the growing of delimiters more gradual. + + \item One could add some vertical extensible arrows! + + \item One could add large operators without any problem! + + \item One could add wide accents without any problem, and the + present behavior of wide accents would not change. But if wide + accents are meant to match the script and scriptscript styles, then + wide accents must go in another font that would be loaded in + different sizes. + + \item One could increase the number of different sizes for accents. + + \item One could add other stuff, but it would only come in one + size. + + \end{itemize} + + \subsection {If a \texttt{cmex}$'$ encoded font is loaded in three + sizes} + The imaginary \texttt{cmex}$'$ encoded font, previously + described in this document is considered here. + + One could add the same things as when \texttt{cmex} is loaded in three + sizes. The only difference is: if no macro programming were done, the + text style and display style will produce the same `big operators'. + In script and scriptscript style the `big operators' would be in + different sizes from one another and smaller than those in text + style. + + + + + + +\section{Conclusions} +If one loads \texttt{cmex} in three different sizes, many things are +improved, and with a \cn{mathchoice} the initial behaviour of large +operators could be kept, or available as a style option. + +If \texttt{cmex} is kept in a single size, one must decide whether to +put wide accents in or not. + + + + + + + +\section{The beginning of my \texttt{cmex10.pl} file} + +\begin{verbatim} +(FAMILY CMEX) +(FACE O 352) +(CODINGSCHEME TEX MATH EXTENSION) +(DESIGNSIZE R 10.0) +(COMMENT DESIGNSIZE IS IN POINTS) +(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE) +(CHECKSUM O 37254272422) +(FONTDIMEN + (SLANT R 0.0) + (SPACE R 0.0) + (STRETCH R 0.0) + (SHRINK R 0.0) + (XHEIGHT R 0.430555) + (QUAD R 1.000003) + (EXTRASPACE R 0.0) + (DEFAULTRULETHICKNESS R 0.039999) + (BIGOPSPACING1 R 0.111112) + (BIGOPSPACING2 R 0.166667) + (BIGOPSPACING3 R 0.2) + (BIGOPSPACING4 R 0.6) + (BIGOPSPACING5 R 0.1) + ) +(CHARACTER O 0 ... +\end{verbatim} + + + +\subsection{Comments about the \texttt{cmex10.pl} file} +\begin{itemize} +\item The xheight is not equal to zero. +\item The space is equal to zero. + +\item With the following: +\begin{verbatim} +(CHARACTER O 100 + (CHARWD R 0.875003) + (CHARHT R 0.039999) + (CHARDP R 1.760019) + (VARCHAR + (TOP O 70) + (BOT O 73) + (REP O 76) + ) + ) +\end{verbatim} +that is in the \texttt{.pl} file, one can produce something that looks +like a growing integral: +$$ \left\lmoustache \frac{3.q}{\frac{3\pi.r^2}{3.q.b.c}} \right.$$ + +\item The pieces used to construct the horizontal curly braces are not +linked in any way. + +\item The bottom pieces of the extensible parentheses are overloaded + for \cn{rmoustache} and \cn{lmoustache}. One of these could be linked + (charlisted) with the integrals, so that \cn{left}\cn{bigint} could + produce a growing integral like the delimiters. + +\item The bottom pieces of the curly braces ('072 and '073) are also + overloaded for \cn{lgroup} and \cn{rgroup}. + +\item The middle pieces of the curly braces are overloaded for + \cn{arrowvert} and \cn{Arrowvert}. Other single and double + extensible bars with different spacing. + +\item The extensible module of the curly braces is overloaded for + \cn{bracevert}. A fat vertical bar. + +\item The extensible modules of the parenthese are overloaded to + produce more fat vertical bars. + +\item More overloading: the construction pieces of the extensible + brackets are also used for the $\lceil \rceil \lfloor \rfloor$. Thus + the top left bracket piece ('062) identifies the left bracket; the + top right bracket piece identifies the left bracket; the + bottom left bracket piece identifies the $\lfloor$ extensible + version; the bottom right piece identifies the $\rfloor$; the left + extensible module identifies the $\lceil$; and the right extensible + module identifies the $\rceil$. This over-loading may not be desired. + +\item For the wide accents and the curly braces the depth is nil. + +\item All the delimiter glyphs in \texttt{cmex} are set with a very + small height and a big depth. This is because the radical + primitive is also used for delimiters. For radicals, the \texttt + {.tfm} height of the glyph is used to determine the size of the + \cn{hrule}. + +\item The extension modules do not have any height at all. Same for + the arrow heads. + +\item The four integrals have italic corrections. + +\item Small versions of operators have a nil height, whereas + big versions have a small height and a big depth: + \begin{verbatim} + (CHARACTER O 116 + (COMMENT This is the small \bigotimes) + (CHARWD R 1.1111145) + (CHARDP R 1.000013) + (NEXTLARGER O 117) + ) + (CHARACTER O 117 + (COMMENT This is the big \bigotimes) + (CHARWD R 1.511116) + (CHARHT R 0.100001) + (CHARDP R 1.500012) + ) + \end{verbatim} + What is more, in the metafont code, + both big and small versions of bigops are under the baseline. + +\item There are no kerns or ligatures in \texttt{cmex}. + +\end{itemize} + + + + + + + + +\section{Characters under the baseline} + +\subsection{Which?} +It is understood and agreed that the radical glyphs need to be +virtually completely under the base line. \TeX\ uses their small +height to measure the thickness of the radical's over line. But +delimiters and `bigops' are also placed under the baseline for no +obvious reasons: both types of glyphs are just centered on the maths +axis. + +\subsection{`Bigops' and metafont code} +\begin{description} +\item[The metafont padded operator.] +Although both big and small versions of bigops are placed completely +under the baseline (height=0), the big version ends up ---~in the +\texttt {tfm} file, with a non-nil height. Many people agree that the +reason for this is that the metafont code for the large version of +`bigops' contains the \cn {padded} macro. This last places some extra +space around the glyphs. This extra space would serve for separating +the `bigops' from the limits they may take. + +Large integrals do not have any padded macro, and thus in the \texttt +{tfm} file, they are placed completely under the base line. The +reason for the difference between integrals, and other `bigops' could +be that the limits of the former are usually placed next to the glyph, +and not on top. Even when limits are placed on top of the integral, +the results do not look too bad, because the integral is very narrow. + +The reason for `bigops' being set under the baseline is still unknown. +Whether or not they would be correctly centered on the math axis, +if they were placed over the base line is not sure either. + +\item[Changing the metrics in the metafont code.] It is interesting to + see how \TeX\ would manage if the `bigops' were placed over the base + line. + The best way to find out, is to change the metafont code of \texttt + {cmex}, and see$\ldots$ I first did the test on \cn{bigoplus} + because it was a good candidate ---~simple metafont code. I have + never used metafont before. I copied all the necessary files into my + directory, and changed their names to `\texttt {my*}'. I then did + the following modifications in \texttt {mybigop.mf} + (look for \%\%\%\%): + \begin{verbatim} + cmchar "\textstyle circle-plus operator"; + beginchar(oct"114",20u#,10/6dh#,0); %%%% was ,0,10/6dh#) + adjust_fit(0,0); pickup pencircle scaled stem; + lft x6=hround u; x2=w-x6; top y8=h; bot y4=-d; %%%% was top y8=0 + ... + + cmchar "\displaystyle circle-plus operator"; + beginchar(oct"115",27.2u#,14/6dh#,0); padded 1/6dh#; + %%%% was ,0,10/6dh#) + adjust_fit(0,0); pickup pencircle scaled curve; + lft x6=hround u; x2=w-x6; top y8=h; bot y4=-d; %%%% was top y8=0 + ... + + \end{verbatim} + + When I ran Metafont on it there were no problems. After having put + all the relevent files where they were meant to go, I gave the + following to \TeX: + + \begin{verbatim} + + Old cmex in text style: $\bigoplus i \coprod$ + Old cmex in display style: $$-\bigoplus i\coprod \mathchar"034D$$ + + % change font: + \font\myfont=myex10 + \textfont3=\myfont + \scriptfont3=\myfont + \scriptscriptfont3=\myfont + + New myex in text style: $\bigoplus i \coprod$ + New myex in display style: $$-\bigoplus i\coprod \mathchar"034D$$ + The minus sign gives the height of the math axis, while the bottom + of the word `base' gives that of the baseline. + + \bye + + \end{verbatim} + + Here is the output: + + Old cmex in text style: $-\bigoplus i \coprod$ \\ + Old cmex in display style: + $$-\bigoplus i\coprod \mathchar"034D base$$ + + % change font: + %\font\myfont=myex10 + %\textfont3=\myfont + %\scriptfont3=\myfont + %\scriptscriptfont3=\myfont + + New myex in text style: $-\bigoplus i \coprod$ \\ + New myex in display style: + $$-\bigoplus i\coprod \mathchar"034D base$$ + The minus sign gives the height of the math axis, while the bottom + of the word `base' gives the baseline. + + The results are quite obvious: in both case the \cn{bigoplus} is + correctly centered. On the 300 dpi printer I have here there is no + visible difference. What is more the \cn{mathchar"034D} proves that + the metrics of the \cn{bigoplus} have changed: in the first case the + glyph is placed under the baseline, and in the second case it is + placed over the baseline. The difference is not visible if this + document is printed with the wrong fonts. +\end{description} +\end{filecontents} + + + +\documentclass{l3ms002} + +\usepackage{l3d007} +\usepackage{ifthen} + +\setlength{\emergencystretch}{2em} + +\hyphenation{pre-sent fa-mi-ly} + +\renewcommand{\abstractname}{\Large Acknowledgement} + + +\typeout{******************************************} +\typeout{* } +\typeout{* This document makes use of three fonts} +\typeout{* which you might not have on your system.} +\typeout{* These are:} +\typeout{* \space\space ecrm1000 \space\space T1 encoded Computer Modern} +\typeout{* \space\space msam10 \space\space AMS symbol font A} +\typeout{* \space\space msbm10 \space\space AMS symbol font B} +\typeout{* } +\typeout{* In that case type <RETURN> to the error message} +\typeout{* The output will not contain the font charts but} +\typeout{* but will otherwise be readable.} +\typeout{* } +\typeout{* The document will also produce a number of underfull} +\typeout + {* and overfull boxes. Please ignore them (or volunteer to help)} +\typeout{* } +\typeout{******************************************} + +\newcounter{sleep} +\whiledo{\value{sleep}<1000}{\stepcounter{sleep}} + +\begin{document} + + + + + +\title{Technical Report on Math Font Encoding} +\author{Justin Ziegler} +\date{Started on June 13, 1993\\ + Last change: June 1, 1994\\ + Organisational updates: August 23, 2000\\ + Printed: \today \\ + Filename: \fn{l3d007.tex} } + +\maketitle + + + +\newcommand{\NFSS}{\textsf{NFSS}} + +\chapter*{Foreword} + +I'm pleased to present the final report on ``Math Font Encoding'' +produced by Justin Ziegler for the \LaTeX3 project to the public. + +Justin has worked for three months at the Johannes Gutenberg +University Mainz. His work was generously sponsored by GUTenberg +(The French \TeX{} Users Group) and by the ZDV of the University +of Mainz (Data Processing Center), the latter providing Justin with +office space and taking care of the administrative details. + +In the past years a lot of work went into integrating new fonts into +the \TeX{} system. Only five years ago, typesetting with \TeX{} +basically meant typesetting in Computer Modern. Nowadays many users can +choose (at least theoretically) from several thousands of fonts. +Today, \NFSS{} is the standard font selection in \LaTeX{} and due to +this mechanism and the fontinst-package by Alan Jeffrey virtually every +PostScript font, in fact, every font for which a \texttt{tfm}-file can +be obtained, can be used, out of the box, with \LaTeX. + +But for these thousand text fonts there are only five font families for +use in math formulas +to go with them. Even worse, every of these math font sets are encoded +in a different way making it nearly impossible even for an expert \TeX{} +user to use different fonts for math in different jobs. + +The work undertaken by Justin is the first of several steps to solve +the problems at hand, the final goal being the development of a system +that allows the user +to change math fonts as painlessly as it is now possible with text +fonts. + +Based on Justin's analysis and his proposal, the \LaTeX3 Project is now +undertaking to provide a prototype implementation for math fonts, +starting with the Computer Modern fonts as well as the Euler Math fonts. +We expect this implementation to be available for public usage +during 1995. + + +\begin{flushright} +Mainz, December 6, 1994\\[5pt] +Frank Mittelbach\\ +Technical Director \LaTeX3 Project +\end{flushright} + + + + +\begin{abstract} + +\vskip1cm + I wish to thank the many people without whom my stay in + Germany would not have been possible, and the work I did would not + have been done. This includes: + + \begin{description} + \item[GUTenberg] who financed my stay; + + \item[Ehoud Ahronovitz] for helping me with the administrative side + of things, for giving me the opportunity of coming here, and + spending extra time with me to make sure that everything went + all right; + + \item[Frank Mittelbach] for his friendly welcome, for the + organization, time and guidance; + + \item[Bernard Gaulle] the past president of GUTenberg, for the + organization and logistics; + + \item[Klaus Merle] for lending all the material that I used; + + \item[Chris Rowley] for the organization, and help; + + \item[Stefan Steffens] for answering patiently all my stupid + questions, and helping me integrate Mainz and the university; + + \item[The \LaTeX3 project] which partially financed my stay in England + for the Aston conference; + + \begin{sloppypar} + \item[Barbara Beeton and Alan Jeffrey] who commented my papers, and + answered more stupid questions; + \end{sloppypar} + + \item[J\"org Knappen] who gave me advice on the project, and + with whom I discovered the Mainz night life; + + \item[All the computer center employees] for making my stay more + pleasant; + + \begin{sloppypar} + \item[All the people who took the trouble to answer my mail,] for + their time and effort; + \end{sloppypar} + + \item[Donald E. Knuth] who created \TeX. + + \end{description} + +\end{abstract} + + +\setcounter{tocdepth}{1} +\tableofcontents + + + + +% This is the introduction + + + + +\chapter{Introduction / Overview} + +\section{The technical environment} +I worked in the ZDV of the university of Mainz in Germany. In German +ZDV stands for ``Zentrum f\"ur Daten Verarbeitung''. Which means: Data +Processing Center. +This is where the main --- soft and hardware --- maintenance team +works. + +I worked on an X-terminal like a lot of other people in the university. +For writing my documents I used GNU Emacs together with the +AUC\TeX\ package. + + + +\section{A few Definitions}% ***************** first section + %jwzinria: one could get rid of this subsection ? + \subsection{\TeX: a page description language} + The best definition I can find for \TeX\ is: ``one third compiler, + one third interpreter, and one third word processor''. It was + written in $\fam 1 1975$ by D.~E.~Knuth and a group of students. + One of its main features is its portability. A document written + on one machine can be used on another machine. Knuth also + insisted that \TeX\ would not change. So a document written in $\fam + 1 1980$ + is still usable in $\fam 1 1990$. + + The language defined by \TeX\ is very specific, in so far as it is + designed to describe a page layout. \TeX\ processes the page like a + rectangle, or more exactly like a box, that can be filled with + smaller boxes. These smaller boxes can similarly be filled with + smaller boxes, and etc... The smallest box one can get is a + vertical~/~horizontal line, or a character (a glyph), or just some + space. \TeX\ has variables in which one can put boxes, or different + types of numbers. One can define functions ---~usually called + macros~--- in a way similar to lisp. The if-then-else statement is + there, and combined with recursion it can be used to make loops. + + In spite of its limitations due to its specificity, \TeX{} defines + a Turing machine. The syntax is very disagreeable, but one can get + used to it: somebody wrote a basic interpreter in \TeX. The only + difference between \TeX{} and a usual compiler, is that \TeX{} stops + the compilation when it gets to the pcode, and just puts it into a + file. This file, called the device independant file, can then be + sent to a printer, a screen, or any other printing device. + + Today many people use \TeX. All \TeX\ users have got together and + created TUG: \TeX\ Users Group. + + \subsection{Plain \TeX} \label{plain-tex} + %jwzinria: one could get rid of this subsection ? + Plain \TeX\ is the standard set of macros and definitions that comes + with \TeX. It is written in \TeX. + + \subsection{\LaTeX{}: a document description language} + %jwzinria: one could get rid of this subsection ? + Just as \TeX\ is a language to describe pages, \LaTeX\ is a + language designed for describing whole documents, and their logical + structure. The idea is that it lets the user concentrate on the + contents of the document rather than the formating commands + necessary for the document to look good. Thus it uses the + logical mark-up concept. It was written by Leslie Lamport in 1985. + Technicaly, \LaTeX\ is ``only'' a cluster of macros written in \TeX. + This means that a \LaTeX\ user has still got access to most of the + \TeX\ language. \LaTeX\ includes the following facilities: + \begin{itemize} + \item Cross referencing. + \item Automatic construction of a table of contents. + \item Automatic construction of an index. + \item Bibliography referencing. + \item Basically the same math mode as \TeX. + \end{itemize} + + + + \subsection{The \LaTeX3 project} + %jwzinria: one could get rid of this subsection ? + During the 1989 TUG conference at Stanford, the decision was taken + to produce an improved and expanded version of \LaTeX, that was + going to be called \LaTeX3. + + The major difference in the new version will be the addition of a + good interface through which designers can specify how classes of + documents should be formated. + + Frank Mittelbach is the technical director of the project; he and + Chris Rowley are responsible for the management. + + + \subsection{Fonts, glyphs, and slots} + \TeX\ would not be able to produce any nice documents if it did not + have any fonts. One cannot get a nice looking `A' or `$\mathcal{A}$', + or any other letter if nobody has previously designed it. + + All \TeX\ really does, is produce a file that contains a set of + instructions. Each instruction looks like the following: ``place + here the picture that is in such and such a file, in position number + $x$.'' \textem{The files that contain all the pictures (the letters + and other symbols), are called ``fonts''. All the pictures that are + in a font are called ``glyphs''.} Every glyph in a given font has + a specific and known position. \textem{I shall use the word ``slot'' + to refer to a given position in a font.} Some slots can be empty, + but most of them contain a glyph. + + + + + \subsection{Font encodings} \label {about-encoding} + When \TeX\ refers to the glyph number $x$, it must know which glyph + is in position number $x$. This knowledge is contained in the + encoding. In some cases one could say that the letters are in the + ASCII order. But this is not sufficient, because the + ASCII code does not include all the glyphs that people wish + to put in their documents. Therefore, one must link every single + font with a given encoding, and make the encoding known by \TeX. + Many different encodings exist, sometimes even for the same group + of glyphs. But there are also many fonts that use the same encoding. + + A mathematical definition of an encoding could be the following: + \textem{An encoding is a set of glyph names in a given order.} + + \subsection{The ``Computer Modern Fonts''} + When D.~E.~Knuth created \TeX, he also created a set of fonts called + the + \textem{Computer Modern Fonts}. Most of them were based on an encoding + that is called the Computer Modern Encoding throughout this document. + + All file names of Computer Modern Fonts start with the two + letters `\texttt{cm}'. + + + \subsection{Metafont: a font description language} + Metafont is a language / program especially designed to describe glyph + shapes, and more generally whole fonts. It was used to generate all + the ``Computer modern'' fonts. The Metafont user must describe or + ``program'' the curves for each glyph. Then Metafont produces an array + of black and white dots for each glyph. The dots can be made as small + as necessary to fit the precision of the printing device. + + + \subsection{\TeX\ version 3} + In the beginning of $\fam 1 1990$, under a lot of pressure (from the + \TeX\ User Community), D.~E.~Knuth produced a new version of \TeX. + \TeX\ version 3 was born. The main improvements were the following: + + \begin{itemize} + \item Up to 256 glyphs per font. The previous versions of \TeX\ could + only use the first 128 glyphs of a font. + + + \item Virtual fonts. A normal font has all its + glyphs in a file, and this file is in actual fact the font. + Virtual fonts enable people to group 256 glyphs taken from many + different fonts, and make \TeX\ think it is using one normal font. + For instance, one could make a virtual font with lowercase letters + in bold, and uppercase letters in italic. The user would work as + if he was using one font, but the results would in actual fact be + a combination of two fonts. A very good example implementation of + virtual fonts is the creation of ``Small Caps'' fonts: the + uppercase letters could come from a roman upright font at 12 + points, whereas the lowercase ones could come from a roman + upright at 10 points. + + Virtual fonts enable still more ingenious things, like replacing + glyphs with a set of \TeX\ macros. One can then + consider, for example, automatic raising or lowering of some + letters. + + \item Better hyphenation. \TeX\ version 3 can have up to 256 + different hyphenation tables, and can produce good automatic + hyphenation even when a word contains accents. The latter was not + possible in previous versions. More generally the hyphenation + mecanisms have been improved. + + \item The new ligature mecanism is more powerful. The result of a + ligature is no longer only one glyph, but can be a set of + glyphs... + + \item Special ligatures can be done at the beginning and at the end + of words. Thus when a given letter is at the end of a word, its + shape can be different from the shape it would have in the middle + of a word. + + \item Better automatic adjusting of interword space. + + \item More little details that make everybody happy... + \end{itemize} + + + \subsection{The ``DC Fonts''} + Although D.~E.~Knuth included a lot of ``European glyphs'' in his + Computer + Modern fonts, more were needed. In $\fam 1 1989$ \TeX\ users got + together in Cork, and designed some new fonts called the \textem{DC + Fonts}. + Thanks to the new features of \TeX\ version 3 (256 glyphs per font + encoding), + DC fonts included for example more special letters for Catalan and + Scandinavian languages. + + The DC Fonts used what is now called the \textem{Cork encoding.} + All DC fonts file names start with `\texttt{dc}'. + + +\section{My work} +%\section{My work} +One of \TeX's nicest features is its ability to typeset mathematical +formulae. There has now been over ten years of experience typesetting +mathematical material with \TeX. During this time, \TeX's math mode +has been used to set a wide variety of material, including traditional +mathematics, categorical diagrams, chemical reactions, computer +programs and textual material such as `$5\frac12\%$ or $\fam0M^{lle}$. + +In recent years, with the arrival of the Cork standard for typesetting +European text, and the Virtual Font standard, the fonts available for +use in \TeX\ have radically changed. The current situation is that +there are over 14,000 text fonts available for use in \TeX, but only +five math fonts: +\begin{itemize} +\item Computer Modern +\item Computer Concrete with Euler +\item Lucida Math +\item Lucida New Math +\item Math Time +\end{itemize} +Each of these fonts use different encodings, and each comes with its own +selection of \TeX\ macros. + +Although the Cork encoding is rapidly being established as the +standard encoding for European Latin text, there is no similar +encoding for mathematics. The result is: +\begin{itemize} +\item complex macro packages for using each math font. +\item it is difficult to set mathematics with Cork text, since the Cork + encoding does not include the uppercase Greek. +\item installing PostScript math fonts such as Mathematical Pi is very + difficult. +\end{itemize} + +Furthermore, the present math encoding includes glyphs like old-style +digits, and game card suits $(\spadesuit)$ that just do not belong in +a math encoding. On the other hand, many new glyphs have been +designed and should be included in the math encoding. + +To solve these problems, a new math encoding, using all the power of +\TeX\ version 3, is needed. For this reason I have been trying to +re-organize all the glyphs that are needed to typeset mathematical +formulae with \TeX, according to various technical constraints. + +The new math encoding that I am helping to produce is hopefully going +to be part of the \LaTeX3 package, and comes as one of the general +improvements of \LaTeX. + +First I learnt to use \TeX. In a second stage, I had to study and +understand the technical constraints that apply on the grouping of +mathematical glyphs in a font. Only then could I actually start +thinking about which glyphs should go where. I intensively used \LaTeX\ +---~so that I permanently had an up to date record of what had been +done ---~and email, to communicate with the people I +was working with. + + + + + + + + + + + + + + + + + + +\chapter{The \TeX nicalities of math typesetting} + + + +\section{A brief description of \TeX's math facility} + \begin{description} + \item[Logical markup like \LaTeX.] For the design of \TeX's user + interface, one of Knuth's concerns was that in the source code of + a mathematical document the formulae should be readable in a + linear manner. Thus when a mathematician thinks, he says to + himself: ``$n$ over $n-1$'', and when a \TeX nician works, in order + to produce the result $\frac{n}{n-1}$ he just has to type: + \verb|n \over {n-1}|. + + The user is no longer bothered by trying to get this bit of text + higher than this other bit of text. He just gives \TeX\ the + logical meaning of what should be typeset, and it is correctly + placed. + + \item[The two math modes.] There are two ways to enter \TeX's math + mode, which produce slightly different results with the same + input. One mode is called the \textem{display mode,} and produces + \textem{display style,} while the other is called \textem{text + mode,} and produces \textem{text style.} The following input:\\ + \verb| $ \int_0^1 \frac{1}{x}\;dx $| \\ produces + \textem{text style:} $\int_0^1 \frac{1}{x}\;dx$, which can be + mixed with text, whereas \\ + \verb| $$ \int_0^1 \frac {1}{x} \;dx $$| \\ produces \textem + {display style:} + $$ \int_0^1 \frac {1}{x} \;dx $$ which is automatically + centered and surrounded by space. + + \item[Automatic size change according to meaning.] When the user + says to \TeX: ``this letter is a superscript'', or ``this number is + a subscript'', \TeX\ automatically typesets the letter (or the + number) in a smaller font size. \TeX\ does that same size adjustment + for setting limits on glyphs like $\sum$, or $\smallint$. + + \item[Automatic placing for sub/superscript and for limits.] At the + same time as \TeX\ changes size automatically when the user + specifies a sub- or superscript, \TeX\ also raises and lowers the + resulting text. When placing limits over a $\sum$, for example, + \TeX\ automatically centers them over the sum: + $$\sum_{i=0}^{i=n} i = \frac {n(n+1)} {2}$$ + + \item[Size change for big operators.] One can see in the previous + example that the two $\sum$ signs (one in the text and one in the + example), are not set in the same size. \TeX\ changes the size of + some big operators when they are set in a centered environment + like that example is. The integral also changes size. + + \item[Automatic spacing and math classes.] As one can see in the + previous example, \TeX\ also spaces various glyphs in a special + way. For instance the space around the $+$ sign is quite large, + whereas the space between the $n$ and the open parentheses is + comparatively reduced. Turning off the automatic mathematical + spacing for the $+$ sign would produce the following: $(n \mathord + + 1)$ versus $(n+1)$. + + On a \TeX nical point of view, the math spacing is done by + dividing all mathematical glyphs into classes. For each class + \TeX\ has different spacing rules. Thus a class 1 glyph followed + by a class two glyph would not induce the same spacing as a class + 1 followed by a class 3. There is no point in giving all the spacing + rules here. The different classes are listed below\footnote{Thanks + to Victor Eijkout for the comments.}: + \begin{enumerate} + \item \textem{Ordinary:} lowercase Greek characters, and those + symbols that are just `symbols'; + \item \textem{Large operators:} integral and sum signs, and `big' + objects such as \cn{bigcap}, or \cn{bigotimes}. Large operators + are centered vertically, and they may behave differently in text + style, and in display style\footnote{See below for + explanations.}. + \item \textem{Binary operators:} plus, minus, and look + alikes; + \item \textem{Binary relations:} equal, less than, subset, and + friends; + \item \textem{Opening symbol:} opening brace, bracket, + parentheses, etc$\ldots$ + \item \textem{Closing symbol:} closing brace, etc$\ldots$ + \item \textem{Punctuation:} most punctuation marks, with an + exception or two; + \item \textem{Variable family:} described further on in section + \ref {var-fam}. + \end{enumerate} + + \item[More symbols/glyphs.] Last but not least, \TeX's math facility + gives the user easy access to special symbols: Greek letters, + $\aleph$\footnote{$\aleph$ is a Hebrew letter, not a Greek one.} + $\cap$, $\subset$, and many others that are often used in + mathematical formulae. + + \end{description} + + +\section{Math styles} + When Knuth wrote ``The \TeX book'', he extended the `display', and + `text style' terminology. If \TeX\ is typesetting sub- or superscript + material, one says that it is in \textem{script style.} Furthermore, + if \TeX\ is typesetting sub- or superscript when it is already in + script style, one says that it is in \textem {scriptscript style.} The + style terminology must not be confused with the size terminology that + is described further on: text size, script size, and scriptscript + size. + + +\section{Font families} + \subsection{What are font families? / a definition} + In math mode, \TeX\ does not load fonts in the same way as it does + in text mode. For maths, Knuth thought best to organize the fonts in + families, and give each family a number. One font family can contain + three fonts. + + The normal use is to load in a single family the same font in + three different sizes. One size for the main text, one size for + superscript and subscript, and one size for the exceptional + super-superscript, or super-subscript. A good example ought to make + things clear: $$\int_0^\infty\;e^{\alpha.x^\alpha}\;dx = \;\;?$$ It is + clear that the $x$ is smaller than the $e$, and that the second + $\alpha$ is smaller than the first, which is the same size as the $x$. + + \subsection{The organization of mathematical glyphs} + In the present version of \TeX\ the mathematically used glyphs are + organized in 4 families: + \begin{description} + \item[Family 0: Computer Modern Roman (\texttt {cmr})] This is a + normal upright roman text font. It is loaded in a math family + in order to typeset things like $\log$ or $\sin$. The other reason + for which it is loaded into a math font family is that it + contains the uppercase Greek alphabet, so that the user can + typeset $\Psi$ and $\Gamma$, or even $\Upsilon$. A few other + symbols are also taken from \texttt{cmr}: `;' `=' `( )' `[ ]' `:' + `+' $\ldots$ See figure in appendix \ref + {app-fonts}. + + \item[Family 1: Computer Modern Math Italic (\texttt {cmmi})] The + \texttt {cmmi} font is one of the special math fonts. For a + non-expert user, its letters look just like normal \textit {italic} + letters. But in actual fact they are slightly different in their + shapes, especially the lowercase. The reason for the letters being + different is so that the variable $a$ can be easily differenciated + from the article `a' used in ``a horse'' for example. + + Whereas \texttt {cmit}\footnote {The normal italic Computer + Modern font.} contains ligatures, \texttt{cmmi} does not, and + includes instead the Greek lowercase and uppercase alphabets in + italic. + + A strange feature of \fn{cmmi} is that it contains some + old style digits. Thus one can write $\fam1 1789$ or $\fam1 1942$ + which are quite different from 1789 and 1942. But these digits are + never used in maths, so they do not belong in a font that is + designed for use in maths. + + The \fn{cmmi} font also includes some other useful\footnote + {Only for scientists though.} symbols / glyphs that one can see on + the corresponding figure in appendix \ref {app-fonts}. + + \item[Family 2: Computer Modern Symbols (\texttt {cmsy})] One can + find in this font the calligraphic alphabet that some scientists + use: $\cal{A B C D E F G H}$ $\cal{ I J K L M N O}$ $\cal{ P Q R S + T U V X Y Z}$; plus lots of other symbols that only + mathematicians could want to use: $\cap \cup \ominus \otimes + \bigtriangleup \exists \; \forall \subset \le \succ \leftarrow + \ldots$ See figure in appendix \ref + {app-fonts}. + + \item[Family 3: Computer Modern Extensibles (\texttt {cmex})] All + three sizes in this family are the same. \texttt {cmex} mainly + contains symbols that change size, automatically. + One can produce: + \[ \left\{ + \begin{array}{ll} + u(x,y,z,t) & = u_{0}(x,y,t) + U(x,y,z,t) \\ + v(x,y,z,t) & = v_{0}(x,y,t) + V(x,y,z,t) \\ + w(x,y,z,t) & = w_{0}(x,y,t) + W(x,y,z,t) \\ + w'(x,y,z,t) & = w'_{0}(x,y,t) + W'(x,y,z,t) + \end{array} + \right. \]\label {extens-example}% + with four or ten lines, and the `\{' will get bigger and bigger of + its own accord, without the user specifying anything more. \texttt + {cmex} also contains wide accents, so one can produce: $\widehat{a}$ + $\widehat{ar}$ $\widehat{arg}$. I have previously spoken about the + automatic size change of some operators, whether in text, or in + display, style. These double sized `big operators' are in \texttt + {cmex}: + $\bigcap\ and\ \coprod$ in text style, and in display style: + $$\bigcup \ and\ \coprod\ and \ldots$$ + The total contents of \fn {cmex} is + shown in a figure appendix \ref {app-fonts}. + + Most of the glyhs in \texttt{cmex} have a stange metric + particularity, that makes them \TeX\ specific. Thus no other + typesetting system can use those glyphs. Vice versa \TeX\ could not + use those glyphs if they were made for another typesetting system. + I spent a certain amount of time trying to understand all the + triks hidden in \texttt {cmex}, and wrote a document on the topic + (see appendix \ref {app-rep-cmex}). The math font group was then + able to take decisions concerning the replacement of \fn + {cmex}. + + \item[The AMS symbol fonts: \texttt {msam} and \texttt {msbm}.] Many + more mathematical glyphs, and an extra blackboard bold alphabet. + They are not part of the standard \TeX, and are not loaded + automatically in a family, but they are used on many sites. They + were designed for the AMS: American Math Society, for use with + \TeX, and are now very widely spread. Their contents is shown in + figures, appendix \ref {app-fonts}. + + \end{description} + + + \subsection {How does \TeX\ identify glyphs? } + \begin{description} + + \item[Glyph names.] In Plain (see section \ref {plain-tex}) many + glyph names are defined. They refer to some of the numerous + glyphs \TeX\ can typeset. + + The user can also define his own names for glyphs. To a + glyph name must be associated a family number, and a position + in the given family. On top of that \TeX\ likes to know which + class the glyph belongs to. As well as the classes that have + already been defined, there is an extra one: + + \item[The \textem {`variable family'} class and the \cn{fam} + variable.] \label{var-fam} This class has nothing to do with + spacing, and, to my mind, treating it as a class is one of + Knuth's mistakes. It is used in particular for letters, but it + could have other uses. If the calligraphic, upright, and italic + letters all have the same position in their respective fonts, + one does not want to define a different name for each letter in + each shape. Instead, \TeX\ has a \cn{fam} variable, that + contains the number of the current family where glyphs should be + taken from. So when a glyph is of class \textem {`variable + family'}, it is taken from the family number \cn{fam}. But + that is not enough. Some times the \cn{fam} variable can be + equal to $-1$, and there is no family number $-1$. In such a + case a default family number is used. So together with the class + and the position, one can assign the default family number for + each glyph name. When a glyph is not defined as being variable + family, it always comes from the same family, and its family + number is linked to its name in the same way as the class + number. + + Example: when the user enters math mode, \cn{fam} is equal to + $-1$, the letters come from the default family. By typing: + \verb|$abda$| which produces `$abda$', one can see that the + default family for letters is family number 1 (See family + descriptions). If the user assigns the family variable to $0$ + then the letters will come from family $0$. Thus + \verb|$\fam0 abda$| produces `$\fam0 abda$'. (See family + descriptions). + \end{description} + + + + + + + +\section{Font metric files: The ``\texttt{.tfm}'' files} + \subsection{A theoretical overview} + When \TeX\ is typesetting a page, and making all the calculations + that are necessary for this, it does not need the actual picture of + the glyphs. All \TeX\ needs at this stage is the dimensions of the + glyphs, and other numerical data. That information is in the + ``\texttt{.tfm}''\footnote{\texttt{tfm} stands for ``\TeX\ font metric + file.''} files, and every font has one. Without it, the font is + unusable as far as \TeX\footnote{There are some slight exceptions to + this rule: in some cases a given font can use another font's + ``\texttt{.tfm}'' file. But the visual results are not very good.} + is concerned. + + For mathematical typesetting \TeX\ uses all the information that a + ``\texttt {.tfm}'' file can give. One of the first things I had to do + was to study and understand the machinery hidden in the math fonts + ``\texttt {.tfm}'' files. From a general point of view a font metrics + file can contain the following data: \footnote {This is not + restricted to \TeX. Although the file formats maybe slightly + different, Postscript type fonts and others use similar + metric files. One can find programs to convert the files + from one format to another.} + + \begin{description} + \item [Font dimensions.] These are global parameters + for the whole font. In a normal text font one would find the + slant (positive on an italic or slanted font), the size of the + interword space, other interword spacing parameters, more general + spacing parameters, and the x-height. The latter is the height of + the `x' glyph, and is used for correct accent positioning. + + The fonts in family 2 and 3 are a little special as far as font + dimensions are concerned. \TeX\ looks in family 2 and 3 for more + font dimensions than usual. This extra information is used for + special math spacing. + + \item [Glyph dimensions.] Each glyph has a height, a width and a + depth specified in the ``\texttt{.tfm}'' file. The height of the + box that surrounds a glyph is equal to the height of the glyph + plus the depth of the glyph, whereas the width is that of the + glyph. I think it is important to say that \textem{these values + are theoretical, and can be quite different from the real size + of the glyph.} Thus some glyphs are bigger than their box. A + good example of this is the italic `f': \textit{f}. The top right + end, and the bottom left end stick out of the box. The right hand + side of a given glyph box is also the left hand side of the + next\footnote{The box on the right of the first one.} glyph box. + + \item [Kerns.] \label {about-kerning} They are necessary for the + \textem{automatic adjustment } of the spacing between two glyphs. + Many non professional electronic typesetting systems have for a + long time ignored this refinement of traditional typesetting. The + problem is the following: for visual comfort all the letters of + the alphabet cannot be spaced in the same manner. For instance + when an `A' is followed by a `V', the two letters must be brought + closer together to produce `AV' versus `A{V}'. In other cases + letters must be separated a little to produce `aj' versus `a{j}', + or `f!' versus `f{!}'. Otherwise the spacing does not look correct + compared to the spacing of surrounding letters. In the + ``\texttt{.tfm}'' file, for each glyph one can specify kerns with + every other glyph \textem{of the font}. \textem{When two glyphs + that are kerned in the ``\texttt{.tfm}'' file are found side by + side in the right order, \TeX\ automatically brings them closer + together, or farther away.} + + \item [Ligatures.] \label {about-ligs} Here again, the idea is to + improve visual comfort, and reading. Some letters when followed by + other particular letters do not look right. In this case the two + glyphs side by side must be replaced by another glyph that will + look much better. This is called a ligature. The best and very + well known example occurs when an `f' glyph is followed by an `i' + glyph. The non-ligatured glyphs look like `f{i}', and + \textem{\TeX\ automatically replaces} them with the ligature that + looks like `fi'. In the ``Collection La Pleiade'', one can see many + other ligatures if one looks hard enough. + + In \TeX\ version 3 the concept of ligatures is more general. It + can use more than two letters, and has other interesting new + features. + + \item [Italic corrections.] For this I can only quote Frank + Mittelbach: + \begin{quote} + ``At the points where one switches from slanted or italic to + upright, the glyphs usually come too close together, especially + if the last slanted/italic glyph has an ascender\footnote{Here + is something that has not been defined. The following letters + have ascenders: l,k,h,f,t,b,d, in lowercase. One can guess + what descenders are.}. The proper amount of extra + white space that should be added at this boundary is called the + `italic correction'. Its value depends on individual glyph + shape, and is therefore stored in the ``\texttt{.tfm}'' file for + each glyph. [...] For an upright font the italic corrections + are usually null. [...] In slanted and italic fonts, the italic + corrections are usually positif...'' + \end{quote} + Example: in the word {\it dif}ferent, the first f runs into the + second one. Whereas in the word \textem{dif}ferent, a little space + is left between the two f's. That space is the f's italic + correction. + + \item [`Skewchar' kerning.] The skewchar is a specific character + that is used for placing mathematical accents. In math mode, when + an accent is placed on a glyph, the accent is first centered on + top of the glyph's box, and then shifted rightwards by the amount + of the kern between the glyph and the skewchar. + + Each font should have its own skewchar. For most characters, the + ``{\tt .tfm}'' file specifies the kerning of each letter with its + skewchar. This is true for the computer modern fonts, but other + font designers may have chosen not to use this feature. + + Why choose one skewchar rather than another? This is because the + character $\mathchar"017F$ chosen by Knuth does not have any other + kerning that could have been disturbed by the skewchar kerning. + This choice may not always be good for all fonts, because it + depends on what the character in position '127 is. Thus a font + designer might choose another skewchar and put the necessary + kernings in the ``{\tt .tfm}'' file. Accent glyphs can be used as + skewchars, because they are not usually subject to kerning from + other glyphs.'' + + + \begin{sloppypar} + \item[Charlists.] \label {about-charlists} Charlists enable several + characters in a font to be linked together. The \texttt {cmex} + font uses charlists a lot: by just typing \texttt{charlist oct + "000": oct "020": oct "022": oct "040": oct "060"} in the + metafont source code, one links in order of increasing size all + the left parenthesis that are in the font. Thus with this + information contained in the ``\texttt {.tfm}'' file, \TeX\ can + find the parentheses that has the correct size for what is + currently being typeset. + + Charlists are used for: + \begin{itemize} + \item Linking variable-size delimiters, + \item Linking variable-width accents, + \item Pairing the ``big operators'' that are typeset in + different sizes in display style, and text style. + \end{itemize} + \end{sloppypar} + + \item[Extensibles.] \label {about-extens} Extensible glyphs can + change size vertically (not horizontally), according to the + context. A good example is given in section \ref {extens-example} + where the \{ grows automatically. + + \begin{sloppypar} + An extensible glyph is identified with one of its pieces. One simply + has to decide which piece is going to be used for this + identification. In the following example: \texttt {extensible + oct"060": oct"060", 0, oct"100", oct"102";} --- which appears in + the metafont code of \texttt {cmex}, the first oct"060" is the + identifier of the whole extensible glyph. The next three + characters are the top, middle, and bottom pieces of the glyph + whose identifier is oct"060". The last character code is that + of the piece to be repeated as many times as necessary between the + top and middle, and between the bottom and middle pieces. All + pieces are optional except the repeatable piece. + \end{sloppypar} + + This mecanism is also used for the construction of the radical + sign. But it only works for glyphs that grow vertically. + Therefore the horizontal braces and the horizontal extendable + arrows cannot use this facility. + +\end{description} + + + + + \subsection{Example: analysis of `\texttt{cmmi}' metrics} + %\footnotetext{\texttt{cmmi} stands for Computer Modern Math italic, + % and is the default font for typesetting mathematics.} + I shall use here the usual \TeX\ notation for writing octal numbers. + Thus all numbers preceeded by a little quote sign like '77 are in + octal. + \begin{itemize} + \item Most characters in `\texttt{cmmi}' are kerned with the + skewchar. + + \item Many Greek uppercase and lowercase letters are kerned to: `.' + `,' and `/' respectivly '72, '73, and '75. This takes us right up + to position '50. + + \item Characters from '50 to '73 are not kerned at all. This + includes: funny horizontal half arrows, two hooks for the arrow + construction set, two triangles, the old style digits, the `.', the + `,' and the `$<$'. + + \item The `$/$' sign is kerned with 1\footnote {The digit.}, A, M, + N, Y, Z. Nothing to say about `$<$' and $*$ and $\partial$. + + \item Then come the uppercase Latin letters. They are not kerned + among each other. They are not kerned either with the lowercase + letters. Just like the Greek letters, some of them are kerned with + `.' `,' `$/$'. + + \item In my \fn{.pl} file, it looks as though N and X have got two + different kerns with '75. (Not yet any explanation for this.) The + 3 musical signs are not kerned with anything. The horizontal + parentheses are not either. + + \item The lowercase Latin letters are not kerned with each other, + except `$d$' that is kerned with $Y, Z, j, f$. Some of them are + kerned with `,' `.' `$/$' in a way similar to that of uppercase + letters. + + \item The last characters are not kerned at all. + \end{itemize} + + For compatibility reasons, all these kerns will have to be in the + new encoding. + + See appendix \ref {app-rep-cmex} for a complete description and + analyses of \fn{cmex10.tfm}. + + +% \subsection{Large operators} +% \subsection{Delimiters} + + + + + + + + + + + + + + + + + + +\chapter{Dividing all the glyphs into groups} + +\section{More vocabulary}\label{MoreVocab} + \begin{description} + \item[An ``encoding table''.] This conveys the traditional meaning + of an encoding (see section \ref {about-encoding}). That is to say + a set of 256 glyphs in a given order. The expression ``encoding + table'' is usually abbreviated: ``encoding''. + + \item[A ``slot'':] the usual word used for referring to a + position in an encoding. A slot can contain a glyph, or be empty. + It is represented by an integer between 0 and 255. A slot is + \textem{not} a family in spite of the usage some people make of this + word. + + \item[The ``math kernel''.] This terminology is used to specify the + minimal group of fonts that is necessary for the math facility to + work, as described in the \TeX\ documentation\footnote{And + LA\TeX, AMS\TeX, etc, documentation.}. In D.~E.~K.'s + package (Plain) the math kernel consists of the families + numbered from 0 to 3. Together with the kernel, many other fonts can + optionally be loaded and used. + + \item[A ``math encoding'':] considered here as a + whole. Not just one 256-glyph encoding table, but a set of $x$ + encoding tables, where $x$ is greater or equal to the number of + fonts in the math kernel. I will sometimes refer to this concept + with the abbreviation ``M-encoding''. + + \item[The ``default alphabet'':] the alphabet that is used + when a user types \texttt{\$abc\$}. With Plain \TeX's math + encoding that produces $abc$. + + \item[``Glyph compatibility'':] two encodings (or M-encodings) are + glyph compatible, if they contain the same glyphs. The latter do + not systematically have to be in the same positions. However + identical glyphs must have the same + metrics. The kerning and ligaturing information must + also be identical in both M-encodings. + + +\end{description} + +\section{General approach} +Taking all the glyphs one by one, and putting them in a font encoding +would have been to easy, and above all not satisfactory. Instead one +must divide all the necessary glyphs into groups and subgroups, and then +tried to match groups in individual encoding tables according to all +the constraints. + +For instance, a typical group is the Latin alphabet: it includes the +uppercase letters A-Z, and the lowercase letters a-z. +Mathematicians often use accents on letters. For this they +need a dotless `i' (looks like: `$\i$') and a dotless `j' +(looks like: `$\j$') with every Latin alphabet. Thus the Latin +alphabet group contains the uppercase and lowercase letters, the +dotless `i' and the dotless `j'. + +The grouping is based on different types of constraints: some +technical, and some based on glyph usage. These are detailed in the next +section. + +\section{Grouping constraints} +Before being able to group the glyphs, grouping rules had to be +established. \footnote {I've put in appendix +\ref {app-accents}, \ref {app-rep-cmex}, and \ref {app-delims}, three +of the documents that I wrote for this purpose.} + +At first I did not realise the importance of the design similarity +constraint for the person designing the font. Thus the first two +proposals did not really take it into account at all. + + \begin{description} + \item [Kerning.] See section \ref {about-kerning} for a definition + of kerning. The kerning information for a given font can be found + in it's \texttt{tfm} file. Thus two glyphs from the same + encoding table can be kerned together, but the letter `f' + belonging in a given encoding table, cannot be kerned with a + glyph (the open parenthesis for instance) belonging in another + encoding table. A group resulting from this constraint is: the + group of glyphs that must be kerned with the default alphabet. + This group and the alphabet will have to live in the same + encoding table. This constraint is considered to be one of the + most important. + + In fact this type of grouping is not so much grouping together + all the glyphs that must be kerned, but putting together in one + group the glyphs that need to be kerned with another group. In + order to facilitate the counting. + + \item[Ligaturing.] See section \ref {about-ligs} for a definition of + ligaturing. In a similar manner to kerning, ligatures request + that various glyphs live in the same encoding. If the letter + `f' is to be ligatured with the letter `i' and produce the `fi' + ligature, then those three glyphs `f',`i', and `fi' must live + in the same encoding. In actual fact ligatures are not really + used in math fonts. But they may be necessary one day. So + empty slots should be left for ligatures where possible. + + \item[Design similarity:] another reason for which the letter A must + live in the same font encoding as the letter B, and all the other + letters. All the glyphs in a normal text encoding are designed to be + visually compatible with each other. This should also be the case in a + math encoding. But all the compatible glyphs cannot live in the same + font. There are simply too many of them. So one has to make a + choice. Which glyphs must be alike? A lot of groups result from this + constraint, which even comes into play when putting the groups + together into encodings. A good example is the sim group. `Sim' is + the name given to the glyph: $\sim$. Many mathematical symbols contain + such a sim. $\approx$ cannot be separated from $\sim$ because they + must look alike, and for that they must be designed by the same + person. Even more, the $\sim$ and the $\approx$ should be produced in + metafont using the same sub-routine, with the same parameters. This + also explains why it is important that the letters of a given style + all live together. + + + \item[Charlists.] The reader is advised to re-read section \ref + {about-charlists} if he no longer remembers what charlists are. The + information that such and such a glyph is part of a charlist is in + the \texttt{tfm} file. Therefore charlists are also restricted to + one font. Because of this all glyphs that are intended to be + linked in a charlist must be put in the same font. Concerned + by this restriction are: + \begin{itemize} + \item Wide accents, which are linked with a charlist in order of + increasing size, + \item Big delimiters: same as accents, + \item The two sizes of big operators which are linked, + \item All the different sized radicals. + \end{itemize} + + \item[Extensibles.] In case of memory deficiency the reader is + advised to take another look at the relevant passage in section + \ref {about-extens} again. As for charlists, the extensible + information is part of the \texttt {tfm} file. The different + pieces of an extensible glyph must therefore live in the same + font. Concerned by this restriction are: + + \begin{itemize} + \item Extensible delimiters (not all delimiters are extensible). + This constraint is doubled by the fact that an extensible + delimiter is often the last element of a charlist. Thus many + glyphs must live together. + + \item Radicals: the last element of the radical charlist is an + extensible: it grows as high as necessary. In + the same way as delimiters, the glyphs used to + build the extensible radical are a subgroup of + the radical charlist group, and therefore must + live with the other members of the charlist. + + \item Vertical arrows or bars\footnote {But not horizontal + arrows.}. + \end{itemize} + + \item[Constructed symbols.] Some glyphs in a font are especially + designed to be put next to each other. Good examples are the + horizontal arrows, and the horizontal curly braces. Because of + their horizontal characteristic, the extensible mechanism cannot + be used. So the $$\underbrace {\mathrm {horizontal\ curly\ brace}}$$ + is built up with abbuting glyphs. These glyphs must be of the same + weight, and very well adjusted in order to fit together properly. + They must therefore live in the same font. + +\end{description} + + + +\section {Constraint importance} +The design constraint is less important than the kerning constraint. +Whereas keeping empty slots for ligaturing has very little +importance compared to the two former constraints. + +Charlists' and extensible lists' members \textbf {must} stay together, +without exception. One could establish the following order of +importance: + + \begin{enumerate} + \item Extensibles, + \item Charlists, + \item Constructed symbols, + \item Kerning, + \item Ligatures, + \item Design similarities, + \item Empty slots for ligatures. + \end{enumerate} + + + +\section{A few groups} + +\begin{itemize} +\item The Greek letter sets, +\item The Greek-like glyphs, +\item The Latin letter set, +\item The Latin-like material +\item The digits, +\item The vertical arrows, +\item The horizontal arrows, +\item The accents, wide, double, underaccents, +\item The core symbols: must live with the default alphabet, +\item The subset group, +\item The greater than group, +\item etc ... +\end{itemize} + +A lot of the above groups were still divided into smaller groups in +order to make things fit in the encoding tables. Compromises had to be +made, in order to respect the constraints set by compatibility. + + + +\chapter{Making encoding tables} +Similarly to the constraints governing the grouping, the constraints +governing the division into encoding tables listed below were not at +all obvious, and had to be thought of, and fully understood. + +The construction of encoding tables largely depends on the main goals of +a new math encoding. + +\section{The constraints of group grouping} +\begin{description} + + \item[Glyphs access.] (alphabets, variable family) This is + another technical constraint due to the way \TeX\ accesses glyphs. + It is also a user interface constraint, because the idea is to + make alphabets easily accessible to the user. + + Due to the variable family mechanism (explained in section \ref + {var-fam}), It is very practical for the user that font + encodings contain only one alphabet. Thus when the fonts are + loaded into the families, different letters can be accessed by + changing the \cn{fam} variable, and typing the usual letters on + the keyboard. For instance, when \cn{fam} is equal to $-1$, the + default family is used. When \cn{fam} equals 2 the user can + get the script alphabet. For this the user need only type + \verb|$\fam=2 A,B,C$| and the letters $\cal{A,B,C}$ are + produced. + + The alternative would be to have many alphabets in one encoding. + In that case, to access script letters A,B,C for example, the user + would have to type \verb|$\scriptA,\scriptB$|. That would be much more + difficult to read, and less practical. + + This constraint --~due to glyph access~-- sets the shape of the whole + M-encoding and has a very high priority. + + \item[Font access.] This only concerns the font that will replace + \texttt {cmex}. For compatibility reasons, the math font group + decided that it would be reasonable to try and replace \texttt + {cmex} by a font that can be loaded in one size, \textem {and} in + three sizes. Therefore the \texttt{cmex} replacement can only + take: + \begin{itemize} + \item Wide accents, + \item Big delimiters, + \item Big Operators, + \item Radicals (with a small change), + \item Vertical extensible arrows. + \end{itemize} + It would be too long to justify the decision here, but the relevant + document is in appendix \ref {app-rep-cmex}. One of the consequences + of this is that one cannot put an alphabet in \texttt {cmex}'s + replacement encoding. An aphabet must be available in all three + sizes. + Other glyphs are also victims of this limitation. + + \item[Kerning.] Obviously, if glyphs in two separate groups must be + kerned, then those two groups must live together. + + \item[Design similarity.] This is a designor's constraint and + therefore has low priority. Because of this low priority, it often + happens that big design similarity groups are subdivided into smaller + ones. In such case one must try in sofar as is possible to put the + smaller groups back together. + + \item[Bold face.] Mathematicians and physicists often use boldface + glyphs. These can either be directly available in some of the + encodings, whereby the encoding will specify: here should go a + bold uppercase `A' ---~and that could be next to a non-bold glyph; + or none of the encoding tables specify whether or not the glyphs + are bold, and a bold version of the whole M-encoding or of each + encoding table can be made ---~as with text fonts. + + To reduce the total number of glyphs in the M-encoding, the + second possibility has been chosen. But this induces another + constraint on the global M-encoding: the individual encoding + tables must be designed in such a way that the most commonly + used bold glyphs are put together. + + \begin{sloppypar} + \item[Compatibility with other font-using programs.] Since the + invention of ASCII code, the first 32 slots of fonts were + often not used for glyphs, but reserved for control + codes. Today many programs are still not designed to use the + first 32 slots of a font. Thus fonts should not contain any + glyphs in those slots. + But this would be a big waste for \TeX, because it can use + glyphs in slots below 32. + + However, if the glyphs in the critical slots do not have any + kerning relation-ship with other glyphs in the font, then the + former can be put in another font, and be used with little + difficulty even in problematic software. This seemed a fairly + good compromise, so it was decided to fill slots below 32 + with glyphs that do not have any kerning with the others, and + could thus be separated from them. + + On the same lines: some programs are unable to use fonts that do + not have a space in position 32. To solve this problem, only one + slot in concerned, so it was decided to include a space in every + font. This should not be a problem. + + \item[Grouping \TeX\ specific glyphs: another compatibility + issue.] \hfil + The present \texttt{cmex} font/encoding contains glyphs + that cannot be used by other typesetting systems, because they + are set in a strange way. Similarly \texttt{cmsy} contains one + glyph that is set in a strange way: the radical sign. Therefore + the whole of \texttt{cmsy} is unusable for other programs. Such a + mistake must not be reproduced. + + It is hoped that the new \TeX\ math encoding will set a + standard, that will not only be used by \TeX, but by all + systems that typeset mathematical formulae. If everything goes + according to plan, in the next few years many math fonts will + exist, for many different systems, and they will all use the + same M-encoding. Thus it will be very easy to use the same + fonts on different systems. One day a \TeX\ user will be able + to take a mathematical font from Microsoft Word, and convert it + easily in order to use it with \TeX. + + If \TeX\ specific glyphs are grouped in one font, there will only + be one problematic font. As it happens, all \TeX\ specific glyphs + are more or less geometric, so they could be used next to + different math fonts. On the other hand, if \TeX\ specific glyphs + are spread around in many fonts, then many ``imported'' fonts will + not be usable by \TeX\ without major changes. + + From a commercial point of view, if a font designer creates a math + font for Adobe, the work necessary for adapting it to \TeX\ must + be reduced to the minimum. Otherwise nobody will provide any new + math fonts for \TeX. + + \TeX\ specific glyphs are the following: + \begin{itemize} + \item The delimiters, + \item The large and small `bigops', + \item The radicals. + \end{itemize} + + + \item[Compatibility with Plain and \LaTeX.] Let us consider a user + that has typed a document with the present math encoding, and in + so doing has saturated the available families. If the new math + encoding does not garantee Plain and \LaTeX\ glyph compatibility + with a \textem {maximum of 4 fonts,} then the document will + not be able to run with the new math encoding: not enough + families. Thus one should make the first four encoding tables of + the global M-encoding glyphs compatible with the Computer + Modern cluster: cmr, cmmi, cmex, and cmsy. + + + \item[Compatibility with AMS\TeX, AMS\LaTeX, and LAMS\TeX.] Let us + consider this time a user that has typed a document with the + existant AMS\TeX\ or AMS\LaTeX\ package, and in so doing has + saturated the available families. If the new math encoding does + not give AMS\LaTeX\ and AMS\TeX\ glyph compatibility with less + than 6 encoding tables, then that document will not run with the + new math encoding, for lack of family reasons. + + The first 6 encoding tables must be one way glyph compatible with + the fonts provided in the AMS packages. + \end{sloppypar} + + \item[Trying to give the Plain \TeX\ user a logical cluster of new + glyphs.] No comment. + +\end{description} + +\section{The Aston-LC math encoding} +This is one of the proposals first thought of, but it is +not the one finally chosen, because it had many problems. + +LC stands for latin core. The main characteristic is the separation of +the Greek letter sets from the Latin ones. In keeping these two sets +separate, we give the greek letters an identity of their own, thus +making them quite independent of the rest. The idea goes in the +direction of orthogonal grouping. All the encodings that contain +letters would have them in the Cork encoding positions, thus making +access very simple. In fact this positioning concept will be taken +farther: Cork encoded glyphs that are in the new encoding, will keep +their Cork position. + +\subsection{The encoding tables} + \begin{description} + \item[The text symbols: the TS encoding.] Here would be included the + old style numerals, and most of what is to be taken out of the + present math encoding, because it does not belong with the rest of the + math glyphs. Other symbols could be added in this encoding. + + This encoding is not part of the M-encoding, but it will contain + symbols that previously were accessed via the math fonts. In + normal usage, this font will not be loaded in a family. It will + simply be loaded as a normal text font. + + \item[The base: a Cork encoded latin text font.] The main use of + this font would be to typeset function names like \texttt + {\string\log}. The idea being that the user can actually choose + this font among the existing Cork encoded fonts. Thus `sin' can + actually be typeset in the same style as the text, or in another + special style to match the rest of the math glyphs. + + \item[The core: the MC encoding.] It would not contain any Greek + glyphs (unlike \texttt {cmmi}). The basic accents (only one size) + would be here, next to the default numerals. It would also include + all the upper and lowercase default latin alphabet, all + of the symbols that are most commonly used, and glyphs that must + be kerned with the default alphabet. + + \item[The Greek alphabets: the MG encoding.] This encoding table + would contain all the upper and lowercase Greek letters in + upright and italic, plus some variable shape Greek letters, also + in upright and italic, and some numeric Greek letters. Any other + Greek related glyphs would also live in MG. If place is still + available, one could include some symbols. An advantage of + putting the italic Greek and upright Greek together, is that both + are often requested in medium and in bold weight. + + \item[The extensibles: the MX encoding.] This encoding would look + very much like the present \texttt {cmex} encoding: the usual + extensible characters, together with some new ones. It could + include any characters that have strange \TeX\ features like big + descenders. Thus glyphs that are not compatible with the + outer world would be kept together. + + \begin{sloppypar} + \item[The math symbols: the MS1, MS2, MS3... encodings.] Each of + these encodings would contain a set of Latin letters, like for + instance script or blackboard bold, in upper or lowercase, or + both, together with a set of matching accents if needed. In some + cases a place should also be reserved for a set of matching + numbers. The rest would be filled up with symbols. There could be + an MS$_i$ encoding for: + \begin{itemize} + \item Calligraphic, + \item Script, + \item Open, + \item Old german, (Fraktur) + \end{itemize} + \end{sloppypar} + + \end{description} + + + +\subsection{Other requested typefaces} + \begin{itemize} + \item A ``text-like'' italic or slanted font for computer science + identifier-names and the like. This would be Cork encoded. + \item A ``bold upright'' for use as variables -- e.g. vectors in + physics notation rather than the arrow over an italic letter. This + would be Cork encoded. + \item Bold italic for use as variables: an MC or Cork encoding. + \item Bold Old german (occasional). + \item Bold script (occasional). + \item Sans serif lightface (occasional): Cork encoded font. + \item Sans serif boldface (occasional): Cork encoded font. + \item Bold symbols: the same encodings loaded in bold. + \item Ultra bold symbols: the same encodings loaded in bold. +\end{itemize} + + + +\subsection{Summarizing the family occupation} +The following encodings are needed in the kernel: + +\begin{enumerate} +\item A Cork encoded upright text font. +\item An MC encoded font containing the default alphabet, digits, + accents, and symbols. +\item An MS$_1$ encoded symbol font for calligraphic/script. +\item An MX encoded extensible font. +\item An MG encoded font for Greek italic and upright. +\item An MS$_2$ encoded symbol font for Open and symbols. +\item An MS$_3$ encoded symbol font for Old german and symbols. +\end{enumerate} + +This occupies 7 families, and leaves 9 free for anything else, (like +bold or sans...) and makes many symbols available. + + + + +\subsection{Pros and cons} +This proposal did not respect the limit of 4 and 6 families +(compatibility with Plain\TeX\ and AMS\TeX), nor did it enable the Latin +and Greek to be kerned together, nor could the Greek be kerned with the +same symbols as the Latin alphabet, unless these were +repeated. Generally, to get the equivalent of Plain \TeX, one would have +had to load 5 families, and to get the functionalities of AMS\TeX, one +would have needed to load 7 families. + +One of the advantages was the orthogonality of the individual encoding +tables, i.e. there were no strange mixes like Latin and Greek, or +anything of the sort. + +The main reasons for rejecting this proposal are: +\begin{itemize} +\item it is a big family consumer. In particular bold Latin and Greek + would occupy two extra families, and they are frequently requested. +\item it does not enable kerning between the Greek and punctuation + which is needed for compatibility ---~the punctuation is in + a separate encoding table from the Greek. +\end{itemize} + +The next proposal is more attractive... + + + +\section{The Aston LGC math encoding} + +LGC stands for Latin Greek core. One of the main features of this +proposal is that the Greek and Latin alphabets have been put +together. In one font they could be upright, and in the other they could +be italic. A good reason for doing things this way is that the font +dimension called slant may give a few unexpected problems if italic and +non italic glyphs are mixed in the way that they would have been in the +Aston LC math encoding. + + +\subsection{The encoding tables} +\begin{description} + +\begin{sloppypar} +\item[The text symbols: the TS encoding.] This would be the same as in + the previous proposal, and would be used in a similar manner. + +\item[The base: a Cork encoded latin text font.] This would be the same + as in the previous proposal, and they would be used in a similar + manner. +\end{sloppypar} + +\item[The core: the LG encoding.] Instead of the MC encoding (in the + previous proposal), the core could be duplicated. Once in upright, + and once in uppercase. The LG encoding would contain one instance + of both Latin and Greek letter sets. So two LG encoded fonts would + be used (upright, and italic). + + As far as the other slots are concerned, they could be filled in + with the most used math symbols (similarly to the MC encoding), + these would then appear once in upright, and once in bold. An + alternative to such a duplication would be to make an LG1 encoding + that would contain different symbols from an LG2 encoding, and these + would always be in upright, whereas the letters would be specified + as italic in LG1, and upright in LG2. + + \textbf{Note.} The user could choose whether he wants to load both LG1 + and LG2, or only one of the two. + + +\item[The extensibles: the MX encoding.] It would be the same as in + the previous proposal, and it would be used in a similar manner. + +\item[The math symbols: the MS1, MS2, MS3... encodings.] {\sloppy These + would be the same as in the previous proposal, and they would be + used in a similar manner.} + +\end{description} + +\subsection{And the rest?} +Similarly to the previous proposal, many other fonts could be loaded +in all the free families. + + +\subsection{Summarising the Family occupation} +\begin{enumerate} + \item An LG encoded font containing Latin and Greek italic. (This + could be LG1 if necessary. See explanations above.) + \item An MS$_1$ encoded symbol font for calligraphic/script. + \item An MX encoded extensibles font. + \item An LG encoded font containing latin and Greek upright. (This + could be LG2 if necessary. See explanations above.) + \item An MS$_2$ encoded font for Open and symbols. + \item An MS$_3$ encoded font for Old German and symbols. +\end{enumerate} + +Only 6 families are occupied. This leaves 10 families free for +anything else, (like bold or sans...) and makes many symbols +available. + + + +\subsection{Pros and cons} + +One of the advantages of this proposal is that kerning can be done +between Latin and Greek (as long as they are in the same shape), and +between Greek and other symbols present in the encoding such as +punctuation. Also when bold is requested, one gets the bold Latin and +the bold Greek in the same font table, which again consumes less +families than having the two separate. + +This proposal occupies less families than the previous one. + +Reasons for abandoning the Aston LGC math encoding: +\begin{itemize} + \item The user must be able to choose the look of his log, sin, and + friends. He may want them to be either text compatible, or + compatible with the other math alphabets and the rest of the math + glyphs in general. The choice must be left open, and the math font + designer must not impose his decision on the user. + \item A solution to the previous problem is to include another + font for this purpose, as in the previous proposal. But then the + family occupation rises up to 7, and three Latin alphabets are + loaded, of which one (the LG upright) is probably not going to be + used much. Thus a lot of precious space is wasted. + \item The `Yaasp' proposal is much more attractive. +\end{itemize} + + + + +\chapter{The proposed YAASP encoding} +\label{app-yaasp} +\begin{quote} + This chapter is the final proposal that was made. It is also the body + of the official document that was produced. The reader may find some + similarities with the previous sections, for instance some of the + definitions can be found in section \ref {MoreVocab}. Also a lot of + the points discussed in the global policy section have already been + discussed. + +\end{quote} + +\input{l3d007a.tex} + + + +\chapter{The glyph groups} + +\input{l3d007b.tex} + + + + +\chapter{Final conclusions} + +The `Yaasp' proposal, which is the final proposal made, is given in +chapter \ref{app-yaasp}. + +Working on the \LaTeX3 project in Mainz was very interesting for many +reasons: +\begin{itemize} +\item People next to me were working on net management and system + maintenance. I used email intensively for communicating + with other people working on the project. I used tar files and + other programs to send large amounts of information to other people. + + It was a very good introduction to the network oriented studies I + will be doing in my last year. I don't think that I really knew before + what the network was. Now I have a better idea. + +\item I installed a test version of NFSS2. It was a good + introduction to software installing, and enabled me to discover a + few more UNIX tools. I hope I will be able to use this knowledge for + installing various packages for \TeX\ and especially emacs in the + Ecole des Mines de Saint Etienne. + + +\item The work I did was to a large extent research work and thus + involved many topics for which no previous experience was + available. For this reason the work seemed to go slowly, and we often + had to go back to the drawing board and re-think points that we + thought were already finished and done with. All of this, of course, + was made worse by the fact that a lot of the communication was done + via email. + + However, the final result was very positive. By the end of the three + months, a complete proposal for a new math font set-up was produced. + For Frank Mittelbach technical director of the \LaTeX 3 project, + this is a good achievement, and a big step forward. The next stage is + to try and implement the proposal, and start testing it. + + +\item Last but not least, I greatly improved my English and my German. + I learnt about another country, about its educational system, and + about its habits, which one can only grasp by working in the country. + I learnt how to integrate in a foreign environment, and how to deal + with a few distressing problems: it was not easy to keep calm when + my car packed up the week-end before I had planned to go back to + France. In one's own country garage mechanics aren't easy people to + deal with; matters get even worse when it is in a foreign country. + +\end{itemize} + +The whole experience was very enriching in many domains. The difficulty +I had in speaking German proved to me that the teaching of languages in +the \textem {Ecole des Mines de Saint Etienne} is not good enough, and +must be improved and given more importance. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% appendix starts here. +\appendix + + +\chapter{Analysing \TeX's positioning of \cn{mathaccent}s} +\label {app-accents} +\input{l3d007c.tex} + + +\chapter{A close look at extensible characters} +\label {app-delims} +\input{l3d007d.tex} + + +\chapter{Replacing \texttt{cmex} ?} +\label{app-rep-cmex} +\input{l3d007e.tex} + + + + + + +\chapter{Fonts and font encodings} +\label{app-fonts} + +The first 4 figures given on the next few pages are the standard fonts +used in plain \TeX\ for maths. +\begin{itemize} +\item \textbf{Computer Modern Roman:} loaded in family 0 shown on figure + \ref {fnt-tbl-cmr}. +\item \textbf{Computer Modern Math Italic:} loaded in family 1 shown on + figure \ref {fnt-tbl-cmmi}. +\item \textbf{Computer Modern SYmbols:} loaded in family 2 shown on + figure \ref {fnt-tbl-cmsy}. +\item \textbf{Computer Modern EXtensibles:} loaded in family 3 shown on + figure \ref {fnt-tbl-cmex}. +\end{itemize} +% +Figure \ref {fnt-tbl-dcr} shows the DC-encoding with which the new +math encoding is designed to live. Unlike the \fn{cmr} encoding, the +Cork encoding does not include any Greek glyphs, this prevents its use +in family 0 for maths. But an upright text font is needed in family 0, +for mixing sub- and super-script in text. This problem has until now +prevented the wide spreading of the DC-fonts. + +The next two fonts shown in figures \ref {fnt-tbl-msam} and \ref +{fnt-tbl-msbm} are the AMS fonts, designed especially for use in +maths. +% +\begin{figure}[b] + \dofonttable{cmr10} + \caption{The \fn{cmr} encoding: 128 glyphs.} + \label{fnt-tbl-cmr} +\end{figure} +% +\begin{figure}[b] + \dofonttable{cmmi10} + \caption{The \fn{cmmi} encoding: 128 glyphs.} + \label{fnt-tbl-cmmi} +\end{figure} +% +\begin{figure}[b] + \dofonttable{cmsy10} + \caption{The \fn{cmsy} encoding: 128 glyphs.} + \label{fnt-tbl-cmsy} +\end{figure} +% +\begin{figure}[b] + \dofonttable{cmex10} + \caption{The \fn{cmex} encoding: 128 glyphs.} + \label{fnt-tbl-cmex} +\end{figure} +% +\begin{figure}[b] + \dofonttable{msam10} + \caption{The \fn{msam} encoding: 128 glyphs.} + \label{fnt-tbl-msam} +\end{figure} +% +\begin{figure}[b] + \dofonttable{msbm10} + \caption{The \fn{msbm} encoding: 128 glyphs.} + \label{fnt-tbl-msbm} +\end{figure} +% +\maxz=256 \maxiz=255 +\begin{figure}[b] + \dofonttable{ecrm1000} + %\dofonttable{cmssdc10} + \caption{The \fn{dcr} encoding: 256 glyphs.} + \label{fnt-tbl-dcr} +\end{figure} +% + +%\begin{figure}[b] +% \dofonttable{cspex10} +% \caption{The \fn{cspex} and Saint Mary Road encodings.} +% \label{fnt-tbl-mary} +%\end{figure} + + + +%\chapter{Requirements analysis} +%\label{app-require} + + + + + + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end +\end{document} +\chapter{Daily detail of what I did (for personal record)} + +\begin{itemize} + +\jzitem{First week} +A lot of reading: Tex for the impatient... +Getting accustamed to the local environment: Emacs Bash Mwm... +Getting Telnet and mail connection with France. +Started my social report. +Looked a little at the code of latex. +Played around with latex. (wrote two letters) +Played around with the Tex boxes. +Read the chapter 7 from Frank's coming book. +Started to read a little more about the math fonts in \TeX. + +\jzitem{Sunday 13th June} +Started this report. Got familiar with Frank's integrated documenting +system. Got to letter f in the tex index of commands. (evening) + +\jzitem{Monday 14th June} +Trying to install NFSS2 in my environment. +Read a lot of the installation documentation. +Found the punk font, it was here. +Read to letter k of the tex index.(evening) + +\jzitem{Tuesday 15th June} +Last details of installing nfss2. +Testing various features of NFSS2. +Playing with nfss2: first page of my report. +Read to letter p of the tex index. + +\jzitem{Wednesday 16th June} +Still correcting a few problems with the installation of nfss2. +Installing the punk font in NfSS2: +made file nfpunk.dst based on nfpandor.dst. + +\jzitem{Thursday 17th June} +Still installing the punk font in NfSS2. +Read mail about maths. +Went to get my car. +End of afternoon with Frank. +Read to letter t of the tex index. + +\jzitem{Friday 18th June : time flies} +Ended the installation of the punk fonts. +Read the article from tugboat about the punk fonts. +Did the documentation for the pk fonts. +Played around with NFSS2 and texlatex: getting my presentation page ok. + +\jzitem{Saturday 19th June} +Ended the tex index. +Read more about char in the Tex by topic. + +\jzitem{Sunday 20th June} +Read still more about the Tex fonts and math fonts. +Tested char and loops =$>$ loops make problems in latex. +Tried postcript fonts. + +\jzitem{Monday 21st June} Tried to install the dunhill font with +nfss2: OK. Maybe make a ``\texttt{.sty}'' file like punk. I find it +is a nice font. Used raise and negative kerns for a joke. Reading +more on math fonts. + +\jzitem{Tuesday 22nd June} +Still more reading on mathfonts.-Families-mathcode-mathchar-greek +and testing. Finaly solved all problems due to the loop. + +\jzitem{Wednesday 23rd June} +Testing on skewchar, and more reading about maths. + +\jzitem{Thursday 24th June} +More testing with skewchar. +Meeting with FMI + +\jzitem{Friday 25th June} +All day : writing the paper about accents. + +\jzitem{Week end} +nothing about tex or latex +oh yes: reading about fonts. (cahier gutenberg) + +\jzitem{Monday 28th June} +Morning more testing with accents. +Afternoon: Meeting with FMI and Jorg K. + +\jzitem{Tuesday 29th June} +Writing a summary of yesterday, and trying to figure out how to do the +work. + +\jzitem{Wednesday 30th June} +Reinstalling NFSS2. Sending NFSS2 to Estonia. Reading all the mail +printed by Joerg. + +\jzitem{Thursday 1st July} +More thinking about maths. Sending mail to people. Reading about the +Tex files. + +\jzitem{Friday 2nd July} +More mailing. + +\jzitem{monday 5th July} +More mailing, meeting with Frank. + +\jzitem{Tuesday 6th July} +More mailing, reading about the extensible chars. + +\jzitem{Wednesday 7th July} +More mailing. Sending stuff to joerg. Dealing with Aston. +Continuing The paper on extensible chars. + +\end{itemize} +\end{document} + + +% Local Variables: +% mode: latex +% TeX-master: t +% TeX-command-default: "LaTeX2+" +% End: diff --git a/info/ltx3pub/l3ms001.sty b/info/ltx3pub/l3ms001.sty new file mode 100644 index 0000000000..5476674baf --- /dev/null +++ b/info/ltx3pub/l3ms001.sty @@ -0,0 +1,393 @@ +%%% ==================================================================== +%%% @LaTeX3-style{ LaTeX3-LTX-MS-001, +%%% filename = "l3ms001.sty", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% doc-group = "Documentation styles", +%%% title = "Document style for contributed documents", +%%% version = "1.07", +%%% date = "08 December 1994", +%%% time = "16:45:48 GMT", +%%% status = "public, preliminary", +%%% project-address = "LaTeX3 Project \\ +%%% c/o Dr. Chris Rowley \\ +%%% The Open University \\ +%%% Parsifal College \\ +%%% Finchley Road \\ +%%% London NW3 7BG, 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 style file. +%%% +%%% No other permissions to copy or distribute +%%% this style in any form are granted.", +%%% +%%% 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 = "14295 393 1185 12814", +%%% 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.", +%%% } +%%% ==================================================================== + +\typeout{LaTeX3 project document style `l3ms001'} +\typeout{} + +\@@input article.sty\relax + +% These need visual checking for A4 and US paper: CAR. +\advance \topmargin -1.5cm +\textheight 51\baselineskip +\advance \textheight \topskip + +% Horizontal placement may also need adjustment to look OK on A4 also, +% (not forgetting space for Chris' marginals on the right): CAR. +\addtolength\textwidth{1cm} +\addtolength\oddsidemargin{-1.5cm} + +\let\pagestyle\@gobble +\let\thispagestyle\@gobble + + +\@ifundefined{selectfont} + { + \typeout{**************************************} + \typeout{* LaTeX3 Project documents assume} + \typeout{* a LaTeX format with NFSS.} + \typeout{*} + \typeout{* You can proceed but the document may} + \typeout{* come out slightly wrong.} + \typeout{**************************************} + \def\HeaderFont{\small\sf} + \def\FooterHeadFont{\sf} + } + { + \def\HeaderFont{\fontfamily{cmss}\small} + \def\FooterHeadFont{\fontfamily{cmss}\selectfont} + } + +\def\FooterFont{\small} + + +\def\ps@latexthree{% +\def\@oddhead{% + \parbox\textwidth{% + \def\FHnewline {\space\ignorespaces}% + \hbox to\textwidth{\HeaderFont \LaTeX3 Project Document: + \FHuse{status}\hfil \thepage}% + \vskip4pt + \hrule}}% +% +\let\@evenhead=\@oddhead +% +\def\@oddfoot{% + \parbox[t]\textwidth{% + \def\FHnewline {\space\ignorespaces}% + \FooterFont + \hrule + \vskip 2mm + \hbox to\textwidth{{\FooterHeadFont Title:} + \FHuse{title}\quad \hfil + {\FooterHeadFont Version:} \FHuse{version}}% + \hbox to\textwidth{{\FooterHeadFont Author:} + \FHuse{author}\quad \hfil}}}% +% +\let\@evenfoot=\@oddfoot +\headheight 16pt +\footskip \baselineskip +} + + +% ***************** +% Cover page stuff: +% ***************** + +\def \FHmissing {$*$To be supplied by \LaTeX3 project$*$} + +\catcode`\-=11 + +\let \FHcopyyear \FHmissing +\let \FHcopyright \FHmissing +\let \FHcopyleft \FHmissing +\def \FHproject-email {LTX3-Mgr@SHSU.edu} +\def \FHproject-FAX {+44 171 433 6196} +\def \FHproject-tel {+44 171 794 0575} +\def \FHproject-address {\LaTeX3 Project \\ + c/o Dr. Chris Rowley \\ + The Open University \\ + Parsifal College \\ + Finchley Road \\ + London NW3 7BG, England, UK} +\def \FHkeywords {} +\def \FHauthor-address {} +\def \FHauthor-email {} +\let \FHstatus \FHmissing +\let \FHtime \FHmissing +\let \FHdate \FHmissing +\let \FHversion \FHmissing +\let \FHtitle \FHmissing +\def \FHabstract {} +\let \FHdoc-group \FHmissing +\let \FHauthor \FHmissing +\let \FHarchived \FHmissing +\let \FHfilename \FHmissing + +\catcode`\-=12 + + + +% Needs changing so that it will not crash if there is no header +% or even no checksum entry: CAR. +{\obeylines% + \long\gdef\FHfield#1 + #2 = "#3"#4,{% + \global\@namedef{FH#2}{#3}% + \def\temp{#2}\ifx\temp\chksum\else\expandafter\FHfield\fi}% + \gdef\FHuse#1{{\obeylines\gdef^^M{\FHnewline}\csname FH#1\endcsname}}% +}% + +\def \FHnewline{ \ignorespaces} + +\def\chksum{checksum} + +\@namedef{LaTeX3-article}{% + \catcode`\@=12 + \catcode`\-=12 + \catcode`\3=12 + \FHparse} + +\long\def\FHparse#1{\FHfield#1\endinput} + +\begingroup + \let\input=\@@input + \catcode`\%=9 + \catcode`\-=11 + \catcode`\3=11 + \catcode`\@=0 + \setbox0=\hbox{\obeylines + \input \jobname.tex } +\endgroup + +\def\parse@copyright#1(C) #2 #3Project#4All rights reserved.#5\@nil + {\def\FHcopyyear{#2}% + \def\FHcopyright{#4}% + \def\FHcopyleft{#5}} + +\ifx\FHcopyright\FHmissing +\else + \expandafter\parse@copyright\FHcopyright\@nil +\fi + + +\let\o@document=\document + +\def\document{\o@document\set@first@page\ps@latexthree} + + +\def \DocDetailsFont{\normalsize} +\def \GenInfoFont{\small} + + +\newdimen \widewidth +\widewidth 1.4\textwidth + +\def\set@first@page{% +\ps@empty +\begin{titlepage} +\emergencystretch=2cm +\moveleft 1.5cm +\hbox to \textwidth +\bgroup +\vbox +\bgroup +\def\and{and }% +\vskip -2cm +\hbox to \widewidth{\sf \LaTeX3 Project Document: + \FHstatus\quad \hfil Cover Sheet} + \vskip 4pt + \hrule + \vskip 12pt + \def\FHnewline {\space\ignorespaces}% + \noindent + \copyright\ \FHuse{copyyear} \LaTeX3 Project\FHuse{copyright} + All rights reserved.\\[3pt] + \small \FHuse{copyleft} + \vskip 6pt + \hrule + \vskip 12pt +\hbox to \widewidth + \bgroup + \large \sf + \parbox{0.65\textwidth}{File Information}% + \hfill + \parbox{0.70\textwidth}{General Information}% + \egroup +\vskip 12pt +\hbox to \widewidth +\bgroup + \begin{minipage}[t]{0.65\textwidth} + \DocDetailsFont + \let \FHnewline \\ +\begin{description} + \raggedright + \let \\\@empty % suppress \\ in bib entries + \item[Filename:] \FHuse{filename} + \item[Archived at:] \FHuse{archived} + \item[Author:] \FHuse{author}% + \expandafter\ifx\csname FHauthor-address\endcsname\@empty + \else \FHnewline \FHuse{author-address}\fi + \expandafter\ifx\csname FHauthor-email\endcsname\@empty + \else \FHnewline[3mm] \FHuse{author-email}\fi + \item[Document group:] \FHuse{doc-group} +\end{description} +\vskip 3mm +\begin{description} + \raggedright + \item[Title:] \FHuse{title} + \item[Version:] \FHuse{version} + \item[Date/Time:] \FHuse{date}/\FHuse{time} + \item[Keywords:] \FHuse{keywords} +\end{description} +\noindent{\bf Abstract:} + \def\FHnewline {\space\ignorespaces}% + \small + \raggedright + \FHuse{abstract} + \par + \end{minipage} + + \hfil + + \begin{minipage}[t]{0.70\textwidth} + + \GenInfoFont + \raggedright +\begin{description} + \item[The LaTeX3 Project:]\mbox{}\\ + c/o Dr Chris Rowley \\ + The Open University \\ + Parsifal College \\ + Finchley Road \\ + London NW3 7BG, UK + \item[Tel:] \mbox{+44 171 794 0575} + \item[FAX:] \mbox{+44 171 433 6196} + \item[E-mail:] \mbox{\tt LTX3-Mgr@SHSU.edu} + +\item[To subscribe to the \LaTeX3 discussion list:]\mbox{}\\ + Send mail to +\begin{quote} + \mbox{\tt listserv@vm.urz.uni-heidelberg.de} +\end{quote} + with the following line as the body of the + message (substituting your own name): +\begin{quote} + \mbox{\tt subscribe LaTeX-L First-name Surname} +\end{quote} + +\item[To find out about volunteer work:]\mbox{}\\ + look at the document in the file {\tt + vol-task.tex}, which can + be obtained electronically (see below). + +\item[To get project publications electronically:]\mbox{}\\ + Project publications are available for + anonymous ftp retrieval from ctan hosts + ({\tt ftp.shsu.edu}, {\tt ftp.dante.de}, + {\tt ftp.tex.ac.uk}) + in the directory + {\tt/tex-archive/info/ltx3pub}. + + The file {\tt 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 {\tt l3d001.tex}. + + You may use the ftpmail service to access these + files by mail rather than ftp. + Send a message just containg the word\\ + {\tt help}\\ + in a mail message to:\\ + {\tt ftpmail@ftp.shsu.edu}\\ + for more information about this service. + +\item[$\bullet$]For offers of financial contributions or + contributions of computing equipment or + software, contact the project at one of the + above addresses, or the TeX Users Group. + +\item[$\bullet$]For offers of technical assistance, contact the + project at one of the above addresses. + +\item[$\bullet$]For technical enquiries and suggestions, send + e-mail to the {\tt LaTeX-L} list (see above) + or contact the project by letter or + FAX at the address above. +\end{description} + \end{minipage}% +\egroup % end of inner \hbox +\vskip 12pt +\hrule +\kern-30pt\kern\z@ +\egroup % end of \vbox +\hss +\egroup % end of outer \hbox +% Need to check that whole box is not to big for US page: not sure +% what should be done if it is... CAR. +\end{titlepage}} + +\endinput diff --git a/info/ltx3pub/l3ms002.cls b/info/ltx3pub/l3ms002.cls new file mode 100644 index 0000000000..97139d474a --- /dev/null +++ b/info/ltx3pub/l3ms002.cls @@ -0,0 +1,391 @@ +%%% ==================================================================== +%%% @LaTeX3-style{ LaTeX3-LTX-MS-002, +%%% filename = "l3ms002.cls", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% doc-group = "Documentation styles", +%%% title = "Document class for contributed documents", +%%% version = "1.07", +%%% date = "08 December 1994", +%%% time = "16:45:48 GMT", +%%% status = "public, preliminary", +%%% project-address = "LaTeX3 Project \\ +%%% c/o Dr. Chris Rowley \\ +%%% The Open University \\ +%%% Parsifal College \\ +%%% Finchley Road \\ +%%% London NW3 7BG, 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 style file. +%%% +%%% No other permissions to copy or distribute +%%% this style in any form are granted.", +%%% +%%% 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 = "24204 391 1168 12744", +%%% 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.", +%%% } +%%% ==================================================================== + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{l3ms002}[1994/09/27 LaTeX3 project class report] + +\DeclareOption{11pt} + {\typeout{^^J*** Size option 11pt ignored ***^^J}} +\DeclareOption{12pt} + {\typeout{^^J*** Size option 12pt ignored ***^^J}} + +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{report}} + +\ProcessOptions + +\LoadClass{report} + +\listfiles + + +% These need visual checking for A4 and US paper: CAR. +\addtolength\topmargin{-1.5cm} +\setlength\textheight{51\baselineskip} +\addtolength\textheight{\topskip} + +% Horizontal placement may also need adjustment to look OK on A4 also, +% (not forgetting space for Chris' marginals on the right): CAR. +\addtolength\textwidth{1cm} +\addtolength\oddsidemargin{-1.5cm} + +\let\pagestyle\@gobble +\let\thispagestyle\@gobble + + +\newcommand\HeaderFont{\fontfamily{cmss}\small} +\newcommand\FooterHeadFont{\fontfamily{cmss}\selectfont} +\newcommand\FooterFont{\small} +\newcommand\DocDetailsFont{\normalsize} +\newcommand\GenInfoFont{\small} + + + +\def\ps@latexthree{% +\def\@oddhead{% + \parbox\textwidth{% + \def\FHnewline {\space\ignorespaces}% + \hbox to\textwidth{\HeaderFont \LaTeX3 Project Document: + \FHuse{status}\hfil \thepage}% + \vskip4pt + \hrule}}% +% +\let\@evenhead=\@oddhead +% +\def\@oddfoot{% + \parbox[t]\textwidth{% + \def\FHnewline {\space\ignorespaces}% + \FooterFont + \hrule + \vskip 2mm + \hbox to\textwidth{{\FooterHeadFont Title:} + \FHuse{title}\quad \hfil + {\FooterHeadFont Version:} \FHuse{version}}% + \hbox to\textwidth{{\FooterHeadFont Author:} + \FHuse{author}\quad \hfil}}}% +% +\let\@evenfoot=\@oddfoot +\headheight 16pt +\footskip \baselineskip +} + + +% ***************** +% Cover page stuff: +% ***************** + +\def \FHmissing {$*$To be supplied by \LaTeX3 project$*$} + +\catcode`\-=11 + +\let \FHcopyyear \FHmissing +\let \FHcopyright \FHmissing +\let \FHcopyleft \FHmissing +\def \FHproject-email {LTX3-Mgr@SHSU.edu} +\def \FHproject-FAX {+44 171 433 6196} +\def \FHproject-tel {+44 171 794 0575} +\def \FHproject-address {\LaTeX3 Project \\ + c/o Dr. Chris Rowley \\ + The Open University \\ + Parsifal College \\ + Finchley Road \\ + London NW3 7BG, England, UK} +\def \FHkeywords {} +\def \FHauthor-address {} +\def \FHauthor-email {} +\let \FHstatus \FHmissing +\let \FHtime \FHmissing +\let \FHdate \FHmissing +\let \FHversion \FHmissing +\let \FHtitle \FHmissing +\def \FHabstract {} +\let \FHdoc-group \FHmissing +\let \FHauthor \FHmissing +\let \FHarchived \FHmissing +\let \FHfilename \FHmissing + +\catcode`\-=12 + + + +% Needs changing so that it will not crash if there is no header +% or even no checksum entry: CAR. +{\obeylines% + \long\gdef\FHfield#1 + #2 = "#3"#4,{% + \global\@namedef{FH#2}{#3}% + \def\temp{#2}\ifx\temp\chksum\else\expandafter\FHfield\fi}% +% def of ^^M needs to be local! FMi + \gdef\FHuse#1{{\obeylines\def^^M{\FHnewline}\csname FH#1\endcsname}}% +}% + +\def \FHnewline{ \ignorespaces} + +\def\chksum{checksum} + +\@namedef{LaTeX3-report}{% + \catcode`\@=12 + \catcode`\-=12 + \catcode`\3=12 + \FHparse} + +\long\def\FHparse#1{\FHfield#1\endinput} + +\begingroup + \let\input=\@@input + \catcode`\%=9 + \catcode`\-=11 + \catcode`\3=11 + \catcode`\@=0 + \setbox0=\hbox{\obeylines + \input \jobname.tex } +\endgroup + +\def\parse@copyright#1(C) #2 #3Project#4All rights reserved.#5\@nil + {\def\FHcopyyear{#2}% + \def\FHcopyright{#4}% + \def\FHcopyleft{#5}} + +\ifx\FHcopyright\FHmissing +\else + \expandafter\parse@copyright\FHcopyright\@nil +\fi + + + +\AtBeginDocument{\set@first@page\ps@latexthree} + + + +\newdimen \widewidth +\setlength\widewidth{1.4\textwidth} + +\def\set@first@page{% +\ps@empty +\begin{titlepage} +\emergencystretch=2cm +\moveleft 1.5cm +\hbox to \textwidth +\bgroup +\vbox +\bgroup +\def\and{and }% +\vskip -2cm +\hbox to \widewidth{\sf \LaTeX3 Project Document: + \FHstatus\quad \hfil Cover Sheet} + \vskip 4pt + \hrule + \vskip 12pt + \def\FHnewline {\space\ignorespaces}% + \noindent + \copyright\ \FHuse{copyyear} \LaTeX3 Project\FHuse{copyright} + All rights reserved.\\[3pt] + \small \FHuse{copyleft} + \vskip 6pt + \hrule + \vskip 12pt +\hbox to \widewidth + \bgroup + \large \sf + \parbox{0.65\textwidth}{File Information}% + \hfill + \parbox{0.70\textwidth}{General Information}% + \egroup +\vskip 12pt +\hbox to \widewidth +\bgroup + \begin{minipage}[t]{0.65\textwidth} + \DocDetailsFont + \let \FHnewline \\ +\begin{description} + \raggedright + \let \\\@empty % suppress \\ in bib entries + \item[Filename:] \FHuse{filename} + \item[Archived at:] \FHuse{archived} + \item[Author:] \FHuse{author}% + \expandafter\ifx\csname FHauthor-address\endcsname\@empty + \else \FHnewline \FHuse{author-address}\fi + \expandafter\ifx\csname FHauthor-email\endcsname\@empty + \else \FHnewline[3mm] \FHuse{author-email}\fi + \item[Document group:] \FHuse{doc-group} +\end{description} +\vskip 3mm +\begin{description} + \raggedright + \item[Title:] \FHuse{title} + \item[Version:] \FHuse{version} + \item[Date/Time:] \FHuse{date}/\FHuse{time} + \item[Keywords:] \FHuse{keywords} +\end{description} +\noindent{\bf Abstract:} + \def\FHnewline {\space\ignorespaces}% + \small + \raggedright + \FHuse{abstract} + \par + \end{minipage} + + \hfil + + \begin{minipage}[t]{0.70\textwidth} + + \GenInfoFont + \raggedright +\begin{description} + \item[The LaTeX3 Project:]\mbox{}\\ + c/o Dr Chris Rowley \\ + The Open University \\ + Parsifal College \\ + Finchley Road \\ + London NW3 7BG, UK + \item[Tel:] \mbox{+44 171 794 0575} + \item[FAX:] \mbox{+44 171 433 6196} + \item[E-mail:] \mbox{\tt LTX3-Mgr@SHSU.edu} + +\item[To subscribe to the \LaTeX3 discussion list:]\mbox{}\\ + Send mail to +\begin{quote} + \mbox{\tt listserv@vm.urz.uni-heidelberg.de} +\end{quote} + with the following line as the body of the + message (substituting your own name): +\begin{quote} + \mbox{\tt subscribe LaTeX-L First-name Surname} +\end{quote} + +\item[To find out about volunteer work:]\mbox{}\\ + look at the document in the file {\tt + vol-task.tex}, which can + be obtained electronically (see below). + +\item[To get project publications electronically:]\mbox{}\\ + Project publications are available for + anonymous ftp retrieval from ctan hosts + ({\tt ftp.shsu.edu}, {\tt ftp.dante.de}, + {\tt ftp.tex.ac.uk}) + in the directory + {\tt/tex-archive/info/ltx3pub}. + + The file {\tt 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 {\tt l3d001.tex}. + + You may use the ftpmail service to access these + files by mail rather than ftp. + Send a message just containg the word\\ + {\tt help}\\ + in a mail message to:\\ + {\tt ftpmail@ftp.shsu.edu}\\ + for more information about this service. + +\item[$\bullet$]For offers of financial contributions or + contributions of computing equipment or + software, contact the project at one of the + above addresses, or the TeX Users Group. + +\item[$\bullet$]For offers of technical assistance, contact the + project at one of the above addresses. + +\item[$\bullet$]For technical enquiries and suggestions, send + e-mail to the {\tt LaTeX-L} list (see above) + or contact the project by letter or + FAX at the address above. +\end{description} + \end{minipage}% +\egroup % end of inner \hbox +\vskip 12pt +\hrule +\kern-30pt\kern\z@ +\egroup % end of \vbox +\hss +\egroup % end of outer \hbox +% Need to check that whole box is not to big for US page: not sure +% what should be done if it is... CAR. +\end{titlepage}} + +\endinput diff --git a/info/ltx3pub/ltx3pub.bib b/info/ltx3pub/ltx3pub.bib new file mode 100644 index 0000000000..f39a7f411a --- /dev/null +++ b/info/ltx3pub/ltx3pub.bib @@ -0,0 +1,595 @@ +%%% ==================================================================== +%%% LaTeX3-BibTeX-file{ +%%% filename = "ltx3pub.bib", +%%% archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", +%%% doc-group = "Project core team", +%%% title = "\LaTeX3 public bibliography", +%%% version = "1.025", +%%% date = "11 November 1993", +%%% time = "14:54:38 GMT" +%%% status = "public, official, maintained", +%%% abstract = "This file contains bibentries of LaTeX3 +%%% project papers as well as contributed +%%% papers by volunteers. +%%% +%%% Information in the contributed papers +%%% reflects the author's opinions which are +%%% not necessarily those of the LaTeX3 project +%%% team.", +%%% 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 71 794 0575", +%%% project-FAX = "+44 71 433 6196", +%%% project-email = "LTX3-Mgr at 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 at 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 Niord.SHSU.edu +%%% in the directory [FILESERV.LTX3PUB]. +%%% +%%% The file LTX3PUB.00INDEX in that directory has +%%% a brief description of the files included in +%%% this collection. The file LTX3PUB.BIB 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. +%%% +%%% For retrieval of this index with further +%%% instructions regarding electronic mail access +%%% to the publications, include: +%%% +%%% SENDME LTX3PUB.00INDEX +%%% +%%% in a mail message to FILESERV at SHSU.edu +%%% (FILESERV at SHSU.BITNET). +%%% +%%% 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 = "36037 595 2287 24173", +%%% 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.", +%%% } +%%% ==================================================================== + + +Copyright (C) 1993 LaTeX3 Project. All rights reserved. + +This file contains bibentries of LaTeX3 project papers as well as +contributed papers by volunteers. + +Information in the contributed papers reflects the author's opinions +which are not necessarily those of the LaTeX3 project team. + + +The entries are sorted by document group and then by bibkey: + +Prefix Document Group + +l3 LaTeX3 project documents + +mfg LaTeX3 project / Technical Working Group on math fonts + +vt01 Volunteer list management +vt02 Validating LaTeX 2.09 +vt03 .sty metacomments for smart editors +vt04 Syntax proposal for bibliographical commands +vt05 Research on syntax for tables +vt05 Research on syntax for chemistry +vt06 Research on syntax for commutative diagrams +vt07 Experimenting with \emergencystretch +vt08 Research on indexing commands +vt09 Research footnote/endnotes conventions +vt10 Syntax diagrams +vt11 BNF notation +vt12 Research on use of shorthand forms +vt13 Research on figures and captions +vt14 Research on the use of ^^ conventions +vt15 Research on typographical conventions and requirements + in multilingual environments +vt16 Research on the most commonly used LaTeX styles +vt17 Math font handling +vt18 Converting numbers to textual form +vt19 Rewrite of MakeIndex in WEB +vt20 Write other auxiliary programs +vt21 Bibliography style programming +vt22 Bibliography style requirements +vt23 Survey of existing LaTeX style options +vt24 Timing tests + + +---------------------- LaTeX3 Project documents + + @LaTeX3-article{ LaTeX3-L3-001 +, + filename = "l3d001.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Frank Mittelbach and Chris Rowley", + doc-group = "Project core team", + title = "The {\LaTeX3} Project", + version = "1.02", + date = "02 April 1993", + time = "22:47:45 GMT", + status = "public, official", + abstract = "This is a brief sketch of the \LaTeX3 + Project: background, history, principles, + aims and functionality. + \par + The new version of \LaTeX{} is, like the + current version, a freely available system + for automated processing of structured + documents, formatting them to the highest + typographic standards by use of the \TeX{} + typesetting software. + \par + Although its uses include a very large + range of published documents, the + importance of its unsurpassed ability to + format mathematical formulas will not be + forgotten in producing the new version. + \par + It is being produced by an international + group of volunteers under the technical + direction of Frank Mittelbach.", + note = "submitted to the Euromath bulletin", + keywords = "", + } + +==================================================================== + @LaTeX3-article{ LaTeX3-L3-002, + filename = "l3d002.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "David Rhead", + doc-group = "Project core team", + title = "Some ideas for improving {\LaTeX}", + 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 = "", + } + +==================================================================== + @LaTeX3-article{ LaTeX3-L3-003, + filename = "l3d003.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Frank Mittelbach and Chris Rowley", + doc-group = "Project core team", + title = "{\LaTeX3} Projektwoche in Mainz", + version = "1.02", + date = "02 April 1993", + time = "22:47:23 GMT", + status = "public, official", + } + +==================================================================== + @LaTeX3-article{ LaTeX3-L3-004-txt, + filename = "l3d004.txt", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Frank Mittelbach and Chris Rowley", + doc-group = "Project core team", + title = "The {\LaTeX3} Project; Report 1991--92", + version = "1.00", + date = "01 April 1993", + time = "13:37:20 GMT", + status = "public, official", + abstract = "This report describes the current + activities of the \LaTeX3 project. + After a short project overview, the + major events of 1991 and 1992 are + described. Finally the project plan for + 1993 is presented. + ", + keywords = "", + } + +==================================================================== + @LaTeX3-article{ LaTeX3-L3-005, + filename = "l3d005.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "David Rhead", + doc-group = "Project core team", + title = "The ``operational requirement'' (?) for + support of bibliographic references by + \LaTeX\ 3", + version = "1.00", + date = "09 August 1993", + time = "10:48:08 MET", + status = "public, official", + abstract = " + It is suggested that: + \begin{itemize} + \item \LaTeX\ 3 should aim to support the + principal citation schemes used + in conventional publishing + \item consideration be given to a + {\it modus vivendi} between \LaTeX\ 3 + and mainstream bibliography-formatting + software. + \end{itemize} + ", + keywords = "", + } + +==================================================================== + @LaTeX3-article{ LaTeX3-L3-006, + filename = "l3d006.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "David Rhead", + doc-group = "Project core team", + title = "Structures to be supported", + version = "1.00", + date = "April 1992", + time = "", + status = "discussion paper", + abstract = "", + keywords = "", + } + +==================================================================== + +---------------------- Math fonts documents + + @LaTeX-file{ +, + filename = "arrocont.tex", + author = "Alan Jeffrey", + version = "0.01", + date = "28 July 1993", + time = "20:56:10 BST", + abstract = "This a technical study for arrows." + 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.", + keywords = "companion font TeX", + } + +==================================================================== + @LaTeX-file{ +, + filename = "arrowreq.tex", + author = "Alan Jeffrey", + version = "0.01", + date = "28 July 1993", + time = "14:59:56 BST", + abstract = "This is a requirements analysis document for a + companion text font" + 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.", + keywords = "companion font TeX", + } + +==================================================================== + @LaTeX-file{ +, + filename = "mfgaston.tex", + author = "Alan Jeffrey", + version = "0.01", + date = "03 August 1993", + time = "22:26:08 BST", + abstract = "This is a summary of the MFG Aston workshop.", + keywords = "TeX fonts mathematics", + } + +==================================================================== + @LaTeX-file{ +, + filename = "mfgorg.tex", + author = "Alan Jeffrey", + version = "0.02", + date = "3 Aug 1993", + time = "20:02:05 BST", + abstract = "This is a note on MFG organization", + keywords = "TeX fonts mathematics", + } + +==================================================================== + @LaTeX-file{ +, + filename = "mfgpurp.tex", + author = "Alan Jeffrey", + version = "0.03", + date = "03 August 1993", + time = "22:26:27 BST", + abstract = "This is a draft statement of purpose for the + math font group.", + keywords = "TeX fonts mathematics", + } + +==================================================================== + +---------------------- Volunteer task VT01 + + +---------------------- Volunteer task VT02 + + @LaTeX3-article{ LaTeX3-VT02-01, + filename = "vt02d01.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Daniel Flipo", + doc-group = "Volunteer Task VT02", + title = "Validation of {\LaTeX}~2.09 + as part of the {\LaTeX3} project", + version = "1.02", + date = "25 March 1993", + time = "17:21:04 MET", + status = "public, contributed", + author-email = "flipo@alea.citilille.fr", + author-address = "Daniel Flipo, UFR de Math\'ematiques B\^at M2, + Universit\'e des Sciences et Technologies + F-59655 Villeneuve d'Ascq Cedex", + abstract = "This is both a call for volunteers to help + us in validating \LaTeX~2.09 (one of the + tasks of the \LaTeX3 project), and a brief + explanation of the kind of work to be done + in this area. ", + keywords = "Validation, LaTeX", + } + +==================================================================== + +---------------------- Volunteer task VT03 + + +---------------------- Volunteer task VT04 + + @LaTeX3-article{ LaTeX3-VT04-01, + filename = "vt04d01.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Pedro J. Aphalo", + doc-group = "Volunteer task VT04 about + syntax proposal for bibliographical commands", + title = "A proposal for citation comands in \LaTeX 3", + version = "0.01", + date = "2 November 1993", + time = "??", + status = "public, contributed.", + author-email = "Pedro.Aphalo@metla.fi", + author-address = "Koivikonkatu 4 B 10 \\ + SF-77600 Suonenjoki \\ + Finland", + abstract = "This article is a proposal for the + syntax of citation commands in + \LaTeX 3. The present proposal relies on one + set of commands to support + all citation schemes, while Rhead's proposal + uses three different sets of commands, each + supporting only one citation scheme.", + keywords = "citation, syntax", + } + +==================================================================== + +---------------------- Volunteer task VT05 + + @LaTeX3-article{ LaTeX3-VT05-01, + filename = "vt05d01.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Ed Sznyter", + doc-group = "Volunteer task VT05", + title = "Research on Syntax for Tables", + version = "1.02", + date = "02 April 1993", + time = "22:48:49 GMT", + status = "public, contributed", + author-email = "ews@babel.babel.com", + author-address = "", + abstract = "This is a preliminary overview of the direction + for further research on tables. Much research + remains to be done; in particular, the + bibliography needs to be expanded, especially + to include input from graphic designers and + SGML users. + \par + Commonly requested features are listed, but + more are needed. Because of limitations in + \TeX\ and the small systems it must run on, + many capabilities necessary for high-quality + typesetting are unmanageable or must be + relegated to optional substyles. Nonetheless, + this list should include even functions we can + not implement, if only to document the reasons. + ", + keywords = "Tables.Syntax", + } + +==================================================================== + +---------------------- Volunteer task VT06 + + +---------------------- Volunteer task VT07 + + +---------------------- Volunteer task VT08 + + +---------------------- Volunteer task VT09 + + +---------------------- Volunteer task VT10 + + +---------------------- Volunteer task VT11 + + @LaTeX3-article{ LaTeX3-VT11-01, + filename = "vt11d01.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Mike Piff", + doc-group = "Volunteer task VT11", + title = "Backus-Naur form in {\LaTeX3}", + version = "1.03", + date = "02 April 1993", + time = "22:49:47 GMT", + status = "public, contributed.", + author-email = "M.Piff@sheffield.ac.uk", + author-address = "Department of Pure Mathematics \\ + University of Sheffield \\ + Hicks Building \\ + Hounsfield Road \\ + SHEFFIELD S3 7RH \\ + England", + abstract = "", + keywords = "", + } + +==================================================================== + +---------------------- Volunteer task VT12 + + +---------------------- Volunteer task VT13 + + +---------------------- Volunteer task VT14 + + +---------------------- Volunteer task VT15 + + @LaTeX3-article{ LaTeX3-VT15-01-txt, + filename = "vt15d01.txt", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Bernard Gaulle", + doc-group = "Volunterr task VT 15", + title = "Overview about the task goals", + version = "1.00", + date = "11 June 1993", + time = "17:12:17 GMT", + status = "public, contributed", + author-email = "gaulle@circe.fr", + author-address = "", + abstract = "", + keywords = "", + } + +==================================================================== + @LaTeX3-article{ LaTeX3-VT15-02, + filename = "vt15d02.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Bernard Gaulle", + doc-group = "Volunteer task VT15 about multilingual + documents", + title = "Requirements in multilingual documents: + Part I Definitions", + version = "1.01", + date = "22 September 1993", + time = "11:49:47 GMT", + status = "public, contributed.", + author-email = "gaulle@circe.fr", + author-address = "CIRCE-CNRS \\ + BP 167 \\ + F-91403 Orsay Cedex \\ + France", + abstract = "This article suggests basic definitions that + will be used by the working group", + keywords = "language, dialect, multilingual", + } + +==================================================================== + +---------------------- Volunteer task VT16 + + @LaTeX3-article{ LaTeX3-VT16-01, + filename = "vt16d01.tex", + archived = "*Niord.SHSU.edu:[FILESERV.LTX3PUB]", + author = "Rolf Lindgren", + doc-group = "Volunteer task VT16", + title = "Preliminary report on {\LaTeX} style + options to be converted to {\LaTeX3}", + version = "1.02", + date = "02 April 1993", + time = "22:53:48 GMT", + status = "Public, contributed.", + author-email = "rolfl@ulrik.uio.no", + author-address = "", + abstract = "", + keywords = "", + } + +==================================================================== + +---------------------- Volunteer task VT17 + + +---------------------- Volunteer task VT18 + + +---------------------- Volunteer task VT19 + + +---------------------- Volunteer task VT20 + + +---------------------- Volunteer task VT21 + + +---------------------- Volunteer task VT22 + + +---------------------- Volunteer task VT23 + + +---------------------- Volunteer task VT24 + + diff --git a/info/ltx3pub/mfgaston.tex b/info/ltx3pub/mfgaston.tex new file mode 100644 index 0000000000..6fb699be0e --- /dev/null +++ b/info/ltx3pub/mfgaston.tex @@ -0,0 +1,273 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% author = "Alan Jeffrey", +%%% version = "0.01", +%%% date = "03 August 1993", +%%% time = "22:26:08 BST", +%%% filename = "mfgaston.tex", +%%% address = "School of Cognitive and Computing Sciences +%%% University of Sussex +%%% Brighton BN1 9QH +%%% UK", +%%% telephone = "+44 273 606755 x 3238", +%%% FAX = "+44 273 678188", +%%% checksum = "18638 273 1528 10597", +%%% email = "alanje@cogs.sussex.ac.uk", +%%% codetable = "ISO/ASCII", +%%% keywords = "TeX fonts mathematics", +%%% supported = "yes", +%%% abstract = "This is a summary of the MFG Aston workshop.", +%%% 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.", +%%% package = "stands alone", +%%% dependencies = "none", +%%% } +%%% ==================================================================== + +\documentstyle{ltugboat} + +\title{Summary of MFG Aston workshop} + +\author{Alan~Jeffrey} +\address{University of Sussex} +\netaddress{alanje@cogs.susx.ac.uk} + +\def\rtitlex{MFG discussion document} +\def\midrtitle{{\sl Summary of Aston workshop\/}} +\setcounter{page}{1} + +\def\T#1{${\fam0 T}_{#1}$} +\def\X#1{${\fam0 X}_{#1}$} +\def\MX{$\fam0 MX$} +\def\MS#1{${\fam0 MS}_{#1}$} +\def\MC{$\fam0 MC$} +\def\psname#1{{\normalshape $\langle$#1$\rangle$}} +\def\psnon#1{{\it $\langle$#1\/$\rangle$}} + +\begin{document} + +\maketitle + +\section{Introduction} + +At the 1993 \TUG\ meeting at Aston University, the math font group held a +workshop at which we discussed the need for new math font encodings, and +our work so far at meeting these needs. + +This document contains a short summary of the material presented at the +workshop, for the benefit of those unable to intend, or people like me +with faulty memory! + +The panel consisted of barbara beeton, Alan Jeffrey, Frank Mittelbach, +Chris Rowley and Justin Ziegler. There were many useful questions and +suggestions from the audience. + +\section{Motivation} + +The current situation (as discussed by Berthold Horn in his +stimulating talk {\em Where are the math fonts?\/}) is that there are +over 14,000 text fonts available for use in \TeX, but only five math +fonts: +\begin{itemize} +\item Computer Modern +\item Computer Concrete and Euler +\item Lucida Math +\item Lucida New Math +\item MathTime +\end{itemize} +Each of these fonts use different encodings, and each comes with its own +selection of \TeX\ macros. Although the Cork encoding is rapidly being +established as the standard encoding for European Latin text, there is no +similar encoding for mathematics. The result is: +\begin{itemize} +\item complex {\em ad hoc\/} macro packages for using each math font. +\item it is difficult to set mathematics with Cork text, since the Cork + encoding does not include the upper case Greek. +\item installing PostScript math fonts such as Mathematical Pi is very + difficult. +\end{itemize} +This is a bottleneck for uptake of the Cork fonts, and use of \TeX\ for +mathematical setting with anything other than the Computer Modern fonts. + +The math font group (MFG, or Joint \LaTeX3 project \TUG\ Technical +Working Group on Extended Math Font Encodings to give it its full +title!)~was formed in order to develop new encodings for setting +mathematics. + +These encodings should be fully upwardly compatible with \plain~\TeX, +\LaTeX, \AmSTeX\ and \AmS-\LaTeX. The only effect most users should +notice is that more symbols, and more math fonts will be available for +use in \TeX. + +\section{Overview} + +The MFG has developed an outline for a proposed math encoding, although +the details of each encoding have yet to be worked out. There is still +plenty of room for change! + +The current math encoding proposal uses: +\begin{itemize} + +\item \T1 `Cork' text encoding +\item \MC\ math core encoding +\item \MX\ math extension encoding +\item \MS1 math symbol 1 encoding +\item \MS2 math symbol 2 encoding +\item \MS3 math symbol 3 encoding + +\end{itemize} +In addition, we are proposing an \X1 `companion text' encoding, to hold +the text glyphs such as `\dag' that are currently in math fonts. + +Glyphs are being allocated to math encodings on the grounds of: +\begin{description} + +\item[Glyph shape.] All glyphs of a similar design should be in the same + encoding. For example, all the Greek glyphs should live together. + +\item[Kerning.] Any glyphs which may need to have a kern pair should be + in the same encoding. For example, one common request is for kerning + between `$f$' and `$($', and so these glyphs should live together. + (The situation is somewhat more complex than this, since \TeX\ will + only kern or ligature when the first glyph is a math atom consisting + only of a single-character mathord. See Rule~14 of Appendix G of \TB\ + for more details.) + +\item[Ligaturing.] Any glyphs which may need to ligature should be in + the same encoding. For example, some fonts do not have a separate + \psnon{mapstochar} glyph, and will instead use a ligature between + \psnon{mapstochar} and \psnon{rightarrow} to produce \psnon{mapsto}. + +\item[Orthogonality.] Each encoding should use as few different glyph + styles as possible, to minimize the number of virtual fonts needed. + For example, the Computer Modern Symbol encoding includes roman + glyphs, geometric symbols, calligraphic letters, and dingbats, and so + a different VF is required for each combination of roman, geometric, + calligraphic and dingbat font. A site with 100~text romans, four + geometric symbol fonts, three calligraphic fonts, and three dingbat + fonts would need $100 \times 4 \times 3 \times 3 = 3600$ VFs. + +\item[Slots.] Some glyphs have preferred slots, for example it would be + useful if the letter `A' was always in slot~65. + +\end{description} +None of the encodings will specify bold or sans glyphs, since these are +expected to be kept in separate bold or sans math fonts, with the same +encoding. The most commonly used bold glyphs will be placed in the \T1 +and \MC\ encoding, so if many bold glyphs are used in a document, only +two extra families need to be used. If few bold glyphs are +requested, these can be set using macros similar to \verb|\boldsymbol|. + +\section{\T1 encoding} + +The \T1 (or Cork) encoding will be used for multi-letter identifiers such +as `log', `sin' and `lim'. Using the \T1 encoding allows arbitrary text +fonts to be used for multi-letter identifiers. In many texts this will +the same as the text roman, but this will not always be the case (for +example Barandregt's {\em The Lambda Calculus\/}, North-Holland, 1984, +has some multi-letter identifiers set in bold sans!). + +This font will not normally be used for anything other than upper and +lower case Latin letters. The symbol glyphs such as `+', `=' and `/' +will be taken from the \MS{i} encodings. + +Although the multi-letter identifier font will be \T1 encoded, it does not +necessarily have to be a text font. In particular it may have the glyph +width and italic correction adjusted to produce good subscript and +superscript positioning, as long as this is not to the detriment of setting +multi-letter identifiers. + +Family~0 will contain a \T1 encoded font. + +\section{\MC\ encoding} + +The \MC\ encoding will contain: +\begin{itemize} + +\item The default Latin letters (for example `$f$'). +\item The default numerals (for example `$1$'). +\item The default punctuation (for example `$($'). +\item The slanted and upright Greek (for example `$\alpha$' and + `$\Gamma$'). + +\end{itemize} +Other glyphs (such as the math accents and Hebrew) will be included if +there is space! + +The font will also contain enough font dimensions to be used as +\verb|\fam2|, since the positioning of subscripts and superscripts +depends much more on the math core font than the symbol fonts. It may +also contain font dimensions for: +\begin{itemize} + +\item Design size +\item Suggested script and scriptscript design size +\item Suggested values for \verb|\mathsurround|, \\ + \verb|\thickmuskip|, \verb|\medmuskip| and + \verb|\thinmuskip|. + +\end{itemize} +Family~2 will contain a \MC\ encoded font. + +\section{\MX\ encoding} + +The \MX\ encoding will contain the extension glyphs from \verb|cmex| and +\verb|ms*m|, plus frequently requested glyphs such as longer math +accents, double brackets, and \verb|\bigsqcap|. + +Family~3 will contain an \MX\ encoded font. + +\section{\MS{i} encodings} + +The \MS1, \MS2 and \MS3 encodings will contain the geometric glyphs from +\verb|cm*| and \verb|ms*m|, plus frequently requested glyphs such as +\verb|\mapsfrom|. In addition: +\begin{itemize} +\item \MS1 will contain calligraphic upper and lower case +\item \MS2 will contain open (or `inline' or `outline' or `blackboard + bold') upper and lower case +\item \MS3 will contain black letter (or `fraktur') upper and lower case +\end{itemize} +There was quite a lively discussion about what to do with script upper +and lower case! One possibility is to allow font implementors to replace +the calligraphic letters by script letters in an \MS1 font. Another is +to ask that script letters be provided in \T1 encoded fonts. This point +is still up for discussion. + +Families 1, 4 and 5 will contain \MS1, \MS2 and \MS3 encoded fonts. + +\section{\X1 encoding} + +There are a number of text glyphs that currently live in math fonts, such +as `\dag' or `\copyright'. These glyphs will be put into a `text +companion' encoding, along with the Adobe standard +and expert glyphs missing from the Cork encoding, such as `$f$' (florin) +and `${}^1\!/\!{}_2$'. + +The \X1 encoding is not designed to be used in math mode. + +\section{Work to do} + +There is still quite a lot of work to be done! +\begin{itemize} + +\item Propose and document the math encodings. + +\item Implement the math encodings with \MF\ or virtual fonts. + +\item Provide user interfaces for \plain~\TeX\ and \LaTeX. + +\end{itemize} +We have set up a mailing list where we will discuss the encodings and ask +for your help in developing and implementing them: +\begin{verbatim} + math-font-discuss@cogs.susx.ac.uk +\end{verbatim} + +\makesignature + +\end{document} diff --git a/info/ltx3pub/mfgorg.tex b/info/ltx3pub/mfgorg.tex new file mode 100644 index 0000000000..1cd2385f80 --- /dev/null +++ b/info/ltx3pub/mfgorg.tex @@ -0,0 +1,164 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% author = "Alan Jeffrey", +%%% version = "0.02", +%%% date = "3 Aug 1993", +%%% time = "20:02:05 BST", +%%% filename = "mfgorg.tex", +%%% address = "School of Cognitive and Computing Sciences +%%% University of Sussex +%%% Brighton BN1 9QH +%%% UK", +%%% telephone = "+44 273 606755 x 3238", +%%% FAX = "+44 273 678188", +%%% checksum = "42972 164 683 5612", +%%% email = "alanje@cogs.sussex.ac.uk", +%%% codetable = "ISO/ASCII", +%%% keywords = "TeX fonts mathematics", +%%% supported = "yes", +%%% abstract = "This is a note on MFG organization", +%%% 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.", +%%% package = "stands alone", +%%% dependencies = "none", +%%% } +%%% ==================================================================== + +\documentstyle{ltugboat} + +\title{Note on math font group organization} + +\author{Alan Jeffrey} +\address{University of Sussex} +\netaddress{alanje@cogs.susx.ac.uk} + +\def\rtitlex{MFG discussion document} +\def\midrtitle{{\sl Task 1: Organization\/}} +\setcounter{page}{1} + +\begin{document} + +\maketitle + +This note is based on an electronic mail discussion between +Alan Jeffrey and Justin Ziegler. Our suggested breakdown of tasks for +the math font group (MFG) is: +\begin{enumerate} + +\item {\em Organization\/}: writing papers such as this one, about the + structure and direction of the group. + +\item {\em Requirements analysis\/}: looking at the needs and current + practice of mathematical typesetting, and setting (perhaps + unachievable!) goals. + +\item {\em Technical studies\/}: individual technical analysis, with + clear conclusions and stating the advantages and disadvantages of + the approaches investigated. + +\item {\em Standardization\/}: recording the WG's decisions, + leading towards the proposal of new math font encodings and + related standards. + +\item {\em Implementation\/}: designing + software to support the new encodings. + +\end{enumerate} +These are only rough suggestions, all better suggestions welcomed! +We might want to break each task down into subtasks. +Organization could include: +\begin{itemize} + +\item {\em Statement of purpose\/}: a one-page document setting out the + WG's aims. + +\item {\em Outlining goals\/}: general papers like this one. + +\item {\em Setting timetables\/}: completion dates for these + goals. + +\end{itemize} +Requirements analysis could include: +\begin{itemize} + +\item {\em Common mathematical usage\/}: what features + are common across different subjects? + +\item {\em Specific mathematical + usage\/}: what features are specific to particular + subjects? (For example setting of scripts on roman letters in + chemistry, multiletter identifiers in computer science\ldots) + +\item {\em Non-mathematical usage\/}: what is math mode used for other + than for mathematics? (For example, setting computer programs, + fractions, footnote markers, trademark signs\ldots) + +\item {\em Compatability\/}: how compatible should a new encoding be with + Knuth's? + +\item {\em Extensions\/}: what new symbols and other features + are users crying out for? + +\item {\em Non-CM fonts\/}: what are the requirements for users of non-CM + fonts (for example PostScript outline fonts). + +\end{itemize} +Technical studies could include: +\begin{itemize} + +\item {\em The current state of \TeX\/}: what are the good and bad points + of \TeX's current mathematical typesetting? + +\item {\em The limitations of \TeX\/}: what restrictions does \TeX\ + make to mathematical typesetting? (For example, the math spacing + table in Chapter 18 of \TB\ is hard-wired, Appendix~G of \TB\ + overloads many font dimensions\ldots) + +\item {\em Prototype implementations\/}: each part of the standard should + be $\alpha$-tested before standardization. + +\item {\em Studying requirements\/}: work on problems suggested by the + requirements analysis task. + +\end{itemize} +Standardization could include: +\begin{itemize} + +\item {\em Font encodings\/}: this is probably the most important + point! + +\item {\em Encoding vectors\/}: naming all the symbols as PostScript + encoding vectors. + +\item {\em Font information\/}: any new font dimensions, kerning + information, charlists, and so on. + +\item {\em (\La)\TeX\ interface\/}: how the fonts can be used in + (\La)\TeX, for example giving default control sequence names for + each glyph. + +\end{itemize} +Implementation could include: +\begin{itemize} + +\item {\em \slMF\ programs\/}: implementing of the encodings using + character shapes based on \verb|cmmi|, \verb|cmsy| and \verb|cmex|. + +\item {\em \TeX\ programs\/}: a replacement for \verb|plain.tex|, and + document styles for using the font encodings with \LaTeX. + +\item {\em VPL manipulation tools\/}: to help install Non-CM fonts, we + may need general virtual font manipulators. + +\item {\em Benchmarks\/}: equivalents of the \verb|trip.tex| + and \verb|testfont.tex| tests for the new encodings. + +\end{itemize} + +\makesignature + +\end{document} diff --git a/info/ltx3pub/mfgpurp.tex b/info/ltx3pub/mfgpurp.tex new file mode 100644 index 0000000000..55f28f6026 --- /dev/null +++ b/info/ltx3pub/mfgpurp.tex @@ -0,0 +1,146 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% author = "Alan Jeffrey", +%%% version = "0.03", +%%% date = "03 August 1993", +%%% time = "22:26:27 BST", +%%% filename = "mfgpurp.tex", +%%% address = "School of Cognitive and Computing Sciences +%%% University of Sussex +%%% Brighton BN1 9QH +%%% UK", +%%% telephone = "+44 273 606755 x 3238", +%%% FAX = "+44 273 678188", +%%% checksum = "54448 146 646 5082", +%%% email = "alanje@cogs.sussex.ac.uk", +%%% codetable = "ISO/ASCII", +%%% keywords = "TeX fonts mathematics", +%%% supported = "yes", +%%% abstract = "This is a draft statement of purpose for the +%%% math font group.", +%%% 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.", +%%% package = "stands alone", +%%% dependencies = "none", +%%% } +%%% ==================================================================== + +\documentstyle{ltugboat} + +\title{Math font group: statement of purpose} + +\author{Barbara~Beeton} +\address{American Mathematical Society} + +\author{Alan~Jeffrey} +\address{University of Sussex} + +\author{Frank~Mittelbach} +\address{\LaTeX3 project} + +\author{Chris~Rowley} +\address{Open University} + +\author{Justin~Ziegler} +\address{Ecole des Mines de Saint Etienne} + +\def\rtitlex{MFG discussion document} +\def\midrtitle{{\sl Statement of purpose\/}} +\setcounter{page}{1} + +\def\theenumi{\thesection.\arabic{enumi}} + +\begin{document} + +\maketitle + +\section*{The math font group} + +The math font group (MFG) +is a joint venture of the \LaTeX3 project and the \TUG\ Extended +Mathematics Font Encoding Technical Working Group. This document +outlines: +\begin{itemize} + +\item The {\em motivation\/} behind the MFG. +\item The {\em standards\/} the MFG proposes to introduce. +\item The {\em implementations\/} the MFG proposes to develop. + +\end{itemize} + +\section{Motivation} + +One of \TeX's strongest points is its ability to set mathematics. There +has now been over ten years of experience typesetting mathematical +material with \TeX. During this time, \TeX's math mode has been used to +set a wide variety of material, including traditional mathematics, +categorical diagrams, chemical reactions, computer programs and textual +material such as `$5\frac12\%$ of $\fam0M^{lle}$~Doe's bids were +$3\spadesuit$.' + +In recent years, the fonts available for use in \TeX\ have radically +changed, with the arrival of the Cork standard for setting European Latin +languages, and the Virtual Font standard for using non-\MF\ fonts in +\TeX. + +However, the Cork encoding requires new companion math fonts, and there +are a number of incompatible encodings for non-\MF\ math fonts. + +The MFG believes that the time is ripe for a new math font +standard, that will act as a companion to the Cork encoding, and will +support non-\MF\ math fonts. + +These standards are needed urgently, since they are a bottleneck for +other \TeX\ projects such as \LaTeX3 and the adoption of the Cork +encodings. + +\section{Standardization} + +The MFG intends to set a number of new standards for \TeX\ +math fonts, including: +\begin{enumerate} + +\item Standardizing an interface between \TeX\ and math fonts, + specifying the minimum features each math font is expected to + provide. This will include glyph positions, ligtable information, and + font dimensions. + +\item Standardizing an interface between a \TeX\ user and a set of + macros, specifying the minimum features a math macro package is + expected to provide. This will include control sequence names and + font changing commands such as \verb|\boldsymbol|. + +\end{enumerate} +The interfaces will contain at least the functionality of \plain\ \TeX, +\LaTeX, \AmSTeX\ and \AmS-\LaTeX. + +\section{Implementation} + +The MFG intends to deliver a number of tools to support the new +standards, including: +\begin{enumerate} + +\item \MF\ programs containing shapes taken from Knuth's Computer Modern + fonts, the AMS symbol fonts, the \LaTeX\ symbol font, and the + St~Mary's Road font. + +\item \TeX\ programs implementing the user interface for \plain\ \TeX\ + and \LaTeX. + +\item Virtual font production tools for using \PS\ or other + non-\MF\ fonts with the new encodings. + +\item Test documents for checking whether fonts and macro packages + conform to the standards, similar to Knuth's \verb|trip| test for \TeX. + +\end{enumerate} +These tools will allow existing and future \TeX\ documents to be +written with a number of new fonts supporting the new standards. + +\makesignature + +\end{document} diff --git a/info/ltx3pub/processed/l3d007.pdf b/info/ltx3pub/processed/l3d007.pdf Binary files differnew file mode 100644 index 0000000000..1f950765bf --- /dev/null +++ b/info/ltx3pub/processed/l3d007.pdf diff --git a/info/ltx3pub/vol-task.tex b/info/ltx3pub/vol-task.tex new file mode 100644 index 0000000000..9c6aa497ea --- /dev/null +++ b/info/ltx3pub/vol-task.tex @@ -0,0 +1,993 @@ +%%% ====================================================================== +%%% @LaTeX-file{ +%%% filename = "vol-task.tex", +%%% version = "6.2a", +%%% date = "30 April 1993", +%%% time = "13:42:19.55 CDT", +%%% list-manager = "George D. Greenwade", +%%% address = "Department of Economics and Business Analysis +%%% College of Business Administration +%%% P. O. Box 2118 +%%% Sam Houston State University +%%% Huntsville, Texas, USA 77341-2118", +%%% email = "bed_gdg@SHSU.edu (Internet) +%%% BED_GDG@SHSU (BITNET) +%%% SHSU::BED_GDG (THENET)", +%%% telephone = "(409) 294-1266", +%%% FAX = "(409) 294-3712", +%%% supported = "yes", +%%% archived = "*Niord.SHSU.edu:[FILESERV.VOL-TASK], +%%% pip.SHSU.edu:/vol-task.tex", +%%% keywords = "LaTeX3, LaTeX, volunteer task list", +%%% codetable = "ISO/ASCII", +%%% checksum = "17979 993 4639 38497", +%%% docstring = "This is general volunteer task list in the +%%% development of LaTeX3. There are many tasks +%%% needing to be done in support of the LaTeX3 +%%% project which can be worked on concurrently with +%%% the development of the LaTeX3 kernel. +%%% Furthermore, some tasks require special expertise +%%% not found among the core programming team. +%%% Initial research, analysis, and work on these +%%% tasks by volunteers can greatly speed up the +%%% process of integrating a number of desirable +%%% features into LaTeX3. +%%% +%%% If you are interested in working on a particular +%%% task, the first step is to contact the volunteer +%%% list manager, noted above,for details. He will +%%% either immediately designate you as the `task +%%% coordinator' for that task, and assist you in +%%% getting answers to any initial questions you may +%%% have, or if someone else is already serving as the +%%% task coordinator for that task, you will be put in +%%% touch with that person, who will discuss with you +%%% the current status of the work and ways in which +%%% you might contribute. +%%% +%%% 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." +%%% } +%%% ====================================================================== +% This document can be run with ordinary LaTeX 2.09. +\documentstyle[twocolumn]{article} +%%%+%+%+%+% The innovative code delimited by ``%%%+%+%+%+%'' was provided by +%%%+%+%+%+% David Carlisle. It's function is to use the information from the +%%%+%+%+%+% file header directly in the processing of the document. +\makeatletter +{\obeylines% +\long\gdef\FHfield#1 + #2 = "#3"#4,{% + \global\@namedef{FH#2}{#3}% + \def\temp{#2}\ifx\temp\chksum\else\expandafter\FHfield\fi}% +\gdef\FHuse#1{\gdef^^M{\\}\csname FH#1\endcsname}}% + +\def\chksum{checksum} + +\@namedef{LaTeX-file}{\catcode`\@=12 \FHparse} +\long\def\FHparse#1{\FHfield#1\endinput} + +\begingroup +\catcode`\%=9 +\catcode`\-=11 +\catcode`\@=0 +\setbox0=\hbox{\obeylines\input\jobname.tex } +\endgroup +%%%+%+%+%+% Thanks, David!! + +\title{Volunteer work for the \protect\LaTeX3 project\thanks{Keywords: +\protect\FHuse{keywords}}\\} %% extract keywords from header +\author{\protect\LaTeX3 project \protect\\[5pt] +Frank Mittelbach\protect\\ +Chris Rowley\protect\\ +Michael Downes} + +\date{\FHuse{date}\\ %% extract date from header +Version: \FHuse{version}} %% extract version from header + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Adjustments for printing two columns with more text per page. +\oddsidemargin -0.65in \evensidemargin -0.65in \topmargin -0.75in +% Select paper size. +\def\firstletter#1#2\end{#1} +\typein[\papersize]{Intended paper size?^^J% +Choices: US letter size or A4; enter u or a, please:}% +\edef\setpapersize{\lowercase{\edef\noexpand\papersize{% + \noexpand\firstletter\papersize u\noexpand\end}}} +\setpapersize +\if a\papersize\relax + \typeout{% +OK, adjusting textwidth and textheight for A4 paper size} +% A4 paper size, 21cm x 29.7cm + \textwidth 19cm \textheight 26cm +\else + \typeout{% +Adjusting textwidth and textheight for US letter paper size} +% US letter-size paper, 8.5 x 11 in: + \textwidth 7.7in \textheight 9.7in +\fi +% +\tolerance 5000 \pretolerance 1000 +\ifx\undefined \emergencystretch\else \emergencystretch 2pc \fi +\hfuzz=\columnsep +% Reduce type sizes +\makeatletter +\let\Huge\huge \let\huge\LARGE \let\LARGE\Large \let\Large\large +\let\large\@normalsize \let\@normalsize\small \let\small\footnotesize +\let\footnotesize\scriptsize +\makeatother +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\vollistmanager}{George Greenwade} +\begingroup \catcode`\%=12 \catcode`\_=12 \catcode`\@=12 +\gdef\vollistmgraddress{\relax + Internet: bed_gdg@SHSU.edu\\ + Bitnet: BED_GDG@SHSU\\ + THEnet: SHSU::BED_GDG\\ + Voice: (409) 294-1266\\ + FAX: (409) 294-3612\relax +} +\endgroup + +% Listing of the volunteer(s) for a given task can be done using +% the \coordinator, \email, and \volunteer commands: +% +% \coordinator{DATE}{NAME}\email{name@xyz.abc.volunteer} +% \othervolunteers +% \volunteer{NAME}\email{name@xyz.abc.de} +% \volunteer{NAME}\email{name@xyz.abc.de} +% . . . +% +% Percent sign can be used inside the argument of \email without a +% preceding backslash, provided that \email is not itself used +% inside the argument of some other command. + +\newcommand{\coordinator}[1]{\par\smallskip + \noindent{\it Coordinator\/} [#1]:\volunteer} + +\newcommand{\othervolunteers}{\par\noindent{\it Other volunteers:}} +\newcommand{\volunteer}[1]{\par#1\quad \ignorespaces} + +\newcommand{\email}{\begingroup \catcode`\%=12 \xemail} +% Auxiliary function for \email. It applies \meaning to the +% argument to make all the characters category 12. +\newcommand{\xemail}[1]{\def\temp{#1}\tt + \expandafter\xmeaning\meaning\temp\xmeaning\endgroup} +% Auxiliary function for \xemail. \newcommand cannot be used here. +\def\xmeaning#1->#2\xmeaning{#2} + +\newcommand{\ftpaddress}[1]{{\tt#1}} +\newcommand{\dirname}[1]{{\tt#1}} + +\newcommand{\timeestimate}[1]{\par \smallskip\noindent + {\it Estimated time required:} + #1.\par} + +\newenvironment{tasklist}[1]{\section{#1}}{} +\newcommand{\task}{\subsection} + +\newcommand{\AmSTeX}{AMS-\TeX\@} +\newcommand{\BibTeX}{{\sc Bib}\TeX\@} +\newcommand{\eg}{e.g., \ignorespaces} + +% \cs{xxx} is a robust command to print a control sequence name. +\chardef\bslash=`\\ +\newcommand{\cs}[1]{{\tt\bslash#1}} + +\edef\doublehat{{\noexpand\tt\string^\string^}} + +\begin{document} +\maketitle + +\section{Introduction} + +This is a call for volunteers to help in the development of \LaTeX3. +There are many tasks needing to be done in support of the \LaTeX3 +project which can be worked on concurrently with the development of +the \LaTeX3 kernel. Furthermore, some tasks require special expertise +not found among the core programming team. Initial research, +analysis, and work on these tasks by volunteers can greatly speed up +the process of integrating a number of desirable features into +\LaTeX3. Many of these features can be extensively developed and +tested under \LaTeX2.09 even before the \LaTeX3 kernel is available. + +Therefore we are publishing a list of tasks to the \LaTeX{} user +community through various channels and we ask readers to consider +contributing some time and effort (particularly, but not exclusively, +readers with expertise in the various areas touched on). The task +list is distributed in the form of a \LaTeX{} article; it is fairly +readable in electronic form, and it can be printed on paper if +desired. + +If you are interested in working on a particular task, see +Appendix~\ref{vlminfo} for details on how to volunteer. + +The task list will be updated in regular intervals. Time estimates are +measured in man-days or man-weeks, the values are guesses according to +our experiences. + +\begin{tasklist}{General tasks} + +\task{Volunteer list management} +Organization, publication and maintenance of the general volunteer +task list. + +\timeestimate{?} + +\smallskip +{\it Undertaken:} 22 July 1992 by \vollistmanager. + +\task{Validating \protect\LaTeX 2.09} +Writing test files for regression testing: checking bug fixes and +improvements to verify that they don't have undesirable +side effects; making sure that bug fixes really correct the problem +they were intended to correct; testing interaction with +various document styles, style options, and environments. + +We would like three kinds of validation files: +\begin{enumerate} +\item General documents. +\item Exhaustive tests of special environments/modules such as tables, +displayed equations, theorems, floating figures, pictures, etc. +\item Bug files containing tests of all bugs that are supposed to be +fixed (as well as those that are not fixed, with comments about their +status). +\end{enumerate} + +A procedure for processing validation files has been devised; details +will be furnished to anyone interested in this task. + +\timeestimate{2 to 3 weeks, could be divided up} + +\coordinator{25 August 1992}{Daniel Flipo} + \email{flipo@citil.citilille.fr} +\othervolunteers +\volunteer{Chris Martin} \email{cs1cwm@sunc.sheffield.ac.uk} + +\end{tasklist} + + +\begin{tasklist}{Syntax questions} + +\task{.sty metacomments for smart editors} +Develop conventions for documentation of styles which could be picked +up by editor packages to provide editing help. + +The idea is to place metacomments in .sty files which smart text +editors (in particular) can use to get information about the +`exported' (user interface) macros for that particular style. The +information would be useful for word completion and spelling checking, +at least. (The auc-tex package for GNU Emacs currently has such +information hard-wired for a number of common styles.) If the editor +has access to the \cs{documentstyle} line or suitable alternative +instructions it can poke about in the appropriate style files rather +than using its own database. + +Such information could be written out by a run with {\tt doc.sty} on +the basis of \verb=\Describe{Macro,Env}= commands in the {\tt.doc} +file and subsequently included in the {\tt docstrip}'ped {\tt.sty} +file. That's easy enough, but if it's to be generally useful the +result ought to be somewhat standardized and in a form suitable for +use by as many editors or other tools as possible. + +Would conventions for supplying other information this way be useful +(along the lines of the PostScript structuring conventions)? + +\timeestimate{probably 2-5 days over a longer period of time} + +\coordinator{25 August 1992}{David Love}\email{JANET: d.love@uk.ac.dl},\\ +\rule{23.5mm}{0pt}\email{BIT/INTERNET: d.love@dl.ac.uk} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Syntax proposal for bibliographical commands} +Extensions of current \LaTeX{} syntax for \cs{cite} commands and +bibliography commands. A number of specialties have conventions for +citations and bibliographies that \LaTeX{} 2.09 is ill equipped to +handle. + +David Rhead published several papers concerning the handling of +bibliographies and citations +\cite{texline:DRh90,texline:DRh91,unp:DRh92a,unp:DRh92b}. +Some of them have been distributed via the {\tt latex-l} mail list. +Counter-proposals or further argumentation for David Rhead's ideas +would be useful. + +\timeestimate{1--2 days} + +\coordinator{30 April 1993}{Pedro Jose Aphalo} +\email{Pedro.Aphalo@metla.fi} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Research on syntax for tables} +What features are important (and not covered)? Logical representation +of tabular material versus visual representation. Syntax proposal and +report. + +About tabular material presentation many interesting papers are +published. For example, general articles \cite{Nottingham:RBe86}, +\cite{XEROX:RBe85}, \LaTeX{} related \cite{unp:DCa90}, \cite{unp:DCa91} +\cite{unp:DRh91b}, logical table representation \cite{Lausanne:CVa92}. +Important work was done by Michael Spivak in \cite{TpC:MSp89} and of +course in his ``Tables to die for'' (T2D4). Standard books on +typesetting like \cite{CUP:JBu81}, \cite{TH:RMcL80}, +\cite{UCP:CMoS82}, \cite{W-G:JWh88} to name only a few, also usually +contain important information about tabular typesetting. What is +necessary, is a survey of the requirements for tabular material in +printing, a proposal for an extended standard syntax, and perhaps +proposal for syntax of extra features that could be provided +through a separate `super tables' module that is not loaded until the +user requests it. + +\timeestimate{2--6 weeks (could be shared by several volunteers)} + +\coordinator{20 September 1992}{Ed Sznyter}\email{ews@babel.com} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Research on syntax for chemistry} +The typography of chemical texts is rather different from, say, +mathematics. We need a taxonomist to classify the primary elements of +an article or book on chemistry and suggest syntax for user commands +to handle each element. What proportion of chemical diagrams can be +constructed with primitive line graphics such as given by the \LaTeX{} +picture environment (with suitable extensions)? Or should diagrams be +simply always done in some other graphics language and imported via +\cs{special}? + +\timeestimate{?} + +\coordinator{10 September 1992}{Chris Carruthers}\email{cjc@acadvm1.uottawa.ca} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Research on syntax for commutative diagrams} +Commutative diagrams occur often enough in mathematical literature +that even the first version of \AmSTeX{} back in 1983 or so included a +rudimentary facility for constructing rectangular commutative +diagrams. Since then several people have produced various +alternatives, most involving special fonts with line segments slanted +at various angles, and arrow heads. The commutative diagram macros of +L\AmSTeX{} have arrow directions specified as vectors with the units +being rows and columns rather than distances, \eg \verb'\arrow(1,2)' +means a diagonal arrow from the current element to the element one row +over and two columns down. + +There is a {\tt catmac.sty} by Michael Barr that uses the line fonts +of \LaTeX{} for drawing slanted arrows. The {\tt XY-pic} package by +Kristoffer Rose is reportedly usable with \LaTeX{} and comes with its +own line and arrowhead fonts. + +For \LaTeX3 we would like to see an analysis of the logical structure +of commutative diagrams and recommendations on user syntax. + +\timeestimate{2--4 days} + +\coordinator{8 October 1992}{Paul Taylor} +\email{pt@doc.ic.ac.uk} +\othervolunteers +%\volunteer{NAME}\email{} +\volunteer{Michael Barr}\email{barr@triples.Math.McGill.CA} +\volunteer{Kristoffer Rose}\email{kris@diku.dk} +\end{tasklist} + + +\begin{tasklist}{Research tasks} + +\task{Experimenting with \cs{emergencystretch}} +Testing the new features of \TeX3 where no experience is available so +far. Writing up a report. + +Research on \cs{emergencystretch}, in particular, is an important +area where the \TeX{} community doesn't have enough experience so +far, \eg what are good values in what situations, why? What happens +if\ldots\ and so on. This would also make a good article for {\em +TUGboat} if the report were given some finishing touches afterwards. + +\timeestimate{$\approx$ 4 days plus 2 days for publication} + +\coordinator{\FHuse{date}}{None yet}\email{} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Research on indexing commands} +What kinds of indexes are needed for various fields? What kinds of +indexes are needed for various specialties? What kind of \cs{index} +commands/syntax need to be provided for marking entries? What kind of +commands need to be provided for printing indexes after they have been +processed by a program like Makeindex? + +\timeestimate{$\approx$ 1-2 weeks} + +\coordinator{11 February 1993}{Dave Love}\email{dcl@ncsc5.att.com} +\othervolunteers +%\volunteer{NAME}\email{} + + + +\task{Research footnote/endnotes conventions} +What conventions are used for various specialties? What user commands +and syntax would be recommended? Report about the results. + +\timeestimate{$\approx$ 1-2 weeks perhaps divided into disciplines} + +\coordinator{\FHuse{date}}{None yet}\email{} +\othervolunteers +%\volunteer{NAME}\email{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Modified into two tasks per MJD, 17-SEP-1992 13:53 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\task{Syntax diagrams} +Designing a command syntax (and implementation in \LaTeX2.09) for +syntax diagrams used to illustrate programming language syntax. + +Reference: +\begin{verbatim} +@article(tub:MPl81, + AUTHOR = {Michael F. Plass}, + TITLE = {Charting your Grammar with {\TeX}}, + JOURNAL = tub, + YEAR = 1981, + VOLUME = 2, + NUMBER = 3, + PAGES = {39-56}, + keywords = {TeX, Macros, Syntax diagrams} +) +\end{verbatim} + +The described syntax is probably not appropriate for \LaTeX{} and the +implementation needs refinement since it was done for \TeX79 but it is +a good starting point. + +\timeestimate{1-2 days for syntax} +\timeestimate{4-8 days for prototype implementation} + +\coordinator{23 September 1992}{David Morgan}\email{morgan@socs.uts.edu.au} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{BNF notation} +Designing command syntax and prototype \LaTeX2.09 implementation for BNF +(Backus-Naur) notation used to describe syntax of programming languages. + +\timeestimate{1-2 days for syntax} +\timeestimate{3-5 days for prototype implementation} + +\coordinator{28 September 1992}{Mike Piff}\email{M.Piff@sheffield.ac.uk} +\othervolunteers +%\volunteer{NAME}\email{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% End Modifications of 17-SEP-1992 13:53 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\end{tasklist} + + +\begin{tasklist}{Research tasks (cont.)} + +\task{Research on use of shorthand forms} +In SGML there is a concept called `short ref' which means for example +that the double quote character \verb="= can be defined to produce +directional quotes, blank line can be interpreted as end of +paragraph, and so forth. + +What kind of similar shorthand forms in ASCII files may be desirable +for \LaTeX{} users, \eg \verb|=>| to be converted to $\Rightarrow$, +\verb|/=| or \verb|<>| to be converted to $\neq$, \verb|'?| to be +converted to upside-down Spanish question mark, \verb|"u| to be +converted to umlaut \"u, and so forth. What conventions are currently +in use for various kinds of documents? + +Something along these lines is currently done in \AmSTeX{} with +the \verb'@' character: \verb'@-' is a shorthand meaning `nonbreaking +hyphen', \verb'@,' is a shorthand meaning one-tenth of a thinspace, +\verb'@>' is a shorthand for an extensible right arrow, and so forth. + +It is envisioned that in \LaTeX3 the user will be allowed to designate +certain characters to be shorthand initiator characters. For +efficiency reasons, the set of allowed initial characters will +probably be restricted to nonalphanumeric only. + +\timeestimate{?} + +\coordinator{23 September 1992}{Julio Sanchez}\email{jsanchez@gmv.es} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Research on figures and captions} +What rules are in common use for placement and formatting of floating +figures and their associated captions? Propose syntax for user +commands. Write report. + +Placement rules for floats and their captions are so far very limited +in batch formatters like \TeX{}. We are interested in rules for such +placement which are used in practice, algorithms, and possible user +syntax. What could be a good user syntax for putting captions above, +below, on the side, centered or top or bottom or left or right? Do we +need to allow different action for different classes of floats? What +do we need for multi-figure groups and their captions? + +\timeestimate{2-4 weeks (could be divided in sub-tasks)} + +\coordinator{21 September 1992}{Sebastian Rahtz}\email{spqr@minster.york.ac.uk} +\othervolunteers +%\volunteer{NAME}\email{} +\volunteer{Claus Langhans}\email{Claus_Langhans@wildcat.fido.de} + +\task{Research on the use of {\protect\doublehat} % that is, ^^? or ^^xx +conventions} +Check the actual use of the {\doublehat} convention for special +characters in the \LaTeX{} community by polling as many users, +organizations, mail-lists, usenet groups, etc.\ as possible. +Write report. + +In \TeX{} the \verb=^^= notation is sometimes used for access to +unusual characters ($< 32$ or $> 126$). It would be useful to +separate this function from the superscript function by assigning it +to some character other than \verb|^|, if that would not be too large +an inconvenience for users. One application, for example, would be to +change \verb|^| and \verb|_| to be active characters so that they can +always keep track of current math style, which would allow a better +definition for \cs{mathchoice} and simplify many things having to do +with math fonts. It seems that the \verb=^^= notation is indispensable +only when the character is used in a control sequence name or as a +macro argument delimiter (or in hyphenation patterns?). Note: +document styles are less concern since they will have to be mostly +rewritten for \LaTeX3 anyway. + +\timeestimate{$\approx$ 3-5 days} + +\coordinator{\FHuse{date}}{None yet}\email{} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Research on typographical conventions and requirements in + multilingual environments} + +Typographic conventions differ from one language/country to another. +Collect information about such conventions and try to identify the +basic data-types and operations required in \LaTeX3, so that most or, +ideally, all features necessary for the support of many languages can +be implemented in the \LaTeX3 programming language. + +It would be helpful also to include anything whose provision is +already supported by the babel system and/or other systems: eg +hyphenation. + +\timeestimate{$\approx$ 2-3 weeks (could be divided in sub-tasks)} + +\coordinator{9 December 1992}{Bernard Gaulle (interim)} + \email{gaulle@circe.fr} +\othervolunteers +%\volunteer{NAME}\email{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Next task added 9-FEB-1993 15:17:30, per FMi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\task{Research on the most commonly used \LaTeX{} styles} + +Even though \LaTeX3 will internally not be fully code-compatible with +\LaTeX{} 2.09, it is highly desirable that a well-written \LaTeX{} +2.09-compatible document can be formatted with \LaTeX3 with little or +no rewriting. To achieve this, the currently most popular \LaTeX{} +macros will be rewritten for \LaTeX3. But which are the most popular +\LaTeX{} macros? + +A questionnaire has been pre-tested and completed. Plans are to +distribute this to $\approx$ 10 sites throughout the world, a fair +amount to each. This will, hopefully, come close to a real stratified +sample survey. + +Volunteers are needed to hand out the form to an unsuspecting group of +\LaTeX{} users, punch the data (fairly easy - we only keep a frequency +count), and mail the frequencies to Rolf Lindgren. He wants the +filled-in forms as well, to be available to others who might want to +do research on \LaTeX{} use. + +\timeestimate{1 hour to administer the form, 2-3 hours to process the +competed forms, 1 hour to translate the form if necessary} + +\coordinator{28 January 1993}{Rolf Lindgren}\email{rolf.lindgren@usit.uio.no} +\othervolunteers +%\volunteer{NAME}\email{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% End Modifications of 9-FEB-1993 15:17:30 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\end{tasklist} + + +\begin{tasklist}{Misc items} + +\task{Math font handling} +Test math font handling in the latest release of NFSS and write up +detailed comments. + +Last year there was some discussion among the \LaTeX3 programmers and +others on how to handle math fonts under an enhanced release of NFSS +for \LaTeX3. The discussion finally drifted off into areas that are +far beyond the scope of the \LaTeX3 project but the actual questions +that were raised have not yet been answered. The only contribution +that came close was the detailed suggestion and experience report by +Sebastian Rahtz about the alpha release for an extended text font +handling which was sent around via the {\tt latex-l} list. + +\timeestimate{1--2 days} + +Thinking about a proper math font handling taking into account the +papers already sent around. + +\timeestimate{2--4 days} + +\coordinator{\FHuse{date}}{None yet}\email{} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Converting numbers to textual form} + +Currently counter values can be displayed in certain styles, \eg as +roman numerals. But it may be interesting to extend the available +commands by cardinal and ordinal representations, \eg 5 +$\longrightarrow$ `five' or `fifth' (for example, if you wanted to +refer to `the fifth item' in a list using something like \LaTeX{}'s +\cs{ref}.) Spivak's L\AmSTeX{} has \verb=\cardinal= and \verb=\ordinal= +macros to do this, for handling cross-references such as `the fifth +item in the list' where `fifth' is supposed to be generated by a +\verb=\ref= command. The main question: How much do we need this +capability? Should it be standard, or merely a nice option for those +who want it? Can it be easily extended to support various language +conventions? Are there other significant uses besides the +cross-reference idea? + +\timeestimate{1 day} + +\coordinator{\FHuse{date}}{None yet}\email{} +\othervolunteers +%\volunteer{NAME}\email{} + +\end{tasklist} + + +\begin{tasklist}{Misc items (cont.)} + +\task{Rewrite of MakeIndex in WEB} +Convert/rewrite the C source code of MakeIndex. +For consistency it would seem desirable to have all auxiliary programs +designed for use with \LaTeX3 to be compilable in the same way +as \TeX{}. Currently this means use of the WEB language, with or +without the CWEB intermediate step. + +Furthermore, the MakeIndex program could use some work to deal with +a few shortcomings that have become evident with the passing of time +and extended usage. + +\timeestimate{?} + +\coordinator{6 February 1993}{Dave Love}\email{dcl@ncsc5.att.com} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Write other auxiliary programs} +Create programs for support tasks related to \LaTeX{} documents but +not part of the primary typesetting functions. + +Question: what other auxiliary programs do we need? Conjectures: +Compiled version of {\tt docstrip}? Programs to help designers in +creating document styles? Program for dealing with graphics files in +various formats (\eg read Bounding Box comments from a PostScript file +and compute scaling and translation numbers for passing to a \LaTeX{} +\cs{special} command?) Checksum utility by R.~Solovay for updating +Nelson Beebe's standardized file headers. Auxiliary program to help +in constructing complicated tables (decimal point alignment, row +spanning, other fancy effects that are hard to do in \TeX{} +currently)? Auxiliary program similar to Type \& Set to do +interactive page-breaking/float placement? + +\timeestimate{Arbitrarily long} + +\coordinator{\FHuse{date}}{None yet}\email{} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Bibliography style programming} +Write bibliography styles for \BibTeX1. The current version of +\BibTeX{} is 0.99. A reimplementation of \BibTeX{} for \LaTeX3 is +under way, by Oren Patashnik. When this is finished, or perhaps even +before, suitable standard bibliography styles for \LaTeX3 need to be +written. + +\centerline{*** Pending because of status of \BibTeX1 ***} + +\timeestimate{1-3 days per style} + +\coordinator{23 September 1992}{Not applicable at present}\email{} +\othervolunteers +%\volunteer{NAME}\email{} + +\task{Bibliography style requirements} + +Collect available \BibTeX.99 styles and if possible further journal +and publisher requirements regarding bibiographies and analyze them. +Summarize the functionality of each style, whether or not it is easily +programmable with the current \BibTeX{}, what special functions would +be helpful, etc. + +\timeestimate{1-3 weeks for collecting information} + +\timeestimate{1-3 hours for each style} + +\coordinator{18 September 1992}{Robert Tolksdorf} +\email{tolk@cs.tu-berlin.de} +\othervolunteers +%\volunteer{NAME}\email{} + + +\task{Survey of existing \LaTeX{} style options} +Using David Jones' TeX-Index (and any other useful sources), evaluate +the status of the many \LaTeX2.09 options currently available, \eg +whether they are up-to-date, whether the authors still support them, +or if unsupported, whether they are interesting enough to make it +worth while to seek a new maintainer for them. + +Write a report indicating the status of each style option, a short +description of its features and, if it is not maintained, if you think +it is worth upgrading or maintaining it. + +TeX-Index is an index of TeX macros. From its documentation: +\begin{quotation} +The most recent +version is always available by anonymous FTP +from \ftpaddress{theory.lcs.mit.edu} in +the directory \dirname{pub/tex/TeX-index}. + +Copies can also be obtained from the following +locations: +\begin{description} +\item[archive.cs.ruu.nl] + \dirname{TEX/\linebreak[0]DOC/\linebreak[0]TeX-index.\linebreak[0]Z} +\item[ftp.th-darmstadt.de] + \dirname{pub/\linebreak[0]tex/\linebreak[0]documentation/% +\linebreak[0]styles-and-macros.\linebreak[0]Index.\linebreak[0]Z} +\item[ftp.math.utah.edu] + \dirname{pub/\linebreak[0]tex/\linebreak[0]tex-index} +\item[ftp.uni-stuttgart.de] + \dirname{/soft/\linebreak[0]tex/\linebreak[0]documentation/% +\linebreak[0]TeX-index} +\item[ftp.diku.dk] + \dirname{pub/\linebreak[0]TeX/\linebreak[0]misc/% +\linebreak[0]TeX-Index.\linebreak[0]Z} +\item[Niord.SHSU.edu] + \dirname{[fileserv.\linebreak[0]tex-index]\linebreak[0]tex.% +\linebreak[0]index} +\item[TeX.ac.uk] + \dirname{[tex-archive\linebreak[0].doc]\linebreak[0]TeX-index.% +\linebreak[0]txt} +\item[ymir.claremont.edu] + \dirname{[anonymous.\linebreak[0]tex.\linebreak[0]documentation]% +\linebreak[0]tex-index.\linebreak[0]txt} +\end{description} +\end{quotation} + +The file is available for retrieval via electronic mail by including: +\begin{verbatim} + SENDME TEX-INDEX +\end{verbatim} +in the body of a mail message to \email{FILESERV@SHSU.BITNET} +(\email{FILESERV@SHSU.edu}). To facilitate mailing across networks, the +file is distributed in 8 parts. + +\timeestimate{1/2-1 day per style} + +\coordinator{15 October 1992}{David M. Jones} +\email{dmjones@theory.lcs.mit.edu} +\othervolunteers +%\volunteer{NAME}\email{} + + +\task{Timing tests} +Run tests to compare speed of various possibilities. + +To make the \LaTeX3 kernel sufficiently fast it is necessary to +write efficient code. This means testing several variants against each +other to see which one is fastest. One example is the case of global +versus local assignments for temporary registers. In the recent issue of +TUGboat \cite{tub:LSi92} speed issues for token registers have been +discussed. + +\timeestimate{2--3 days} + +\coordinator{20 September 1992}{Jonathan Fine}\email{J.Fine@pmms.cam.ac.uk} +\othervolunteers +%\volunteer{NAME}\email{} +\volunteer{Phillip E. Parker}\email{PPARKER@TWSUVM.UC.TWSU.EDU} + +\end{tasklist} + +\begin{thebibliography}{Rhe92b} + +\bibitem[Bea85]{XEROX:RBe85} +Richard~J. Beach. +\newblock Setting tables and illustrations with style. +\newblock Technical Report CSL-85-3, Xerox Corporation, Research +Center, Palo Alto, Califonia 94304, May 1985. + +\bibitem[Bea86]{Nottingham:RBe86} +R.~J. Beach. +\newblock Tabular typography. +\newblock In J.~C. van Vliet, editor, {\em Text processing and document + manipulation}, British Computer Society Workshop Series, pages 18--33, + Cambridge, April 1986. Cambridge University Press. + +\bibitem[But81]{CUP:JBu81} +Judith Butcher. +\newblock {\em Copy editing: the Cambridge handbook}. +\newblock Cambridge University Press, Cambridge, second edition, 1981. + +\bibitem[Car90]{unp:DCa90} +David Carlisle. +\newblock Some notes on the longtable environment. +\newblock Available from \TeX{} servers, December 1990. + +\bibitem[Car91]{unp:DCa91} +David Carlisle. +\newblock narray.sty. +\newblock Available from \TeX{} servers, July 1991. + +\bibitem[Chi82]{UCP:CMoS82} +{\em The Chicago Manual of Style}. +\newblock University of Chicago Press, Chicago, London, 13th edition, +1982. + +\bibitem[Fin91]{unp:JFi91} +Jonathan Fine. +\newblock Some basic control macros for {\TeX}. +\newblock Presented at a \LaTeX3 workshop 1991 in London, February 1991. + +\bibitem[Fin92]{tub:JFi92} +Jonathan Fine. +\newblock Some basic control macros for {\TeX}. +\newblock {\em {TUG}boat}, 13(1):75--83, April 1992. + +\bibitem[McL80]{TH:RMcL80} +Ruari McLean. +\newblock {\em The Thames and Hudson Manual of Typography}. +\newblock Thames and Hudson, London, 1980. + +\bibitem[Rhe90]{texline:DRh90} +*David Rhead. +\newblock Towards {\BibTeX} style-files that implement principal +standards. +\newblock {\em {\TeX}line}, (10):2--8, May 1990. + +\bibitem[Rhe91a]{texline:DRh91} +*David Rhead. +\newblock How might {\LaTeX3} deal with citations and reference lists? +\newblock {\em {\TeX}line}, (13):13--20, September 1991. +\newblock Suggestions for \LaTeX3. + +\bibitem[Rhe91b]{unp:DRh91b} +David Rhead. +\newblock Some ideas for improving {\LaTeX}. +\newblock Suggestion for \LaTeX3, July 1991. + +\bibitem[Rhe92a]{unp:DRh92a} +David Rhead. +\newblock Short form citations: how a manual might describe the +suggested user interface. +\newblock University of Nottingham {\tt JANET: + David\_Rhead@uk.\linebreak[0]nottingham.\linebreak[0]ccc.\linebreak[0]vme}, + May 1992. + +\bibitem[Rhe92b]{unp:DRh92b} +David Rhead. +\newblock Short form citations: some examples. +\newblock University of Nottingham {\tt JANET: + David\_Rhead@uk.\linebreak[0]nottingham.\linebreak[0]ccc.\linebreak[0]vme}, + May 1992. + +\bibitem[Sie92]{tub:LSi92} +L.~Siebenmann. +\newblock Elementary text processing and parsing in {\TeX} --- +the appreciation of tokens ---. +\newblock {\em {TUG}boat}, 13(1):62--73, April 1992. + +\bibitem[Spi89]{TpC:MSp89} +Michael~D. Spivak. +\newblock {\em {L\AmSTeX} The Synthesis}. +\newblock The \TeX plorators Corporation, Houston, 1989. + +\bibitem[Van92]{Lausanne:CVa92} +Christine Vanoirbeek. +\newblock Formatting structured tables. +\newblock In C.~Vanoirbeek and G.~Coray, editors, {\em Electronic +Publishing '92}, pages 291--309, Cambridge, April 1992. Cambridge +University Press. + +\bibitem[Whi88]{W-G:JWh88} +Jan White. +\newblock {\em Graphic Design for the Electronic Age}. +\newblock Watson-Guptill, Xerox Press, New York, 1988. + +\end{thebibliography} + +\noindent {\bf NOTE:} References denoted by ``*" are available +electronically. For retrieval via electronic mail, include: +\begin{verbatim} + SENDME LATEX3.key_from_reference* +\end{verbatim} +in a mail message to \email{FILESERV@SHSU.BITNET} +(\email{FILESERV@SHSU.edu}). For example, David Rhead's 1990 reference +above, Rhe90, is {\tt LATEX3.Rhe90*}. + +These files are also available for anonymous ftp retrieval from +\ftpaddress{Niord.SHSU.edu} in the directory \dirname{[FILESERV.LATEX3]}. +The file {\tt LATEX3.00INDEX} in that directory has a brief description +of the files included in this collection (and may be retrieved via +electronic mail by including {\tt SENDME LATEX3.00INDEX} in the body of +a message to {\tt FILESERV}). + + +\newpage + +\appendix +\section{Volunteer list manager name and address} +\label{vlminfo} +The manager of the volunteer list is: +\begin{center} +\begin{minipage}{13.5pc} +\vollistmanager\\ +\tt\vollistmgraddress +\end{minipage} +\end{center} + +If you are interested in volunteering for one of the listed tasks, +please start by contacting the coordinator for the task in which you +are interested, if a coordinator name is given. Otherwise contact the +volunteer list manager. The proposed organization of volunteers is +as follows: +\begin{itemize} +\item The first person to volunteer for each task will automatically be +accepted and designated `task coordinator', without regard to their +expertise. Responsibilities: keep in contact with any other volunteers +that later volunteer for the same task; avoid duplication of effort; +collect and organize the results of volunteer work on that task. + +\item The first job of a task coordinator is to gather together +information relevant to the task (such as previous discussions on the +{\tt LaTeX-L} mail list, articles published or unpublished mentioned +in the task list, etc.). For this you may need some assistance. If is +not already subscribed to the {\tt LaTeX-L} list, you should subscribe +in order to receive announcements about the progress of the \LaTeX3 +project. To do this, send mail to +\email{listserv@vm.urz.uni-heidelberg.de}, with one line as the body +of the message (substituting your own name): +\begin{verbatim} + subscribe LaTeX-L Your-first-name Your-surname +\end{verbatim} + +\item The second job of a task coordinator is to write a `task +specification' containing more details than were in the volunteer +task list. It should describe the goals and any restrictions that +apply. This task specification will need to be reviewed by someone on +the \LaTeX3 kernel team, and afterwards it can be sent out to any +additional volunteers for the same task, as a guide for the work. + +\item If other persons volunteer later for the same task, the volunteer +list manager will put them in contact with the task coordinator. +Arrangements for dividing the work and keeping in touch should then +be made by the task coordinator; in addition, if a later volunteer +has greater expertise or more spare time or other useful +qualifications, he/she may become the task coordinator by mutual +agreement among the volunteers who are working on that task. +\end{itemize} + +\end{document} diff --git a/info/ltx3pub/vt02d01.tex b/info/ltx3pub/vt02d01.tex new file mode 100644 index 0000000000..3fb985d705 --- /dev/null +++ b/info/ltx3pub/vt02d01.tex @@ -0,0 +1,394 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-VT02-01, +%%% filename = "vt02d01.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Daniel Flipo", +%%% doc-group = "Volunteer Task VT02", +%%% title = "Validation of {\LaTeX}~2.09 +%%% as part of the {\LaTeX3} project", +%%% version = "1.02", +%%% date = "25 March 1993", +%%% time = "17:21:04 MET", +%%% status = "public, contributed", +%%% author-email = "flipo@alea.citilille.fr", +%%% author-address = "Daniel Flipo, UFR de Math\'ematiques B\^at M2, +%%% Universit\'e des Sciences et Technologies +%%% F-59655 Villeneuve d'Ascq Cedex", +%%% abstract = "This is both a call for volunteers to help +%%% us in validating \LaTeX~2.09 (one of the +%%% tasks of the \LaTeX3 project), and a brief +%%% explanation of the kind of work to be done +%%% in this area. ", +%%% keywords = "Validation, LaTeX", +%%% 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 +%%% and Daniel Flipo. +%%% 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 = "36968 394 2248 16233", +%%% 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.", +%%% } +%%% ==================================================================== +\documentstyle{l3ms001} + +\title{Validation of \LaTeX~2.09\\ +as part of the \LaTeX3 project} +\author{Daniel \sc Flipo\thanks{\tt flipo@alea.citilille.fr}} +\date{25 March 1993 \\ +Version 1.02} + +\begin{document} +\thispagestyle{empty} + +\maketitle + +%\vfill +\begin{abstract} +This is both a call for volunteers to help us in validating +\LaTeX~2.09 (one of the tasks of the \LaTeX3 project), and a brief +explanation of the kind of work to be done in this area. +\end{abstract} + +%\vfill + +\section{Task description} + +The following is a short task description as it appears in the +volunteer task list document for the \LaTeX3 project~\cite{tub:MRD92}: +\begin{quote} +Writing test files for regression testing: checking bug fixes and +improvements to verify that they don't have undesirable +side effects; making sure that bug fixes really correct the problem +they were intended to correct; testing interaction with +various document styles, style options, and environments. + +We would like three kinds of validation files: +\begin{enumerate} +\item General documents. +\item Exhaustive tests of special environments/modules such as tables, +displayed equations, theorems, floating figures, pictures, etc. +\item Bug files containing tests of all bugs that are supposed to be +fixed (as well as those that are not fixed, with comments about their +status). +\end{enumerate} +\end{quote} + + +\section{Introduction} + +As coordinator of the task called ``Validating \LaTeX~2.09'', I would +like to invite some of the \LaTeX{} users to join our group. Some work +has been done already, but a lot remains to be done; at present only +two people are working on this task and I am afraid it is not enough +if we want to be able to complete the job in a reasonable amount of +time. The total amount of time required was estimated by +Frank~Mittelbach around 2 to 3 weeks, but Knuth's well known +correcting rule should probably be applied to these figures\dots + +I expect that a small team of four to five persons, spending each a +limited amount of time for the project could be much more efficient +and complete the job by the end of~93 or even earlier. + +This task does not require a \TeX{}pert (I'm not one myself but +\TeX{}perts are welcome!) and offers anybody wanting to help the +\LaTeX3 project a good opportunity to support this ambitious and +motivating project. + +I imagine that anybody having taken part in the project, even in a +very tiny bit of it, will feel a lot happier using \LaTeX3 when it is +available and this pleasure will `overcompensate' the time spent. + +\pagebreak[3] +\section{Goals and methods} + +% borrowed from testing.ltx: +%%%%%%%%%%%%%%%%%%%%%%%%%%% +The idea is to have a suite of test files, each one exercising a +particular set of related commands. These should be called in such a +way that one can tell from the {\tt .log} file (not the {\tt .dvi} +file) that the command has `met its specification'. The {\tt .log} +file is then edited to remove certain irrelevant information and will +then be stored, as a {\tt .tlg} file. Before a new release is issued, +all the test files will be run through the new version, and the +resulting {\tt .tlg} files will be automatically compared with the +saved original versions. Any tests which do not produce identical +results will then be notified to the maintainer of +\LaTeX, who can visually compare the {\tt .tlg} files to see whether the +differences are due to an `improvement' or are the result of a newly +introduced bug! +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The first thing we started with was to get the bug lists of the parts of +\LaTeX~2.09 which are used as basis for \LaTeX3, that is latex.tex, the +standard style files (article, book\dots), the so-called Mainz files +(nfss, array.sty, verbatim.sty\dots). The testing of reported problems +usually exercises tricky parts of the code and I believe that making +sure that the reported bugs are no longer present (or to {\em know} +that they are not corrected yet) is a better start than trying random +texts. + +When I start a series of validation tests, I first copy all the bug +reports of the part I am testing into the {\tt .lvt} file (the +\LaTeX{} sourcefile containing the tests). Then, for each bug I try to +build a short text that is supposed to show the bug. If I can't +(either because I do not fully understand the bug report or for any +reason) I leave the bug report with no test following it, in order to +keep the full list of what should be tested; someday myself or +somebody else might find a way to check it. + + +What seemed not so easy (for me anyway) at the beginning was to manage +to get the meaningful information into the {\tt .log} file and not +just on the screen or the {\tt .dvi} file. Fortunately, Frank +Mittelbach provided an input file called test209.tex which contains +helpful macros and David Carlisle wrote a paper explaining what to +do~\cite{package:validate92}. + +There are two main methods of passing relevant information to the {\tt +.log} file. + +\subsection{The {\tt\char"5C showoutput} command} + +The easiest way is to use the standard \LaTeX{} command +\verb|\showoutput|; all the material present in the part of the {\tt +.dvi} file following that command will appear in the {\tt .log} file. +The main drawback of this is that you get a huge {\tt .log} file +containing a lot of uninteresting things. Nevertheless I use this +command for instance when I am checking the contents of headers, +footnotes, margin notes or margin dimensions. + +Here is an example: bugs 190 and 198 in latex.tex. The problem is the +use of fragile commands in a footnote. I make a (nearly) empty page +containing only a line of text calling the footnote. + +\begin{verbatim} +%190. Fragile commands in the definition of \thefootnote led to +%an error, even with the use of \protect. (Found by Chris Hamlin. +%Corrected 1 Nov 91.) +%198. Fix 190 did not go far enough. (Found by Chris Rowley. +% Corrected 22 Nov 91.) +% + +\newpage +{\end{verbatim}% +\verb|\bugid|\footnote{{\tt \char"5C bugid} is a command provided in +{\tt test209.tex} which prints its argument (the bug number), in both +{\tt .dvi} and {\tt .log} files.}% +\verb|{190-198}| +\begin{verbatim} +Let's make a footnote\footnote% +{This footnote includes fragile commands:\\ +\begin{enumerate} +\item[\protect\( * \protect\)] First, +\item[\protect\( ** \protect\)] second, +\item[\protect\( *** \protect\)] third. +\end{enumerate} +} + +\showoutput + +\newpage +}\nonstopmode +\end{verbatim} + +The whole page is included in braces to restrict the scope of the +\verb|\showoutput| command and prevent the following tests falling +into the {\tt .log} file. + +\subsection{The {\tt\char"5C showbox} command} + +Another possibility is to build a box containing just the material +related to one precise bug. Suppose you have privatized a box (one for +the whole test file) using the \TeX{} command +\begin{verbatim} +\newbox\test +\end{verbatim} +then you can use \verb|\setbox| to fill it with a \verb|\hbox| or +\verb|\vbox| containing your material, as in the following example +which deals with bugs 138, 158 and 217 of latex.tex: + +\begin{verbatim} +%138. A command like \index or \label could incorrectly suppress a +%space after the next \end command. (Reported by Johannes Braams. +%Partially fixed on 30 Nov 88. Problem can still occur if \index +%or \label command comes inside the \end's environment.) +%158. The fix mentioned in 138 was added to the comments, but not +%to the code. (Reported by Piet van Oostrum in TeXhax V90 #42, +%corrected 2 May 90.) +%217. The fix mentioned in 138 and 158 was done wrong in the code. +%Also the problem was now corrected completely by introducing a +%new control sequence. (Suggested by Piet van Oostrum. +%Corrected 18 Mar 92.) +% +\bugid{138-158-217} + +\setbox\test\vbox{% +This is a tabular environment\label{tab1}\\ +\begin{tabular}{lcr} +aaa &bbb &ccc\label{tab2}\\ +\end{tabular} followed by a space. +Compare with the same\\ +\begin{tabular}{lcr} +aaa &bbb &ccc\label{tab3}\\ +\end{tabular}NOT followed by a space.} + +{\showboxdepth3\showboxbreadth999\showbox\test} + +\box\test +\end{verbatim} + +The command \verb|\showbox| copies the box to the {\tt .log} file and +the commands \verb|\showboxdepth| and \verb|\showboxbreath| allow you +to control the exact amount of information you want in the {\tt .log} +file (see the \TeX{}book p.~302 for the details). + +\verb|\box\test| prints the box into the {\tt .dvi} file, so that you +can check the result on your previewer: the first tabular should be +followed by a space, and not the second. + +\section{What is already done} + +As mentioned above, we have chosen to first of all tackle the bug lists +of the main \LaTeX{} files. Tests already completed or about to be are: +\begin{itemize} + \item {\tt nfss.tex} (version 1), a new version called {\tt nfss 2} +is about to be released, some new checking will probably be required. +\item {\tt latex.tex} most of the checking is done, the remaining part +is on the way. +\item the basic styles files are being checked by +Chris Martin\footnote{\tt c.martin@sheffield.ac.uk}. +\end{itemize} + +All the {\tt .lvt} test files already completed, as well as the tools +provided by Frank Mittelbach, are of course available on request to +those who want to help us in validating \LaTeX~2.09. + +\section{What remains to be done} + +I would like to have the validation of the Mainz files completed as +the next step: +\begin{itemize} + \item {\tt array.sty} + \item {\tt ftn.sty} + \item {\tt multicol.sty} + \item {\tt theorem.sty} + \item {\tt verbatim.sty}\footnote{% +very recently Mark Senn {\tt mds@stat.purdue.edu} volunteered to + validate {\tt verbatim.sty}.} +\end{itemize} + +Another direction would be (drifting apart from checking previous +bugs) exhaustive tests of special environments or modules such as +tables, floating figures, pictures etc. + +It would also be interesting to imagine complicated combinations of +environments to check the robustness of \LaTeX~2.09 when different +environments interact together. If anybody has experience in this +area, having, for instance, found a workaround where \LaTeX{} doesn't +behave as would be expected or desirable, it would be of great +interest for us to hear about these experiments. + +%\section{Rules to follow} + +%--precise description of the environment + + +%\section{Conclusion} + +%other tasks + +%\bibliography{string,tub92,package} +%\bibliographystyle{plain} + +\begin{thebibliography}{1} + +\bibitem{package:validate92} +Frank Mittelbach and David Carlisle. +\newblock The {\tt validation} package. +\newblock Distribution of tools for automatic validation of changes + in large macro packages, June 1992. + +\bibitem{tub:MRD92} +Frank Mittelbach, Chris Rowley, and Michael Downes. +\newblock Volunteer work for the {\LaTeX3} project. +\newblock {\em {TUG}boat}, 13(4):510--515, December 1992. + +\end{thebibliography} + +\end{document} diff --git a/info/ltx3pub/vt04d01.tex b/info/ltx3pub/vt04d01.tex new file mode 100644 index 0000000000..1d2f9ad1a6 --- /dev/null +++ b/info/ltx3pub/vt04d01.tex @@ -0,0 +1,715 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-VT04-01, +%%% filename = "vt04d01.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Pedro J. Aphalo", +%%% doc-group = "Volunteer task VT04 about +%%% syntax proposal for bibliographical commands", +%%% title = "A proposal for citation comands in \LaTeX 3", +%%% version = "1.00", +%%% date = "2 November 1993", +%%% time = "??", +%%% status = "public, contributed.", +%%% author-email = "Pedro.Aphalo@metla.fi", +%%% author-address = "Koivikonkatu 4 B 10 \\ +%%% SF-77600 Suonenjoki \\ +%%% Finland", +%%% abstract = "This article is a proposal for the +%%% syntax of citation commands in +%%% \LaTeX 3. The present proposal relies on one +%%% set of commands to support +%%% all citation schemes, while Rhead's proposal +%%% uses three different sets of commands, each +%%% supporting only one citation scheme.", +%%% keywords = "citation, syntax", +%%% 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 +%%% and Pedro J. Aphalo. +%%% 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 = "24385 715 4212 31679", +%%% 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.", +%%% } +%%% ==================================================================== +\documentstyle{l3ms001} +%\documentstyle[a4,cite]{article} +% +% cite.sty is D. Arseneau's style for citations using ranges. +% the looks of the output is slightly changed if this option is removed, +% but the output remains readable. +% cite.sty is available in the CTAN archives in macros\latex\contrib\misc +% +\title{A proposal for citation commands in \LaTeX 3% + \thanks{This paper is a contribution to task 04, defined in + `Volunteer work for the \LaTeX 3 project' + \protect\cite{MittelbachEtAl93}}} +\author{Pedro J. Aphalo\\ + Koivikonkatu 4 B 10\\ + SF-77600 Suonenjoki\\ + Finland\\ + Internet: {\tt Pedro.Aphalo@metla.fi}} +\date{2 November 1993\\ + Version 0.01} + +\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\newcommand{\fakefootnote}[1]{{\noindent\rule{2.5cm}{0.4pt}\\ + \footnotesize #1}} + +\begin{document} + +\maketitle + +\section{Introduction} + +There are several recent papers on the problem of what kinds of +citations and bibliographies are commonly used in different disciplines +\cite{Rhe90,Rhe91b,Rhe92b,Rhe92c,Rhe92d,Rhe92e,Rhe92f,Rhe92h,Rhe93,% +Rhend,WonMit91}, and one proposal of how \LaTeX 3 might +support them \cite{Rhe91a,Rhe92a,Rhe92g}. + +What follows is my own proposal for the syntax of citation commands in +\LaTeX 3. As such it is an alternative to the proposal of David Rhead. +The main difference between Rhead's scheme and my proposal is that my +proposal does not rely on different citation commands for different +citation schemes. + +Although I agree in general with David Rhead's diagnosis of the problem, +I disagree on some basic aspects of the proposed solution. +Rhead \cite{Rhe91a} argues that the three citation schemes: +citation-by-key\footnote{I prefer the more general name: +`citation-by-key' to `reference-by-number' as used by Rhead, because +although the key is usually a number this is not always the case as in +{\tt alpha.bst}.}, author-date and short-form cannot be +accommodated by a single set of commands. However, he accepts that if +possible such a set of commands would be preferable. + +As a user, I strongly object to having three different sets of commands +for citations (In disciplines like Biology different schemes are used by +different journals and publishing houses, so having to change from one +scheme to a different one is a real problem). Having different commands +sets also implies that the user has to learn them! I do not object so +much to having different \verb|\bibitem| commands because I use +\BibTeX\ for all my manuscripts, but I think that a consistent syntax +would also be highly desirable. + +Preserving the separation of contents and format would provide for a +generic mark-up of manuscripts that could be easily translated to +in-house formats. The normal \LaTeX\ document styles and bibliography +styles could use exactly the same syntax as in-house styles and make +electronic submission for publication much easier than nowadays ---e.g.\ +Elsevier Science Publishers has its own generic format for submission of +compuscripts (sic) to {\it any} of their journals \cite{Elsevier93}. + +If one considers the possibility of using \LaTeX\ for documents to be +printed but also viewed on-line, using different formats on paper and +screens, the use a single and consistent syntax becomes very important. +So another advantage of abstracting formatting issues into style files is +that the same document can be formatted differently for different +purposes (e.g. \TeX info.). + +These are some examples of the advantages of generic mark-up, which +are behind the main objective of this proposal: to achieve a generic +syntax for citations capable of supporting the different citation +schemes. + +\section{Rationale} + +\sloppy +Citation-by-key is the only scheme currently supported by \LaTeX{} +without extensions. +Consequently the available citation commands are +too limited and citation styles that add new commands have proliferated +(e.g.\ {\tt chicago.sty, harvard.sty, authordate\-.sty}). This is not +good, and \LaTeX 3 should aim at providing a complete set of commands +flexible enough to provide to the needs of different citation schemes +(however, it should provide only a few basic examples of their use in +citation styles and an interface for easily defining new citation styles). + +The information needed in different citation schemes is roughly +equivalent, and provided that some discipline is used (e.g.\ use of +\verb|\citeasnoun| and \verb|\citenoname| even for the +citation-by-key scheme) minimal adjustment would be required when +changing a document from one citation style to another. Consequently, +there is no reason from the user's point of view that justifies breaking +one of the design principles of \LaTeX: logic structure and format +should be kept separate. Mittelbach and Rowley \cite[p. 2]{l3d001} state +that `It [\LaTeX] was designed to separate content and form as much as +possible\ldots', and that one of the aims for \LaTeX 3 is to separate +the interfaces used for generic mark-up by the author of a \LaTeX\ +document and the specification of how the document elements will be +formatted \cite[p. 5]{l3d001}. + +A reason given for having different commands is that some documents use +more than one citation scheme. However, the use of this `mixed' scheme +is not a common situation, and its full support should be addressed by +special styles and not by allowing the simultaneous use of more than one +citation style with \LaTeX's default commands. Styles supporting the +`mixed' scheme could rely on optional arguments of the same standard +\verb|\cite| commands to switch between citation schemes, and in this +way they could remain compatible with the three simple schemes. + +It may even be desirable to have full information available +about the cited work in all citation styles. One reason for this is +that one may need to include the name of authors or dates of publication +in the text independently of the citation scheme being used. Another +reason is that one could use a single \verb|\bibitem| command for all +schemes, and it could also simplify the implementation of mixed citation +schemes. + +Keeping the command set consistent and fully implemented in all styles +is the basis for keeping format and structure separate. Such a command +set {\it allows} generic mark-up which makes it possible to change the +citation style without having to edit the whole document to replace +incompatible variations of the \verb|\cite| commands. + + +\section{Commands} + +I propose the following basic set of commands, to be implemented in {\it +all} citation styles. I have tried to reduce the number of commands by +use of optional arguments and \verb|*|, and to keep their syntax +consistent with the rest of \LaTeX. The biggest departure from `normal' +\LaTeX\ syntax is the use of optional arguments {\it within} the curly +brackets of the main argument of \verb|\cite|\footnote{A syntax first +proposed by David Rhead.}. This seems to me the most logical way of +making clear that the optional string arguments remain attached to the +citation specified by each citation key (the order of citations within a +pair of {\it citation brackets} is {\it not} guaranteed to be the same +as the order of the citation keys supplied as argument: styles may +either arrange them in alphabetical or date order, for the author-date +scheme, or in key order for the citation-by-key scheme, or leave them in +the argument's order). The syntax also assumes that styles that format +first citations differently from later ones automatically detect which +ones are first citations (this is possible to achieve, and has been +implemented by Peter Williams in the Harvard family of bibliography +styles). The commands marked $\bullet$ cannot be replaced with simpler +ones, those marked $\circ$ can be replaced with more basic ones (e.g.\ +\verb|\cite*| and \verb|\citation|) but are included because they are +used frequently. \verb|\authorof| and \verb|\yearof| are not citation +commands but are very useful as they guarantee consistency of spelling +for author names and consistency for dates (and a spelling checker could +use them to skip author names). + +\begin{itemize} + +\item +\verb|\cite[|{\it option}\verb|]{[|{\it str}\verb|]|{\it key}% +\verb|[|{\it str}\verb|]}| +where {\it option} is a style specific option, {\it str} is a text +string, and {\it key} is the citation key of a \verb|\bibitem| (or of a +\BibTeX\ database entry), generates a citation string, including +enclosing brackets or footnote(s). Options, if not supported, should be +ignored\footnote{This allows compatibility with other citation styles +that do not need the extra information.}, with a warning except for {\tt +f} and {\tt l} below which should be supported whenever they are +meaningful and quietly ignored otherwise.\\ +\verb|\cite[f]{[|{\it str}\verb|]|{\it key}\verb|[|{\it str}\verb|]}| \ldots +treat as first citation of {\it key} even if it is a later instance of +the citation.\\ +\verb|\cite[l]{[|{\it str}\verb|]|{\it key}\verb|[|{\it str}\verb|]}| \ldots +treat as later citation of {\it key} even if it is a first instance of +the citation. + +\item +\verb|\cite*[|{\it option}\verb|]{[|{\it str}\verb|]|{\it key}% +\verb|[|{\it str}\verb|]}| generates a citation +string, excluding enclosing brackets or footnote. \verb|f| and +\verb|l|, and other options as in \verb|\cite|. +\item[$\circ$] +\verb|\citeaffixed[|{\it option}\verb|]{|{\it str0}% +\verb|}{[|{\it str}\verb|]|{\it key}\verb|[|{\it str}\verb|],...}| +generates a citation string with {\it str0} affixed, including enclosing +brackets or footnote(s). \verb|f| and \verb|l|, and other options as in +\verb|\cite|. +\item[$\circ$] +\verb|\citeasnoun[|{\it option}\verb|]{|{\it key}% +\verb|[|{\it str}\verb|]}| generates a string with author's name(s) +and citation to be used as a noun in a sentence. \verb|f| and \verb|l|, +and other options as in \verb|\cite| above. (Rhead would not include +this command and the next one arguing that the authors' names are not +part of the citation but rather part of the text. I think that he is +only partly right, because at least in the author-date scheme whether +the name list is abbreviated or not depends on whether the names precede +the first or a later instance of a citation. Would +\verb|\authorofandcite| be a better name?) +\item[$\circ$] +\verb|\citepossesive[|{\it option}\verb|]{|{\it key}% +\verb|[|{\it str}\verb|]}| generates a string with author's name(s) +and citation to be used as a possessive in a sentence. \verb|f| and +\verb|l|, and other options as in \verb|\cite| above. +\item +\verb|\citenoname[|{\it option}\verb|]{[|{\it str}\verb|]|{\it key}% +\verb|[|{\it str}\verb|]}| +behaves as \verb|\cite| but does not include the authors in the +author-date scheme. \verb|f| and \verb|l|, and other options as in +\verb|\cite| above. (It is needed for some `MLA' and `MHRA' examples in +Rhead's \cite{Rhe92h} paper. Rhead uses the name \verb|\dcite| for this +command in his proposal for supporting the author-date scheme.) +\item +\verb|\citenoname*[|{\it option}\verb|]{[|{\it str}\verb|]|{\it key}% +\verb|[|{\it str}\verb|]}| +behaves as \verb|\cite*| but does not include the authors in the +author-date scheme. Options as in \verb|\citenoname|. +\item +\verb|\citation{|{\it str}\verb|}| formats a string as a citation ---i.e. +encloses it in brackets or sets it as a footnote. +\item +\verb|\nocite{|{\it key}\verb|,...}| generates no output, but forces +inclusion of references to {\it key} in the list of references. +\item +\verb|\nocite*[|{\it field=regexp}\verb|]| includes in list of +references all entries in bibliography file, or the subset fulfilling +the condition in the optional argument, in which {\it field} is the name +of a field in the \BibTeX\ database file and {regexp} is a regular +expression\footnote{Implementing support for the optional argument +requires changes to the \BibTeX\ program.}. +\item +\verb|\bibref{|{\it key}\verb|}| generates a full reference, not a citation. +(To be used in abstracts in which citations are usually not allowed, +and for writing commented lists of suggested reading.) +\item +\verb|\yearof{|{\it key}\verb|}| year of {\it key}, it is not a citation +---i.e. a reference to {\it key} is not included in list of references. +\item +\verb|\authorof[|{\it option}\verb|]{|{\it key}\verb|}| author or authors +of {\it key}, it is not a citation ---i.e. a reference to {\it key} is +not included in list of references. \verb|f| and \verb|l|, and other +options as in \verb|cite| above. + +\end{itemize} + +\section{Examples} + +A few simple examples of the use of these commands and of how the output +might look for different citation styles [author-date, citation-by-key +(numeric and alphanumeric keys) and short-form schemes] are provided +below. For the short-form scheme fake footnotes are given at the end of +each item in the list of examples, the numbers for numeric keys in the +examples are also faked, but not the authors and titles +\cite{Bor78,Hud18}. + +\begin{itemize} +\item[$\triangleright$] +\verb|\cite{Borges78,Hudson18}|\\ +(Borges, 1978; Hudson, 1918) or (Hudson, 1918; Borges, 1978)\\ +(1,2)\\ +{}[Bor78, Hud18] or [Hud18, Bor78]\\ +$^{1,2}$\\ +\fakefootnote{$^1$ Borges, J. L., {\it El Libro de los Seres +Imaginarios}.\\ $^2$ Hudson, W. H., {\it Far Away and Long Ago.}} + +\item[$\triangleright$] +\verb*|\citeaffixed{see }{Borges78,Hudson18}|\\ +(see Borges, 1978; Hudson, 1918) or (see Hudson, 1918; Borges, 1978)\\ +(see 1,2) or even (1,2)\\ +{}[see Bor78, Hud18] or [see Hud18, Bor78]\\ +$^{1,2}$\\ +\fakefootnote{$^1$ See Borges, J. L., {\it El Libro de los Seres +Imaginarios}.\\ $^2$ See Hudson, W. H., {\it Far Away and Long Ago.}} + +\item[$\triangleright$] +\verb|\citeasnoun{Borges78}|\\ +Borges (1978)\\ +Borges (1)\\ +Borges [Bor78]\\ +Borges$^1$\\ +\fakefootnote{$^1$ Borges, J. L., {\it El Libro de los Seres Imaginarios}.} + +\item[$\triangleright$] +\verb|\citepossesive{Borges78}|\\ +Borges' (1978)\\ +Borges' (1)\\ +Borges' [Bor78]\\ +Borges'\,$^1$\\ +\fakefootnote{$^1$ Borges, J. L., {\it El Libro de los Seres Imaginarios}.} + +\item[$\triangleright$] +\verb|\citenoname{Borges78}|\\ +(1978)\\ +(1)\\ +{}[Bor78]\\ +$^1$\\ +\fakefootnote{$^1$ Borges, J. L., {\it El Libro de los Seres Imaginarios}.} + +\item[$\triangleright$] +\verb*|\cite{Borges78[, pp.\ 45--46],Hudson18[, chapter 3]}|\\ +(Hudson, 1918, chapter 3; Borges, 1978, pp.\ 45--46) or +(Borges, 1978, pp.\ 45--46; Hudson, 1918, chapter 3)\\ +(1, pp.\ 45--46, 2 chapter 3) or +(1 chapter 3, 2 pp.\ 45--46)\\ +{}[Bor78 pp.\ 45--46, Hud18 chapter 3] or [Hud18 chapter 3, +Bor78 pp.\ 45--46]\\ +$^{1,2}$\\ +\fakefootnote{$^1$ Borges, J. L., {\it El Libro de los Seres Imaginarios}, +pp.\ 45--46.\\ $^2$ Hudson, W. H., {\it Far Away and Long Ago}, chapter +3.} + +\item[$\triangleright$] +\verb*|\citation{see \cite*{Borges78} or \cite*{Hudson18}}|\\ +(see Borges, 1978 or Hudson, 1918)\\ +(see 1 or 2) or (see 2 or 1), where either 1 or 2 is {\tt Borges78}\\ +{}[see Bor78 or Hud18]\\ +$^1$\\ +\fakefootnote{$^1$ See Borges, J. L., {\it El Libro de los Seres +Imaginarios\/} or Hudson, W. H., {\it Far Away and Long Ago.}} + +\end{itemize} + +\section{Related problems} + +\subsection[]{The problem of pinpointing locations\\ within a reference} + +The proposed syntax for \verb|\cite| does not explicitly support style +and language independent pinpointing to pages, sections, chapters, etc. +This could be supported by another layer of commands to be used, if +needed, as {\it str} arguments in \verb|\cite{[|{\it str}\verb|]|{\it +key}\verb|[|{\it str}\verb|],...}|. These commands should not only +provide the pinpoint prefix and typeface, but also scan their argument +to determine whether a plural is needed (e.g.\ `p.' or `pp.' for pages). + + +Proposed commands are: +\begin{itemize} +\item + \verb|\pvolume{|{\it volume(s)}\verb|}| +\item + \verb|\ppart{|{\it parts(s)}\verb|}| +\item + \verb|\pchapter{|{\it chapter(s)}\verb|}| +\item + \verb|\psection{|{\it section(s)}\verb|}| +\item + \verb|\ppage{|{\it page(s)}\verb|}| +\item + \verb|\pfigure{|{\it figure(s)}\verb|}| +\item + \verb|\ptable{|{\it table(s)}\verb|}| +\item + \verb|\pplate{|{\it plates(s)}\verb|}| +\item + \verb|\pequation{|{\it equations(s)}\verb|}| +\item + \verb|\ptheorem{|{\it theorem(s)}\verb|}| +\item + \verb|\ppara{|{\it paragraph(s)}\verb|}| +\item + \verb|\pline{|{\it line(s)}\verb|}| +\end{itemize} + +For example, the command \verb|\cite{Hoff92[\ppage{107--141}]}| would +yield depending on the citation style: [20: 107--141], (Hoff 1992: +107--141), (Hoff 1992, pp.\ 107--141), or (Hoff 1992, pages 107--141). +The punctuation mark separating the pinpoint from the rest of the +citation is generated automatically by \verb|\ppage|: neither the user, +nor the \verb|\cite| command should provide it. + +\sloppy +The above proposal is not a perfect solution +because styles could differ also in the location of the pinpoint: (Hoff +1992, pp.\ 143--179) vs (Pages 143--179 of Hoff 1992). This could be +accommodated by a different syntax of the \verb|\cite| command: +\verb|\cite{Hoff92<p:143--179>}|, being also \verb|\cite{Hoff92<p:257>| +\verb*|[, describes well my feelings]}| valid input. In other words +\verb|<...>| would be used for pinpoints, and \verb|[...]| for strings. +The problem of this approach is that it probably would make the code for +\verb|\cite| complicated. The revised syntax of the \verb|\cite| command +would become: +\begin{itemize} +\item +\verb|\cite[|{\it option}\verb|]{[|{\it str}\verb|]|{\it key}\verb|<|% +{\it pinpoint}\verb|>|\verb|[|{\it str}\verb|],...}| +being arguments enclosed in {\tt []} and {\tt <>} optional, or +\item +\verb|\cite[|{\it option}\verb|]{|{\it key}\verb|<|{\it pinpoint}\verb|>,...}| +if the optional {\it str} arguments are considered redundant. +\end{itemize} +For either of these two last variants of \verb|\cite| the proposed +pinpoint prefixes, listed in the same order as the commands above, are: +{\tt vol:}, {\tt part:}, {\tt ch:}, {\tt sec:}, {\tt p:}, {\tt fig:}, +{\tt tab:}, {\tt plate:}, {\tt eq:}, {\tt th:}, {\tt para:}, {\tt +line:}. Compound pinpoints such as +\verb|<vol:3,ch:9,p:1012>| are valid. + +\subsection{The problem of signals and other terms} + +What Rhead \cite{Rhend} calls ``signals'' are very often used in texts +about law, and less frequently in other disciplines. For these terms, +the typefaces and abbreviations used depend on house styles. An optional +style could define them, but it is arguable whether they differ from the +more general problem of using abbreviations and symbols, except for the +fact that they are widely used. The advantage of providing an optional +style file with their default definitions as part of \LaTeX 3 would be +the standardisation of the names used for this group of commands. +Rhead \cite[chapter 2]{Rhend} proposes a list of such commands as used +in texts about law: \verb|\accord|, \verb|\Accord|, +\verb|\and|, \verb|\butcf|, \verb|\Butcf|, \verb|\butsee|, \verb|\Butsee|, +\verb|\cf|, \verb|\Cf|, \verb|\compare|, \verb|\Compare|, \verb|\contra|, +\verb|\Contra|, \verb|\eg|, \verb|\Eg|, \verb|\etseq|, \verb|\ibid|, +\verb|\Ibid|, \verb|\id|, \verb|\Id|, \verb|\infra|, \verb|\loccit|, +\verb|\opcit|, \verb|\see|, \verb|\See|, \verb|\seealso|, \verb|\Seealso|, +\verb|\seegenerally|, \verb|\Seegenerally|, \verb|\supra|, \verb|\re|, +\verb|\Re|, \verb|\versus|, \verb|\with|. Only some of them are used in +texts unrelated to law, the full list should be implemented only in +law-specific styles. Some of these ``signals'' can be used together with +citations (a) as explanatory text: \verb|\citeaffixed{\see}{Hoff92}| +would print as `(see Hoff 1992)', or (b) as pinpoints: +\verb*|\cite{Hoff92[, \loccit]}| would print as `(Hoff 1992, {\it loc.\ +cit.})'. I think that pinpoints like {\it loc.\ cit.} and {\it op.\ +cit.} should be handled automatically by citation styles because they +are a formatting issue and have no intrinsic meaning ---e.g.\ (Hoff, +{\it op.\ cit.\/}) in the right context has exactly the same meaning as +(Hoff 1992). In contrast {\it c.f.}, {\it see}, {\it versus}, etc.\ +should be specified by the author because they alter the meaning of +citations. + +\subsection{The problem of conventions used in texts about law} + +The command set proposed cannot support the needs of all legal texts. +References to cases and tables of cases require special commands, but +citations of books, articles in periodicals, etc.\ can most probably be +supported by the commands given above. + +Rhead \cite{Rhend} gives an example of how the necessary extensions +could be supported by a law-specific style. A basic example could be +provided as part of \LaTeX 3 so as to provide a guideline for +programmers of styles for legal texts. + +\subsection{Undefined citation keys} + +The normal behaviour of \verb|\cite| in \LaTeX\ 2.09 is to mark the +missing citation with a `{\tt ?}' in the output file. I find much more +useful for debugging and revising early drafts to have \LaTeX\ output +`{\it citation key}{\tt ?}' in place of the missing citation, and I +think this should be the default behaviour. + +\section{Caveat} + +While working on this proposal I have deliberately `forgotten' all +problems that have to do with the implementation of the commands. My +philosophy is that first we should have clear what we want, and only +afterwards worry about the implementation. Only as a last resort we +should change the syntax to suit the limitations of \TeX. My idea is +that we should be very open minded about implementation issues, and even +consider {\it heretical} alternatives such as the use of a preprocessor +that reads not only the {\tt .aux} file but also the {\tt .tex} file or +maybe even generates the file to be processed by \TeX\ replacing the +\verb|\cite| commands with something else that is easier for \TeX\ to +process\footnote{As long as the syntax of the commands remains +consistent, support for different schemes could even rely on different +preprocessors!}. + +\section{Acknowledgements} + +This proposal owes much to the extensive work of David Rhead (mostly +unpublished, but kindly made available by him) and to the authors of the +many citation styles that are available in the CTAN archives. David +Rhead (England), Peter Williams (Australia), John Grace (Scotland), John +Wells (Canada) and Mario Natiello (Sweden) kindly answered my questions +and made useful suggestions. All these contacts took place via e-mail, +so a thank is also due to all those who have made this possible by +creating and maintaining the Internet. + +\nocite{Bor78,Hud18,Hoff92} + +%\bibliographystyle{unsrt} +%\bibliography{cite} +% the list of references was generated with BibTeX but the .bbl file +% is attached here to keep this document selcontained. + +\begin{thebibliography}{10} + +\bibitem{MittelbachEtAl93} +F.~Mittelbach, C.~Rowley, and M.~Downes. +\newblock Volunteer work for the {\LaTeX}3 project ({V}ersion 6.2a). +\newblock Public document, {\LaTeX}3 Project, April 1993. +\newblock File {\tt vol-task.tex} archived at Niord.SHSU.edu. + +\bibitem{Rhe90} +D.~Rhead. +\newblock Towards {\BibTeX} style-files that implement principal standards. +\newblock {\em \TeX line}, (10):2--8, May 1990. + +\bibitem{Rhe91b} +D.~Rhead. +\newblock Some ideas for improving {\LaTeX}. +\newblock University of Nottingham, July 1991. + +\bibitem{Rhe92b} +D.~Rhead. +\newblock Short form citations: some examples. +\newblock University of Nottingham, May 1992. + +\bibitem{Rhe92c} +D.~Rhead. +\newblock Examples of short form citations when there is a reference list. +\newblock University of Nottingham, September 1992. + +\bibitem{Rhe92d} +D.~Rhead. +\newblock Short form citations with cross-references to earlier footnotes for + full reference. +\newblock University of Nottingham, September 1992. + +\bibitem{Rhe92e} +D.~Rhead. +\newblock References numbered according to position in reference-list. +\newblock University of Nottingham, September 1992. + +\bibitem{Rhe92f} +D.~Rhead. +\newblock Order of first citation: some examples. +\newblock University of Nottingham, September 1992. + +\bibitem{Rhe92h} +D.~Rhead. +\newblock Author-date citations: some examples. +\newblock University of Nottingham, September 1992. + +\bibitem{Rhe93} +D.~Rhead. +\newblock The ``operational requirement'' for support of bibliographic + references by {\LaTeX} 3. +\newblock To appear in {\it TUGboat} {\bf 14}(3), University of Nottingham, + August 1993. + +\bibitem{Rhend} +D.~Rhead. +\newblock Untitled. +\newblock Manuscript about citations in documents about law, not dated. + +\bibitem{WonMit91} +R.~Wonneberger and F.~Mittelbach. +\newblock {\BibTeX} reconsidered. +\newblock {\em TUGboat}, 12(1):111--124, 1991. +\newblock {\TeX} 90 Conference Proceedings. + +\bibitem{Rhe91a} +D.~Rhead. +\newblock How might {\LaTeX} 3.0 deal with citations and reference lists? +\newblock {\em {\TeX}line}, (13):13--20, September 1991. + +\bibitem{Rhe92a} +D.~Rhead. +\newblock Short form citations: how a manual might describe the suggested user + interface. +\newblock University of Nottingham, May 1992. + +\bibitem{Rhe92g} +D.~Rhead. +\newblock Bibliographic references: how a manual might describe the suggested + user interface. +\newblock University of Nottingham, September 1992. + +\bibitem{Elsevier93} +Elsevier~Science Publishers. +\newblock Preparing articles with {\LaTeX}. Instructions to authors for + preparing compuscripts. +\newblock This is file {\tt instraut.dvi}, included in the ESP-\LaTeX{} package + archived in the CTAN archives in the directory {\tt + macros/\-latex/\-contrib/\-elsevier}, 1993. + +\bibitem{l3d001} +F.~Mittelbach and C.~Rowley. +\newblock The {\LaTeX}3 project. +\newblock Public, official document, {\LaTeX}3 Project, London, April 1993. +\newblock File {\tt l3d001.tex} archived at Niord.SHSU.edu. + +\bibitem{Bor78} +J.~L. Borges. +\newblock {\em El Libro de los Seres Imaginarios}. +\newblock Emec{\'e} Editores, Buenos Aires, 1978. +\newblock This edition first published in 1967 by Kier, Buenos Aires. + +\bibitem{Hud18} +W.~H. Hudson. +\newblock {\em Far Away and Long Ago}. +\newblock J. M. Dent and Sons, London, 1918. +\newblock Reprinted 1982, Eland Books, London. + +\bibitem{Hoff92} +B.~Hoff. +\newblock {\em The Te of Piglet}. +\newblock Dutton, Penguin Books, New York, 1992. + +\end{thebibliography} + + +\end{document} diff --git a/info/ltx3pub/vt05d01.tex b/info/ltx3pub/vt05d01.tex new file mode 100644 index 0000000000..557c7e3769 --- /dev/null +++ b/info/ltx3pub/vt05d01.tex @@ -0,0 +1,317 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-VT05-01, +%%% filename = "vt05d01.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Ed Sznyter", +%%% doc-group = "Volunteer task VT05", +%%% title = "Research on Syntax for Tables", +%%% version = "1.02", +%%% date = "02 April 1993", +%%% time = "22:48:49 GMT", +%%% status = "public, contributed", +%%% author-email = "ews@babel.babel.com", +%%% author-address = "", +%%% abstract = "This is a preliminary overview of the direction +%%% for further research on tables. Much research +%%% remains to be done; in particular, the +%%% bibliography needs to be expanded, especially +%%% to include input from graphic designers and +%%% SGML users. +%%% +%%% Commonly requested features are listed, but +%%% more are needed. Because of limitations in +%%% \TeX\ and the small systems it must run on, +%%% many capabilities necessary for high-quality +%%% typesetting are unmanageable or must be +%%% relegated to optional substyles. Nonetheless, +%%% this list should include even functions we can +%%% not implement, if only to document the reasons. +%%% ", +%%% keywords = "Tables.Syntax", +%%% 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 +%%% and Ed Sznyter. +%%% 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 = "29156 317 1599 12926", +%%% 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.", +%%% } +%%% ==================================================================== + +\documentstyle{l3ms001} + +\title{Research on Syntax for Tables} +\author{Ed Sznyter} +\date{02 April 1993 \\ +Version 1.02} + +\begin{document} + +\maketitle + +\begin{abstract} +This is a preliminary overview of the direction +for further research on tables. Much research +remains to be done; in particular, the +bibliography needs to be expanded, especially +to include input from graphic designers and +SGML users. + +Commonly requested features are listed, but +more are needed. Because of limitations in +\TeX\ and the small systems it must run on, +many capabilities necessary for high-quality +typesetting are unmanageable or must be +relegated to optional substyles. Nonetheless, +this list should include even functions we can +not implement, if only to document the reasons. +\end{abstract} + +\section{Functionality} + +Many desirable capabilities are already implemented in macro packages +such as lamstex, bigtabular.sty, longtable.sty, supertab.sty. Other +features are noticeably lacking. Many of the functions demand a high +price in performance. + +\begin{enumerate} + \item The `a', or alpha, column of tbl, which aligns left (with all + other 'a' columns) and centers on the longest width. This is + necessary for aligning column heads. + + \item A `d', or decimally-aligned column, that works as + automatically as tbl's. Current solutions require manually + counting the number of digits on either side of the decimal, or + heuristics that assume a certain width (which leads to possible + collisions or ridiculous bearoff). Most solutions assume + monospaced digits without punctuation (other than the decimal + point) and can't handle alpha entries. + + \item More complete control over column width balancing. You might + want to make a set of columns equal width, or equal to the width + of a selected columns. + + \item Table footnotes and sourcenotes. These usually depend on the + width of the table, so can not be formatted independently. + + \item Element shading. This seems hopeless in a printer-independent + world, but is too useful to exclude. + + \item A more complete pallet of rules---hairline, thick, thin, + colored, dashed, etc. I have been unable to get vertical leaders + to work properly across rows of an \verb|\halign|. + + \item A more complete version of \verb|\cline|; i.e., leaders that + span a subset of columns (or rows). For example, to group entries + below a spanning subhead I've used downbraces and a rule that + doesn't reach the intercolumn vertical rules. + + \item Entries that span vertical columns. Lamstex probably solves + this, but apparently at great compute cost. + + \item Better control over vertical placement of entries within the + row (i.e., top, center, bottom). + + \item Tables that continue on multiple pages (repeating headings). + It is {\em usually} required that multi-page tables preserve the + column widths across pages; memory limits would require multiple + passes or an external program (like tbl; even tbl has limits of + 200 lines and 20 columns). Note that the heading might not be + repeated on a spread. + + It is also common to have very wide tables extend horizontally + across the binding gutter, usually repeating the stub column. The + height of rows must preserved, especially on the same spread. + This isn't simply a transpose of vertically broken tables. + + Per-page subtotal lines are beyond the capabilities of TeX, but + one can envision some sort of communication with, e.g., a + spreadsheet program so subsequent runs can produce these entries. + If we are to formalize such communication, then why not offload + most of the work to a tbl-like program? + +\end{enumerate} + +Some issues, such as continuation captions, captions that are +integrated into the table structure, and being able to specify floats +that cover spreads are at least partially the domain of the ``Research +on figures and captions.'' + +\section{Syntax} + +Currently, tables specifications are completely procedural; column +designators and rules define the representation, not element type, of +table entries. + +Using single letters for column designations has been a standard in +both \LaTeX\ and tbl. This now seems restrictive---new column types +can be defined easily and assigned to single-letter column designators +(see newarray.sty), so mnemonic choices are quickly exhausted, forcing +unnatural choices. + +\verb|\multicolumn| is cumbersome and should only be used for rare +entries; there should be a better way to specify controls for +different parts of the table (heading, body, footing) as in tbl. + +There is not a clean mechanism for defining different styles of tables +within a single document. + +\section{Taxonomy} +A standard table may be broken up into the following elements. +\begin{itemize} +\item box head (contains all column headings) + \begin{itemize} + \item Spanning \{sub\}head + \item Column head + \item Stub head (above row heads) + \end{itemize} +\item Row heads +\item Panel (actual table entries) +\item Total line +\end{itemize} + +Some rules are +\begin{itemize} +\item head rule---above the box head +\item cutoff rule--below the box head +\item spanner rule---below a spanning head +\item foot rule---below the table +\item total rule---above the total row +\end{itemize} + + +\begin{thebibliography}{Rhe92b} +\bibitem[Bea85]{XEROX:RBe85} +Richard~J. Beach. +\newblock Setting tables and illustrations with style. +\newblock Technical Report CSL-85-3, Xerox Corporation, Research +Center, Palo Alto, Califonia 94304, May 1985. + +\bibitem[Bea86]{Nottingham:RBe86} +R.~J. Beach. +\newblock Tabular typography. +\newblock In J.~C. van Vliet, editor, {\em Text processing and document + manipulation}, British Computer Society Workshop Series, pages 18--33, + Cambridge, April 1986. Cambridge University Press. + +\bibitem[Car90]{unp:DCa90} +David Carlisle. +\newblock Some notes on the longtable environment. +\newblock Available from \TeX{} servers, December 1990. + +\bibitem[Chi82]{UCP:CMoS82} +{\em The Chicago Manual of Style}. +\newblock University of Chicago Press, Chicago, London, 13th edition, +1982. + +\bibitem[Duc90]{unp:DDu90} +Denys Duchier +\newblock bibtabular.sty +\newblock Available from \TeX{} servers, July 1990. + +\bibitem[Fra91]{:FTC91} +Frame Technology Corporation. +\newblock New Features in FrameMaker. +\newblock Part Number 41-01040-00, May 1991. + +\bibitem[Gor92]{unp:TGo92} +Tom Gordon. +\newblock The qwertz SGML Document Types. +\newblock Version 1.2, German National Research Center for +Computer Science, January 1992. + +\bibitem[Jur91]{unp:TJu91} +Theo Jurriens +\newblock supertab.doc +\newblock Available from \TeX{} servers, August 1991. + +\bibitem[Les]{USD:MLe} +M.E. Lesk +\newblock {\it Tbl---A Program to Format Tables}. +USD:28 + +\bibitem[Van92]{Lausanne:CVa92} +Christine Vanoirbeek. +\newblock Formatting structured tables. +\newblock In C.~Vanoirbeek and G.~Coray, editors, {\em Electronic +Publishing '92}, pages 291--309, Cambridge, April 1992. Cambridge +University Press. +\end{thebibliography} + +\end{document} diff --git a/info/ltx3pub/vt11d01.tex b/info/ltx3pub/vt11d01.tex new file mode 100644 index 0000000000..83fb8bc4bf --- /dev/null +++ b/info/ltx3pub/vt11d01.tex @@ -0,0 +1,218 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-VT11-01, +%%% filename = "vt11d01.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Mike Piff", +%%% doc-group = "Volunteer task VT11", +%%% title = "Backus-Naur form in {\LaTeX3}", +%%% version = "1.03", +%%% date = "02 April 1993", +%%% time = "22:49:47 GMT", +%%% status = "public, contributed.", +%%% author-email = "M.Piff@sheffield.ac.uk", +%%% author-address = "Department of Pure Mathematics \\ +%%% University of Sheffield \\ +%%% Hicks Building \\ +%%% Hounsfield Road \\ +%%% SHEFFIELD S3 7RH \\ +%%% England", +%%% abstract = "", +%%% 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 +%%% and Mike Piff. +%%% 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 = "60525 218 1235 10548", +%%% 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.", +%%% } +%%% ==================================================================== +\documentstyle[bnf]{l3ms001} +%% This needs the style option bnf.sty +%% Latest version 1.05 +%% Date 09 Feb 1993 +%% +\begin{document} +\title{Backus-Naur form in \LaTeX3} +\author{Coordinator: Mike Piff} +\date{02 April 1993 \\ +Version 1.03} +\maketitle +\begin{bnf} +\section*{Objectives} +\begin{enumerate} + \item Create environments and commands to produce the symbolism of + BNF notation in mathematics. + \item Provide easy mechanisms for customizing this notation. + \item Provide short forms which are close to the teletype way of + representing BNF, by means of a $"bnf"$ environment. + \item Try not to disable too many features of \LaTeX\ when the short + forms are in operation. +\end{enumerate} + +\section*{Rationale} + +The whole notation of Backus-Naur Form seems to be +deeply mathematical. Some examples: +\begin{itemize} + \item Use of $\lbrace$ and $\rbrace$, round and square brackets. + \item Variable names such as $w$ for a word, $\cal A$ for an + alphabet, etc. + \item Subscripting, eg, $w_1<X>w_2 -> w_1 w w_2$. + \item Use of $\Production$, $\Yields$ and $\Yields^*$ for productions + and yields, and $|$ for alternatives. +\end{itemize} +We should also consider the spacing problems that doing these +in text mode would entail. + +The BNF notation is really part of the mathematical notation for +specifying a phrase structure grammar. It is a means of simplifying +groups of productions into one compound production, and thus +decreasing the apparent complexity of its structure. This is the +reason why things should be set up so that BNF is only available +within maths mode. + +It is also perhaps true that BNF should not be considered in isolation +from the requirements of the body of mathematical notations into which +it fits. There is also a clear link with the task looking at short forms +in mathematics. One point which was discovered in writing a preliminary +version of the macros was the dangers involved in making $"-"$ active in +mathematics, because of the way long arrows had been defined in plain \TeX! + +\section*{Specification} + +The following should happen in maths mode. + \begin{enumerate} + \item The environment $"NonTerminal"$ should produce the text + between $"\begin{NonTerminal}"$ and $"\end{NonTerminal}"$ + enclosed between angle brackets, thus: + $$<enclosed text>.$$ + Spaces in the enclosed text should be respected, but not made + visible. The maths font used between the angle brackets should + be customizable through the command $"\NonTerminalStyle"$. + The default should be $"fam0"$, that is, ordinary roman. + \item The command $"\Terminal"<char>"string"<char>$ should produce + the enclosed string exactly as if it had been produced by \LaTeX' + $"\verb*"$ command, except that it is preceded and followed + by the expansion of $"\PreTerminal"$ and $"\PostTerminal"$ + respectively. + \item The environments $"Star"$, $"Optional"$ and $"Bracket"$ + should put paired braces, square brackets and round brackets + respectively + around the enclosed text. + Spaces of $"\StarSpace"$, $"\OptionalSpace"$ and $"\BracketSpace"$ + respectively should precede and follow the environment. + \item The commands $"\Production"$, $"\Yields"$ and $"\OR"$ + should produce the special symbols $->$, $=>$ and $|$ + respectively, the first two being relations and the last an + operator. The $"\Empty"$ command should produce the + symbol $\Empty$. + \item A special environment $"bnf"$ should have the effect of making + the short forms of these commands available in maths mode. + This environment should be capable of spanning many paragraphs, + and should only affect the meaning of certain symbols in maths + mode. These are: + $$"`",`"`,"(",")","<",">","[","]","-","=","|","@".$$ + The effects should be as follows. + \begin{enumerate} + \item $"`string`"$ and $`"string"`$ should produce the effect + of a $"\Terminal"$ command. + \item $"<"N">"$ should produce the effect of a $"NonTerminal"$ + environment. + The following symbols should be rejected as part of + $N$, so as to allow some error detection. + $$"[","]","(",")","|","<","=".$$ + The symbol $"-"$ should be interpreted as a hyphen. + + The symbols $@<$ and $@>$ should be made available + as $"\lt"$ and $"\gt"$, or alternatively as $"@<"$ + and $"@>"$. + \item $"("E")"$ and $"["E"]"$ should produce the same effects as + the $"Bracket"$ and $"Optional"$ environments. + \item $"->"$ and $"=>"$ should produce $->$ and $=>$, + otherwise $"-"$ and $"="$ should behave normally. + $"|"$ should produce $|$. + \item $"{@"E"}"$ should produce ${@E}$. + It would be preferable for $"{"E"}"$ to produce this effect, + but that would probably entail not allowing braces to appear + in a $"bnf"$ environment other than for this purpose. + \end{enumerate} + \end{enumerate} +\end{bnf} +\end{document} diff --git a/info/ltx3pub/vt15d01.txt b/info/ltx3pub/vt15d01.txt new file mode 100644 index 0000000000..0b6ebe14a7 --- /dev/null +++ b/info/ltx3pub/vt15d01.txt @@ -0,0 +1,183 @@ + ==================================================================== + @LaTeX3-article{ LaTeX3-VT15-01-txt, + filename = "vt15d01.txt", + archived = "ctan:/tex-archive/info/ltx3pub/", + author = "Bernard Gaulle", + doc-group = "Volunterr task VT 15", + title = "Overview about the task goals", + version = "1.00", + date = "11 June 1993", + time = "17:12:17 GMT", + status = "public, contributed", + author-email = "gaulle@circe.fr", + author-address = "", + abstract = "", + 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 + and Bernard Gaulle. + 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 = "23855 183 945 8068", + 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.", + } + ==================================================================== + + + Coordinating the ltx3 5.4 research task on "typographical conventions +and requirements in multilingual environments", I would like to find +other volunteers to help me in this heavy task. + + I know that there is a TUG working group which is also working on +a reduced part of the problem and it would be fine that any interface +was established for a better distribution of informations. + + In order to achieve the task i'm going to divide it in several +parts, as small as possible, to retain attention of potential +experimented people, or professionals, or simply "amateurs" with +some knowledge. Please, let me know which part and section you would +like to discuss specially and even if you are candidate to coordinate +one point or another. + + Here are the major topics I want to adress *now*: + +Part I, DEFINITIONS +=================== +o What is a language? How a language has to be known inside a latex + style file for example? + (name or number + set of patterns + exceptions + + hyphenation values & rules + typographic convetions + LR + or RL writing + fonts + character set +... +o What is a dialect? How a dialect differ from his original language? +o Which is the minimum text part on which the language def apply? +o Are they limits for language application? Is any pop-push mechanism + required? + +Part II, LANGUAGE HANDLING +========================== +Section 1: Hyphenation loading mechanism +Section 2: Hyphenation exceptions handling +Section 3: Related file names standard +Section 4: Switching mechanism + +Part III, TYPOGRAPHY HANDLING MECHANISMS +======================================== +What are the required mechanisms to apply typographic features for +various (numerous) languages? For example we don't know when it is +required to apply the french guillemets BUT we must know that there +are cases where specific characters (here the french guillemets) need +to be inserted in front of each line and at \everypar. + +Section 1: Line level +Section 2: Paragraph level +Section 3: Page level +Section 4: Column level +Section 5: Table row and column levels +Section 6: Two-sides sheet level +Section 7: Math levels (text and display) +Section 8: Sectioning level as well as start/end of documents +Section 9: \shipout level + +Part IV, OTHER LANGUAGE REQS +============================ +This part will address features not processed in previous parts and +not allready solved in the current LaTeX version or via appropriate +style files. +So it isn't exhaustive. + +Are they specific mechanism required to process the following: +Section 1: Bibliography +Section 2: Index +Section 3: Glossary +Section 4: Typographic abbreviations +Section 5: Country Fonts +Section 6: Table of..., abstracts, summaries, keywords,... +Section 7: ?? + + I think we would take advantage in having private and parallel +discussions and in trying to produce a short text on each section. +Consensual writing will be search but if divergent opinions occur +then the whole list would be asked for debate. + + As Parts II to IV need to work on the good definitions, text +publication on these parts have to be postponed until Part I +were complete. + + Thanks for your effort to cooperate, + --bg diff --git a/info/ltx3pub/vt15d02.tex b/info/ltx3pub/vt15d02.tex new file mode 100644 index 0000000000..ced3b1eeb8 --- /dev/null +++ b/info/ltx3pub/vt15d02.tex @@ -0,0 +1,1136 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-VT15-02, +%%% filename = "vt15d02.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Bernard Gaulle", +%%% doc-group = "Volunteer task VT15 about multilingual +%%% documents", +%%% title = "Requirements in multilingual documents: +%%% Part I Definitions", +%%% version = "1.01", +%%% date = "22 September 1993", +%%% time = "11:49:47 GMT", +%%% status = "public, contributed.", +%%% author-email = "gaulle@circe.fr", +%%% author-address = "CIRCE-CNRS \\ +%%% BP 167 \\ +%%% F-91403 Orsay Cedex \\ +%%% France", +%%% abstract = "This article suggests basic definitions that +%%% will be used by the working group", +%%% keywords = "language, dialect, multilingual", +%%% 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 +%%% and Bernard GAULLE. +%%% 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 = "40358 1136 6542 47979", +%%% 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.", +%%% } +%%% ==================================================================== + +\documentstyle[draft,bnf]{l3ms001} +\newcounter{languageitems} +\begin{document} +\title{Requirements in multi-lingual environments \\ + Part I Definitions} +\author{Coordinator: Bernard \sc{Gaulle}} +\date{22 September 1993 \\ + Version 1.01} +\maketitle +\section{What is a language?} + +When we want to print a language we would like that \LaTeX{} apply +automatically all typographic rules used usually in the countries +speaking that language. Often, different countries speak the same +language (or nearly the same) but have different typographic rules. +Sometimes, languages are slightly or even deeply different and we say +that they are dialects. + +As we can't imagine all typographic rules required to process +correctly any language, we can ---in a first approach--- look at the +basic control sequences provided by a standard \TeX{} ``motor''. + +\subsection*{Standard \TeX{} mechanisms for language processing} + +Generally speaking, all \TeX{} control sequences have been designed to +bring a specific typographic feature but only few of them characterize +a language. For example, \verb|\par| is a basic control sequence that +has the same meaning in all languages (not necessarily the same +processing): basically end a paragraph\footnote{We simplify a lot + here, intensionaly. The accuracy is not fully requested to + understand the proposed discussion.}. Reversely, there are +parameters, counters or other control sequences that have different +values or contents from one language to another. Here are the most +important ones : + +\begin{description} +\item[]\verb|\language| [primitive integer parameter] + is an integer which gives the sequence number of the + hyphenation pattern table to use then. When the current language + differ from \verb|\language| a ``whatsit node'' specifying the + current language is inserted. + Notice that no change is done (i.e. no language whatsit inserted) in + ``inner hmode''; if \verb|\language<0| or \verb|\language>255|, + then 0 is used internally. + As pointed by Frank Mittelbach, + this name is really inappropriate and should probably be renamed + something like this clearer name: \verb|\hyphenpatternnumber|. + Value from 0 to 255, so up to + 256 ``languages''. + +\item[]\verb|\setlanguage| [primitive command] + activates an hyphenation pattern file (inserting the whatsit) + without changing the value of \verb|\language|. Very restricted use + (really useful in inner hmode, see \verb|\language|). + + +\item[]\verb|\patterns| [primitive command] + allows to introduce in \TeX{} memory related to + languages an hyphenation + pattern file associated with the current language number. (up to 256 + files). + Control sequence only allowed at \verb|initex| time for {\em format} + creation. +\item[]\verb|\hyphenation| [primitive command] + allows \TeX{} to learn about a list of words to + be hyphenated differently from the usual \TeX{} algorithm in + the current language. This list can + be introduced in \TeX{} memory at \verb|initex| time or later and can + be modified or completed at any time. + +\item[]\verb|\lefthyphenmin| \& \verb|\righthyphenmin| + [primitive integer parameters] + are numbers specifying + the amount of characters starting and ending a word that must be never + hyphenated with the {\em current} language. These values are not saved + in the \TeX{} memory related to languages. + +\item[]\verb|\uchhyph| [primitive integer parameter] + specifies whether words written with one or more upper + case letters are candidates or not for hyphenation. + (defaultly \verb|plain| \TeX{} + and \verb|lplain| allow hyphenation of words with capital letters). + This value is not saved in the \TeX{} memory related to languages. + +\item[]\verb|\discretionary| [primitive command] + permits to specify how a character sequence + must be hyphenated, providing the {\em pre-break text} with its + discretionary hyphen and the {\em post-break text}. + It inhibits hyphenation in the rest (before and after the + discretionary) of the word. +\verb|\-| is the abbreviation of the + most common case of discretionary break e.g. + \verb|\discretionary{-}{}{}|. + This is a setting inserted in a word, for that word, at input time. So + it can't be saved any way. + +\item[]\verb|\hyphenchar| [primitive command] + is the hyphen of a font, + can be coded to point out the hyphen character to use + for a font. \verb|\hyphenchar\font=-1| suppress all hyphenation for + the current font. Notice that \verb|\hyphenchar\font=`\-| + is the common way to + provide a default hyphen character for the current font. There is a + default hyphen character that is set in \verb|plain| \TeX{} for all + fonts, this is: \verb|\defaulthyphenchar=`\-|. + \verb|\defaulthyphenchar| is the default + hyphen to be used, if \verb|\hyphenchar| isn't set; + The `-' character as hyphen character is hard-wired in some other + commands (e.g. \verb|\hyphenation|). + Notice that \verb|\hyphenchar| changes are global. + These values are not saved in the \TeX{} memory related to languages. + +\item[]\verb|\hyphenpenalty| \& \verb|\exhyphenpenalty| + [primitive integer parameters] + are penalties + at a discretionary break. First one is used if the {\em pre-text} is + not empty otherwise it is the second value that is used. + These values are not saved in the \TeX{} memory related to languages. + +\item[]\verb|\tolerance| \& \verb|\pretolerance| + [primitive integer parameters] + are values saying ``how much'' + the \TeX{} hyphenation algorithm must be severe or not. + They have to be adjusted with the line size. + These values are not saved in the \TeX{} memory related to languages. + +NB: \verb|\hyphenpenalty10000| + \verb|\exhyphenpenalty10000| \verb|\pretolerance10000| \\ + can be introduced when we need no hyphenation at all + (\TeX book page 394). + +\item[]\verb|\lccode| [primitive command] + tells \TeX{} which is the lower-case character of a + specific one but telling ``0'' instructs \TeX{} that no hyphenation + can occur around that character (whatever font is in use). + This value is not saved in the \TeX{} memory related to languages. + +%As we discuss about \verb|\lccode| we must say few words about the 2 +%following items: +%\begin{itemize} +\item[]\verb|\uccode| [primitive command] is not exactly the opposite of + \verb|\lccode|; it only instructs \TeX{} which is the upper-case + character + of a specific one. This primitive is deeply related to the font + encoding which will be discussed later in this chapter. + This value is not saved in the \TeX{} memory related to languages. + +\item[]\verb|\sfcode| [primitive command] gives a {\em space factor} to + a specific character. It is usually used to add stretchability to + punctuation marks typed in the text + (primitive used inside the well known \verb|\frenchspacing| macro; + which name is improper...). + This is typically a typographic feature. + This value is not saved in the \TeX{} memory related to languages. +%\end{itemize} + +\item[]\verb|\allowhyphens| [macro] + allows the following word to be hyphenated +(appendix D: Dirty Tricks of the \TeX book p 394). + +\item[]\verb|\doublehyphendemerits| \& \verb|\finalhyphendemerits| + [primitive integer parameters] + are values of demerits assessed to \TeX{} + when breaking a paragraph into lines. These + values take their effect when two consecutive lines end with + discretionary + breaks or if it is the second-last line of the entire paragraph. + These values are not saved in the \TeX{} memory related to languages. + +\end{description} + +There are probably a lot of other control sequences that might be, as +a side effect, considered specific of a language. For example, +consider \verb|\font|; is-it really language dependent? It's obvious +that some languages use specific fonts but we can't consider that +these fonts are a characteristic of specific languages because they +can be used for other purposes than writing a given language and that +often we have a choice between several fonts when we want to write in +that given language. Therefore we can say that a language isn't +characterized by the fonts used for writing a document in that +language. + +\subsection*{Other mechanisms for language processing} + +There are also other {\em non-standard\/} mechanisms for language +processing, I think in particular to the direction of writing. + +\begin{description} +\item[]\verb|\beginR \endR| and \verb|\beginL \endL| used with a {\tt + TeX--XeT} motor offer the opportunity to write from right to left and + from left to right. +\end{description} + +There is certainly something similar with \TeX{} motors used in Japan... +to say whether the first direction of writing is from top to bottom or +not. + +{\em\% Don't hesitate to send me proposals to complete this part...} + +\bigskip +Originally, Ml\TeX{} was the first \TeX{} extension to write +multi-lingual +documents. Is any control sequence of Ml\TeX{} still language specific +nowadays? We have in fact two cases for consideration: +\begin{enumerate} +\item When the user has 8 bit fonts (assuming the appropriate encoding + i.e. the Cork standard) he don't need the feature supplied by + Ml\TeX{} which allows words with diacritics to be correctly + hyphenated. +\item When the user has only 7 bit fonts and use frequently a language + having a lot of diacritics, then he can request the + \verb|\charsubdef| + feature of Ml\TeX{} which allows to input 8 bit characters, + hyphenate words and + substitute the corresponding pair: accent macro and letter of + the 7 bit font for printing. +\end{enumerate} +This feature is no more the only way to achieve hyphenation of words +with diacritics. With the virtual fonts we can do that processing, +even we use 7 bit real fonts. As we imagine that in a short next +future people will use either DC/EC fonts either VF fonts, it would be +useless to keep this feature in mind when creating a multi-lingual +standard for the next decade. + +\subsection*{The character set, filters and font encoding} + +There are, at least, 3 character sets: one used by the user to +produce his \verb|.tex| file, one which is understood by \LaTeX{} and +one used to output the document. + +\subsubsection*{The input character set} + +Each language has his own character set but does it mean that the +printed output depends of a specific character set? It's sure that +usually we use, for example, the string ``YES'' to print YES, but +there are a lot of other ways to print the same word, the simpliest +being a macro like \verb|\YA| \ldots Obviously different languages +have the same character set. + +With Personal Computer (PC) running DOS, for example, the user can +specify his country ``code-page'' and then the \TeX{} motor has to be +adapted to the input encoding. The feature proposed by em\TeX{} is +based on filters which can be customized by the user. We think that it +is the most efficient technic to process a linguistic character set. + +%%%The relationships between the input character set and the printed +%%%glyphs are not always obvious. + +The input character set is in fact extendible up to the +keyboards limits. It is difficult to imagine a user inputing + a bilingual document with two keyboards! So: + +\begin{quote} +\em The character set used to input a multilingual document is text and +user dependent, but not language dependent. +\end{quote} + +Reversely, a language can't be characterized (i.e. defined) by a +specific character set. + +\subsubsection*{The \LaTeX{} character set} + +Defaultly, the character set used by \LaTeX{} is composed of the 256 +chars of \TeX{} itself adapted by the installation to match internally +the ASCII (128 first chars) standard and optionaly define {\em + local\/} characters. That way, we can say there is only one \TeX{} +character set in the world (for all languages). As everybody knows, +256 characters are not enough to process complex languages like +Chinese, but this is a \TeX{} feature we can't change\ldots + +\subsubsection*{The font character set} + +Each font can print individual characters but \TeX{} often use 2 or +more font characters to print a significant piece of text or math. So +the font character set is not the good notion to keep in mind and we +prefer the notion of {\em font encoding}. NFSS2 brings 5 classes of +encoding: text, math letter, math symbol, math extended and other +(unknown encoding). + +We have already seen that \verb|\lccode| of characters and capital +letters are important data for hyphenation processing; do we need to +specify which are the lower-case and upper-case letters of each +character and for each language? We are speaking here in fact about +the default font encoding which process the \verb|\uppercase| and +\verb|\lowercase| mechanism. Printout is extremely dependent of that +encoding. The EC text encoding (T1 inside NFSS2) defined at Cork in +1990 was designed particularly for European languages; it remains a +little useless for languages like US-English. Thus some people will +use it and other will not. The font encoding is an important +information to be known by each language specific coding (style) to be +able to print the appropriate glyphs. Therefore we suggest that: + +\begin{quote} + \em \LaTeX{} V3 will take account, for each language, of the font + encoding scheme to use. +\end{quote} + +We think that the ISO coding is not of real interest because \TeX{} +fonts which can contain 256 characters are basically more efficient +and also are, de facto, a standard. We know that the font encoding is +not fully coherent for the CM fonts (OT1, OM1, etc. inside NFSS2) but +many installations are using them and will still use them for a long +time. So this information about the font encoding scheme must be +available for the language processing code. + +Due to this high level notion of font encoding we don't need at all, +now, the sub-mechanisms of \verb|\lccode| and \verb|\uccode| to teach +\LaTeX{} which are the uppercase or lowercase letters of a specific +one. + +\bigskip +As noticed by Bernd Raichle: +\begin{quote} +\begin{verbatim} +TeX does some things wrong, because it mixes between the input +character encoding and font position encoding in `hmode' (e.g. +a token `A' with \catcode 11 (= input encoding) is the same as +\`\A (= font encoding) and produces the character in +position 65 of the current font. In `mmode' you can distinguish +between input and font encoding using \mathcode (and \mathchar) +and the something similar should exist for the normal text mode. + +Because of this mixing, the \lccode array is used for +\lowercase (= input character coding) and for the hyphenation +process (= font encoding, because an `hlist' consists of +font/char pairs). For this reason, \lowercase/\uppercase can't +be used without restrictions for lowercasing/uppercasing text +in the output. +\end{verbatim} +\end{quote} + +\subsection*{Some classification} + +The previous survey shows us that we have handled only three +kinds of process: +\begin{enumerate} +\item[I] hyphenation (standard \TeX{}) +\item[II] direction of writing (\TeX{} extensions) +\item[III] font encoding (as in NFSS2) +\end{enumerate} + +Now let's try to classify the hyphenation part to find the appropriate +items that are characteristic of a language. Firstly we can say that +something is characteristic of a language when we can keep it in +\TeX{} mind and when it doesn't depend only of user's actions at input +time. Thus we eliminate the following control sequences: +\verb|\setlanguage|, \verb|\discretionary|, \verb|\hyphenpenalty|, +$\!$\verb|\exhyphenpenalty|, $\!$\verb|\pretolerance|, +\verb|\tolerance|, \verb|\allowhyphens|, \verb|\doublehyphendemerits| +and finally \verb|\finalhyphendemerits|. + +Regarding \verb|\hyphenchar| the problem is that it is font dependent. +As already explained, a font isn't a characteristic of a language in +itself. A font is generally used by various languages and at least by +dialects. + +\bigskip +What is remaining? +\begin{enumerate} +\item\verb|\language|, an integer from 0 to 255. +\item\verb|\patterns|, a list of {\em patterns}, i.e. strings of + characters and numbers. May be large or not, + depending of the language structure. We must keep in mind that this + list is a {\em one time} definition (\verb|initex|). +\item\verb|\hyphenation|, a list of words specially hyphenated. Normally + reduced; various lists, like US one, are becoming really long. +\item\verb|\lefthyphenmin|, an integer from 1 to n. +\item\verb|\righthyphenmin|, an integer from 1 to n. +\item\verb|\uchyph|, an integer being 1 or -1. +\item\verb|\lccode|, a list of characters. + +As already said, we reject \verb|\uccode| which is in fact a conponent +of the font encoding. The primitive \verb|\sfcode| is also eliminated +because it isn't fully related to a language, this is a typographic +feature that might be easily introduced in any language style file. + +\setcounter{languageitems}{\value{enumi}} +\end{enumerate} + +About the direction of writing, we think that we can't take in +consideration that standard \TeX{} has no facilities provided to the +user because it would eliminate a lot of languages of our planet. So, a +language must also be defined by: +\begin{enumerate} +\setcounter{enumi}{\value{languageitems}} +\item The {\bf first} direction of writing i.e. top-down (TD) or + bottom-up (BU) or + left to right (LR) or right to left (RL). +\item The {\bf second} direction of writing, complementary from + the first one i.e. if the first one is TD then the second + can be either LR or RL. +\setcounter{languageitems}{\value{enumi}} +\end{enumerate} +And as we already stated: +\begin{enumerate} +\setcounter{enumi}{\value{languageitems}} +\item The font encoding scheme identifier used for text (OT1, T1, ...) + as defined with NFSS2. +\setcounter{languageitems}{\value{enumi}} +\end{enumerate} + +\subsection*{Other components of a language?} + +Of course, there are other components, we can list: +\begin{itemize} +\item {\bf Typographic rules} applied in each linguistic country, one + is, for example: {\em the title caption of a table is printed before + it in French} or {\em the first paragraph in a section is never + indented in US-English}. (Will be deeply discussed in next parts). + Notice, as written by Klaus Lagally, that: the general document + layout is related to, but neither determined nor specific to the + default language. The structure of a paper in Arabic, Persian, and + Urdu is basically the same. + +\item {\bf Linguistic titles} used at the high level language of + \LaTeX{}, we think to the translation of ``table of contents'' or + the dates. (Will be deeply discussed in next parts). +\item {\bf Country abbreviations} which are as much typographic as + linguistic, for example: {\em Mister is abbreviated Mr in English} + or {\em primo is abbreviated 1$^o$ in French}. + (Will be deeply discussed in next parts). +\end{itemize} +Are they specific to a language? Perhaps but we are unable to have a +complete overview of these peculiarities. It can't be formulated in +terms of a value or even a list of strings. Also there are a lot of +countries which have no official standard and therefore any definition +would be seen greatly wrong by a lot of people. + +So, we rather prefer to let these topics for the language-style + definition level +which should be treated by the appropriate linguistic groups. + +At this step of language definition it seems appropriate to associate +a {\em style-file-name} for further linguistic peculiarities. So a +language is also defined by: +\begin{enumerate} +\setcounter{enumi}{\value{languageitems}} +\item The \LaTeX{} style file to apply each time the corresponding +language is in effect. This is a name which is optional. If omitted a +default file name +($\NonTerminal\right.${\it language}$\left.\endNonTerminal$% +\verb|.sty|) could be searched for. We will come back about this default + in the next paragraph. +\setcounter{languageitems}{\value{enumi}} +\end{enumerate} + + +\subsection*{The language definition} + +As already stated, a language ---in \TeX--- is defined by its internal +number. Everybody prefer to manipulate languages by their names. +Obviously people writing English documents don't use all the same +English language, accordingly all English languages printed in the +world have not the same \TeX{} internal number, and it's more true for +other languages. Thus it is better to give a symbolic name to each +language. + +We suggest that the default language style file name for a language +were the language name itself (shortened to 8 chars, plus +\verb|.sty|). What happens if this file is not present on the system? +We suggest that in that specific case a generic style file called +---for example--- \verb|language.sty| were loaded (we will see later +exactly when) in order to establish the appropriate relationships, +mechanisms, default values, etc. This style file could look like a +skeleton for other linguistic style files but could also be the +default language style file of \LaTeX{} itself when no language is +specified by the user at any time. + +Then the suggestion proposed to the \LaTeX{} V3 team is to +implement a language definition that could look like this one: + +\bigskip +({\em assignments undefined here can be found in the \TeX book}). + +\bigskip\noindent +$\begin{bnf}<language assignment> -> \end{bnf}$\verb|\languagedef| +$\begin{bnf} +<control sequence><language general text> \\ +<language general text> -> <left brace><language balanced text>% + <right brace>\\ +<language balanced text> -> <language number>% +\end{bnf}$\verb|,|\\ +$\begin{bnf} \phantom{<language balanced text> -->}% + \!<patterns general text> +\end{bnf}$\verb|,|\\ +$\begin{bnf} \phantom{<language balanced text> -->}% + \!<hyphenation general text> +\end{bnf}$\verb|,|\\ +$\begin{bnf} +\phantom{<language balanced text> -->}\!<lefthyphenmin integer> +\end{bnf}$\verb|,|\\ +$\begin{bnf} +\phantom{<language balanced text> -->}\!<righthyphenmin integer> +\end{bnf}$\verb|,|\\ +$\begin{bnf} +\phantom{<language balanced text> -->}\!<uchyph integer> +\end{bnf}$\verb|,|\\ +$\begin{bnf} +\phantom{<language balanced text> -->}% + \!<left brace> + <zero lccode characters><right brace> +\end{bnf}$\verb|,|\\ +$\begin{bnf} +\phantom{<language balanced text> -->}\!<writing directions> +\end{bnf}$\verb|,|\\ +$\begin{bnf} +\phantom{<language balanced text> -->}\!<final language general text>\\ +<final language general text> -> <font encoding name>\\ +\phantom{<final language general text> -->}\! + | <font encoding name>\end{bnf}$\verb|,| + $\begin{bnf} <language style file name>\\ +<language number> -> <number>\quad\%\enspace being [1- 255]\\ +<patterns general text> -> <general text> \quad\%\enspace + \mbox{\TeX book} \enspace p\enspace 453\\ +<hyphenation general text> -> <general text> \quad\%\enspace idem\\ +<lefthyphenmin integer> -> <number>\\ +<righthyphenmin integer> -> <number>\\ +<uchyph integer> -> <number> \quad\%\enspace + being\enspace either\enspace 1 + \enspace or\enspace -1\\ +<zero lccode characters> -> <character> | <zero lccode characters>\\ +<writing directions> -> <horizontal writing> + \end{bnf}$\verb|,|$\begin{bnf}<vertical writing>\\ +\phantom{<writing directions> -->}\!\! |<vertical writing> + \end{bnf}$\verb|,|$\begin{bnf}<horizontal writing>\\ +<horizontal writing> -> + \end{bnf}$\verb|LR|$\begin{bnf} |\end{bnf}$\verb|RL|\\ +$\begin{bnf} +<vertical writing> -> + \end{bnf}$\verb|TD|$\begin{bnf} |\end{bnf}$\verb|BU|\\ +$\begin{bnf} +<font encoding name> -> <general text>\quad\%\enspace + cf\enspace nfss2\enspace + text\enspace font \enspace encoding.\\ +<language style file name> -> <filename> +\end{bnf}${\space\space\em \% Default being the name of the }\\ +$\begin{bnf} +\phantom{<language style file name> -->}\! |<filename> +\end{bnf}$\verb|.sty |{\em \% } +$\begin{bnf} <control sequence>\end{bnf}${\em above.} + +\section{What is a dialect?} + +Generally speaking a dialect is a language that differs from its parent +(or twin) language at one or more levels: +\begin{itemize} +\item pronunciation, +\item meaning of words, +\item phrase syntax, +\item use of verbs, +\item \ldots +\end{itemize} + +Of course, a dialect has his own typographic requirements. Due to +pronunciation differencies, for example, hyphenation may differ. +Patterns file is often different because ancient words that might be +no more used in its parent language, could be frequently used in a +dialect. Typesetting of dates, formating of titles, sectioning, etc. +may differ, depending of country habits or legal rules or historical +events. + +At a generic level, we don't see something commonly specific in all +written dialects that need to be defined differently from a language. +A dialect is also a word that is a little pejorative. + +Therefore we think that there is no real advantage to offer any +command like \verb|\dialectdef| which would bring nothing different +than \verb|\languagedef|. So we suggest that: + +\begin{quote} +\em A dialect, inside \LaTeX{}, is just like a language. +\end{quote} + +\section{Area of language application} + +\subsection*{Where a language apply?} + +Basically, Donald Knuth defined on which shortest entity a language +could be applied: ``\TeX{} is able to work with several languages in the +same paragraph.'' Saying that we can really switch to another language +anywhere in a paragraph. Does our \verb|\languagedef| parameters apply +anywhere? + +In fact, it may exist parameters which apply to a whole paragraph +(\verb|uchyph| ?) or even on a larger entity like the page. Obviously, +the language style file can also have effects at specific boundaries. +Let's imagine a style that would require each page were printed with a +dropped initial letter. This kind of effect has to be typeset. If the +typesetting has already started with another style (of another +language) we can't produce this facility in that new language before +the next page boundary arise. So we can switch to any language at any +time and anywhere but some feature may be postponed after a specific +boundary, or even not applied at all if the current environment is not +appropriate. + +\subsection*{How the user switchs from one language to another?} + +Assuming we have defined {\em language1\/} and {\em language2\/} via +the appropriate commands \verb|\languagedef\|{\em + language1\/}\verb|{...}| and \verb|\languagedef\|{\em + language2\/}\verb|{...}| respectively, we can imagine to type +\verb|\|{\em language1\/} to switch to {\em language1\/} and then +provide all typesetting facilities given in that language (idem with +{\em language2\/}). + +Well, what about the \TeX{} grouping mechanism? We have here three +test cases to consider: + +\begin{description} +\item{Test 1:} \verb|\|{\em language1\/} ... text1 + \verb|{\|{\em language2\/} ... text2\verb|}| + ... TEST1 ... + + ``text1'' will be printed as in {\em language1\/}, + ``text2'' accordingly to {\em language2\/} and + ``TEST1''? Normally ``TEST1'' has to be printed as in + {\em language1\/} but it will be done only if: + +\begin{quote} +\em A language definition is local. +\end{quote} + +This is an important rule. Does it mean that no global definition is +allowed to be issued at the language switch time? No, it only means +that no linguistic feature is allowed to be applied globally +(\verb|\global| defs or \verb|\xdef|). + +\item{Test 2:} \verb|\|{\em language1\/} ... text1 + \verb|{\|{\em language2\/} ... TEST2\verb|}| + + ``TEST2'' will be printed as in {\em language2\/} but + also ---probably--- as in {\em language1\/} if an + elaborated {\em language1\/} style file is in use. + Why? + +Obviously, the two languages can have different typesetting or formating +technics. Let's imagine that the first one never print blank spaces, +i.e. words are never separated by a space. Then there is a good chance +that ``TEST2'' were printed with that feature due to the lack +of explicit order to disactivate the first and it may happen that the +second language doesn't matter with the {\em nospace} feature. + +Let's suppose now that the language switching mechanism has been + designed so that: +when there is a call to another language, +then the former facilities or features +are stopped immediately. That is the choice we show here by the mean of +the \verb|\switchto| command: + +\item{Test 3:} \verb|\switchto\|{\em language1\/} ... text1 + \verb|{\switchto\|{\em language2\/} ... text2\verb|}| + ... TEST3 ... + + {\em language1\/} is stopped when \verb|\|{\em language2\/} is + executed. ``text2'' is printed as in {\em language2\/}. Since {\em + language2\/} is enclosed within \verb|{| and \verb|}| it has not + effect outside the braces. So we can't decide which is the language + to apply to ``TEST3''! In reality, it should be the default \TeX{} + language number 0, but that's all we can say... +\end{description} + +We suggest another way, in 2 parts, which is a kind of compromise: +\begin{enumerate} +\item A complete language environment. + +\verb|\begin{language}[|{\em language1\/}\verb|]|\\ +\hspace*{2em} text1\\ +\verb|\end{language}|\\ +\verb|\begin{language}[|{\em language2\/}\verb|]|\\ +\hspace*{2em} text2\\ +\verb|\end{language}|\\ +TEST3 + +That way, {\em language1\/} is ended explicitly. ``TEST3'' is printed +as in the default language and there is no possibility that ``text2'' +were printed with some features of {\em language1\/}. It implies that: + +\begin{quote} + \em Two \verb|\begin{language}| must be separated by one + \verb|\end{language}|. +\end{quote} + +This rule is really a great constraint when we need to print few words +in another language, so we suggest also the following for short +inserts: + +\item A temporary language switch. + +\verb|\begin{language}[|{\em language1\/}\verb|]|\\ +\hspace*{2em} text1\\ +\verb|{\|{\em language2\/} text2\verb|}|\\ +\hspace*{2em} text1 continued\\ +\verb|\end{language}|\\ +TEST3 + +In this scheme, {\em language1\/} application is just deferred when +{\em language2\/} is called. ``text2'' is printed as in {\em + language2\/} and after the closing brace {\em language1\/} is +automatically enabled again. + +\begin{quote} +\em +At one time there is at most two activated languages and only one +enabled. +\end{quote} + This will reduce efficiently the memory usage and avoid complexity. +\end{enumerate} + +People will have also the possibility to use the shortest form of +language switching: + +\medskip%\noindent +\verb|\|{\em language1\/} text1 \verb|\|{\em language2\/} text2 \verb|\| +{\em language1\/} text3 + +\medskip +\noindent but this way people must be warned to avoid surrounding +braces, as we stated previously, for the third test case. This +unstructured form should be unused if we want to be respectful of the +structured standards like SGML. But we strongly suggest to the +\LaTeX{} V3 team that this feature were still available for its +simplicity and for upwards compatibility. + +We wrongly said that there was only two languages at the same time +because, in fact, there is always the default language. So the loaded +languages might be, at most, up to three at the same time. + +\subsection*{What is the default language?} + +We suggest first that the default language would be an arbitrary +language, artificial i.e. specially created for only one purpose: be +recognizable (a \verb|\languagedef| without any realistic interest). +This default \LaTeX{} language would normally never be used. It could +be the language number zero. \LaTeX{} could check frequently, for +example at each beginning of environment in case of the language name +were wrongly become the default language and then inform the user. + +Secondly, we suggest that the user has the possibility to chose his own +default language for all his documents. This language will be called the +{\em main language}. +The internal language number +one could be reserved for that usage, letting the installator the +possibility to customize it (we will propose a specific way in a next +chapter). + +These two proposals will bring an important drawback: a few +incompatibility with \LaTeX{} V2 documents. Since \TeX{} V3 origin (in +1989), language number zero was dedicated to US-English. So any +document in English could be typeset without any change all around the +world. It was really a great facility for few people having to +exchange their documents with foreign colleagues but we are convinced +that it doesn't concern the great majority of \LaTeX{} end users. In +fact there are two points to discuss here: + +\begin{itemize} +\item {\bf language number 0} was the default language, it might have + been tested by any code to check if US-English was activated. We + think that this case is extremely rare now. The original German + style was assuming that language zero was US-English but all other + multilingual mechanisms (Babel, French) didn't make this assumption. + +\item {\bf US-English} was the default language. \LaTeX{} was designed + for \TeX{} V2 and so used the only one language provided with + \verb|plain| \TeX{}: US-English. Nothing was changed about this + topic when \LaTeX{} moved to \TeX{} V3. The major drawback of having + US-English as default language was that people thought there was no + alternatives. Therefore \LaTeX{} was known to be a typesetting tool + for Americans and more largely for English-speaking users. In our + opinion \LaTeX{} worldwide expansion suffered this default value and + we think that it would be extremely fruitful that the version 3 were + not so linked to any concrete language. We will propose instead a + compatibility option to let this former default active. +\end{itemize} + +\subsection*{A language option with \mediumseries{\tt\char'134% + begin\char'173 document\char'175}} + +It would be useful to add an {\em optional} + parameter to \verb|\begin{document}| +in order to allow the user to specify the language to use for the whole +document. This method may look simplier for the user: + +\bigskip\noindent +\verb|\begin{document}[mainlanguage=|{\em any language}\verb|]| + +\bigskip\noindent +as opposed to: + +\bigskip\noindent +\verb|\begin{document}|\\ +\verb|\begin{language}[|{\em any language}\verb|]|\\ +\verb|...|\\ +\verb|\end{language}| + +\bigskip +In a multi-user installation it may occur that no user default language +can be chosen. Therefore it will be absolutely necessary to specify a +language when beginning a document; this way is really easy. + +It's now becoming obvious to say that: + +\begin{quote} + \em Language(s) application in \LaTeX{} is bounded inside + \verb|\begin{document}| and \verb|\end{document}|. +\end{quote} + +This rule will raise the problem of processing the auxiliary files +which are ordinary read at the begining and at the end of the +document; we will discuss this point later in part III. + +We all know that there are in \LaTeX{} V2 few facilities to typeset +many documents at a time; the letter style offers this facility. So we +suggest that the same kind of language specification apply to such +sub-documents: + +\bigskip\noindent +\verb|\begin{letter}[|{\em any language}\verb|]|\\ +\verb|...|\\ +\verb|\end{letter}| + +\section{What is a multi-lingual document?} + +OThe input file did not have the correct format. +It should contain a line which has the word "checksum" +and no other alphabetic characters. +bviously a multilingual document is a collection of texts in +different languages. The length of texts is a determinant point of +multilingualism complexity. When the only foreign words used in a +document are the authors names cited in reference, we can say that +such document is the less multilingual one. In the other side, an +example like an EEC document, in 9 languages, can be evaluated as +deeply multilingual but in fact each language is entirely disconnected +from each other: this is only a translation in different languages of +the same text, each translated part having to fit the same area in the +page when typeset in columns. This example is really a medium +multilingual document because the typographic rules required to format +the pages are not specific of any language but they obey to the EEC +page layout. The most complex multilingual document is probably made +of pages printed according to several languages, one page obeying to +typographic rules of one language and another page typeset in another +language. Such document is not really usual. More realisticly and +frequently we can see documents typeset according to typographic rules +of one language but with some inserts (often quotations) in other +languages. + +We will try to list in a next chapter all typographic mechanisms that +would be necessary to implement the almost multilingual facilities +required in the world. One of these is for example the ability to +simply typeset a table in which each row is printed in a different +language. + +To simplify at most we can say that each \LaTeX{} document printing +mathematics is, de facto, a multi-lingual document. Notice (as +pointed by Klaus Lagally) that a mathematic formula is not a sequence +of character glyphs, but a picture. Maths can be printed within text +or displayed, anywhere, requiring specific typographic rules, etc. +just like a language. More really, there are even slight differencies +between linguistic countries to print math, so we are suggesting that: + +\begin{quote} +\em With \LaTeX{} V3, each document is multi-lingual. +\end{quote} + +This rule will allow to apply linguistic and typographic modifications +to a document using only one language. A real multi-lingual document, +i.e. using more that one language, is not toomuch more complex: the +only difference concerns only the internal language switching +mechanism that we will discuss in the next part. + +\section{Summary about language levels} + +As you probably notice we distinguished 5 levels of language +application: + +\begin{enumerate} +\item \LaTeX{} internals (the default language). +\item Main document (user default language or main language). +\item Long parts (\verb|\begin{language}...\end{language}|). +\item Short inserts (\verb|{\|{\em language}\verb|...}|). +\item Mathematics. +\end{enumerate} + +In order to allow that the linguistic codes run efficiently in any of +these levels we recommand that: + +\begin{quote} +\em +\LaTeX{} V3 will keep in mind what level of language application is +actually running, anywhere during the typesetting of the document. +\end{quote} + +(notice that, probably, the information will not always come from +\LaTeX{} but also from the linguistic style.) + +%\section{More comments about Part I} +%\bibliographystyle{plain} +\begin{thebibliography}{10} +\bibitem{tub:JBr93} +Johannes Braams. +\newblock {\em Babel, a multilingual style-option system + for use with \LaTeX's standard document styles.} +\newblock {\em {TUG}boat}, 12, no. 2, 1991, pp. 291-301. + +\bibitem{tub:JBr93b} +Johannes Braams. +\newblock {\em An update on the {\tt babel} system.} +\newblock {\em {TUG}boat}, 14, no. 1, April 1993, pp. 60-62. + +\def\Accent^\TeX{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX} +\bibitem{f1:MF85} Michael J. Ferguson. +\newblock {\em A Multilingual \Accent^\TeX.} +\newblock {\em {TUG}boat}, 6, no. 2, 1985, pp. 57-59. + +\bibitem{f1:MF87} Michael J. Ferguson. +\newblock {\em A Multilingual \Accent^\TeX} +\newblock {Rapport technique de l'INRS-T\'el\'ecomunications}, 87-23, + 1987. + +\bibitem{gut1:YH92} M. Fanton \& Y. Haralambous, Conference: +\newblock \TeX{} et les langues Orientales +\newblock december 1992, to appear in the {\em Cahiers GUTenberg}. + +\bibitem{Kluwer:EvHe90} +Eric van Herwijnen. +\newblock {\em Practical {SGML}}. +\newblock Wolters Kluwer Academic Publishers, Dordrecht, 1990. + +\bibitem{A-W:DKn91} +Donald~E. Knuth. +\newblock Computers \& {T}ypesetting / A. {\em The \TeX book}. +\newblock Addison-Wesley, Reading, Massachusetts, 1991. + +\bibitem{KD:daly93} +H. Kopka \& P.W. Daly +\newblock {\em A guide to \LaTeX.} +\newblock Addison-Wesley, 1993. + +\bibitem{A-W:LLa86} +Leslie Lamport. +\newblock {\em {\LaTeX:} A Document Preparation System}. +\newblock Addison-Wesley, Reading, Massachusetts, 1986. + +\bibitem{cahgut:MS92} +Frank Mittelbach \& Rainer Sch{\"o}pf. +\newblock {\LaTeX} V3 conference in Paris, +\newblock june 1992. + +\bibitem{cahgut:MS90} +Frank Mittelbach and Rainer Sch{\"o}pf. +\newblock {\em {\LaTeX} dans les ann\'{e}es 90.} +\newblock {\em Cahiers {GUT}enberg}, (6):2--14, July 1990. + +\bibitem{ast93:LS93} +Laurent Siebenmann. +\newblock{\em A format Compilation Framework for European Languages}. +\newblock {\em {TUG}boat}, 14, no. 2, 1993, to appear. + +\bibitem{cpc:RWo90} +Reinhard Wonneberger. +\newblock {\em Structured document processing: the {\LaTeX} approach.} +\newblock {\em Computer Physics Communications}, (61):177--189, 1990. + +\end{thebibliography} + +\newpage +\vfill +\def\contentsname{Contents of Part I: Definitions} +\tableofcontents +\vfill + +\section*{To appear} +{\small\begin{verbatim} +Part II, LANGUAGE HANDLING +========================== + +Section 1: Hyphenation loading mechanism +Section 2: Hyphenation exceptions handling +Section 3: Related file names standard +Section 4: Switching mechanism +\end{verbatim} + +\begin{verbatim} +Part III, TYPOGRAPHY HANDLING MECHANISMS +======================================== +\end{verbatim} + +\begin{verbatim} +What are the required mechanisms to apply typographic features for +various (numerous) languages? For example we don't know when it is +required to apply the french guillemets BUT we must know that there +are cases where specific characters (here the french guillemets) need +to be inserted in front of each line and at \everypar. +\end{verbatim} + +\begin{verbatim} +Section 1: Line level +Section 2: Paragraph level +Section 3: Page level +Section 4: Column level +Section 5: Table row and column levels +Section 6: Two-sides sheet level +Section 7: Math levels (text and display) +Section 8: Sectioning level as well as start/end of documents +Section 9: \shipout level +\end{verbatim} + +\begin{verbatim} +Part IV, OTHER LANGUAGE REQS +============================ + +This part will address features not processed in previous parts and +not allready solved in the current LaTeX version or via appropriate +style files. +So it isn't exhaustive. + +Are they specific mechanism required to process the following: +Section 1: Bibliography +Section 2: Index +Section 3: Glossary +Section 4: Typographic abbreviations +Section 5: Country Fonts +Section 6: Table of..., abstracts, summaries, keywords,... +Section 7: ?? + + Thanks for your effort to cooperate, + --bg +\end{verbatim}} + +\end{document} diff --git a/info/ltx3pub/vt16d01.tex b/info/ltx3pub/vt16d01.tex new file mode 100644 index 0000000000..e57bf8b93a --- /dev/null +++ b/info/ltx3pub/vt16d01.tex @@ -0,0 +1,326 @@ +%%% ==================================================================== +%%% @LaTeX3-article{ LaTeX3-VT16-01, +%%% filename = "vt16d01.tex", +%%% archived = "ctan:/tex-archive/info/ltx3pub/", +%%% author = "Rolf Lindgren", +%%% doc-group = "Volunteer task VT16", +%%% title = "Preliminary report on {\LaTeX} style +%%% options to be converted to {\LaTeX3}", +%%% version = "1.02", +%%% date = "02 April 1993", +%%% time = "22:53:48 GMT", +%%% status = "Public, contributed.", +%%% author-email = "rolfl@ulrik.uio.no", +%%% author-address = "", +%%% abstract = "", +%%% 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 +%%% and Rolf Lindgren. +%%% 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 = "17302 326 1635 12475", +%%% 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.", +%%% } +%%% ==================================================================== +%%% +%%% Here's status on the LaTeX 2.09 -> LaTeX 3.0 options +%%% maintainance questionnaire. +%%% +%%% +%%% +\documentstyle{l3ms001} + +\def\beginQ{% +\begin{center} +\begin{tabular}{p{4.5cm}p{4.5cm}}} +\def\endQ{% +\end{tabular} +\end{center}} + +\date{02 April 1993 \\ +Version 1.02} + +\author{Rolf Lindgren} \title{Preliminary report on \LaTeX{} style +options\thanks{The notion ``style option'' to be elaborated upon +shortly} to be converted to \LaTeX{} 3} + +\begin{document} +\maketitle + +\section{Preface} + +During a discussion on the LATEX-L mailing list, devoted to the +\LaTeX{} 3 project, a discussion arose as to what level of +compitibility to maintain between \LaTeX{} 2.09 and \LaTeX{} 3. + +In a nutshell, there will not be perfect compatibility. Therefore, the +most important macro packages will have to be translated. I was +volunteered ({\em sic!\/}) by Frank Mittelbach and others to find out +which macro packages should be converted to LaTeX{} 3. + +A questionnaire that addresses this issue has been created, and has +been tested on a German \TeX{} user's group. I will address each item +in turn, then outline the conclusions I have drawn, and finally +outline the new and improved questiuonnaire. + +\section{The pretest}. + +The pretest consists of six items, some with open-ended, others with +close-ended questions. $N=36$. + +\subsection{Question 1} + +\beginQ What are the most common uses of \LaTeX{} at your installatin? +& Welches sind die hauftigsten \LaTeX-Anwendungen auf Ihrer +Installation ? \\ \endQ + +1 had not answered 1 had misunderstood the question and believed we +asked for \LaTeX{} options. + +Most had at least 4 uses. I do not elaborate on them, due to my lack of +German. + +\LaTeX{} is being used for all conceivable purposes (and some +inconceivaible, and a few that doesn't fall into either category). + +\section{Question 2} + +\beginQ + +Please name the ten most commonly used LaTeX style files in your +installation. If you use locally modified versions, please state the +name of the originals. & Bitte nennen Sie die zehn am haeufigsten +benutzten LaTeX-Style-Files an Ihrer Installation. Wenn Sie lokal +modifizierte Versionen benutzen, so nennen Sie bitte den Namen des +Originals. \\ \endQ + +The most used options were + + +\begin{tabular}{rlrl} +29& german & 3& titlepage\\ +29& article & 3& pictex \\ +19& letter & 3& parskip\\ +12& report & 3& multicol \\ +11& book & 3& fancyheadings\\ + 9& refman & 3& epic \\ + 8& twocolumn & 3& art11\\ + 6& twoside & 2& verbatim \\ + 7& supertab & 3& slides \\ + 6& dina4 & 2& layout \\ + 7& a4 & 2& expdlist \\ + 5& supertabular & 2& eepic\\ + 5& 12pt & 2& brief\\ + 5& 11pt & 2& art12\\ + 4& multicolumn& 2& art10\\ + 4& epsf & 2& 10pt \\ + 4& array\\ 2& bezier \\ +\end{tabular} + +Options mentioned only once were: userman, torate, titelseiten, times, +tgrind, texcmds, strukto, spanisch, rcs, quire, psfig, progtxt, +progltx, prelim, popo, plotter, picture, nfss, names, myletter, +multicols, merge, longtable, lgerman, latexinfo, koepfe, index, +idverb, harideu, greek, glossary, germanb, fullpage, footnote, findex, +emlines, eindex, dinbrief, dates, cyrilic, cropmark, chess, biblist, +babel, avantgarde, aplweave, amstex, amsfonts, amsart, ams, a4letter, +a4. + +\section{Question 3} + +\beginQ +Do you use any local variants of the +above style files? If so, please name +the files and (briefly) how or why they are modified. +& Bitte nennen Sie die zehn am haeufigsten +benutzten LaTeX-Style-Files an Ihrer Installation. +Wenn Sie lokal modifizierte Versionen benutzen, +so nennen Sie bitte den Namen des Originals. \\ +\endQ + +25 people answered; six of these used 4 or more. Just about half of +these were Germanized versions of the standard document styles. + + +\section{Question 4} + +\beginQ +Please name the five +LaTeX style files that you +most recently used. +& Bitte nennen Sie die fuenf + LaTeX-Style-Files, die sie zuletzt +benutzt haben \\ +\endQ + +33 had answered this. 20 had rated `german' as `almost always'\dots. +The differentiation into `almost always'\dots`hardly ever' was hoping to +aid memory. A few options were added to quesiton 2's list, but no +`new' options added ut to two or more. + +\subsection{Question 5} + +\beginQ +Please name five LaTeX +style files that are +particularly important +to you, even if you do +not use them a lot: +& Bitte nennen Sie fuenf +LaTeX-Style-Files, die fuer +Sie besonders wichtig sind, +auch wenn Sie sie nicht oft +benutzen: \\ +\endQ + +Little-used options (as per question 2) that now were given more +prominence are: fancyheadings, bezier, proc, epic, two/multicolumn, rcs, +idverb, biblist. + +\subsection{Question 6} + +\beginQ +What types of styles + (document or option) + currently not available + would improve the usage + of LaTeX at your site: & +welche Arten von Styles +(document style oder Option), +die es zur Zeit nicht gibt, +wuerden die Nutzungsmoeglichkeiten +von LaTeX an Ihrer Installation +verbessern: \\ +\endQ + +I will not delve into this, because my German is not sufficient for +deciphering handwriting. If I {\em have to\/} analyze this in a final +test, I will have to appoint somebody as translator. + +\section{Discussion} + +I feel (others can dispute this) that {\em users\/} categiorize options +into three: + +\begin{itemize} +\item Documentstyles (such as report, book, article) +\item Modifications of documentstyles (such as sober, layout, refman) +\item Added functionality (multicolumn, tabular) +\end{itemize} + +I don't think macros for modifying documentstyles should have to be +translated: Customizing the documentstyles (or bulding your own) +should be made {\em much easier\/}: If not, people will convert to +WordPerfect et el. Claiming that this will lead to chaos and +typesetting anarchy is plain arrogance: the new \LaTeX{}book should +give design hints. + +Some users wanted a facility for interactice placement of graphics. As a +compromise, the new \LaTeX{}book should carry an explanation as to the +fact that \LaTeX should have to do the floating, and the power of figure +and table environments, along with the use of `{\tt ref}' and `{\tt +label}', should be made more explicit. + +\LaTeX{} 3 should incorporate tables that continue along pages, a +multicolumn environment. + +{\em Everybodey\/} used either {\tt german.sty} or had hacked German +words into the standard document styles. These should be made obsolete +by a standard naming convention: E.g., {\em All\/} text-producing +commands should be converted to {\tt\verb+\+the} {\tt <} {\em english +text\/} {\tt >} {\tt name}, such as + +{\verb+\+\tt thechaptername} or {\verb+\+\tt thelistoffiguresname}. + +I think it might be confusing that in part of the questionnaire, we +ask for a particluar installation, in other parts for the repsondents +personal experience/opinion. I think we should state: + +\begin{itemize} \item We want to know about *your* use and *your* +opinions. \item We want to know about *your* use of options that are +*not* mentioned in the \LaTeX{}book. The options mentioned in the +\LaTeX{}book will be taken care of. \item By {\em options\/}, we mean +*both* \verb+{+document styles\verb+}+ and \verb+[+options\verb+]+. +\end{itemize} + +A *new and improved* questionnaire will be figured out shortly, pending +your comments. + +\end{document} |