From f7cbf94918d04cb189252776f67d0cc0765ebbf2 Mon Sep 17 00:00:00 2001 From: Ali Gholami Rudi Date: Fri, 6 Mar 2009 20:34:07 +0330 Subject: [PATCH] fmt: add $raw$ for inserting tex formula --- ctxt.c | 5 +++++ ctxt.h | 1 + fmt.c | 9 ++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ctxt.c b/ctxt.c index 7c17b86..a25e039 100644 --- a/ctxt.c +++ b/ctxt.c @@ -82,6 +82,10 @@ static void latex_put_emph(int fd, char *s) file_put(fd, "}"); } +static void latex_put_raw(int fd, char *s) +{ + file_put(fd, s); +} struct fmt_ops latex_ops = { .doc_beg = latex_doc_beg, @@ -95,6 +99,7 @@ struct fmt_ops latex_ops = { .item_beg = latex_item_beg, .item_end = latex_item_end, .put_emph = latex_put_emph, + .put_raw = latex_put_raw, .put = latex_put}; int main(int argc, char **argv) diff --git a/ctxt.h b/ctxt.h index 71f512d..cc97626 100644 --- a/ctxt.h +++ b/ctxt.h @@ -16,6 +16,7 @@ struct fmt_ops { void (*item_end)(int fd); void (*put)(int fd, char *s); void (*put_emph)(int fd, char *s); + void (*put_raw)(int fd, char *s); }; struct txt { diff --git a/fmt.c b/fmt.c index d1d6d4b..c944d25 100644 --- a/fmt.c +++ b/fmt.c @@ -61,7 +61,7 @@ static int doc_head(struct doc *doc, int beg, int end) } static char *possible_inline(char *s) { - char *signs = "*"; + char *signs = "*$"; while (*s) { if (strchr(signs, *s)) return s; @@ -89,6 +89,13 @@ static char *doc_put_inline(struct doc *doc, char *s) doc->ops->put_emph(doc->fd, buf); } return r + 1; + case '$': + r = strchr(s + 1, *s); + if (r) { + fillbuf(buf, LENGTH(buf), s, r + 1); + doc->ops->put_raw(doc->fd, buf); + } + return r + 1; default: break; } -- 2.11.4.GIT