summaryrefslogtreecommitdiff
path: root/info/digests/texhax/txh/pretex.txh
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 /info/digests/texhax/txh/pretex.txh
Initial commit
Diffstat (limited to 'info/digests/texhax/txh/pretex.txh')
-rw-r--r--info/digests/texhax/txh/pretex.txh390
1 files changed, 390 insertions, 0 deletions
diff --git a/info/digests/texhax/txh/pretex.txh b/info/digests/texhax/txh/pretex.txh
new file mode 100644
index 0000000000..a88f07ab0a
--- /dev/null
+++ b/info/digests/texhax/txh/pretex.txh
@@ -0,0 +1,390 @@
+28-Jan-87 05:11:16-PST,16195;000000000000
+Return-Path: <CHAA006%vaxb.rhbnc.ac.uk@Cs.Ucl.AC.UK>
+Received: from Cs.Ucl.AC.UK by SU-SCORE.ARPA with TCP; Wed 28 Jan 87 05:06:51-PST
+Received: from vaxb.rhbnc.ac.uk by mv1.Cs.Ucl.AC.UK via Janet with NIFTP
+ id aa03008; 28 Jan 87 12:48 WET
+Date: 28-JAN-1987 12:48:16
+From: CHAA006%vaxb.rhbnc.ac.uk@Cs.Ucl.AC.UK
+To: TEXHAX <@Cs.Ucl.AC.UK:TEXHAX@score.stanford.edu>
+Subject: Pretex
+
+In the light of experience, I have modified the source of Pretex (the
+DEC-169 to TeX conversion utility). The original version produced
+TeX composite sequences for all TeX active characters (e.g. {, }. \);
+the new version passes through unchanged all characters in the range
+ASCII 0..126 with the exception of double-quote, less- and greater-than,
+and solidus, for which four characters composite sequences are still
+produced. ** Phil
+
+Philip Taylor (Royal Holloway & Bedford New College; University of London; U.K)
+
+Bitnet/NetNorth/Earn: chaa006@vaxa.rhbnc.ac.uk (or) chaa006%rhbnc.vaxa@ac.uk
+ (or) : chaa006@vaxb.rhbnc.ac.uk (or) chaa006%rhbnc.vaxb@ac.uk
+
+ Arpa : chaa006%vaxa.rhbnc.ac.uk@ucl-cs.arpa
+ (or) : chaa006%vaxb.rhbnc.ac.uk@ucl-cs.arpa
+
+================================== PRETEX.PAS ==================================
+
+program pretex (input, output, dec169in, texout);
+
+{ This program will read DEC-169 files, and produce TeX files as output }
+
+const max = 80; debug = true;
+
+type string = varying [max] of char; word = 0 .. 65535;
+
+type dec169 = (nul, soh, stx, etx, eot, enq, ack, bel, bs, ht, lf, vt, ff, cr,
+ so, si, dle, dc1, dc2, dc3, dc4, nak, syn, etb, can, em, sub,
+ esc, fs, gs, rs, us, space, exclamation, double_quote, hash,
+ dollar, per_cent, ampersand, acute, open_round, close_round, asterisk,
+ plus, comma, minus, period, slash, digit_0, digit_1, digit_2,
+ digit_3, digit_4, digit_5, digit_6, digit_7, digit_8, digit_9,
+ colon, semi_colon, less_than, equals, greater_than,
+ interrogative, commercial_at, upper_case_A, upper_case_B,
+ upper_case_C, upper_case_D, upper_case_E, upper_case_F,
+ upper_case_G, upper_case_H, upper_case_I, upper_case_J,
+ upper_case_K, upper_case_L, upper_case_M, upper_case_N,
+ upper_case_O, upper_case_P, upper_case_Q, upper_case_R,
+ upper_case_S, upper_case_T, upper_case_U, upper_case_V,
+ upper_case_W, upper_case_X, upper_case_Y, upper_case_Z,
+ open_square, back_slash, close_square, caret, underscore,
+ grave, lower_case_a, lower_case_b, lower_case_c, lower_case_d,
+ lower_case_e, lower_case_f, lower_case_g, lower_case_h,
+ lower_case_i, lower_case_j, lower_case_k, lower_case_l,
+ lower_case_m, lower_case_n, lower_case_o, lower_case_p,
+ lower_case_q, lower_case_r, lower_case_s, lower_case_t,
+ lower_case_u, lower_case_v, lower_case_w, lower_case_x,
+ lower_case_y, lower_case_z, open_brace, solidus, close_brace,
+ tilde, del, k128, k129, k130, k131, ind, nel, ssa, esa, hts,
+ htu, vts, pld, plu, ri, ss2, ss3, dcs, pu1, pu2, sts, cch, mw,
+ spa, epa, k152, k153, k154, csi, st, osc, pm, apc, k160,
+ inverted_exclamation, cent, pound, k164, yen, k166, section,
+ currency, copyright, lower_case_a_underscored, open_guillemets,
+ k172, k173, k174, k175, degree, plus_minus, super_2, super_3,
+ k180, mu, paragraph, centred_period, k184, super_1,
+ lower_case_o_underscored, close_guillemets, quarter,
+ half, k190, inverted_interrogative, upper_case_A_grave,
+ upper_case_A_acute, upper_case_A_caret, upper_case_A_tilde,
+ upper_case_A_trema, upper_case_A_ring, upper_case_AE_digraph,
+ upper_case_C_cedilla, upper_case_E_grave, upper_case_E_acute,
+ upper_case_E_caret, upper_case_E_trema, upper_case_I_grave,
+ upper_case_I_acute, upper_case_I_caret, upper_case_I_trema,
+ k208, upper_case_N_tilde, upper_case_O_grave,
+ upper_case_O_acute, upper_case_O_caret, upper_case_O_tilde,
+ upper_case_O_trema, upper_case_OE_digraph,
+ upper_case_O_slashed, upper_case_U_grave, upper_case_U_acute,
+ upper_case_U_caret, upper_case_U_trema, upper_case_Y_trema,
+ k222, beta, lower_case_a_grave, lower_case_a_acute,
+ lower_case_a_caret, lower_case_a_tilde, lower_case_a_trema,
+ lower_case_a_ring, lower_case_ae_digraph, lower_case_c_cedilla,
+ lower_case_e_grave, lower_case_e_acute, lower_case_e_caret,
+ lower_case_e_trema, lower_case_i_grave, lower_case_i_acute,
+ lower_case_i_caret, lower_case_i_trema, k240,
+ lower_case_n_tilde, lower_case_o_grave, lower_case_o_acute,
+ lower_case_o_caret, lower_case_o_tilde, lower_case_o_trema,
+ lower_case_oe_digraph, lower_case_o_slashed, lower_case_u_grave,
+ lower_case_u_acute, lower_case_u_caret, lower_case_u_trema,
+ lower_case_y_trema, k254, k255);
+
+var dec169in, texout: text; ch: char; i: dec169; chr169: array [char] of dec169;
+
+[external (lib$signal)] procedure report (%immed status: integer); external;
+
+[external (cli$get_value)] function get_value
+ (p_name: [class_s] packed array [$l1 .. $u1: integer] of char;
+ var p_value: [class_s] packed array [$l2 .. $u2: integer] of char;
+ var p_length: [word] word): integer; external;
+
+procedure call (status: integer);
+ begin
+ if not odd(status) then report (status)
+ end;
+
+procedure open_files (var source, sink: text);
+ var source_file_name: string; sf_length: integer;
+ begin
+ call (get_value ('SOURCE', source_file_name.body,
+ source_file_name.length));
+ open (source, source_file_name, history := readonly,
+ default := 'PRETEX.TXT');
+ reset (source);
+ open (sink, '.TEX', history := new,
+ default := source_file_name, record_length := 511);
+ rewrite (sink)
+ end;
+
+begin
+for i := nul to k255 do chr169 [chr (ord (i))] := i;
+open_files (dec169in, texout);
+while not eof (dec169in)
+do begin
+ while not eoln (dec169in)
+ do begin
+ read (dec169in, ch); i := chr169 [ch];
+ ch := chr (ord (ch) mod ord (k128));
+ case i of
+ nul: write(texout,ch);
+ soh: write(texout,ch);
+ stx: write(texout,ch);
+ etx: write(texout,ch);
+ eot: write(texout,ch);
+ enq: write(texout,ch);
+ ack: write(texout,ch);
+ bel: write(texout,ch);
+ bs: write(texout,ch);
+ ht: write(texout,ch);
+ lf: write(texout,ch);
+ vt: write(texout,ch);
+ ff: write(texout,ch);
+ cr: write(texout,ch);
+ so: write(texout,ch);
+ si: write(texout,ch);
+ dle: write(texout,ch);
+ dc1: write(texout,ch);
+ dc2: write(texout,ch);
+ dc3: write(texout,ch);
+ dc4: write(texout,ch);
+ nak: write(texout,ch);
+ syn: write(texout,ch);
+ etb: write(texout,ch);
+ can: write(texout,ch);
+ em: write(texout,ch);
+ sub: write(texout,ch);
+ esc: write(texout,ch);
+ fs: write(texout,ch);
+ gs: write(texout,ch);
+ rs: write(texout,ch);
+ us: write(texout,ch);
+ space: write(texout,ch);
+ exclamation: write(texout,ch);
+ double_quote: write(texout,'{$\prime\prime$}');
+ hash: write(texout,ch);
+ dollar: write(texout,ch);
+ per_cent: write(texout,ch);
+ ampersand: write(texout,ch);
+ acute: write(texout,ch);
+ open_round: write(texout,ch);
+ close_round: write(texout,ch);
+ asterisk: write(texout,ch);
+ plus: write(texout,ch);
+ comma: write(texout,ch);
+ minus: write(texout,ch);
+ period: write(texout,ch);
+ slash: write(texout,ch);
+ digit_0: write(texout,ch);
+ digit_1: write(texout,ch);
+ digit_2: write(texout,ch);
+ digit_3: write(texout,ch);
+ digit_4: write(texout,ch);
+ digit_5: write(texout,ch);
+ digit_6: write(texout,ch);
+ digit_7: write(texout,ch);
+ digit_8: write(texout,ch);
+ digit_9: write(texout,ch);
+ colon: write(texout,ch);
+ semi_colon: write(texout,ch);
+ less_than: write(texout,'{$<$}');
+ equals: write(texout,ch);
+ greater_than: write(texout,'{$>$}');
+ interrogative: write(texout,ch);
+ commercial_at: write(texout,ch);
+ upper_case_A: write(texout,ch);
+ upper_case_B: write(texout,ch);
+ upper_case_C: write(texout,ch);
+ upper_case_D: write(texout,ch);
+ upper_case_E: write(texout,ch);
+ upper_case_F: write(texout,ch);
+ upper_case_G: write(texout,ch);
+ upper_case_H: write(texout,ch);
+ upper_case_I: write(texout,ch);
+ upper_case_J: write(texout,ch);
+ upper_case_K: write(texout,ch);
+ upper_case_L: write(texout,ch);
+ upper_case_M: write(texout,ch);
+ upper_case_N: write(texout,ch);
+ upper_case_O: write(texout,ch);
+ upper_case_P: write(texout,ch);
+ upper_case_Q: write(texout,ch);
+ upper_case_R: write(texout,ch);
+ upper_case_S: write(texout,ch);
+ upper_case_T: write(texout,ch);
+ upper_case_U: write(texout,ch);
+ upper_case_V: write(texout,ch);
+ upper_case_W: write(texout,ch);
+ upper_case_X: write(texout,ch);
+ upper_case_Y: write(texout,ch);
+ upper_case_Z: write(texout,ch);
+ open_square: write(texout,ch);
+ back_slash: write(texout,ch);
+ close_square: write(texout,ch);
+ caret: write(texout,ch);
+ underscore: write(texout,ch);
+ grave: write(texout,ch);
+ lower_case_a: write(texout,ch);
+ lower_case_b: write(texout,ch);
+ lower_case_c: write(texout,ch);
+ lower_case_d: write(texout,ch);
+ lower_case_e: write(texout,ch);
+ lower_case_f: write(texout,ch);
+ lower_case_g: write(texout,ch);
+ lower_case_h: write(texout,ch);
+ lower_case_i: write(texout,ch);
+ lower_case_j: write(texout,ch);
+ lower_case_k: write(texout,ch);
+ lower_case_l: write(texout,ch);
+ lower_case_m: write(texout,ch);
+ lower_case_n: write(texout,ch);
+ lower_case_o: write(texout,ch);
+ lower_case_p: write(texout,ch);
+ lower_case_q: write(texout,ch);
+ lower_case_r: write(texout,ch);
+ lower_case_s: write(texout,ch);
+ lower_case_t: write(texout,ch);
+ lower_case_u: write(texout,ch);
+ lower_case_v: write(texout,ch);
+ lower_case_w: write(texout,ch);
+ lower_case_x: write(texout,ch);
+ lower_case_y: write(texout,ch);
+ lower_case_z: write(texout,ch);
+ open_brace: write(texout,ch);
+ solidus: write(texout,'{$|$}');
+ close_brace: write(texout,ch);
+ tilde: write(texout,ch);
+ del: write(texout,' ');
+ k128: write(texout,' ');
+ k129: write(texout,' ');
+ k130: write(texout,' ');
+ k131: write(texout,' ');
+ ind: write(texout,' ');
+ nel: write(texout,' ');
+ ssa: write(texout,' ');
+ esa: write(texout,' ');
+ hts: write(texout,' ');
+ htu: write(texout,' ');
+ vts: write(texout,' ');
+ pld: write(texout,' ');
+ plu: write(texout,' ');
+ ri: write(texout,' ');
+ ss2: write(texout,' ');
+ ss3: write(texout,' ');
+ dcs: write(texout,' ');
+ pu1: write(texout,' ');
+ pu2: write(texout,' ');
+ sts: write(texout,' ');
+ cch: write(texout,' ');
+ mw: write(texout,' ');
+ spa: write(texout,' ');
+ epa: write(texout,' ');
+ k152: write(texout,' ');
+ k153: write(texout,' ');
+ k154: write(texout,' ');
+ csi: write(texout,' ');
+ st: write(texout,' ');
+ osc: write(texout,' ');
+ pm: write(texout,' ');
+ apc: write(texout,' ');
+ k160: write(texout,' ');
+ inverted_exclamation: write(texout,'{<}');
+ cent: write(texout,'{\rlap/c}');
+ pound: write(texout,'{\it\$}');
+ k164: write(texout,' ');
+ yen: write(texout,'{\rlap=Y}');
+ k166: write(texout,' ');
+ section: write(texout,'{\S}');
+ currency: write(texout,'{\rlap{\mathhexbox202}\kern0.15em\mathhexbox20E}');
+ copyright: write(texout,'{\copyright}');
+ lower_case_a_underscored: write(texout,'{\b a}');
+ open_guillemets: write(texout,'{\mathhexbox21C}');
+ k172: write(texout,' ');
+ k173: write(texout,' ');
+ k174: write(texout,' ');
+ k175: write(texout,' ');
+ degree: write(texout,'{${}^\circ$}');
+ plus_minus: write(texout,'{\mathhexbox206}');
+ super_2: write(texout,'{$ ^2$}');
+ super_3: write(texout,'{$ ^3$}');
+ k180: write(texout,' ');
+ mu: write(texout,'{$\mu$}');
+ paragraph: write(texout,'{\P}');
+ centred_period: write(texout,'{\mathhexbox20F}');
+ k184: write(texout,' ');
+ super_1: write(texout,'{$ ^1$}');
+ lower_case_o_underscored: write(texout,'{\b o}');
+ close_guillemets: write(texout,'{\mathhexbox21D}');
+ quarter: write(texout,'{$1\over4$}');
+ half: write(texout,'{$1\over2$}');
+ k190: write(texout,' ');
+ inverted_interrogative: write(texout,'{>}');
+ upper_case_A_grave: write(texout,'{\`A}');
+ upper_case_A_acute: write(texout,'{\''A}');
+ upper_case_A_caret: write(texout,'{\^A}');
+ upper_case_A_tilde: write(texout,'{\~A}');
+ upper_case_A_trema: write(texout,'{\"A}');
+ upper_case_A_ring: write(texout,'{\AA}');
+ upper_case_AE_digraph: write(texout,'{\AE}');
+ upper_case_C_cedilla: write(texout,'{\c C}');
+ upper_case_E_grave: write(texout,'{\`E}');
+ upper_case_E_acute: write(texout,'{\''E}');
+ upper_case_E_caret: write(texout,'{\^E}');
+ upper_case_E_trema: write(texout,'{\"E}');
+ upper_case_I_grave: write(texout,'{\`I}');
+ upper_case_I_acute: write(texout,'{\''I}');
+ upper_case_I_caret: write(texout,'{\^I}');
+ upper_case_I_trema: write(texout,'{\"I}');
+ k208: write(texout,' ');
+ upper_case_N_tilde: write(texout,'{\~N}');
+ upper_case_O_grave: write(texout,'{\`O}');
+ upper_case_O_acute: write(texout,'{\''O}');
+ upper_case_O_caret: write(texout,'{\^O}');
+ upper_case_O_tilde: write(texout,'{\~O}');
+ upper_case_O_trema: write(texout,'{\"O}');
+ upper_case_OE_digraph: write(texout,'{\OE}');
+ upper_case_O_slashed: write(texout,'{\O}');
+ upper_case_U_grave: write(texout,'{\`U}');
+ upper_case_U_acute: write(texout,'{\''U}');
+ upper_case_U_caret: write(texout,'{\^U}');
+ upper_case_U_trema: write(texout,'{\"U}');
+ upper_case_Y_trema: write(texout,'{\"Y}');
+ k222: write(texout,' ');
+ beta: write(texout,'{\ss}');
+ lower_case_a_grave: write(texout,'{\`a}');
+ lower_case_a_acute: write(texout,'{\''a}');
+ lower_case_a_caret: write(texout,'{\^a}');
+ lower_case_a_tilde: write(texout,'{\~a}');
+ lower_case_a_trema: write(texout,'{\"a}');
+ lower_case_a_ring: write(texout,'{\aa}');
+ lower_case_ae_digraph: write(texout,'{\ae}');
+ lower_case_c_cedilla: write(texout,'{\c c}');
+ lower_case_e_grave: write(texout,'{\`e}');
+ lower_case_e_acute: write(texout,'{\''e}');
+ lower_case_e_caret: write(texout,'{\^e}');
+ lower_case_e_trema: write(texout,'{\"e}');
+ lower_case_i_grave: write(texout,'{\`\i}');
+ lower_case_i_acute: write(texout,'{\''\i}');
+ lower_case_i_caret: write(texout,'{\^\i}');
+ lower_case_i_trema: write(texout,'{\"\i}');
+ k240: write(texout,' ');
+ lower_case_n_tilde: write(texout,'{\~n}');
+ lower_case_o_grave: write(texout,'{\`o}');
+ lower_case_o_acute: write(texout,'{\''o}');
+ lower_case_o_caret: write(texout,'{\^o}');
+ lower_case_o_tilde: write(texout,'{\~o}');
+ lower_case_o_trema: write(texout,'{\"o}');
+ lower_case_oe_digraph: write(texout,'{\oe}');
+ lower_case_o_slashed: write(texout,'{\o}');
+ lower_case_u_grave: write(texout,'{\`u}');
+ lower_case_u_acute: write(texout,'{\''u}');
+ lower_case_u_caret: write(texout,'{\^u}');
+ lower_case_u_trema: write(texout,'{\"u}');
+ lower_case_y_trema: write(texout,'{\"y}');
+ k254: write(texout,' ');
+ k255: write(texout,' ')
+ end {case}
+ end;
+ readln (dec169in);
+ writeln (texout)
+ end
+end.
+
+-------