# troff configuration file for WP2X.
#
# Written 12/15/89 by Raymond Chen.
#
# If you change this file, please make a note of it below
# and in the BEGIN string.
#
# Version 0.0:  Initial version.
# Version 1.0:  COMMENT tag added 23-Jul-1991.
# Version 1.1:  Improved comments, assorted new tags.
# Version 1.2:  New output scheme.
#
# Known bugs (err... design decisions).
#
# No attempt is made to insert \& at the start of every text line.
# So beware of lines that happen to begin with a period or an apostrophe.
#

# At the beginning of the file, we put in some identification.
BEGIN=".\\\" This file was created by the WP2X program, using a troff
.\\\" descriptor file (Version 1.2) written by Raymond Chen.
.\\\"
.\\\" Do not expect everything to be converted perfectly.
.\\\"
.\\\" The macro `hd' is our header, and `fo' is our footer.  By default,
.\\\" they do nothing (yet).  These macros are intentionally crude (they
.\\\" don't preserve the environment or anything) because you'll probably
.\\\" end up hand-editing them anyway.
.de hd
'sp 1
..
.de fo
'sp 1
..
.wh 0 hd
.wh -1 fo
.\\\"
.\\\" Conditional page eject macro.
.de CP
.ne \\\\$1/2u
..
"

# At the end of the file, we close up some tags.
END="\n.\\\"
.\\\" End of file
"

Comment="\n.\\\" "
comment="\n"

# Protect magic characters.
'\\'="\\e"

# Now the actual code expansions.

PageNo="%%"                  # insert page number (only works in head/footers)
RomanPage="\n.pn %1\n.af %% i\n" # set roman numerals
ArabicPage="\n.pn %1\n.af %% 1\n" # set arabic numerals

HSpace="\\ "                 # Unbreakable space

Tab="\t"                     # Leave tabs as is.
BeginTabs="\n.ta "
SetTab="%1 "
SetTabCenter="%1C "
SetTabRight="%1R "
SetTabDecimal="%1d "
EndTabs="\n"

HPg="\n.bp\n"               # Hard page forces a new page
CondEOP="\n.CP %1\n"        # Conditional end-of-page

HRt="\n.br\n"               # Hard return.
SRt="\n"                    # Soft return is a newline

-="-"                        # Hyphens are hyphens
--="-\\c\n"                  # Hyphen at the end of a line gets a \c
=="-"                        # Nonbreaking hyphen (does it exist?)
\-="\\%%"                    # Discretionary hyphen
\--="\\%%\\c\n"              # Discretonary hyphen at the end of the line

# Margins are left as comments, since changing the margin on the fly
# is tricky.
Marg="\n.\\\" left margin %1, right margin %2\n"
TopMarg="\n.\\\" top margin %1\n"     #$$
PageLength="\n.\\\" page length %1\n" #$$

# There is no way to do fractional spacing without playing with .vs
SS="\n.ls 1\n"
1.5S="\n.\\\" Switch to 1.5 spacing\n"
DS="\n.ls 2\n"
TS="\n.ls 3\n"
LS="\n.\\\" Switch to %1/2 spacing\n"
LPI="\n.\\\" Change to %1 lines per inch\n"

Bold="\\fB"                  # Boldface
bold="\\fP"
Und="\\fI"                   # Underlining uses italics
und="\\^\\fP"                # insert italic correction
Red="\\f(RE"                 # Change `RE' to your redline font
red="\\fP"
Strike="\\f(ST"              # Change `ST' to your strikeout font
strike="\\fP"
Rev="\\f(RV"                 # Change `RV' to your reverse font
rev="\\fP"

# Overstriking is nasty because WP puts the overstrike code AFTER
# the character being overstruck.  So we can't use the \o'...' service.
Over="\\h'-\\n(.wu'"
over=""

# Super and subscript are done by \u and \d.  If you want, use \v instead.
Sup="\\u"
sup="\\d"
Sub="\\d"
sub="\\u"

UpHalfLine="\\u"
DownHalfLine="\\d"
AdvanceToHalfLine="?" #$$

Indent="\n.in +0.5i\n"      # Indented paragraph
DIndent="\n.in +0.5i\n"     # not really, but we have to do it this way.
indent="\n.in -0.5i\n"      # so that this works
MarginRelease="\\h'-%1'"

Center="\n.ce 1\n"
center="\n"

# FlushRight
# flushright

Fn="\n.FS\n"                # Go write your own
fn="\n.FE\n"                # footnote and
En="\n.ES\n"                # endnote
en="\n.EE\n"                # macros
FNote#=""                    # Note numbers should be automatically generated.
ENote#=""

# Other random parameters
Hyph="\n.hy\n"
hyph="\n.nh\n"
NoHyphWord="\\%%"             # Suppress hyphenation of next word
Just="\n.ad\n"
just="\n.na\n"
Wid="\n.\\\" Widow protection on\n"
wid="\n.\\\" Widow protection off\n"

# Headers and footers.  These are totally bogus definitions, since
# they'll have `.' instead of apostrophes, but the purpose is to do
# some sort of conversion AT ALL.
Header="\n.de hd\n"            # new header macro
header="\n..\n"                # (totally bogus)
Footer="\n.de fo\n"            # new footer macro
footer="\n..\n"                # (totally bogus)

# These guys are left as comments, since actually doing them right
# requires all sorts of icky things I'd rather not think about.
Supp="\n.\\\" Suppress headers and footers on this page\n"
CtrPg="\n.\\\" Center this page vertically\n"
SetFont="\n.\\\" Change to %1 pitch, font %2\n"
SetBin="\n.\\\"%% Change to paper bin %1\n"

# Page numbering
PN0="\n.de hd\n.tl ''''\n..\n.de fo\n.tl ''''\n..\n"
PN1="\n.de hd\n.tl '%%'''\n..\n.de fo\n.tl ''''\n..\n"
PN2="\n.de hd\n.tl ''%%''\n..\n.de fo\n.tl ''''\n..\n"
PN3="\n.de hd\n.tl '''%%'\n..\n.de fo\n.tl ''''\n..\n"
PN4="\n.de hd\n.if e .tl '%%'''\n.el .tl '''%%'\n..\n.de fo\n.tl ''''\n..\n"
PN5="\n.de hd\n.tl ''''\n..\n.de fo\n.tl '%%'''\n..\n"
PN6="\n.de hd\n.tl ''''\n..\n.de fo\n.tl ''%%''\n..\n"
PN7="\n.de hd\n.tl ''''\n..\n.de fo\n.tl '''%%'\n..\n"
PN8="\n.de hd\n.tl ''''\n..\n.de fo\n.if e .tl '%%'''\n.el .tl '''%%'\n..\n"
