1 5cedca1b 2004-05-15 devnull #include "e.h"
5 5cedca1b 2004-05-15 devnull This file contains parameter values for many of the
6 5cedca1b 2004-05-15 devnull tuning parameters in eqn. Names are defined words.
8 5cedca1b 2004-05-15 devnull Strings are plugged in verbatim.
9 5cedca1b 2004-05-15 devnull Floats are usually in ems.
13 5cedca1b 2004-05-15 devnull /* In main.c: */
15 5cedca1b 2004-05-15 devnull double BeforeSub = 1.2; /* line space before a subscript */
16 5cedca1b 2004-05-15 devnull double AfterSub = 0.2; /* line space after a subscript */
18 5cedca1b 2004-05-15 devnull /* diacrit.c: */
20 5cedca1b 2004-05-15 devnull double Dvshift = 0.25; /* vertical shift for diacriticals on tall letters */
21 5cedca1b 2004-05-15 devnull double Dhshift = 0.025; /* horizontal shift for tall letters */
22 5cedca1b 2004-05-15 devnull double Dh2shift = 0.05; /* horizontal shift for small letters */
23 5cedca1b 2004-05-15 devnull double Dheight = 0.25; /* increment to height for diacriticals */
24 5cedca1b 2004-05-15 devnull double Barv = 0.68; /* vertical shift for bar */
25 5cedca1b 2004-05-15 devnull double Barh = 0.05; /* 1/2 horizontal shrink for bar */
26 5cedca1b 2004-05-15 devnull double Ubarv = 0.1; /* shift underbar up this much ems */
27 5cedca1b 2004-05-15 devnull double Ubarh = 0.05; /* 1/2 horizontal shrink for underbar */
30 5cedca1b 2004-05-15 devnull Vec, Dyad, Hat, Tilde, Dot, Dotdot, Utilde */
32 5cedca1b 2004-05-15 devnull /* eqnbox.c: */
34 5cedca1b 2004-05-15 devnull char *IRspace = "\\^"; /* space between italic & roman boxes */
36 5cedca1b 2004-05-15 devnull /* fat.c: */
38 5cedca1b 2004-05-15 devnull double Fatshift = 0.05; /* fattening shifts by Fatshift ems */
40 5cedca1b 2004-05-15 devnull /* funny.c: */
42 5cedca1b 2004-05-15 devnull int Funnyps = 5; /* point size change (== 5 above) */
43 5cedca1b 2004-05-15 devnull double Funnyht = 0.2; /* height correction */
44 5cedca1b 2004-05-15 devnull double Funnybase = 0.3; /* base correction */
46 5cedca1b 2004-05-15 devnull /* integral.c: */
48 5cedca1b 2004-05-15 devnull int Intps = 4; /* point size change for integral (== 4 above) */
49 5cedca1b 2004-05-15 devnull double Intht = 1.15; /* ht of integral in ems */
50 5cedca1b 2004-05-15 devnull double Intbase = 0.3; /* base in ems */
51 5cedca1b 2004-05-15 devnull double Int1h = 0.4; /* lower limit left */
52 5cedca1b 2004-05-15 devnull double Int1v = 0.2; /* lower limit down */
53 5cedca1b 2004-05-15 devnull double Int2h = 0.05; /* upper limit right was 8 */
54 5cedca1b 2004-05-15 devnull double Int2v = 0.1; /* upper limit up */
56 5cedca1b 2004-05-15 devnull /* matrix.c: */
58 5cedca1b 2004-05-15 devnull char *Matspace = "\\ \\ "; /* space between matrix columns */
60 5cedca1b 2004-05-15 devnull /* over.c: */
62 5cedca1b 2004-05-15 devnull double Overgap = 0.3; /* gap between num and denom */
63 5cedca1b 2004-05-15 devnull double Overwid = 0.5; /* extra width of box */
64 5cedca1b 2004-05-15 devnull double Overline = 0.1; /* extra length of fraction bar */
66 5cedca1b 2004-05-15 devnull /* paren.c* */
68 5cedca1b 2004-05-15 devnull double Parenbase = 0.4; /* shift of base for even count */
69 5cedca1b 2004-05-15 devnull double Parenshift = 0.13; /* how much to shift parens down in left ... */
70 5cedca1b 2004-05-15 devnull /* ignored unless postscript */
71 5cedca1b 2004-05-15 devnull double Parenheight = 0.3; /* extra height above builtups */
73 5cedca1b 2004-05-15 devnull /* pile.c: */
75 5cedca1b 2004-05-15 devnull double Pilegap = 0.4; /* gap between pile elems */
76 5cedca1b 2004-05-15 devnull double Pilebase = 0.5; /* shift base of even # of piled elems */
78 5cedca1b 2004-05-15 devnull /* shift.c: */
80 5cedca1b 2004-05-15 devnull double Subbase = 0.2; /* subscript base belowe main base */
81 5cedca1b 2004-05-15 devnull double Supshift = 0.4; /* superscript .4 up main box */
82 5cedca1b 2004-05-15 devnull char *Sub1space = "\\|"; /* italic sub roman space */
83 5cedca1b 2004-05-15 devnull char *Sup1space = "\\|"; /* italic sup roman space */
84 5cedca1b 2004-05-15 devnull char *Sub2space = "\\^"; /* space after subscripted thing */
85 5cedca1b 2004-05-15 devnull char *SS1space = "\\^"; /* space before sub in x sub i sup j */
86 5cedca1b 2004-05-15 devnull char *SS2space = "\\^"; /* space before sup */
88 5cedca1b 2004-05-15 devnull /* sqrt.c: */
89 5cedca1b 2004-05-15 devnull /* sqrt is hard! punt for now. */
90 5cedca1b 2004-05-15 devnull /* part of the problem is that every typesetter does it differently */
91 5cedca1b 2004-05-15 devnull /* and we have several typesetters to run. */
93 5cedca1b 2004-05-15 devnull /* text.c: */
94 5cedca1b 2004-05-15 devnull /* ought to be done by a table */
96 5cedca1b 2004-05-15 devnull struct tune {
97 5cedca1b 2004-05-15 devnull char *name;
98 5cedca1b 2004-05-15 devnull char *cval;
99 5cedca1b 2004-05-15 devnull } tune[] ={
100 5cedca1b 2004-05-15 devnull /* diacrit.c */
101 b237df90 2004-05-16 devnull { "vec_def", "\\f1\\v'-.5m'\\s-3\\(->\\s0\\v'.5m'\\fP" }, /* was \s-2 & .45m */
102 b237df90 2004-05-16 devnull { "dyad_def", "\\f1\\v'-.5m'\\s-3\\z\\(<-\\|\\(->\\s0\\v'.5m'\\fP" },
103 b237df90 2004-05-16 devnull { "hat_def", "\\f1\\v'-.05m'\\s+1^\\s0\\v'.05m'\\fP" }, /* was .1 */
104 b237df90 2004-05-16 devnull { "tilde_def", "\\f1\\v'-.05m'\\s+1~\\s0\\v'.05m'\\fP" },
105 b237df90 2004-05-16 devnull { "dot_def", "\\f1\\v'-.67m'.\\v'.67m'\\fP" },
106 b237df90 2004-05-16 devnull { "dotdot_def", "\\f1\\v'-.67m'..\\v'.67m'\\fP" },
107 b237df90 2004-05-16 devnull { "utilde_def", "\\f1\\v'1.0m'\\s+2~\\s-2\\v'-1.0m'\\fP" },
108 5cedca1b 2004-05-15 devnull /* funny.c */
109 b237df90 2004-05-16 devnull { "sum_def", "\\|\\v'.3m'\\s+5\\(*S\\s-5\\v'-.3m'\\|" },
110 b237df90 2004-05-16 devnull { "union_def", "\\|\\v'.3m'\\s+5\\(cu\\s-5\\v'-.3m'\\|" },
111 b237df90 2004-05-16 devnull { "inter_def", "\\|\\v'.3m'\\s+5\\(ca\\s-5\\v'-.3m'\\|" },
112 b237df90 2004-05-16 devnull { "prod_def", "\\|\\v'.3m'\\s+5\\(*P\\s-5\\v'-.3m'\\|" },
113 5cedca1b 2004-05-15 devnull /* integral.c */
114 b237df90 2004-05-16 devnull { "int_def", "\\v'.1m'\\s+4\\(is\\s-4\\v'-.1m'" },
115 b237df90 2004-05-16 devnull { 0, 0 }
118 5cedca1b 2004-05-15 devnull tbl *ftunetbl[TBLSIZE]; /* user-defined names */
120 5cedca1b 2004-05-15 devnull char *ftunes[] ={ /* this table intentionally left small */
121 5cedca1b 2004-05-15 devnull "Subbase",
122 5cedca1b 2004-05-15 devnull "Supshift",
126 5cedca1b 2004-05-15 devnull void init_tune(void)
130 5cedca1b 2004-05-15 devnull for (i = 0; tune[i].name != NULL; i++)
131 5cedca1b 2004-05-15 devnull install(deftbl, tune[i].name, tune[i].cval, 0);
132 5cedca1b 2004-05-15 devnull for (i = 0; ftunes[i] != NULL; i++)
133 5cedca1b 2004-05-15 devnull install(ftunetbl, ftunes[i], (char *) 0, 0);
136 5cedca1b 2004-05-15 devnull #define eq(s, t) (strcmp(s,t) == 0)
138 5cedca1b 2004-05-15 devnull void ftune(char *s, char *t) /* brute force for now */
140 5cedca1b 2004-05-15 devnull double f = atof(t);
141 5cedca1b 2004-05-15 devnull double *target;
143 b237df90 2004-05-16 devnull target = (double *) 0; /* gcc */
145 5cedca1b 2004-05-15 devnull while (*t == ' ' || *t == '\t')
147 5cedca1b 2004-05-15 devnull if (eq(s, "Subbase"))
148 5cedca1b 2004-05-15 devnull target = &Subbase;
149 5cedca1b 2004-05-15 devnull else if (eq(s, "Supshift"))
150 5cedca1b 2004-05-15 devnull target = &Supshift;
151 5cedca1b 2004-05-15 devnull if (t[0] == '+' || t[0] == '-')
152 5cedca1b 2004-05-15 devnull *target += f;
154 5cedca1b 2004-05-15 devnull *target = f;