# TeX configuration file for WP2X.
#
# Written 5/20/89 by Raymond Chen.
# Updated 7/05/91 by Raymond Chen.
#
# If you change this file, please make a note of it below
# and in the BEGIN string.  (And probably also in the typeout
# string.)
#
# Version 0.0:  Initial version.
# Version 0.1:  Add more magic characters.
# Version 0.2:  Add new tags, reorder existing tags for easier comparison.
# Version 0.3:  Fix Note#
# Version 0.4:  Fix some %'s that weren't doubled
# Version 0.5:  Discuss { } \
# Version 0.6:  New output scheme.

typeout="TeX descriptor file for WP2X by Raymond Chen\n"

# At the beginning of the file, we put some macros which are
# used by the page numbering routines.

BEGIN="%% This file was created by the WP2X program, using a TeX
%% descriptor file (Version 0.6) written by Raymond Chen.
%% Do not expect everything to be converted perfectly.
%%
%% Macros for page numbering.
\\def\\numberleft{\\tenrm\\folio\\hss}
\\def\\numbercenter{\\hss\\tenrm\\folio\\hss}
\\def\\numberright{\\tenrm\\folio\\hss}
\\def\\numberevenodd{\\ifodd\\pageno\\numberright\\else\\numberleft\\fi}
%% Macros for conditional end of page
\\def\\CondEOP#1{\\vskip0pt plus#1\\baselineskip\\penalty0
               \\vskip0pt plus-#1\\baselineskip}
%%

"

END="\\vfill\\eject\\end
%% That's all, folks.
"

# How to make a one-line comment in TeX.
Comment="%\n%% "
comment="\n"

# Protect magic characters.
'%'="\\%%"
'$'="\\$"
'#'="\\#"
'&'="\\&"
'^'="\\^{}"
'_'="\\_"
'~'="\\~{}"

# Curly braces and backslashes are intentionally left untranslated.
# If you want them to be converted, uncomment these three lines.
#
#   '{'="$\\{$"
#   '}'="$\\}$"
#   '\\'="$\\backslash$"
#
# These characters are left untranslated because they do not exist
# in the TeX font tables.  I.e., they won't be printed in boldface
# or italic or whatever font you selected; they always come from
# the math font.

# Now the actual code expansions.

PageNo="\\folio{}"           # insert page number
RomanPage="\\pageno=-%1 "    # set roman numerals
ArabicPage="\\pageno=%1 "    # set arabic numerals

HSpace="~"                   # Unbreakable space

# If you use tables, you may want to change the definition of Tab below.
Tab="%\n\n\\indent "         # Tabs mean to indent and start a new para.

BeginTabs="%\n%% [Tab settings at "
SetTab="%1 "
SetTabCenter="%1(center) "
SetTabRight="%1(right) "
SetTabDecimal="%1(decimal) "
EndTabs="]\n"

HPg="%\n\\vfill\\eject\n"    # Hard page is just a \vfill\eject
CondEOP="\\CondEOP{%1}"      # Conditional end-of-page

HRt="%\n\n"                  # Hard return becomes a blank line
SRt="%\n"                    # Soft return is a newline

-="-"                        # Hyphens are hyphens
--="-%%\n"                   # Hyphen at the end of a line gets a %
=="{-}"                      # Nonbreaking hyphen
\-="\\-"                     # Discretionary hyphen
\--="\\-%%\n"                # Discretionary hyphen at the end of the line

# Margins are left as comments, since TeX margins are rather hairy
# The only interesting that left/right margins does is end the paragraph.
Marg="%\n\n%% left margin %1, right margin %2\n"
TopMarg="%\n%% top margin %1\n"
PageLength="%\n%% page length %1\n"

# Line spacing changes are treated by storing the proper value into
# \baselineskip.

SS="\\baselineskip=\\normalbaselineskip\n"
1.5S="\\baselineskip=1.5\\normalbaselineskip\n"
DS="\\baselineskip=2\\normalbaselineskip\n"
TS="\\baselineskip=3\\normalbaselineskip\n"
LS="\\baselineskip=%1\\normalbaselineskip \\divide\\baselineskip by2\n"
LPI="%\n%% Change to %1 lines per inch\n"

Bold="{\\bf "                # Boldface
bold="}"
Und="{\\it "                 # Underlining is in italics
und="\\/}"                   # with italic correction stuck in always.
Red="{\\redline "            # Redline
red="}"
Strike="{\\strikeout "       # Strikeout
strike="}"
Rev="{\\reverse "            # Reverse video
rev="}"
Over="\\llap{"               # Overprinting is faked with \llap
over="}"
Sup="\\raise.5ex\\hbox{"     # fake superscript
sup="}"
Sub="\\lower.5ex\\hbox{"     # fake subscript
sub="}"

# UpHalfLine, DownHalfLine, AdvanceToHalf -- undefined

Indent="%\n\n{\\narrower "   # Indented paragraphs use \narrower; this
DIndent="%\n\n{\\narrower "  # is not a perfect solution, but it's a start.
indent="\\par}"
MarginRelease="\\leavevmode\\kern-%1em "

Center="%\n\n\\centerline{"
center="}"
CenterHere="\\centerhere{"   # Not supported
centerhere="}"

Align="\\align{"             # Not supported
align="}"
FlushRight="\\rightline{"
flushright="}"

# Math, math, MathCalc, MathCalcColumn, SubTtl, IsSubTtl, Ttl, IsTtl, GrandTtl
# Col, col -- undefined

Fn="\\note{"                 # This uses the \note macros in the TeXbook
fn="}"
SetFn#="\\notenumber=%1 "
En="\\endnote{"              # You'll have to write your own \endnote macro
en="}"
FNote#=""                    # Note numbers are automatically generated.
ENote#=""                    # Note numbers should be automatically generated.

# TableMarker -- undefined

Hyph="\\hyphenpenalty=50\n"        # Allow hyphenation
hyph="\\hyphenpenalty=10000\n"     # Disable hyphenation
NoHyphWord="\\hbox{}"              # Suppress hyphenation of next word
Just="\\rightskip=0pt\n"           # Right justify
just="\\raggedright\n"             # Ragged right
Wid="\\clubpenalty=150 \\widowpenalty=150\n" # Widow protection
wid="\\clubpenalty=0 \\widowpenalty=0\n" # Allow widows

# HZone, DAlign -- undefined

# Headers and footers
Header="\\headline={"
header="}"
Footer="\\footline={"
footer="}"

# 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="\\headline={\\hss}\\footline={\\hss}%%\n"
PN1="\\headline={\\numberleft}\\footline={\\hss}%%\n"
PN2="\\headline={\\numbercenter}\\footline={\\hss}%%\n"
PN3="\\headline={\\numberright}\\footline={\\hss}%%\n"
PN4="\\headline={\\numberevenodd}\\footline={\\hss}%%\n"
PN5="\\headline={\\hss}\\footline={\\numberleft}%%\n"
PN6="\\headline={\\hss}\\footline={\\numbercenter}%%\n"
PN7="\\headline={\\hss}\\footline={\\numberright}%%\n"
PN8="\\headline={\\hss}\\footline={\\numberevenodd}%%\n"
