diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/s2latex/s2latex.tbl |
Initial commit
Diffstat (limited to 'support/s2latex/s2latex.tbl')
-rw-r--r-- | support/s2latex/s2latex.tbl | 209 |
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. + + + + |