summaryrefslogtreecommitdiff
path: root/support/s2latex/s2latex.tbl
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/s2latex/s2latex.tbl
Initial commit
Diffstat (limited to 'support/s2latex/s2latex.tbl')
-rw-r--r--support/s2latex/s2latex.tbl209
1 files changed, 209 insertions, 0 deletions
diff --git a/support/s2latex/s2latex.tbl b/support/s2latex/s2latex.tbl
new file mode 100644
index 0000000000..39455f45aa
--- /dev/null
+++ b/support/s2latex/s2latex.tbl
@@ -0,0 +1,209 @@
+.TH S2LATEX 1-local
+.SH NAME
+s2latex \- convert Scribe input files to TeX/Latex input files
+.SH SYNOPSIS
+.B s2latex
+[
+.B \-k
+] [
+.B \-q
+] [
+.B \-s
+symfile
+]
+file ...
+.br
+.SH DESCRIPTION
+.B S2latex
+reads the
+.I files
+and produces a
+.I Latex
+input file on the standard output. If no files are given, s2latex reads
+standard input.
+.TP
+.B -k
+outputs every unrecognized Scribe keyword to stderr.
+Default translation rules are applied to unrecognized keywords (i.e.,
+.I @keyword(...) \(-> \ekeyword{...}
+and
+.I @begin(env) \(-> \ebegin{env}).
+This option can be used to call your attention to keywords that should
+use other translation rules.
+.TP
+.B -q
+changes the processing of double quotes. Normally, double quotes are
+converted to directed single quotes (i.e., "..." \(-> `...'). This
+flag leaves the double quotes (they are printed from the "tt" font).
+.TP
+.B -s
+gives the name of a file containing additional or replacement
+translation rules for Scribe keywords or environments.
+Each line of this file should have the format:
+
+.I
+ word rule replacement
+
+.I word
+is the keyword or environment name (a keyword name is distinguished
+by a leading "@"). This name should be given in
+.B "lower case" .
+.I Rule
+is the name of the translation rule (see below). It can be in either case
+and only the first character is significant.
+.I Replacement
+is replacement text for the keyword. It
+must be given even if not required by the rule.
+.PP
+.B S2latex
+has 9 translation rules (read "\(->" as "is converted to"):
+.TP
+replace:
+.I @kw(...) \(-> \erep{...}
+.br
+.I @begin(env)...@end(env) \(-> \ebegin{rep}...\eend{rep}
+.br
+I.e., the keyword or environment
+name is simply replaced by a new name.
+.TP
+delete:
+.I @kw(...) \(-> ...
+.br
+.I @begin(env)...@end(env) \(-> ...
+.br
+I.e., the keyword or environment is deleted but the enclosed
+text is left.
+.TP
+font:
+.I @kw(...) \(-> {\erep ...}
+.br
+.I @begin(env)...@end(env) \(-> {\erep ...}
+.br
+This is the appropriate translation for
+a TeX font; i.e., @i(xyz) to {\eit xyz}.
+.TP
+environment:
+.I @kw(...) \(-> \ebegin{rep}...\eend{rep}
+.br
+.I @begin(env)...@end(env) \(-> \erep{...}
+.br
+I.e., a keyword is converted
+to an environment or an environment to a keyword.
+.TP
+itemize:
+.I @kw(...) \(-> \ebegin{rep}...\eend{rep}
+.br
+.I @begin(env)...@end(env) \(-> \ebegin{rep}...\eend{rep}
+.br
+In addition, the start of each new paragraph in the enclosed text
+will be preceded by a "\eitem\ ".
+.TP
+tag:
+(aka, "description"). Like
+.I itemize
+but the start of each new paragraph is preceded by "\eitem[" and
+the first tab in the paragraph is replaced by "]\ ". I.e., this is
+the Latex "description" environment.
+.TP
+comment:
+The keyword or environment and all of the text enclosed are output
+preceded by "%" (the TeX comment character). I.e., this "comments
+out" a keyword or environment.
+.TP
+alignment:
+.I @kw(...) \(-> \ebegin{rep}...\eend{rep}
+.I @begin(env)...@end(env) \(-> \ebegin{rep}...\eend{rep}
+.br
+Each Scribe tab in the enclosed text is replaced with "\ &\ " (the TeX
+alignment tab) and each newline is preceded by "\e\e".
+.TP
+nop:
+.I @kw(...) \(-> \erep{...}
+.br
+Like
+.I replace
+but has the side effect of saying this keyword generates no text. (This
+is used when s2latex is trying to identify the "tag" portion of a paragraph
+in a @description environment).
+.PP
+.B S2latex
+starts with the following translation rules. The user can augment
+or redefine any of these rules via the
+.B '-s'
+command line option.
+.sp
+.TS
+center;
+l1p8 l1p8 l1p8.
+@unnumbered REPLACE chapter*
+@bigsection REPLACE chapter
+@blankspace REPLACE vspace
+@ux REPLACE underline
+@example ENV example
+@center ENV center
+@i FONT it
+@u FONT it
+@un FONT it
+@b FONT bf
+@p FONT bf
+@t FONT tt
+@c FONT sc
+@r FONT rm
+@w FONT obeyspaces
+@itemize ITEMIZE itemize
+itemize ITEMIZE itemize
+@enumerate ITEMIZE enumerate
+enumerate ITEMIZE enumerate
+@description TAG description
+description TAG description
+@multiple DELETE -
+multiple DELETE -
+@format ALIGN tabular
+format ALIGN tabular
+@comment COMMENT comment
+comment COMMENT comment
+@index NOP index
+@tabs NOP tabs
+.TE
+.SH "SEE ALSO"
+tex(1), latex(1)
+.SH AUTHOR
+Van Jacobson, Lawrence Berkeley Laboratory (van@lbl-csam.arpa) with thanks
+to Richard Furuta for much help decoding Scribe.
+.SH BUGS
+.PP
+The program isn't intended to do a 100% conversion. It usually
+gets about 90% right on the first pass. With the addition of a
+few translation rules & some judicious editting of the Scribe input
+file, it can get you 99% of the way to a document that Latex will
+accept. This may still be a long way from a document that you'll
+accept but such are the joys of typesetting.
+.PP
+The "parse error at line xxx" message isn't all that helpful. Start by
+looking in the input file around the line number given.
+Errors are usually caused by:
+.IP \(bu 2n
+a Scribe macro or environment definition.
+Delete it from the input file & try again.
+.IP \(bu 2n
+some interesting new way to do "descriptions" or "formats". If it's
+a description, either fix things so s2latex can find the tag or
+put in a dummy tag so that the rest of the description environment
+doesn't get screwed up. If it's a format, either the fixup will be
+obvious or you should change to format keyword to something
+unrecognized & fix things later in the output file.
+.PP
+The following two character control sequences probably
+should be converted to something but aren't:
+@!, @$, @:, @/, @|, @&, @), @# and @].
+.PP
+In a format environment, all Scribe tab commands
+(@\e, @=, @>, @^) get converted to
+the TeX alignment tab (&).
+.PP
+A lot better job could be done on formats and macro
+definitions.
+
+
+
+