759 |
|
|
760 |
def visit_footnote(self, node): |
def visit_footnote(self, node): |
761 |
notename = node['id'] |
notename = node['id'] |
762 |
self.body.append('\\begin{figure}[b]') |
self.body.append(None) |
|
self.body.append('\\hypertarget{%s}' % notename) |
|
763 |
|
|
764 |
def depart_footnote(self, node): |
def depart_footnote(self, node): |
765 |
self.body.append('\\end{figure}\n') |
list = [] |
766 |
|
while 1: |
767 |
|
el = self.body.pop() |
768 |
|
if el is None: break |
769 |
|
list.insert(0, el) |
770 |
|
|
771 |
|
i = self.body.index('!footnote:%s!' % node['id']) |
772 |
|
self.body[i:i+1] = ['\\footnote{'] + list[3:] + ['}'] |
773 |
|
|
774 |
|
if i>0 and self.body[i-1][-1] == ' ': |
775 |
|
self.body[i-1] = self.body[i-1][:-1] |
776 |
|
|
777 |
def visit_footnote_reference(self, node): |
def visit_footnote_reference(self, node): |
778 |
href = '' |
href = '' |
779 |
if node.has_key('refid'): |
if node.has_key('refid'): |
780 |
href = node['refid'] |
href = node['refid'] |
781 |
elif node.has_key('refname'): |
|
782 |
href = self.document.nameids[node['refname']] |
self.body.append('!footnote:%s!' % href) |
783 |
format = self.settings.footnote_references |
|
784 |
if format == 'brackets': |
#elif node.has_key('refname'): |
785 |
suffix = '[' |
# href = self.document.nameids[node['refname']] |
786 |
self.context.append(']') |
#format = self.settings.footnote_references |
787 |
elif format == 'superscript': |
#if format == 'brackets': |
788 |
suffix = '\\raisebox{.5em}[0em]{\\scriptsize' |
# suffix = '[' |
789 |
self.context.append('}') |
# self.context.append(']') |
790 |
else: # shouldn't happen |
#elif format == 'superscript': |
791 |
raise AssertionError('Illegal footnote reference format.') |
# suffix = '\\raisebox{.5em}[0em]{\\scriptsize' |
792 |
self.body.append('%s\\hyperlink{%s}{' % (suffix,href)) |
# self.context.append('}') |
793 |
|
#else: # shouldn't happen |
794 |
|
# raise AssertionError('Illegal footnote reference format.') |
795 |
|
#self.body.append('%s\\hyperlink{%s}{' % (suffix,href)) |
796 |
|
|
797 |
def depart_footnote_reference(self, node): |
def depart_footnote_reference(self, node): |
798 |
self.body.append('}%s' % self.context.pop()) |
self.body.pop() # remove footnote number, inserted by TeX |
799 |
|
#self.body.append('}%s' % self.context.pop()) |
800 |
|
|
801 |
def visit_generated(self, node): |
def visit_generated(self, node): |
802 |
pass |
pass |