make latex pre/postamble a model property

This commit is contained in:
Damien Elmes 2011-04-24 14:10:36 +09:00
parent 3327c27d81
commit 5856ad7545
3 changed files with 18 additions and 18 deletions

View file

@ -41,16 +41,6 @@ defaultConf = {
'nextGid': 2, 'nextGid': 2,
'nextGcid': 2, 'nextGcid': 2,
'mediaURL': "", 'mediaURL': "",
'latexPre': """\
\\documentclass[12pt]{article}
\\special{papersize=3in,5in}
\\usepackage[utf8]{inputenc}
\\usepackage{amssymb,amsmath}
\\pagestyle{empty}
\\setlength{\\parindent}{0in}
\\begin{document}
""",
'latexPost': "\\end{document}",
'fontFamilies': [ 'fontFamilies': [
[u' 明朝',u'ヒラギノ明朝 Pro W3',u'Kochi Mincho', u'東風明朝'] [u' 明朝',u'ヒラギノ明朝 Pro W3',u'Kochi Mincho', u'東風明朝']
], ],

View file

@ -33,17 +33,17 @@ def stripLatex(text):
def mungeQA(html, type, fields, model, gname, data, deck): def mungeQA(html, type, fields, model, gname, data, deck):
"Convert TEXT with embedded latex tags to image links." "Convert TEXT with embedded latex tags to image links."
for match in regexps['standard'].finditer(html): for match in regexps['standard'].finditer(html):
html = html.replace(match.group(), _imgLink(deck, match.group(1))) html = html.replace(match.group(), _imgLink(deck, match.group(1), model))
for match in regexps['expression'].finditer(html): for match in regexps['expression'].finditer(html):
html = html.replace(match.group(), _imgLink( html = html.replace(match.group(), _imgLink(
deck, "$" + match.group(1) + "$")) deck, "$" + match.group(1) + "$", model))
for match in regexps['math'].finditer(html): for match in regexps['math'].finditer(html):
html = html.replace(match.group(), _imgLink( html = html.replace(match.group(), _imgLink(
deck, deck,
"\\begin{displaymath}" + match.group(1) + "\\end{displaymath}")) "\\begin{displaymath}" + match.group(1) + "\\end{displaymath}", model))
return html return html
def _imgLink(deck, latex): def _imgLink(deck, latex, model):
"Return an img link for LATEX, creating if necesssary." "Return an img link for LATEX, creating if necesssary."
txt = _latexFromHtml(deck, latex) txt = _latexFromHtml(deck, latex)
fname = "latex-%s.png" % checksum(txt) fname = "latex-%s.png" % checksum(txt)
@ -53,7 +53,7 @@ def _imgLink(deck, latex):
elif not build: elif not build:
return "[latex]"+latex+"[/latex]" return "[latex]"+latex+"[/latex]"
else: else:
err = _buildImg(deck, txt, fname) err = _buildImg(deck, txt, fname, model)
if err: if err:
return err return err
else: else:
@ -69,11 +69,11 @@ def _latexFromHtml(deck, latex):
latex = latex.encode("utf-8") latex = latex.encode("utf-8")
return latex return latex
def _buildImg(deck, latex, fname): def _buildImg(deck, latex, fname, model):
# add header/footer # add header/footer
latex = (deck.conf["latexPre"] + "\n" + latex = (model.conf["latexPre"] + "\n" +
latex + "\n" + latex + "\n" +
deck.conf["latexPost"]) model.conf["latexPost"])
# write into a temp file # write into a temp file
log = open(namedtmp("latex_log.txt"), "w") log = open(namedtmp("latex_log.txt"), "w")
texfile = file(namedtmp("tmp.tex"), "w") texfile = file(namedtmp("tmp.tex"), "w")

View file

@ -15,6 +15,16 @@ defaultConf = {
'gid': 1, 'gid': 1,
'tags': [], 'tags': [],
'clozectx': False, 'clozectx': False,
'latexPre': """\
\\documentclass[12pt]{article}
\\special{papersize=3in,5in}
\\usepackage[utf8]{inputenc}
\\usepackage{amssymb,amsmath}
\\pagestyle{empty}
\\setlength{\\parindent}{0in}
\\begin{document}
""",
'latexPost': "\\end{document}",
} }
defaultField = { defaultField = {