[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 02/11: eqn(1): Revise.

From: G. Branden Robinson
Subject: [groff] 02/11: eqn(1): Revise.
Date: Tue, 23 May 2023 16:25:34 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit c7c0797deeef169cc742a7f56c2e055bcb15b731
Author: G. Branden Robinson <>
AuthorDate: Mon May 22 09:28:13 2023 -0500

    eqn(1): Revise.
    * Retitle section "Automatic spacing" to "Spacing and typeface" and
      discuss both topics.
    * Update internal cross references thereto.
    * Update "chartype" description table in this section to include entries
      for "letter" and "digit".
    * Drop caveat in this section about quoting to prevent macro expansion;
      this is covered in section "Caveats" now.
    * Expand default chartype assignment table to include lowercase Greek
      letters (special characters).
    * Quote chartype names in that table.
    * More consistently quote eqn keywords that are also ordinary English
      words, to visibly mark them when the man page is formatted (more
      likely, copied and pasted) with no font styling.
    * Discuss handling of Greek lowercase letters.
    * Use a much wider tag indentation for the long list of tunable
      parameters, since they have such long names.  You can tell this
      feature didn't come from the Bell Labs CSRC--no one would have dared
      risk the wrath of Thompson with these identifers.
    * Shift mention of the TeXbook's Appendix H to "See also" section.
    * Document bug in rendering of lowercase Greek letters in nroff mode.
    * Use active voice more.
    * Tighten wording.
    * Adjust dead-tree pagination.
 src/preproc/eqn/ | 123 +++++++++++++++++++++++++++++-----------------
 1 file changed, 77 insertions(+), 46 deletions(-)

diff --git a/src/preproc/eqn/ b/src/preproc/eqn/
index 411ec0d05..3fd43127f 100644
--- a/src/preproc/eqn/
+++ b/src/preproc/eqn/
@@ -149,7 +149,8 @@ or if
 .I file
 .RB \[lq] \- \[rq],
-the standard input stream is read.
+.I @g@eqn
+reads the standard input stream.
@@ -400,13 +401,14 @@ Lf(CR) Lf(CR).
 .\" ====================================================================
-.SS "Automatic spacing"
+.SS "Spacing and typeface"
 .\" ====================================================================
 .I eqn
 imputes a type to each component of an equation,
-adjusting the spacing between them accordingly.
+assigning a typeface to
+and adjusting the spacing between them accordingly.
 Recognized types are as follows.
@@ -414,13 +416,20 @@ Recognized types are as follows.
 .RS 2n \" we need quite a bit of space for this table
+Lf(CR) Lx
+Af(CR) Lx
+Af(CR) Lx
 Lf(CR) Lx.
 ordinary       T{
-an ordinary character such as \[lq]1\[rq] or
-.RI \[lq] x \[rq]
+character such as \[lq]1\[rq],
+or \[lq]\[mu]\[rq]
+letter alphabetic character
+digit  numeral
 operator       T{
-a large operator such as
+large operator such as
 .ds Su \[lq]\s+5\[*S]\s0\[rq]
 .if \n(.g .if !c\[*S] .ds Su the summation operator
@@ -440,10 +449,6 @@ suppress   component to which automatic spacing is not 
 Two primitives apply types to equation components.
-Quote type names in
-.I eqn
-commands to prevent macro expansion from being attempted on their names.
 .BI type\~ "t e"
@@ -464,11 +469,9 @@ persistently.
 .I t
-.RB \[lq] letter \[rq]
-.RB \[lq] digit \[rq],
+.RB \[lq] letter \[rq],
 .B \%chartype
-also assigns a typeface to each character in
+also assigns the italic typeface to each character in
 .IR text .
 See subsection \[lq]Fonts\[rq] below.
@@ -483,14 +486,25 @@ sets up default spacings as if by the following commands.
 Lf(CR) Lf(CR).
-chartype letter@abcdefghiklmnopqrstuvwxyz
-chartype binary@*\[rs][pl]\[rs][mi]
-chartype relation@<>\[rs][eq]\[rs][<=]\[rs][>=]
-chartype opening@{([
-chartype closing@})]
-chartype punctuation@,;:.
-chartype suppress@\[ha]\[ti]
+chartype \[dq]letter\[dq]@abcdefghiklmnopqrstuvwxyz
+chartype \[dq]letter\[dq]@ABCDEFGHIKLMNOPQRSTUVWXYZ
+Lf(CR)t Lf(CR)
+^ Lf(CR)
+^ Lf(CR)
+^ Lf(CR).
+Lf(CR) Lf(CR).
+chartype \[dq]binary\[dq]@*\[rs][pl]\[rs][mi]
+chartype \[dq]relation\[dq]@<>\[rs][eq]\[rs][<=]\[rs][>=]
+chartype \[dq]opening\[dq]@{([
+chartype \[dq]closing\[dq]@})]
+chartype \[dq]punctuation\[dq]@,;:.
+chartype \[dq]suppress\[dq]@\[ha]\[ti]
@@ -502,11 +516,23 @@ assigns all other ordinary and special
 including numerals 0\[en]9,
-.B ordinary
+.RB \[lq] ordinary \[rq]
-.\" XXX: Talk about lowercase Greek letters once our story is straight.
-.\" See Savannah #64231.
+.RB \[lq] digit \[rq]
+type is not used by default,
+but is available for customization.)
+.\" XXX: How would you actually customize it, though?  There doesn't
+.\" seem to be a means of replacing the font associated with a type.
+.\" Is the "digit" type just cruft?
+In keeping with common practice in mathematical typesetting,
+but not uppercase,
+Greek letters are assigned the
+.RB \[lq] letter \[rq]
+type to style them in italics.
 .\" ====================================================================
@@ -557,7 +583,7 @@ The GNU extension primitives
 .RB \[lq] type \[rq]
 .B \%chartype
-are discussed in subsection \[lq]Automatic spacing\[rq] above;
+are discussed in subsection \[lq]Spacing and typeface\[rq] above;
 .RB \[lq] set \[rq]
 in subsection \[lq]Customization\[rq] below;
@@ -718,7 +744,7 @@ but
 is not subject to macro expansion because it is quoted;
 .I text
 is split up and the spacing between individual characters adjusted
-per subsection \[lq]Automatic spacing\[rq] above.
+per subsection \[lq]Spacing and typeface\[rq] above.
@@ -741,7 +767,7 @@ is not quoted it is subject to macro expansion;
 .I text
 is not split up and the spacing between individual characters
 .I not
-adjusted per subsection \[lq]Automatic spacing\[rq] above.
+adjusted per subsection \[lq]Spacing and typeface\[rq] above.
@@ -937,6 +963,8 @@ It has no effect if the equation is part of a
 . 8v
 .\" ====================================================================
 .SS "Extended primitives"
 .\" ====================================================================
@@ -1053,7 +1081,7 @@ with defaults shown in parentheses.
 We intend these descriptions to be expository rather than rigorous.
+.TP 18n
 .B minimum_size
 sets a floor for the type size
 (in scaled points)
@@ -1336,7 +1364,7 @@ The baselines of the rows in a pile or matrix are 
normally this far
 .RB ( 140 ).
-In most cases this should be equal to the sum of
+Usually equal to the sum of
 .B num1
 .BR denom1 .
@@ -1348,7 +1376,7 @@ The midpoint between the top baseline and the bottom 
baseline in a
 matrix or pile is shifted down by this much from the axis
 .RB ( 26 ).
-In most cases this should be equal to
+Usually equal to
 .BR axis_height .
@@ -1442,13 +1470,6 @@ most devices;
 .BR utf8 ,
 .BR cp1047 ).
-.I "The \*[tx]book"
-discusses many of these parameters in greater detail.
@@ -1622,12 +1643,11 @@ The lowercase classical Greek letters are available as
 .BR zeta .
-Obtain their uppercase forms by spelling these names with an initial
-capital letter or in full capitals,
-as in
-.B \%Alpha
-.BR \%ALPHA .
+Spell them with an initial capital letter
+.RB \%( Alpha )
+or in full capitals
+.RB \%( ALPHA )
+to obtain uppercase forms.
@@ -1678,8 +1698,8 @@ primitive
 sets a character's type,
 which determines the face used to set it.
-The \[lq]letter\[rq] type is set in italics,
-and \[lq]digit\[rq] in roman.
+The \[lq]letter\[rq] type is set in italics;
+others are set in roman.
 Use the
 .B bold
@@ -1968,6 +1988,13 @@ beginning of the input line.
 .SH Bugs
 .\" ====================================================================
+.I nroff \" mode
+lowercase Greek letters are rendered in roman instead of italic style.
 In MathML mode,
 .B mark
@@ -2008,6 +2035,10 @@ by Donald E.\& Knuth,
 Addison-Wesley Professional.
+discusses many of the parameters from section \[lq]Customization\[rq]
+above in greater detail.
 .MR groff_char @MAN7EXT@ ,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]