summaryrefslogtreecommitdiff
path: root/info/ltx3pub/l3d002g.tex
blob: de36a7d302c278a01742b0eaf64c3f9c52978a2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
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}