%%% ==================================================================== %%% @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" 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 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 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 >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 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 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}