home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
cawf407.zip
/
00diffs
next >
Wrap
Text File
|
1993-12-28
|
14KB
|
424 lines
Differences between Cawf and Nroff or Troff
===============================================
1. Cawf supports some nroff and troff requests.
===============================================
Font and Character Size Control
cawf
.ps Point size Yes
.fz font F to point size +-N No
.fz Special Font characters to point size +-N No
.ss Space-character size No
.cs Constant character No
.bd Embolden font F by N-1 units No
.bd Embolden Special Font when current font is F No
.ft Change to font Yes
.fp Font named F mounted on physical position 1<=N<=4 No
.pl Page length Yes
.bp Eject current page; next page number N Yes [1]
.pn Next page number N No
.po Page offset Yes
.ne Need N vertical space Yes
.mk Mark current vertical place in register R No
.rt Return (upward only) to marked vertical place No
Text Filling, Adjusting, and Centering
.br Break Yes
.fi Fill output lines Yes
.nf No filling or adjusting of output lines Yes
.ad Adjust output lines with mode c Yes [2]
.na No output line adjusting Yes
.ce Center following N input text lines Yes
Vertical Spacing
.vs Vertical base line spacing (V) Yes
.ls Output N-1 Vs after each text output line Yes
.sp Space vertical distance N in either direction Yes [3]
.sv Save vertical distance N No
.os Output saved vertical distance No
.ns Turn no-space mode on Yes
.rs Restore spacing; turn no-space mode off Yes
Line Length and Indenting
.ll Line length Yes
.in Indent Yes
.ti Temporary indent Yes
Macros, Strings, Diversion, and Position Traps
.de Define or redefine macro xx; end at call of yy Yes [4]
.am Append to a macro No
.ds Define a string xx containing <string> Yes
.as Append <string> to string xx No
.rm Remove request, macro, or string Yes
.rn Rename request, macro, or string xx to yy Yes
.di Divert output to macro xx Yes [5]
.da Divert and append to xx No
.wh Set location trap; negative is w.r.t. page bottom No [6]
.ch Change trap location No
.dt Set a diversion trap No
.it Set an input-line count trap Yes
.em End macro is xx No
Number Registers
.nr Define and set number register R; auto-increment by M Yes [7]
.af Assign format to register R (c=1, i, I, a, A) No [8]
.rr Remove register I Yes
Tabs, Leaders, and Fields
.ta Tab settings; left type, unless t=R (right), C (centered) Yes [8]
.tc Tab repetition character No
.lc Leader repetition character No
.fc Set field delimiter a and pad character b No
Input and Output Conventions and Character Translations
.ec Set escape character No
.eo Turn off escape character mechanism No
.lg Ligature mode on if N>0 Yes [9]
.ul Underline (italicize in troff) N input lines No
.cu Continuous underline in nroff; like .ul in troff No
.uf Underline font set to F (to be switched to by .ul) No
.cc Set control character to c No
.c2 Set nobreak control character to c No
.tr Translate a to b, etc. on output Yes
Local Horizontal and Vertical Motions, and the Width Function
Overstrike, Bracket, Line-drawing, and Zero-width Functions
Hyphenation
.nh No hyphenation No
.hy Hyphenate; I = mode No
.hc Hyphenation indicator character c No
.hw Exception words No
Three Part Titles.
.tl Three part title Yes
.pc Page number character No
.lt Length of title Yes
Output Line Numbering.
.nm Number mode on or off, set parameters No
.nn Do not number next \fIN\fR lines No
Conditional Acceptance of Input
.if If condition c true, accept <anything> as input, for Yes [10]
multi-line use <\{anything\}>
.if If condition c false, accept <anything> Yes [10]
.if If expression N > 0, accept <anything> No
.if If expression N <= 0, accept <anything> No
.if If <string1> identical to <string2> accept <anything> Yes [10]
.if If <string1> not identical to <string2> accept <anything> Yes [10]
.ie If portion of if-else; all above forms (like .if) Yes [10]
.el Else portion of if-else Yes
Environment Switching.
.ev Environment switched (push down) No
Insertions from the Standard Input
.rd Read insertion No
.ex Exit from nroff or troff No
Input/Output File Switching
.so Switch source file (push down) Yes [11]
.nx Next file No
.pi Pipe output to program (nroff only) No
Miscellaneous
.mc Set margin character c and separation N No
.tm Print <string> on terminal (UNIX standard error) Yes
.ig Ignore till call of yy No
.pm Print macro names and sizes; if t present, print only No
total of sizes
.ab Print a message and abort No
.fl Flush output buffer Yes
Notes
[1] Can't specify next page number N on .bp.
[2] Can't specify mode c on .ad.
[3] Can only space forward vertically with .sp.
[4] Cannot redefine end of macro call yy for .de. It is always ``..''.
[5] Can only divert to /dev/null with .di.
[6] Some page header and footer handling is built in.
[7] Auto-increment not supported for .nr.
[8] Only left adjusted tabs are supported for .ta.
[9] The .i0 (obsolete), .lg and .li (obsolete) requests are silently ignored.
[10] The only .if and .ie conditions supported are numeric comparisons on
arguments; string comparisons between a macro parameter and a literal;
n for nroff, always true; and t for troff, always false.
The \{anything\} block construct is not supported for .if or .ie.
[11] The .so push-down stack is limited to five entries.
=====================================================================
2. Cawf supports some nroff or troff escape sequences for characters,
indicators, and functions.
=====================================================================
Escape
Sequence Meaning cawf
\\ Prevent or delay the interpretation of \ Yes [12]
\e Printable version of the current escape character Yes [12]
\' ' (acute accent); equivalent to \(aa Yes [12]
\` ` (grave accent); equivalent to \(ga Yes [12]
\- - Minus sign in the current font Yes [12]
\. Period (dot) (see .de) No
\(space) Unpaddable space-size space character No
\0 Digit width space Yes [13]
\| 1/6 em narrow space character (zero width in nroff) Yes [13]
\^ 1/12 em half-narrow space character (zero width in nroff) Yes [13]
\& Non-printing, zero width character Yes [13]
\! Transparent line indicator No
\" Beginning of comment Yes
\$N Interpolate argument 1<=IN<=9 Yes
\% Default optional hyphenation character Yes
\(xx Character named xx Yes
\*x Interpolate string x Yes
\(*xx Interpolate string xx Yes
\a Non-interpreted leader character No
\b'abc...' Bracket building function
\c Interrupt text processing Yes
\d Forward (down) (1/l2 em vertical motion (1/2 line in No
nroff)
\fx Change to font named x Yes
\f(xx Change to font named xx No
\fN Change to font position N No
\h'N' Local horizontal motion; move right N (negative left) Yes [14]
\k Mark horizontal input place in register x Yes
\l'Nc' Horizontal line drawing function (optionally with c) No
\L'Nc' Vertical line drawing function (optionally with c) No
\nx \n(xx Interpolate number register x or xx Yes
\o'abc...' Overstrike characters a, b, c, ... No
\p Break and spread output line No
\r Reverse 1 em vertical motion (reverse line in nroff) No
\sN \s+-N Point-size change function No [15]
\t Non-interpreted horizontal tab No
\u Reverse (up) 1/l2 em vertical motion (1/2 line in nroff) No
\v'N' Local vertical motion; move down N (negative up) No
\w'string' Interpolate width of <string> Yes
\x'N' Extra line-space function (negative before, positive No
after)
\zc Print c with zero width (without spacing) No
\{ Begin conditional input No
\} End conditional input No
\(newline) Concealed (ignored) newline No
\X X, any character not listed above Yes
Notes
[12] These characters are defined in cawf's standard dumb.dev file.
[13] The characters are defined to be zero-length in cawf's standard
dumb.dev file.
[14] Only right horizontal motions (positive N) are permitted with \h.
[15] \s is silently ignored.
=========================================================================
3. Cawf supports some nroff or troff predefined general number registers.
=========================================================================
Register
Name Description Cawf
\% Current page number Yes
c. Number of lines read from current input file No
ct Character type (set by width function) No
dl Width (maximum) of last completed diversion No
dn Height (vertical size) of last completed diversion No
dw Current day of the week (1-7) No
dy Current day of the month (1-31) No
hp Current horizontal place on input line (not in ditroff) No
ln Output line number No
mo Current month (1-12) No
nl Vertical position of last printed text base-line No
sb Depth of string below base line (generated by width function) No
st Height of string above base line (generated by width No
function)
yr Last two digits of current year No
==========================================================================
4. There is no cawf support for nroff or troff predefined read-only number
registers.
==========================================================================
Register
Name Description
.$ Number of arguments available at the current macro level
.A Set to 1 in troff, if -a option used; always 1 in nroff
.H Available horizontal resolution in basic units
.L Set to current line-spacing (ls) parameter.
.P Set to 1 if the current page is being printed; otherwise 0.
.T Set to 1 in nroff, if \-T option used; always 0 in troff.
.V Available vertical resolution in basic units
.a Post-line extra line-space most recently utilized \
.c Number of lines read from current input file
.d Current vertical place in current diversion; equal to nl,
if no diversion
.f Current font as physical quadrant (1-4)
.h Text base-line high-water mark on current page or diversion
.i Current indent
.j Current adjustment mode and type
.k Length of text portion on current partial output line
.l Current line length
.n Length of text portion on previous output line
.o Current page offset
.p Current page length
.s Current point size
.t Distance to the next trap
.u Equal to 1 in fill mode and 0 in nofill mode
.v Current vertical line spacing
.w Width of previous character
.x Reserved version-dependent register
.y Reserved version-dependent register
.z Name of current diversion
==========================================================================
5. Cawf defines some nroff and troff special characters its dumb.dev file.
Their display is effected with overstrike -- i.e., combinations of
characters and interspersed backspaces.
==========================================================================
Character
Escape Code Description
\(bu bullet
\(sq square
\(ru rule
\(14 1/l4
\(12 1/l2
\(34 3/l4
\(de degree
\(dg dagger
\(fm foot mark
\(ct cent sign
\(rg registered
\(co copyright
\(pl math plus
\(mi math minus
\(eq math equals
\(** math star
\(sc section
\(aa acute accent
\(ga grave accent
\(ul underrule
\(sl slash (matching backslash)
\(*a alpha
\(*b beta
\(*g gamma
\(*d delta
\(*e epsilon
\(*z zeta
\(*y eta
\(*h theta
\(*i iota
\(*k kappa
\(*l lambda
\(*m mu
\(*n nu
\(*c xi
\(*o omicron
\(*p pi
\(*r rho
\(*s sigma
\(ts terminal sigma
\(*t tau
\(*u upsilon
\(*f phi
\(*x chi
\(*q psi
\(*w omega
\(*G Gamma
\(*D Delta
\(*H Theta
\(*L Lambda
\(*C Xi
\(*P Pi
\(*S Sigma
\(*U Upsilon
\(*F Phi
\(*Q Psi
\(*W Omega
\(sr square root
\(rn root en extender
\(>= >=
\(<= <=
\(== identically equal
\(~= approximately =
\(ap approximates
\(!= not equal
\(-> right arrow
\(<- left arrow
\(ua up arrow
\(da down arrow
\(mu multiply
\(di divide
\(+- plus-minus
\(cu cup (union)
\(ca cap (intersection)
\(sb subset of
\(sp superset of
\(ib improper subset
\(ip improper superset
\(if infinity
\(pd partial derivative
\(gr gradient
\(no not
\(is integral sign
\(pt proportional to
\(es empty set
\(mo member of
\(br box vertical rule
\(dd double dagger
\(rh right hand
\(lh left hand
\(bs Bell System logo
\(or or
\(ci circle
\(lt left top of big curly bracket
\(lb left bottom
\(rt right top
\(rb right bottom
\(lk left center of big curly bracket
\(rk right center of big curly bracket
\(bv bold vertical
\(lf left floor (left bottom of big square bracket)
\(rf right floor (right bottom)
\(lc left ceiling (left top)
\(rc right ceiling (right top)
Vic Abell <abe@cc.purdue.edu>