From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- info/digests/texhax/txh/pretex.txh | 390 +++++++++++++++++++++++++++++++++++++ 1 file changed, 390 insertions(+) create mode 100644 info/digests/texhax/txh/pretex.txh (limited to 'info/digests/texhax/txh/pretex.txh') 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: +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. + +------- -- cgit v1.2.3