Allow to replace table templates for LaTeX by user's

This commit is contained in:
Takeshi KOMIYA 2017-03-03 22:48:10 +09:00
parent 8aa2588275
commit 2a37b0e340
2 changed files with 11 additions and 8 deletions

View File

@ -735,12 +735,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
'body': u''.join(self.body),
'indices': self.generate_indices()
})
template_path = path.join(self.builder.srcdir, '_templates', 'latex.tex_t')
if path.exists(template_path):
return LaTeXRenderer().render(template_path, self.elements)
else:
return LaTeXRenderer().render('content.tex_t', self.elements)
return self.render('latex.tex_t', self.elements)
def hypertarget(self, id, withdoc=True, anchor=True):
# type: (unicode, bool, bool) -> unicode
@ -868,6 +863,14 @@ class LaTeXTranslator(nodes.NodeVisitor):
return ''.join(ret)
def render(self, template_name, variables):
# type: (unicode, Dict) -> unicode
template_path = path.join(self.builder.srcdir, '_templates', template_name)
if path.exists(template_path):
return LaTeXRenderer().render(template_path, variables)
else:
return LaTeXRenderer().render(template_name, variables)
def visit_document(self, node):
# type: (nodes.Node) -> None
self.footnotestack.append(self.collect_footnotes(node))
@ -1321,8 +1324,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
labels += self.hypertarget(node['ids'][0], anchor=False)
table_type = self.table.get_table_type()
table = LaTeXRenderer().render(table_type + '.tex_t',
dict(table=self.table, labels=labels))
table = self.render(table_type + '.tex_t',
dict(table=self.table, labels=labels))
self.body.append("\n\n")
self.body.append(table)
self.body.append("\n")