⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mimetex.h

📁 完美的在线教育系统
💻 H
📖 第 1 页 / 共 5 页
字号:
subraster *rastarray();			/* handle \array{...} */
subraster *rastpicture();		/* handle \picture(,){...} */
subraster *rastline();			/* handle \line(xinc,yinc){xlen} */
subraster *rastcircle();		/* handle \circle(xdiam[,ydiam]) */
subraster *rastbezier();		/*handle\bezier(c0,r0)(c1,r1)(ct,rt)*/
subraster *rastraise();			/* handle \raisebox{lift}{expr} */
subraster *rastrotate();		/* handle \rotatebox{degs}{expr} */
subraster *rastfbox();			/* handle \fbox{expr} */
subraster *rastinput();			/* handle \input{filename} */
subraster *rastcounter();		/* handle \counter{filename} */
subraster *rasttoday();			/* handle \today[+/-tzdelta,ifmt] */
subraster *rastcalendar();		/* handle \calendar[yaer,month] */
subraster *rastnoop();			/* handle \escape's to be flushed */

/* --- sqrt --- */
#define	SQRTACCENT	(1)		/* \sqrt */
/* --- accents --- */
#define	BARACCENT	(11)		/* \bar \overline*/
#define	UNDERBARACCENT	(12)		/* \underline */
#define	HATACCENT	(13)		/* \hat */
#define	DOTACCENT	(14)		/* \dot */
#define	DDOTACCENT	(15)		/* \ddot */
#define	VECACCENT	(16)		/* \vec */
#define	TILDEACCENT	(17)		/* \tilde */
#define	OVERBRACE	(18)		/* \overbrace */
#define	UNDERBRACE	(19)		/* \underbrace */
/* --- flags/modes --- */
#define	ISFONTFAM	(1)		/* set font family */
#define	ISDISPLAYSTYLE	(2)		/* set isdisplaystyle */
#define	ISDISPLAYSIZE	(21)		/* set displaysize */
#define	ISFONTSIZE	(3)		/* set fontsize */
#define	ISWEIGHT	(4)		/* set aa params */
#define	ISOPAQUE	(5)		/* set background opaque */
#define	ISSUPER		(6)		/* set supersampling/lowpass */
#define	ISAAALGORITHM	(61)		/* set anti-aliasing algorithm */
#define	ISCENTERWT	(62)		/* set anti-aliasing center weight */
#define	ISADJACENTWT	(63)		/* set anti-aliasing adjacent weight*/
#define	ISCORNERWT	(64)		/* set anti-aliasing adjacent weight*/
#define	PNMPARAMS	(65)		/* set fgalias,fgonly,bgalias,bgonly*/
#define	ISSHRINK	(7)		/* set supersampling shrinkfactor */
#define	UNITLENGTH	(8)		/* set unitlength */
#define	ISCOLOR		(9)		/* set color */
#define	ISREVERSE	(10)		/* set reverse video colors */
#define	ISSTRING	(11)		/* set ascii string mode */
#define	ISSMASH		(12)		/* set (minimum) "smash" margin */

/* ---
 * mathchardefs for symbols recognized by mimetex
 * ---------------------------------------------- */
STATIC	mathchardef symtable[]
#ifdef INITVALS
 =
 {
    /* ---------- c o m m a n d  h a n d l e r s --------------
          symbol    arg1     arg2     arg3       function
    -------------------------------------------------------- */
    /* --- commands --- */
    { "\\left", NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastleft) },
    { "\\middle",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastmiddle) },
    { "\\frac",   1,	NOVALUE,NOVALUE,  (HANDLER)(rastfrac) },
    { "\\over",   1,	NOVALUE,NOVALUE,  (HANDLER)(rastfrac) },
    { "\\atop",   0,	NOVALUE,NOVALUE,  (HANDLER)(rastfrac) },
    { "\\choose", 0,	NOVALUE,NOVALUE,  (HANDLER)(rastfrac) },
    { "\\not",    1,          0,NOVALUE,  (HANDLER)(rastoverlay) },
    { "\\Not",    2,          0,NOVALUE,  (HANDLER)(rastoverlay) },
    { "\\widenot",2,          0,NOVALUE,  (HANDLER)(rastoverlay) },
    { "\\sout",   3,    NOVALUE,NOVALUE,  (HANDLER)(rastoverlay) },
    { "\\strikeout",3,  NOVALUE,NOVALUE,  (HANDLER)(rastoverlay) },
    { "\\compose",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastoverlay) },
    { "\\stackrel", 2,	NOVALUE,NOVALUE,  (HANDLER)(rastackrel) },
    { "\\relstack", 1,	NOVALUE,NOVALUE,  (HANDLER)(rastackrel) },
    { "\\sqrt",	NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastsqrt) },
    { "\\overbrace",  OVERBRACE,1,    1,  (HANDLER)(rastaccent) },
    { "\\underbrace",UNDERBRACE,0,    1,  (HANDLER)(rastaccent) },
    { "\\overline",   BARACCENT,1,    0,  (HANDLER)(rastaccent) },
    { "\\underline",UNDERBARACCENT,0, 0,  (HANDLER)(rastaccent) },
    { "\\begin",NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastbegin) },
    { "\\array",NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastarray) },
    { "\\matrix",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastarray) },
    { "\\tabular",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastarray) },
    { "\\picture",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastpicture) },
    { "\\line", NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastline) },
    { "\\circle", NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcircle) },
    { "\\bezier", NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastbezier) },
    { "\\qbezier",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastbezier) },
    { "\\raisebox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastraise) },
    { "\\rotatebox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastrotate) },
    { "\\fbox", NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastfbox) },
    { "\\input",NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastinput) },
    { "\\today",NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rasttoday) },
    { "\\calendar",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcalendar) },
    { "\\counter",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcounter) },
    /* --- spaces --- */
    { "\\/",	1,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\,",	2,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\:",	4,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\;",	6,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\\n",	3,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\\r",	3,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\\t",	3,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
      /*{ "\\~",5,NOVALUE,NOVALUE,(HANDLER)(rastspace) },*/
    { "~",	5,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\ ",	5,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { " ",	5,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\quad",	6,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\qquad",10,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\hspace",0,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
    { "\\vspace",0,	NOVALUE,      1,  (HANDLER)(rastspace) },
    { "\\hfill",0,	      1,NOVALUE,  (HANDLER)(rastspace) },
    /* --- newline --- */
    { "\\\\",   NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastnewline) },
    /* --- arrows --- */
    { "\\longrightarrow",   1,0,NOVALUE,  (HANDLER)(rastarrow) },
    { "\\Longrightarrow",   1,1,NOVALUE,  (HANDLER)(rastarrow) },
    { "\\longleftarrow",   -1,0,NOVALUE,  (HANDLER)(rastarrow) },
    { "\\Longleftarrow",   -1,1,NOVALUE,  (HANDLER)(rastarrow) },
    { "\\longleftrightarrow",0,0,NOVALUE, (HANDLER)(rastarrow) },
    { "\\Longleftrightarrow",0,1,NOVALUE, (HANDLER)(rastarrow) },
    { "\\longuparrow",      1,0,NOVALUE, (HANDLER)(rastuparrow) },
    { "\\Longuparrow",      1,1,NOVALUE, (HANDLER)(rastuparrow) },
    { "\\longdownarrow",   -1,0,NOVALUE, (HANDLER)(rastuparrow) },
    { "\\Longdownarrow",   -1,1,NOVALUE, (HANDLER)(rastuparrow) },
    { "\\longupdownarrow",  0,0,NOVALUE, (HANDLER)(rastuparrow) },
    { "\\Longupdownarrow",  0,1,NOVALUE, (HANDLER)(rastuparrow) },
    /* --- modes and values --- */
    { "\\cal",		  1,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathcal",	  1,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\scr",		  2,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathscr",	  2,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathfrak",	  2,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathbb",	  5,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\rm",		  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\text",		  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\textrm",	  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathrm",	  7,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathbf",	  6,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\bf",		  6,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathtt",	  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathsf",	  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mbox",		  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\operatorname",	  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\it",		  4,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\textit",	  4,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\mathit",	  4,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
    { "\\rm",	  ISFONTFAM,           3,NOVALUE, (HANDLER)(rastflags) },
    { "\\it",	  ISFONTFAM,           4,NOVALUE, (HANDLER)(rastflags) },
    { "\\sl",	  ISFONTFAM,           4,NOVALUE, (HANDLER)(rastflags) },
    { "\\bb",	  ISFONTFAM,           5,NOVALUE, (HANDLER)(rastflags) },
    { "\\bf",	  ISFONTFAM,           6,NOVALUE, (HANDLER)(rastflags) },
    { "\\text",	  ISFONTFAM,           3,NOVALUE, (HANDLER)(rastflags) },
    { "\\math",	  ISFONTFAM,           0,NOVALUE, (HANDLER)(rastflags) },
    { "\\ascii",     ISSTRING,         1,NOVALUE, (HANDLER)(rastflags) },
    { "\\image",     ISSTRING,         0,NOVALUE, (HANDLER)(rastflags) },
    { "\\limits",    ISDISPLAYSTYLE,   2,NOVALUE, (HANDLER)(rastflags) },
    { "\\nolimits",  ISDISPLAYSTYLE,   0,NOVALUE, (HANDLER)(rastflags) },
    { "\\displaystyle",ISDISPLAYSTYLE, 2,NOVALUE, (HANDLER)(rastflags) },
    { "\\textstyle", ISDISPLAYSTYLE,   0,NOVALUE, (HANDLER)(rastflags) },
    { "\\displaysize",ISDISPLAYSIZE,NOVALUE,NOVALUE,(HANDLER)(rastflags)},
    { "\\tiny",      ISFONTSIZE,       0,NOVALUE, (HANDLER)(rastflags) },
    { "\\scriptsize",ISFONTSIZE,       0,NOVALUE, (HANDLER)(rastflags) },
    { "\\footnotesize",ISFONTSIZE,     1,NOVALUE, (HANDLER)(rastflags) },
    { "\\small",     ISFONTSIZE,       1,NOVALUE, (HANDLER)(rastflags) },
    { "\\normalsize",ISFONTSIZE,       2,NOVALUE, (HANDLER)(rastflags) },
    { "\\large",     ISFONTSIZE,       3,NOVALUE, (HANDLER)(rastflags) },
    { "\\Large",     ISFONTSIZE,       4,NOVALUE, (HANDLER)(rastflags) },
    { "\\LARGE",     ISFONTSIZE,       5,NOVALUE, (HANDLER)(rastflags) },
    { "\\huge",      ISFONTSIZE,       6,NOVALUE, (HANDLER)(rastflags) },
    { "\\Huge",      ISFONTSIZE,       7,NOVALUE, (HANDLER)(rastflags) },
    { "\\HUGE",      ISFONTSIZE,       7,NOVALUE, (HANDLER)(rastflags) },
    { "\\fontsize",  ISFONTSIZE, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\fs",        ISFONTSIZE, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\shrinkfactor",ISSHRINK, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\sf",        ISSHRINK,   NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\light",     ISWEIGHT,         0,NOVALUE, (HANDLER)(rastflags) },
    { "\\regular",   ISWEIGHT,         1,NOVALUE, (HANDLER)(rastflags) },
    { "\\semibold",  ISWEIGHT,         2,NOVALUE, (HANDLER)(rastflags) },
    { "\\bold",      ISWEIGHT,         3,NOVALUE, (HANDLER)(rastflags) },
    { "\\fontweight",ISWEIGHT,   NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\fw",        ISWEIGHT,   NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\centerwt",  ISCENTERWT, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\adjacentwt",ISADJACENTWT,NOVALUE,NOVALUE,(HANDLER)(rastflags) },
    { "\\cornerwt",  ISCORNERWT, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\ssampling",  ISSUPER,         1,NOVALUE, (HANDLER)(rastflags) },
    { "\\lowpass",    ISSUPER,         0,NOVALUE, (HANDLER)(rastflags) },
    { "\\aaalg",ISAAALGORITHM,   NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\pnmparams",PNMPARAMS,   NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\opaque",    ISOPAQUE,         0,NOVALUE, (HANDLER)(rastflags) },
    { "\\squash",    ISSMASH,          3,1,       (HANDLER)(rastflags) },
    { "\\smash",     ISSMASH,          3,1,       (HANDLER)(rastflags) },
    { "\\nosquash",  ISSMASH,          0,NOVALUE, (HANDLER)(rastflags) },
    { "\\nosmash",   ISSMASH,          0,NOVALUE, (HANDLER)(rastflags) },
    { "\\squashmargin",ISSMASH,  NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\smashmargin", ISSMASH,  NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\unitlength",UNITLENGTH, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\reverse",   ISREVERSE,  NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\reversefg", ISREVERSE,        1,NOVALUE, (HANDLER)(rastflags) },
    { "\\reversebg", ISREVERSE,        2,NOVALUE, (HANDLER)(rastflags) },
    { "\\color",     ISCOLOR,    NOVALUE,NOVALUE, (HANDLER)(rastflags) },
    { "\\red",       ISCOLOR,          1,NOVALUE, (HANDLER)(rastflags) },
    { "\\green",     ISCOLOR,          2,NOVALUE, (HANDLER)(rastflags) },
    { "\\blue",      ISCOLOR,          3,NOVALUE, (HANDLER)(rastflags) },
    { "\\black",     ISCOLOR,          0,NOVALUE, (HANDLER)(rastflags) },
    { "\\white",     ISCOLOR,          7,NOVALUE, (HANDLER)(rastflags) },
    /* --- accents --- */
    { "\\vec",	VECACCENT,    1,      0,  (HANDLER)(rastaccent) },
    { "\\widevec", VECACCENT, 1,      0,  (HANDLER)(rastaccent) },
    { "\\bar",	BARACCENT,    1,      0,  (HANDLER)(rastaccent) },
    { "\\widebar", BARACCENT, 1,      0,  (HANDLER)(rastaccent) },
    { "\\hat",	HATACCENT,    1,      0,  (HANDLER)(rastaccent) },
    { "\\widehat", HATACCENT, 1,      0,  (HANDLER)(rastaccent) },
    { "\\tilde", TILDEACCENT, 1,      0,  (HANDLER)(rastaccent) },
    { "\\widetilde",TILDEACCENT,1,    0,  (HANDLER)(rastaccent) },
    { "\\dot",	DOTACCENT,    1,      0,  (HANDLER)(rastaccent) },
    { "\\widedot", DOTACCENT, 1,      0,  (HANDLER)(rastaccent) },
    { "\\ddot",	DDOTACCENT,   1,      0,  (HANDLER)(rastaccent) },
    { "\\wideddot",DDOTACCENT,1,      0,  (HANDLER)(rastaccent) },
    /* --- math functions --- */
    { "\\arccos",	1,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\arcsin",	2,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\arctan",	3,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\arg",		4,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\cos",		5,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\cosh",		6,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\cot",		7,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\coth",		8,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\csc",		9,   0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\deg",		10,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\det",		11,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\dim",		12,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\exp",		13,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\gcd",		14,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\hom",		15,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\inf",		16,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\ker",		17,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\lg",		18,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\lim",		19,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\liminf",	20,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\limsup",	21,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\ln",		22,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\log",		23,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\max",		24,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\min",		25,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\Pr",		26,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\sec",		27,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\sin",		28,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\sinh",		29,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\sup",		30,  1,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\tan",		31,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\tanh",		32,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\tr",		33,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    { "\\pmod",		34,  0,	NOVALUE,  (HANDLER)(rastmathfunc) },
    /* --- flush -- recognized but not yet handled by mimeTeX --- */
    { "\\nooperation",0,NOVALUE,NOVALUE,  (HANDLER)(rastnoop) },
    { "\\bigskip",   0, NOVALUE,NOVALUE,  (HANDLER)(rastnoop) },
    { "\\phantom",   1, NOVALUE,NOVALUE,  (HANDLER)(rastnoop) },
    { "\\nocaching", 0, NOVALUE,NOVALUE,  (HANDLER)(rastnoop) },
    { "\\nonumber",  0, NOVALUE,NOVALUE,  (HANDLER)(rastnoop) },
    { "\\!",         0, NOVALUE,NOVALUE,  (HANDLER)(rastnoop) },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -