Blame


1 5cedca1b 2004-05-15 devnull #include "e.h"
2 5cedca1b 2004-05-15 devnull
3 5cedca1b 2004-05-15 devnull /*
4 5cedca1b 2004-05-15 devnull
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.
7 5cedca1b 2004-05-15 devnull
8 5cedca1b 2004-05-15 devnull Strings are plugged in verbatim.
9 5cedca1b 2004-05-15 devnull Floats are usually in ems.
10 5cedca1b 2004-05-15 devnull
11 5cedca1b 2004-05-15 devnull */
12 5cedca1b 2004-05-15 devnull
13 5cedca1b 2004-05-15 devnull /* In main.c: */
14 5cedca1b 2004-05-15 devnull
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 */
17 5cedca1b 2004-05-15 devnull
18 5cedca1b 2004-05-15 devnull /* diacrit.c: */
19 5cedca1b 2004-05-15 devnull
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 */
28 5cedca1b 2004-05-15 devnull
29 5cedca1b 2004-05-15 devnull /* Also:
30 5cedca1b 2004-05-15 devnull Vec, Dyad, Hat, Tilde, Dot, Dotdot, Utilde */
31 5cedca1b 2004-05-15 devnull
32 5cedca1b 2004-05-15 devnull /* eqnbox.c: */
33 5cedca1b 2004-05-15 devnull
34 5cedca1b 2004-05-15 devnull char *IRspace = "\\^"; /* space between italic & roman boxes */
35 5cedca1b 2004-05-15 devnull
36 5cedca1b 2004-05-15 devnull /* fat.c: */
37 5cedca1b 2004-05-15 devnull
38 5cedca1b 2004-05-15 devnull double Fatshift = 0.05; /* fattening shifts by Fatshift ems */
39 5cedca1b 2004-05-15 devnull
40 5cedca1b 2004-05-15 devnull /* funny.c: */
41 5cedca1b 2004-05-15 devnull
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 */
45 5cedca1b 2004-05-15 devnull
46 5cedca1b 2004-05-15 devnull /* integral.c: */
47 5cedca1b 2004-05-15 devnull
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 */
55 5cedca1b 2004-05-15 devnull
56 5cedca1b 2004-05-15 devnull /* matrix.c: */
57 5cedca1b 2004-05-15 devnull
58 5cedca1b 2004-05-15 devnull char *Matspace = "\\ \\ "; /* space between matrix columns */
59 5cedca1b 2004-05-15 devnull
60 5cedca1b 2004-05-15 devnull /* over.c: */
61 5cedca1b 2004-05-15 devnull
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 */
65 5cedca1b 2004-05-15 devnull
66 5cedca1b 2004-05-15 devnull /* paren.c* */
67 5cedca1b 2004-05-15 devnull
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 */
72 5cedca1b 2004-05-15 devnull
73 5cedca1b 2004-05-15 devnull /* pile.c: */
74 5cedca1b 2004-05-15 devnull
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 */
77 5cedca1b 2004-05-15 devnull
78 5cedca1b 2004-05-15 devnull /* shift.c: */
79 5cedca1b 2004-05-15 devnull
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 */
87 5cedca1b 2004-05-15 devnull
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. */
92 5cedca1b 2004-05-15 devnull
93 5cedca1b 2004-05-15 devnull /* text.c: */
94 5cedca1b 2004-05-15 devnull /* ought to be done by a table */
95 5cedca1b 2004-05-15 devnull
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 }
116 5cedca1b 2004-05-15 devnull };
117 5cedca1b 2004-05-15 devnull
118 5cedca1b 2004-05-15 devnull tbl *ftunetbl[TBLSIZE]; /* user-defined names */
119 5cedca1b 2004-05-15 devnull
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",
123 5cedca1b 2004-05-15 devnull 0
124 5cedca1b 2004-05-15 devnull };
125 5cedca1b 2004-05-15 devnull
126 5cedca1b 2004-05-15 devnull void init_tune(void)
127 5cedca1b 2004-05-15 devnull {
128 5cedca1b 2004-05-15 devnull int i;
129 5cedca1b 2004-05-15 devnull
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);
134 5cedca1b 2004-05-15 devnull }
135 5cedca1b 2004-05-15 devnull
136 5cedca1b 2004-05-15 devnull #define eq(s, t) (strcmp(s,t) == 0)
137 5cedca1b 2004-05-15 devnull
138 5cedca1b 2004-05-15 devnull void ftune(char *s, char *t) /* brute force for now */
139 5cedca1b 2004-05-15 devnull {
140 5cedca1b 2004-05-15 devnull double f = atof(t);
141 5cedca1b 2004-05-15 devnull double *target;
142 5cedca1b 2004-05-15 devnull
143 b237df90 2004-05-16 devnull target = (double *) 0; /* gcc */
144 b237df90 2004-05-16 devnull
145 5cedca1b 2004-05-15 devnull while (*t == ' ' || *t == '\t')
146 5cedca1b 2004-05-15 devnull 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;
153 5cedca1b 2004-05-15 devnull else
154 5cedca1b 2004-05-15 devnull *target = f;
155 5cedca1b 2004-05-15 devnull }