def postTokenize(self, ast, page, meta, reader): #pylint: disable=unused-argument if ast.is_root: shortcuts = self.get('shortcuts', dict()) for key, value in shortcuts.iteritems(): if isinstance(value, dict): for k, v in value.iteritems(): core.Shortcut(ast, key=unicode(k), link=unicode(v), string=unicode(k)) else: core.Shortcut(ast, key=unicode(key), link=unicode(value), string=unicode(key))
def postTokenize(self, ast, page, meta, reader): count = 0 func = lambda n: (n.name == 'LatexBlockEquation') and n['numbered'] for node in anytree.PreOrderIter(ast, filter_=func): count += 1 node.set('number', count) if node['label']: core.Shortcut(ast, key=node['label'], string='{} ({})'.format(self.get('prefix'), count), link=u'#{}'.format(node['bookmark']))
def create_float(parent, extension, reader, page, settings, **kwargs): """Helper for optionally creating a float based on the existence of caption and/or id.""" cap = _add_caption(None, extension, reader, page, settings) if cap: flt = Float(parent, **kwargs) cap.parent = flt key = cap.get('key') if key: core.Shortcut(parent.root, key=key, link=u'#{}'.format(key), string=u'{} {}'.format(cap['prefix'].title(), cap['number'])) return flt return parent
def postTokenize(self, ast, page, meta, reader): """Set float number for each counter.""" for node in anytree.PreOrderIter( ast, filter_=lambda n: n.name == 'Caption'): prefix = node.get('prefix', None) if prefix is not None: meta.getData('counts')[prefix] += 1 node['number'] = meta.getData('counts')[prefix] key = node.get('key') if key: core.Shortcut(ast.root, key=key, link=u'#{}'.format(key), string=u'{} {}'.format(prefix.title(), node['number']))
def postTokenize(self, ast, page, meta, reader): labels = set() count = 0 func = lambda n: (n.name == 'LatexBlockEquation') and n['numbered'] for node in anytree.PreOrderIter(ast, filter_=func): count += 1 node.set('number', count) if node['label']: if isinstance(self.translator.renderer, renderers.LatexRenderer): labels.add(node['label']) else: core.Shortcut(ast, key=node['label'], string='{} ({})'.format( self.get('prefix'), count), link=u'#{}'.format(node['bookmark'])) meta.setData('labels', labels)
def postTokenize(self, ast, page, meta, reader): labels = set() count = 0 func = lambda n: (n.name == 'LatexBlockEquation') and (n['label'] is not None) for node in moosetree.iterate(ast, func): count += 1 node['number'] = count if node['label']: if isinstance(self.translator.renderer, renderers.LatexRenderer): labels.add(node['label']) else: core.Shortcut(ast, key=node['label'], string='{} ({})'.format( self.get('prefix'), count), link='#{}'.format(node['bookmark'])) meta.setData('labels', labels)
def postTokenize(self, ast, page, meta, reader): """Set float number for each counter.""" for node in moosetree.iterate(ast, lambda n: n.name == 'FloatCaption'): prefix = node.get('prefix', None) if prefix is not None: meta.getData('counts')[prefix] += 1 node['number'] = meta.getData('counts')[prefix] key = node.get('key') if key: shortcut = core.Shortcut(ast.root, key=key, link='#{}'.format(key)) # TODO: This is a bit of a hack to get Figure~\ref{} etc. working in general if isinstance(self.translator.renderer, LatexRenderer): shortcut['prefix'] = prefix.title() else: tokens.String(shortcut, content='{} {}'.format( prefix.title(), node['number']))