Add config entries for numfig

This commit is contained in:
tk0miya 2014-08-16 09:39:01 +09:00
parent f974aca356
commit 2f5ea82b37
3 changed files with 12 additions and 9 deletions

View File

@ -70,6 +70,9 @@ class Config(object):
needs_extensions = ({}, None), needs_extensions = ({}, None),
nitpicky = (False, 'env'), nitpicky = (False, 'env'),
nitpick_ignore = ([], 'html'), nitpick_ignore = ([], 'html'),
numfig = (False, 'env'),
numfig_secnum_depth = (1, 'env'),
numfig_prefix = ({'figure': 'Fig.'}, 'env'),
# HTML options # HTML options
html_theme = ('default', 'html'), html_theme = ('default', 'html'),

View File

@ -1714,7 +1714,7 @@ class BuildEnvironment:
return secnum or tuple() return secnum or tuple()
def get_next_figure_number(secnum): def get_next_figure_number(secnum):
secnum = secnum[:1] secnum = secnum[:self.config.numfig_secnum_depth]
fignum_counter[secnum] = fignum_counter.get(secnum, 0) + 1 fignum_counter[secnum] = fignum_counter.get(secnum, 0) + 1
return secnum + (fignum_counter[secnum],) return secnum + (fignum_counter[secnum],)
@ -1744,10 +1744,11 @@ class BuildEnvironment:
doctree = self.get_doctree(docname) doctree = self.get_doctree(docname)
_walk_doctree(docname, doctree, secnum) _walk_doctree(docname, doctree, secnum)
_walk_doc(self.config.master_doc, tuple()) if self.config.numfig:
for docname, fignums in iteritems(self.toc_fignumbers): _walk_doc(self.config.master_doc, tuple())
if fignums != old_fignumbers.get(docname): for docname, fignums in iteritems(self.toc_fignumbers):
rewrite_needed.append(docname) if fignums != old_fignumbers.get(docname):
rewrite_needed.append(docname)
return rewrite_needed return rewrite_needed

View File

@ -251,13 +251,12 @@ class HTMLTranslator(BaseTranslator):
self.secnumber_suffix) self.secnumber_suffix)
def add_fignumber(self, node): def add_fignumber(self, node):
if node.get('fignumber'): if isinstance(node.parent, nodes.figure):
self.body.append('Fig.' + '.'.join(map(str, node['fignumber'])))
elif isinstance(node.parent, nodes.figure):
figure_id = node.parent['ids'][0] figure_id = node.parent['ids'][0]
if self.builder.fignumbers.get(figure_id): if self.builder.fignumbers.get(figure_id):
prefix = self.builder.config.numfig_prefix.get('figure')
numbers = self.builder.fignumbers[figure_id] numbers = self.builder.fignumbers[figure_id]
self.body.append('Fig.' + '.'.join(map(str, numbers))) self.body.append(prefix + '.'.join(map(str, numbers)) + " ")
# overwritten to avoid emitting empty <ul></ul> # overwritten to avoid emitting empty <ul></ul>
def visit_bullet_list(self, node): def visit_bullet_list(self, node):