📄 mimetex.h
字号:
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 + -