version 1.18, 2015/02/19 15:34:20 |
version 1.20, 2015/02/19 16:15:17 |
|
|
TEXICMD_ANCHOR, |
TEXICMD_ANCHOR, |
TEXICMD_APPENDIX, |
TEXICMD_APPENDIX, |
TEXICMD_APPENDIXSEC, |
TEXICMD_APPENDIXSEC, |
|
TEXICMD_APPENDIXSUBSEC, |
TEXICMD_ASTERISK, |
TEXICMD_ASTERISK, |
TEXICMD_AT, |
TEXICMD_AT, |
TEXICMD_AUTHOR, |
TEXICMD_AUTHOR, |
|
|
TEXICMD_EXPANSION, |
TEXICMD_EXPANSION, |
TEXICMD_FILE, |
TEXICMD_FILE, |
TEXICMD_FINALOUT, |
TEXICMD_FINALOUT, |
|
TEXICMD_FINDEX, |
|
TEXICMD_FTABLE, |
|
TEXICMD_FORMAT, |
TEXICMD_GRAVE, |
TEXICMD_GRAVE, |
TEXICMD_GROUP, |
TEXICMD_GROUP, |
TEXICMD_HEADING, |
TEXICMD_HEADING, |
|
|
TEXICMD_INSERTCOPYING, |
TEXICMD_INSERTCOPYING, |
TEXICMD_ITEM, |
TEXICMD_ITEM, |
TEXICMD_ITEMIZE, |
TEXICMD_ITEMIZE, |
TEXICMD_KEY, |
TEXICMD_ITEMX, |
TEXICMD_KBD, |
TEXICMD_KBD, |
|
TEXICMD_KEY, |
|
TEXICMD_KINDEX, |
TEXICMD_LATEX, |
TEXICMD_LATEX, |
TEXICMD_MATH, |
TEXICMD_MATH, |
TEXICMD_MENU, |
TEXICMD_MENU, |
|
|
TEXICMD_SMALLBOOK, |
TEXICMD_SMALLBOOK, |
TEXICMD_SMALLDISPLAY, |
TEXICMD_SMALLDISPLAY, |
TEXICMD_SMALLEXAMPLE, |
TEXICMD_SMALLEXAMPLE, |
|
TEXICMD_SMALLFORMAT, |
TEXICMD_SMALLINDENTBLOCK, |
TEXICMD_SMALLINDENTBLOCK, |
TEXICMD_SQUIGGLE_LEFT, |
TEXICMD_SQUIGGLE_LEFT, |
TEXICMD_SQUIGGLE_RIGHT, |
TEXICMD_SQUIGGLE_RIGHT, |
TEXICMD_STRONG, |
TEXICMD_STRONG, |
|
TEXICMD_SUBHEADING, |
TEXICMD_SUBSECTION, |
TEXICMD_SUBSECTION, |
TEXICMD_SUBTITLE, |
TEXICMD_SUBTITLE, |
|
TEXICMD_SYNCODEINDEX, |
TEXICMD_T, |
TEXICMD_T, |
TEXICMD_TAB, |
TEXICMD_TAB, |
TEXICMD_TABSYM, |
TEXICMD_TABSYM, |
|
|
TEXICMD_UMLAUT, |
TEXICMD_UMLAUT, |
TEXICMD_UNNUMBERED, |
TEXICMD_UNNUMBERED, |
TEXICMD_UNNUMBEREDSEC, |
TEXICMD_UNNUMBEREDSEC, |
|
TEXICMD_UNNUMBEREDSUBSEC, |
TEXICMD_UREF, |
TEXICMD_UREF, |
TEXICMD_URL, |
TEXICMD_URL, |
TEXICMD_VAR, |
TEXICMD_VAR, |
TEXICMD_VERBATIMINCLUDE, |
TEXICMD_VERBATIMINCLUDE, |
TEXICMD_VINDEX, |
TEXICMD_VINDEX, |
TEXICMD_VSKIP, |
TEXICMD_VSKIP, |
|
TEXICMD_VTABLE, |
TEXICMD_W, |
TEXICMD_W, |
TEXICMD_XREF, |
TEXICMD_XREF, |
TEXICMD__MAX |
TEXICMD__MAX |
Line 290 static void dotitle(struct texi *, enum texicmd, const |
|
Line 301 static void dotitle(struct texi *, enum texicmd, const |
|
static void doverbinclude(struct texi *, enum texicmd, const char *, size_t, size_t *); |
static void doverbinclude(struct texi *, enum texicmd, const char *, size_t, size_t *); |
|
|
static const struct texitok texitoks[TEXICMD__MAX] = { |
static const struct texitok texitoks[TEXICMD__MAX] = { |
|
/* TEXICMD__BEGIN */ |
{ doignargn, "acronym", 7 }, /* TEXICMD_ACRONYM */ |
{ doignargn, "acronym", 7 }, /* TEXICMD_ACRONYM */ |
{ doaccent, "'", 1 }, /* TEXICMD_ACUTE */ |
{ doaccent, "'", 1 }, /* TEXICMD_ACUTE */ |
{ doignline, "afourpaper", 10 }, /* TEXICMD_A4PAPER */ |
{ doignline, "afourpaper", 10 }, /* TEXICMD_A4PAPER */ |
{ doignbracket, "anchor", 6 }, /* TEXICMD_ANCHOR */ |
{ doignbracket, "anchor", 6 }, /* TEXICMD_ANCHOR */ |
{ dosection, "appendix", 8 }, /* TEXICMD_APPENDIX */ |
{ dosection, "appendix", 8 }, /* TEXICMD_APPENDIX */ |
{ dosection, "appendixsec", 11 }, /* TEXICMD_APPENDIXSEC */ |
{ dosection, "appendixsec", 11 }, /* TEXICMD_APPENDIXSEC */ |
|
{ dosubsection, "appendixsubsec", 14 }, /* TEXICMD_APPENDIXSUBSEC */ |
{ dosymbol, "*", 1 }, /* TEXICMD_ASTERISK */ |
{ dosymbol, "*", 1 }, /* TEXICMD_ASTERISK */ |
{ dosymbol, "@", 1 }, /* TEXICMD_AT */ |
{ dosymbol, "@", 1 }, /* TEXICMD_AT */ |
{ doignline, "author", 6 }, /* TEXICMD_AUTHOR */ |
{ doignline, "author", 6 }, /* TEXICMD_AUTHOR */ |
Line 353 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
Line 366 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
{ dosymbol, "expansion", 9 }, /* TEXICMD_EXPANSION */ |
{ dosymbol, "expansion", 9 }, /* TEXICMD_EXPANSION */ |
{ doinline, "file", 4 }, /* TEXICMD_FILE */ |
{ doinline, "file", 4 }, /* TEXICMD_FILE */ |
{ doignline, "finalout", 8 }, /* TEXICMD_FINALOUT */ |
{ doignline, "finalout", 8 }, /* TEXICMD_FINALOUT */ |
|
{ doignline, "findex", 6 }, /* TEXICMD_FINDEX */ |
|
{ dotable, "ftable", 6 }, /* TEXICMD_FTABLE */ |
|
{ dodisplay, "format", 6 }, /* TEXICMD_FORMAT */ |
{ doaccent, "`", 1 }, /* TEXICMD_GRAVE */ |
{ doaccent, "`", 1 }, /* TEXICMD_GRAVE */ |
{ doblock, "group", 5 }, /* TEXICMD_GROUP */ |
{ doblock, "group", 5 }, /* TEXICMD_GROUP */ |
{ dosection, "heading", 7 }, /* TEXICMD_HEADING */ |
{ dosection, "heading", 7 }, /* TEXICMD_HEADING */ |
Line 381 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
Line 397 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
{ doignline, "insertcopying", 13 }, /* TEXICMD_INSERTCOPYING */ |
{ doignline, "insertcopying", 13 }, /* TEXICMD_INSERTCOPYING */ |
{ doitem, "item", 4 }, /* TEXICMD_ITEM */ |
{ doitem, "item", 4 }, /* TEXICMD_ITEM */ |
{ doitemize, "itemize", 7 }, /* TEXICMD_ITEMIZE */ |
{ doitemize, "itemize", 7 }, /* TEXICMD_ITEMIZE */ |
{ dobracket, "key", 3 }, /* TEXICMD_KEY */ |
{ doitem, "itemx", 5 }, /* TEXICMD_ITEMX */ |
{ dofont, "kbd", 3 }, /* TEXICMD_KBD */ |
{ dofont, "kbd", 3 }, /* TEXICMD_KBD */ |
|
{ dobracket, "key", 3 }, /* TEXICMD_KEY */ |
|
{ doignline, "kindex", 6 }, /* TEXICMD_KINDEX */ |
{ dosymbol, "LaTeX", 5 }, /* TEXICMD_LATEX */ |
{ dosymbol, "LaTeX", 5 }, /* TEXICMD_LATEX */ |
{ domath, "math", 4 }, /* TEXICMD_MATH */ |
{ domath, "math", 4 }, /* TEXICMD_MATH */ |
{ doignblock, "menu", 4 }, /* TEXICMD_MENU */ |
{ doignblock, "menu", 4 }, /* TEXICMD_MENU */ |
Line 415 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
Line 433 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
{ doignline, "smallbook", 9 }, /* TEXICMD_SMALLBOOK */ |
{ doignline, "smallbook", 9 }, /* TEXICMD_SMALLBOOK */ |
{ dodisplay, "smalldisplay", 12 }, /* TEXICMD_SMALLDISPLAY */ |
{ dodisplay, "smalldisplay", 12 }, /* TEXICMD_SMALLDISPLAY */ |
{ doexample, "smallexample", 12 }, /* TEXICMD_SMALLEXAMPLE */ |
{ doexample, "smallexample", 12 }, /* TEXICMD_SMALLEXAMPLE */ |
|
{ dodisplay, "smallformat", 11 }, /* TEXICMD_SMALLFORMAT */ |
{ dodisplay, "smallindentblock", 16 }, /* TEXICMD_SMALLINDENTBLOCK */ |
{ dodisplay, "smallindentblock", 16 }, /* TEXICMD_SMALLINDENTBLOCK */ |
{ dosymbol, "{", 1 }, /* TEXICMD_SQUIGGLE_LEFT */ |
{ dosymbol, "{", 1 }, /* TEXICMD_SQUIGGLE_LEFT */ |
{ dosymbol, "}", 1 }, /* TEXICMD_SQUIGGLE_RIGHT */ |
{ dosymbol, "}", 1 }, /* TEXICMD_SQUIGGLE_RIGHT */ |
{ dofont, "strong", 6 }, /* TEXICMD_STRONG */ |
{ dofont, "strong", 6 }, /* TEXICMD_STRONG */ |
|
{ dosubsection, "subheading", 10 }, /* TEXICMD_SUBHEADING */ |
{ dosubsection, "subsection", 10 }, /* TEXICMD_SUBSECTION */ |
{ dosubsection, "subsection", 10 }, /* TEXICMD_SUBSECTION */ |
{ doignline, "subtitle", 8 }, /* TEXICMD_SUBTITLE */ |
{ doignline, "subtitle", 8 }, /* TEXICMD_SUBTITLE */ |
|
{ doignline, "syncodeindex", 12 }, /* TEXICMD_SYNCODEINDEX */ |
{ dofont, "t", 1 }, /* TEXICMD_T */ |
{ dofont, "t", 1 }, /* TEXICMD_T */ |
{ dotab, "tab", 3 }, /* TEXICMD_TAB */ |
{ dotab, "tab", 3 }, /* TEXICMD_TAB */ |
{ dosymbol, "\t", 1 }, /* TEXICMD_TABSYM */ |
{ dosymbol, "\t", 1 }, /* TEXICMD_TABSYM */ |
Line 435 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
Line 456 static const struct texitok texitoks[TEXICMD__MAX] = { |
|
{ doaccent, "\"", 1 }, /* TEXICMD_UMLAUT */ |
{ doaccent, "\"", 1 }, /* TEXICMD_UMLAUT */ |
{ dosection, "unnumbered", 10 }, /* TEXICMD_UNNUMBERED */ |
{ dosection, "unnumbered", 10 }, /* TEXICMD_UNNUMBERED */ |
{ dosection, "unnumberedsec", 13 }, /* TEXICMD_UNNUMBEREDSEC */ |
{ dosection, "unnumberedsec", 13 }, /* TEXICMD_UNNUMBEREDSEC */ |
|
{ dosubsection, "unnumberedsubsec", 16 }, /* TEXICMD_UNNUMBEREDSUBSEC */ |
{ dolink, "uref", 4 }, /* TEXICMD_UREF */ |
{ dolink, "uref", 4 }, /* TEXICMD_UREF */ |
{ dolink, "url", 3 }, /* TEXICMD_URL */ |
{ dolink, "url", 3 }, /* TEXICMD_URL */ |
{ doinline, "var", 3 }, /* TEXICMD_VAR */ |
{ doinline, "var", 3 }, /* TEXICMD_VAR */ |
{ doverbinclude, "verbatiminclude", 15 }, /* TEXICMD_VERBATIMINCLUDE */ |
{ doverbinclude, "verbatiminclude", 15 }, /* TEXICMD_VERBATIMINCLUDE */ |
{ doignline, "vindex", 6 }, /* TEXICMD_VINDEX */ |
{ doignline, "vindex", 6 }, /* TEXICMD_VINDEX */ |
{ dosp, "vskip", 5 }, /* TEXICMD_VSKIP */ |
{ dosp, "vskip", 5 }, /* TEXICMD_VSKIP */ |
|
{ dotable, "vtable", 6 }, /* TEXICMD_VTABLE */ |
{ dobracket, "w", 1 }, /* TEXICMD_W */ |
{ dobracket, "w", 1 }, /* TEXICMD_W */ |
{ dolink, "xref", 4 }, /* TEXICMD_XREF */ |
{ dolink, "xref", 4 }, /* TEXICMD_XREF */ |
|
/* TEXICMD__END */ |
}; |
}; |
|
|
/* |
/* |
Line 964 parseeoln(struct texi *p, const char *buf, size_t sz, |
|
Line 988 parseeoln(struct texi *p, const char *buf, size_t sz, |
|
size_t end; |
size_t end; |
enum texicmd cmd; |
enum texicmd cmd; |
|
|
assert(0 == p->literal); |
|
|
|
while (*pos < sz && '\n' != buf[*pos]) { |
while (*pos < sz && '\n' != buf[*pos]) { |
while (*pos < sz && isws(buf[*pos])) { |
while (*pos < sz && isws(buf[*pos])) { |
p->seenws = 1; |
p->seenws = 1; |
|
if (p->literal) |
|
texiputchar(p, buf[*pos]); |
advance(p, buf, pos); |
advance(p, buf, pos); |
} |
} |
switch (buf[*pos]) { |
switch (buf[*pos]) { |
Line 1498 dodisplay(struct texi *p, enum texicmd cmd, |
|
Line 1522 dodisplay(struct texi *p, enum texicmd cmd, |
|
const char *buf, size_t sz, size_t *pos) |
const char *buf, size_t sz, size_t *pos) |
{ |
{ |
|
|
teximacro(p, "Bd -filled -offset indent"); |
switch (cmd) { |
|
case (TEXICMD_FORMAT): |
|
case (TEXICMD_SMALLFORMAT): |
|
teximacro(p, "Bd -filled"); |
|
break; |
|
default: |
|
teximacro(p, "Bd -filled -offset indent"); |
|
break; |
|
} |
|
|
p->seenvs = 1; |
p->seenvs = 1; |
/* FIXME: ignore and parseeoln. */ |
/* FIXME: ignore and parseeoln. */ |
advanceeoln(p, buf, sz, pos, 1); |
advanceeoln(p, buf, sz, pos, 1); |
Line 2015 dotable(struct texi *p, enum texicmd cmd, |
|
Line 2048 dotable(struct texi *p, enum texicmd cmd, |
|
/* FIXME: ignore and parseeoln. */ |
/* FIXME: ignore and parseeoln. */ |
advanceeoln(p, buf, sz, pos, 1); |
advanceeoln(p, buf, sz, pos, 1); |
p->seenvs = 1; |
p->seenvs = 1; |
parseto(p, buf, sz, pos, "table"); |
parseto(p, buf, sz, pos, texitoks[cmd].tok); |
teximacro(p, "El"); |
teximacro(p, "El"); |
p->list = sv; |
p->list = sv; |
} |
} |