📄 e.h
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>enum charclass { OTHER, OLET, ILET, DIG, LPAR, RPAR, SLASH, PLUS, ILETF, ILETJ, VBAR, NONE, LAST};extern int class[LAST][LAST];#define dprintf if (dbg) printf#define max(x,y) (((x) >= (y)) ? (x) : (y)) /* beware of side effects */#define min(x,y) (((x) <= (y)) ? (x) : (y))extern char errbuf[200];extern char *cmdname;#define ERROR sprintf(errbuf,#define FATAL ), error(1, errbuf)#define WARNING ), error(0, errbuf)#define SYNTAX ), yyerror(errbuf)#define ROM '1'#define ITAL '2'#define BLD '3'#define BDIT '4'#define DEFGAP -999 /* default gap in piles */extern int dbg;extern int ct;extern int lp[];extern int used[]; /* available registers */extern int ps; /* dflt init pt size */extern int deltaps; /* default change in ps */extern int dps_set; /* 1 => -p option used */extern int gsize; /* global size */extern int ft; /* default font */extern int display; /* 1 => inline, 0 => .EQ/.EN */extern int synerr; /* 1 if syntax error in this eqn */extern char *typesetter; /* typesetter name for -T... */extern int minsize; /* min size it can print */extern int ttype; /* actual type of typesetter: */#define DEVCAT 1#define DEV202 2#define DEVAPS 3#define DEVPOST 4extern double eht[];extern double ebase[];extern int lfont[];extern int rfont[];extern int lclass[];extern int rclass[];extern int yyval;extern int yylval;extern int eqnreg;extern double eqnht;extern int lefteq, righteq;extern int markline; /* 1 if this EQ/EN contains mark or lineup */#define TBLSIZE 100typedef struct s_tbl { char *name; /* e.g., "max" or "sum" */ char *cval; /* e.g., "\\f1max\\fP" */ int ival; /* or SUM */ struct s_tbl *next;} tbl;extern char *spaceval; /* use in place of normal \x (for pic) */#define String 01#define Macro 02#define File 04#define Char 010#define Free 040typedef struct infile { FILE *fin; char *fname; int lineno;} Infile;typedef struct { /* input source */ int type; /* Macro, String, File */ char *sp; /* if String or Macro */} Src;extern Src src[], *srcp; /* input source stack */#define MAXARGS 20typedef struct { /* argument stack */ char *argstk[MAXARGS]; /* pointers to args */ char *argval; /* points to space containing args */} Arg;typedef struct { /* font number and name */ int ft; char name[10];} Font;extern Font ftstack[];extern Font *ftp;extern int szstack[];extern int nszstack;extern Infile infile[10];extern Infile *curfile;extern tbl *lookup(tbl **tblp, char *name);extern void install(tbl **tblp, char *name, char *cval, int ival);extern tbl *keytbl[], *deftbl[], *restbl[], *ftunetbl[];extern int salloc(void);extern void sfree(int);extern void nrwid(int, int, int);extern char *ABSPS(int);extern char *DPS(int, int);extern int EFFPS(int);extern double EM(double, int);extern double REL(double, int);extern char *pad(int);extern void getstr(char *, int);extern char *strsave(char *);extern int input(void);extern int unput(int);extern void pbstr(char *);extern void error(int, char *);extern void yyerror(char *);extern void diacrit(int, int);extern void eqnbox(int, int, int);extern void setfont(char *);extern void font(int, int);extern void globfont(void);extern void fatbox(int);extern void fromto(int, int, int);extern void funny(int);extern void integral(int, int, int);extern void setintegral(void);extern void pushsrc(int, char *);extern void popsrc(void);extern void putout(int);extern void text(int, char *);extern void subsup(int, int, int);extern void bshiftb(int, int, int);extern void shift2(int, int, int);extern void setsize(char *);extern void size(int, int);extern void globsize(void);extern void sqrt(int);extern void text(int, char *);extern void boverb(int, int);extern void lineup(int);extern void mark(int);extern void paren(int, int, int);extern void move(int, int, int);extern void pile(int);extern int startcol(int);extern void column(int, int);extern void matrix(int);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -