[comp.text] eqn/troff macros for generating logical quantifiers

anders@suadb.UUCP (Anders Bj|rnerstedt) (04/25/87)

 Does anyone have a decent set of eqn or troff macros for generating
the universal and the existential quantifier sign, used in logic
formulae ?

/usr/pub/eqnchar does have something called oppE and oppA, but these
do not produce a nice looking result on our system.

We have Sun-Berkeley unix 4.2 (release 1.2), where we use troff,
Transcript from Adobe, and an Apple LaserWriter.

 ---------------------

  Anders Bjornerstedt
  Department of Information Processing & Computer Science
  University of Stockholm
  S-106 91  Stockholm
  Sweden


UUCP:{seismo,mcvax,cernvax}!enea!suadb!anders
ARPA: enea!suadb!anders@seismo.arpa

 

ma_jaa@bath63.UUCP (04/29/87)

The following two string definitions produce acceptable representations
of the "for all" and "there is" symbols at most point sizes on our system.
However, the output is satisfactory only for the Times font; 
e.g. with the Helvetica font the shapes are ugly and unbalanced.
We use ptroff on HLH Orions driving a badge engineered Apple LaserWriter.
(note that the lines have been broken so as not to exceed 80 characters
in length - there are no spaces in either line after the first '\').

.ds qe \*(#[\h'0.1m'\v'-0.24m'\z\(ul\v'-0.4m'
\z\(ul\v'-0.4m'\z\(ul\v'0.88m'\h'0.4m'|\v'0.16m'\h'0.1m'\*(#]

.ds qa \*(#[\h'0.1m'\z\e\h'0.24m'\z\(sl\h'-0.16m'
\v'-0.15m'\(hy\v'0.15m'\h'0.2m'\*(#]

Hope these are useful. John.

ma_jaa@bath63.UUCP (05/02/87)

In article <1043@bath63.ux63.bath.ac.uk> ma_jaa@ux63.bath.ac.uk (Abbott) writes:
>The following two string definitions produce acceptable representations
>of the "for all" and "there is" symbols at most point sizes on our system.
>However, the output is satisfactory only for the Times font; 
>e.g. with the Helvetica font the shapes are ugly and unbalanced.
>We use ptroff on HLH Orions driving a badge engineered Apple LaserWriter.
>(note that the lines have been broken so as not to exceed 80 characters
>in length - there are no spaces in either line after the first '\').
>
>.ds qe \*(#[\h'0.1m'\v'-0.24m'\z\(ul\v'-0.4m'
>\z\(ul\v'-0.4m'\z\(ul\v'0.88m'\h'0.4m'|\v'0.16m'\h'0.1m'\*(#]
>
>.ds qa \*(#[\h'0.1m'\z\e\h'0.24m'\z\(sl\h'-0.16m'
>\v'-0.15m'\(hy\v'0.15m'\h'0.2m'\*(#]
>
>Hope these are useful. John.
>

The following definitions work reasonably for the Helvetica font (but not
Times). "for all" is a bit lop-sided at large or small point sizes.
Again the definitions have been broken into two lines so that they are less
than 80 characters long.

.ds qe \*(#[\h'0.1m'\v'-0.2m'\z\(ul\v'-0.46m'
\z\(ul\v'-0.46m'\z\(ul\v'0.88m'\h'0.44m'|\v'0.24m'\h'0.1m'\*(#]

.ds qa \*(#[\h'0.1m'\z\e\h'0.24m'\s+2\z\(sl\s-2\h'-0.14m'
\v'-0.15m'\(hy\v'0.15m'\h'0.2m'\*(#]

Note that the LaserWriter has its own "for all" and "there is" symbols with
codes 34 and 36 (decimal). We have fiddled with the correspondence tables so
that rarely used characters are replaced by more useful ones
e.g. registered mark (troff code "\(rg") in bold is "for all" so we define:
     .ds qa "\f3\(rg\fP

John.