mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
writers/latex: pep8 fixes
This commit is contained in:
parent
3bd21b96e6
commit
905b99adf8
@ -68,9 +68,11 @@ FOOTER = r'''
|
|||||||
\end{document}
|
\end{document}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
class collected_footnote(nodes.footnote):
|
class collected_footnote(nodes.footnote):
|
||||||
"""Footnotes that are collected are assigned this class."""
|
"""Footnotes that are collected are assigned this class."""
|
||||||
|
|
||||||
|
|
||||||
class UnsupportedError(SphinxError):
|
class UnsupportedError(SphinxError):
|
||||||
category = 'Markup is unsupported in LaTeX'
|
category = 'Markup is unsupported in LaTeX'
|
||||||
|
|
||||||
@ -113,9 +115,9 @@ class ExtBabel(Babel):
|
|||||||
|
|
||||||
def uses_cyrillic(self):
|
def uses_cyrillic(self):
|
||||||
shortlang = self.language.split('_')[0]
|
shortlang = self.language.split('_')[0]
|
||||||
return shortlang in ('bg','bulgarian', 'kk','kazakh',
|
return shortlang in ('bg', 'bulgarian', 'kk', 'kazakh',
|
||||||
'mn','mongolian', 'ru','russian',
|
'mn', 'mongolian', 'ru', 'russian',
|
||||||
'uk','ukrainian')
|
'uk', 'ukrainian')
|
||||||
|
|
||||||
# in latest trunk, the attribute is called Babel.language_codes and already
|
# in latest trunk, the attribute is called Babel.language_codes and already
|
||||||
# includes Slovene
|
# includes Slovene
|
||||||
@ -208,8 +210,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
if builder.config.today:
|
if builder.config.today:
|
||||||
self.elements['date'] = builder.config.today
|
self.elements['date'] = builder.config.today
|
||||||
else:
|
else:
|
||||||
self.elements['date'] = ustrftime(builder.config.today_fmt
|
self.elements['date'] = ustrftime(builder.config.today_fmt or
|
||||||
or _('%B %d, %Y'))
|
_('%B %d, %Y'))
|
||||||
if builder.config.latex_logo:
|
if builder.config.latex_logo:
|
||||||
self.elements['logo'] = '\\includegraphics{%s}\\par' % \
|
self.elements['logo'] = '\\includegraphics{%s}\\par' % \
|
||||||
path.basename(builder.config.latex_logo)
|
path.basename(builder.config.latex_logo)
|
||||||
@ -253,7 +255,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.elements['extraclassoptions']
|
self.elements['extraclassoptions']
|
||||||
self.elements['numfig_format'] = self.generate_numfig_format(builder)
|
self.elements['numfig_format'] = self.generate_numfig_format(builder)
|
||||||
|
|
||||||
self.highlighter = highlighting.PygmentsBridge('latex',
|
self.highlighter = highlighting.PygmentsBridge(
|
||||||
|
'latex',
|
||||||
builder.config.pygments_style, builder.config.trim_doctest_flags)
|
builder.config.pygments_style, builder.config.trim_doctest_flags)
|
||||||
self.context = []
|
self.context = []
|
||||||
self.descstack = []
|
self.descstack = []
|
||||||
@ -443,6 +446,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append(self.hypertarget(':doc'))
|
self.body.append(self.hypertarget(':doc'))
|
||||||
# "- 1" because the level is increased before the title is visited
|
# "- 1" because the level is increased before the title is visited
|
||||||
self.sectionlevel = self.top_sectionlevel - 1
|
self.sectionlevel = self.top_sectionlevel - 1
|
||||||
|
|
||||||
def depart_document(self, node):
|
def depart_document(self, node):
|
||||||
if self.bibitems:
|
if self.bibitems:
|
||||||
widest_label = ""
|
widest_label = ""
|
||||||
@ -454,7 +458,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
target = self.hypertarget(bi[2] + ':' + bi[3],
|
target = self.hypertarget(bi[2] + ':' + bi[3],
|
||||||
withdoc=False)
|
withdoc=False)
|
||||||
self.body.append(u'\\bibitem[%s]{%s}{%s %s}\n' %
|
self.body.append(u'\\bibitem[%s]{%s}{%s %s}\n' %
|
||||||
(self.encode(bi[0]), self.idescape(bi[0]), target, bi[1]))
|
(self.encode(bi[0]), self.idescape(bi[0]),
|
||||||
|
target, bi[1]))
|
||||||
self.body.append(u'\\end{thebibliography}\n')
|
self.body.append(u'\\end{thebibliography}\n')
|
||||||
self.bibitems = []
|
self.bibitems = []
|
||||||
|
|
||||||
@ -468,7 +473,6 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.hlsettingstack.append(self.hlsettingstack[0])
|
self.hlsettingstack.append(self.hlsettingstack[0])
|
||||||
|
|
||||||
def collect_footnotes(self, node):
|
def collect_footnotes(self, node):
|
||||||
fnotes = {}
|
|
||||||
def footnotes_under(n):
|
def footnotes_under(n):
|
||||||
if isinstance(n, nodes.footnote):
|
if isinstance(n, nodes.footnote):
|
||||||
yield n
|
yield n
|
||||||
@ -478,6 +482,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
continue
|
continue
|
||||||
for k in footnotes_under(c):
|
for k in footnotes_under(c):
|
||||||
yield k
|
yield k
|
||||||
|
fnotes = {}
|
||||||
for fn in footnotes_under(node):
|
for fn in footnotes_under(node):
|
||||||
num = fn.children[0].astext().strip()
|
num = fn.children[0].astext().strip()
|
||||||
fnotes[num] = [collected_footnote(*fn.children), False]
|
fnotes[num] = [collected_footnote(*fn.children), False]
|
||||||
@ -498,18 +503,21 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\n\n')
|
self.body.append('\n\n')
|
||||||
if node.get('ids'):
|
if node.get('ids'):
|
||||||
self.next_section_ids.update(node['ids'])
|
self.next_section_ids.update(node['ids'])
|
||||||
|
|
||||||
def depart_section(self, node):
|
def depart_section(self, node):
|
||||||
self.sectionlevel = max(self.sectionlevel - 1,
|
self.sectionlevel = max(self.sectionlevel - 1,
|
||||||
self.top_sectionlevel - 1)
|
self.top_sectionlevel - 1)
|
||||||
|
|
||||||
def visit_problematic(self, node):
|
def visit_problematic(self, node):
|
||||||
self.body.append(r'{\color{red}\bfseries{}')
|
self.body.append(r'{\color{red}\bfseries{}')
|
||||||
|
|
||||||
def depart_problematic(self, node):
|
def depart_problematic(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_topic(self, node):
|
def visit_topic(self, node):
|
||||||
self.body.append('\\setbox0\\vbox{\n'
|
self.body.append('\\setbox0\\vbox{\n'
|
||||||
'\\begin{minipage}{0.95\\linewidth}\n')
|
'\\begin{minipage}{0.95\\linewidth}\n')
|
||||||
|
|
||||||
def depart_topic(self, node):
|
def depart_topic(self, node):
|
||||||
self.body.append('\\end{minipage}}\n'
|
self.body.append('\\end{minipage}}\n'
|
||||||
'\\begin{center}\\setlength{\\fboxsep}{5pt}'
|
'\\begin{center}\\setlength{\\fboxsep}{5pt}'
|
||||||
@ -519,12 +527,14 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_glossary(self, node):
|
def visit_glossary(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_glossary(self, node):
|
def depart_glossary(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_productionlist(self, node):
|
def visit_productionlist(self, node):
|
||||||
self.body.append('\n\n\\begin{productionlist}\n')
|
self.body.append('\n\n\\begin{productionlist}\n')
|
||||||
self.in_production_list = 1
|
self.in_production_list = 1
|
||||||
|
|
||||||
def depart_productionlist(self, node):
|
def depart_productionlist(self, node):
|
||||||
self.body.append('\\end{productionlist}\n\n')
|
self.body.append('\\end{productionlist}\n\n')
|
||||||
self.in_production_list = 0
|
self.in_production_list = 0
|
||||||
@ -536,11 +546,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\\production{%s}{' % self.encode(tn))
|
self.body.append('\\production{%s}{' % self.encode(tn))
|
||||||
else:
|
else:
|
||||||
self.body.append('\\productioncont{')
|
self.body.append('\\productioncont{')
|
||||||
|
|
||||||
def depart_production(self, node):
|
def depart_production(self, node):
|
||||||
self.body.append('}\n')
|
self.body.append('}\n')
|
||||||
|
|
||||||
def visit_transition(self, node):
|
def visit_transition(self, node):
|
||||||
self.body.append(self.elements['transition'])
|
self.body.append(self.elements['transition'])
|
||||||
|
|
||||||
def depart_transition(self, node):
|
def depart_transition(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -590,6 +602,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\\textbf{')
|
self.body.append('\\textbf{')
|
||||||
self.context.append('}\n')
|
self.context.append('}\n')
|
||||||
self.in_title = 1
|
self.in_title = 1
|
||||||
|
|
||||||
def depart_title(self, node):
|
def depart_title(self, node):
|
||||||
self.in_title = 0
|
self.in_title = 0
|
||||||
self.body.append(self.context.pop())
|
self.body.append(self.context.pop())
|
||||||
@ -600,6 +613,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.context.append('}\n\\smallskip\n')
|
self.context.append('}\n\\smallskip\n')
|
||||||
else:
|
else:
|
||||||
self.context.append('')
|
self.context.append('')
|
||||||
|
|
||||||
def depart_subtitle(self, node):
|
def depart_subtitle(self, node):
|
||||||
self.body.append(self.context.pop())
|
self.body.append(self.context.pop())
|
||||||
|
|
||||||
@ -607,6 +621,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\n\n\\begin{fulllineitems}\n')
|
self.body.append('\n\n\\begin{fulllineitems}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_desc(self, node):
|
def depart_desc(self, node):
|
||||||
self.body.append('\n\\end{fulllineitems}\n\n')
|
self.body.append('\n\\end{fulllineitems}\n\n')
|
||||||
|
|
||||||
@ -622,23 +637,27 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
self.body.append(r'\pysigline{')
|
self.body.append(r'\pysigline{')
|
||||||
|
|
||||||
def depart_desc_signature(self, node):
|
def depart_desc_signature(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_desc_addname(self, node):
|
def visit_desc_addname(self, node):
|
||||||
self.body.append(r'\code{')
|
self.body.append(r'\code{')
|
||||||
self.literal_whitespace += 1
|
self.literal_whitespace += 1
|
||||||
|
|
||||||
def depart_desc_addname(self, node):
|
def depart_desc_addname(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
self.literal_whitespace -= 1
|
self.literal_whitespace -= 1
|
||||||
|
|
||||||
def visit_desc_type(self, node):
|
def visit_desc_type(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_desc_type(self, node):
|
def depart_desc_type(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_desc_returns(self, node):
|
def visit_desc_returns(self, node):
|
||||||
self.body.append(r'{ $\rightarrow$ ')
|
self.body.append(r'{ $\rightarrow$ ')
|
||||||
|
|
||||||
def depart_desc_returns(self, node):
|
def depart_desc_returns(self, node):
|
||||||
self.body.append(r'}')
|
self.body.append(r'}')
|
||||||
|
|
||||||
@ -646,6 +665,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append(r'\bfcode{')
|
self.body.append(r'\bfcode{')
|
||||||
self.no_contractions += 1
|
self.no_contractions += 1
|
||||||
self.literal_whitespace += 1
|
self.literal_whitespace += 1
|
||||||
|
|
||||||
def depart_desc_name(self, node):
|
def depart_desc_name(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
self.literal_whitespace -= 1
|
self.literal_whitespace -= 1
|
||||||
@ -655,6 +675,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
# close name, open parameterlist
|
# close name, open parameterlist
|
||||||
self.body.append('}{')
|
self.body.append('}{')
|
||||||
self.first_param = 1
|
self.first_param = 1
|
||||||
|
|
||||||
def depart_desc_parameterlist(self, node):
|
def depart_desc_parameterlist(self, node):
|
||||||
# close parameterlist, open return annotation
|
# close parameterlist, open return annotation
|
||||||
self.body.append('}{')
|
self.body.append('}{')
|
||||||
@ -666,17 +687,20 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.first_param = 0
|
self.first_param = 0
|
||||||
if not node.hasattr('noemph'):
|
if not node.hasattr('noemph'):
|
||||||
self.body.append(r'\emph{')
|
self.body.append(r'\emph{')
|
||||||
|
|
||||||
def depart_desc_parameter(self, node):
|
def depart_desc_parameter(self, node):
|
||||||
if not node.hasattr('noemph'):
|
if not node.hasattr('noemph'):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_desc_optional(self, node):
|
def visit_desc_optional(self, node):
|
||||||
self.body.append(r'\optional{')
|
self.body.append(r'\optional{')
|
||||||
|
|
||||||
def depart_desc_optional(self, node):
|
def depart_desc_optional(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_desc_annotation(self, node):
|
def visit_desc_annotation(self, node):
|
||||||
self.body.append(r'\strong{')
|
self.body.append(r'\strong{')
|
||||||
|
|
||||||
def depart_desc_annotation(self, node):
|
def depart_desc_annotation(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
@ -684,11 +708,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
if node.children and not isinstance(node.children[0], nodes.paragraph):
|
if node.children and not isinstance(node.children[0], nodes.paragraph):
|
||||||
# avoid empty desc environment which causes a formatting bug
|
# avoid empty desc environment which causes a formatting bug
|
||||||
self.body.append('~')
|
self.body.append('~')
|
||||||
|
|
||||||
def depart_desc_content(self, node):
|
def depart_desc_content(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_seealso(self, node):
|
def visit_seealso(self, node):
|
||||||
self.body.append(u'\n\n\\strong{%s:}\n\n' % admonitionlabels['seealso'])
|
self.body.append(u'\n\n\\strong{%s:}\n\n' % admonitionlabels['seealso'])
|
||||||
|
|
||||||
def depart_seealso(self, node):
|
def depart_seealso(self, node):
|
||||||
self.body.append("\n\n")
|
self.body.append("\n\n")
|
||||||
|
|
||||||
@ -698,6 +724,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
raise nodes.SkipNode
|
raise nodes.SkipNode
|
||||||
self.body.append('\\paragraph{')
|
self.body.append('\\paragraph{')
|
||||||
self.context.append('}\n')
|
self.context.append('}\n')
|
||||||
|
|
||||||
def depart_rubric(self, node):
|
def depart_rubric(self, node):
|
||||||
self.body.append(self.context.pop())
|
self.body.append(self.context.pop())
|
||||||
|
|
||||||
@ -707,6 +734,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
def visit_collected_footnote(self, node):
|
def visit_collected_footnote(self, node):
|
||||||
self.in_footnote += 1
|
self.in_footnote += 1
|
||||||
self.body.append('\\footnote{')
|
self.body.append('\\footnote{')
|
||||||
|
|
||||||
def depart_collected_footnote(self, node):
|
def depart_collected_footnote(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
self.in_footnote -= 1
|
self.in_footnote -= 1
|
||||||
@ -734,6 +762,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
# Redirect body output until table is finished.
|
# Redirect body output until table is finished.
|
||||||
self._body = self.body
|
self._body = self.body
|
||||||
self.body = self.tablebody
|
self.body = self.tablebody
|
||||||
|
|
||||||
def depart_table(self, node):
|
def depart_table(self, node):
|
||||||
if self.table.rowcount > 30:
|
if self.table.rowcount > 30:
|
||||||
self.table.longtable = True
|
self.table.longtable = True
|
||||||
@ -803,11 +832,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_colspec(self, node):
|
def visit_colspec(self, node):
|
||||||
self.table.colcount += 1
|
self.table.colcount += 1
|
||||||
|
|
||||||
def depart_colspec(self, node):
|
def depart_colspec(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_tgroup(self, node):
|
def visit_tgroup(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_tgroup(self, node):
|
def depart_tgroup(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -818,6 +849,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.next_table_colspec = None
|
self.next_table_colspec = None
|
||||||
# Redirect head output until header is finished. see visit_tbody.
|
# Redirect head output until header is finished. see visit_tbody.
|
||||||
self.body = self.tableheaders
|
self.body = self.tableheaders
|
||||||
|
|
||||||
def depart_thead(self, node):
|
def depart_thead(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -825,15 +857,17 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
if not self.table.had_head:
|
if not self.table.had_head:
|
||||||
self.visit_thead(node)
|
self.visit_thead(node)
|
||||||
self.body = self.tablebody
|
self.body = self.tablebody
|
||||||
|
|
||||||
def depart_tbody(self, node):
|
def depart_tbody(self, node):
|
||||||
self.remember_multirow = {}
|
self.remember_multirow = {}
|
||||||
self.remember_multirowcol = {}
|
self.remember_multirowcol = {}
|
||||||
|
|
||||||
def visit_row(self, node):
|
def visit_row(self, node):
|
||||||
self.table.col = 0
|
self.table.col = 0
|
||||||
for key,value in self.remember_multirow.items():
|
for key, value in self.remember_multirow.items():
|
||||||
if not value and key in self.remember_multirowcol:
|
if not value and key in self.remember_multirowcol:
|
||||||
del self.remember_multirowcol[key]
|
del self.remember_multirowcol[key]
|
||||||
|
|
||||||
def depart_row(self, node):
|
def depart_row(self, node):
|
||||||
self.body.append('\\\\\n')
|
self.body.append('\\\\\n')
|
||||||
if any(self.remember_multirow.values()):
|
if any(self.remember_multirow.values()):
|
||||||
@ -901,6 +935,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
context += '}{l|}{}'
|
context += '}{l|}{}'
|
||||||
self.table.col += extracols
|
self.table.col += extracols
|
||||||
self.context.append(context)
|
self.context.append(context)
|
||||||
|
|
||||||
def depart_entry(self, node):
|
def depart_entry(self, node):
|
||||||
self.body.append(self.context.pop()) # header
|
self.body.append(self.context.pop()) # header
|
||||||
|
|
||||||
@ -915,26 +950,29 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_bullet_list(self, node):
|
def visit_bullet_list(self, node):
|
||||||
if not self.compact_list:
|
if not self.compact_list:
|
||||||
self.body.append('\\begin{itemize}\n' )
|
self.body.append('\\begin{itemize}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_bullet_list(self, node):
|
def depart_bullet_list(self, node):
|
||||||
if not self.compact_list:
|
if not self.compact_list:
|
||||||
self.body.append('\\end{itemize}\n' )
|
self.body.append('\\end{itemize}\n')
|
||||||
|
|
||||||
def visit_enumerated_list(self, node):
|
def visit_enumerated_list(self, node):
|
||||||
self.body.append('\\begin{enumerate}\n' )
|
self.body.append('\\begin{enumerate}\n')
|
||||||
if 'start' in node:
|
if 'start' in node:
|
||||||
self.body.append('\\setcounter{enumi}{%d}\n' % (node['start'] - 1))
|
self.body.append('\\setcounter{enumi}{%d}\n' % (node['start'] - 1))
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_enumerated_list(self, node):
|
def depart_enumerated_list(self, node):
|
||||||
self.body.append('\\end{enumerate}\n' )
|
self.body.append('\\end{enumerate}\n')
|
||||||
|
|
||||||
def visit_list_item(self, node):
|
def visit_list_item(self, node):
|
||||||
# Append "{}" in case the next character is "[", which would break
|
# Append "{}" in case the next character is "[", which would break
|
||||||
# LaTeX's list environment (no numbering and the "[" is not printed).
|
# LaTeX's list environment (no numbering and the "[" is not printed).
|
||||||
self.body.append(r'\item {} ')
|
self.body.append(r'\item {} ')
|
||||||
|
|
||||||
def depart_list_item(self, node):
|
def depart_list_item(self, node):
|
||||||
self.body.append('\n')
|
self.body.append('\n')
|
||||||
|
|
||||||
@ -942,11 +980,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\\begin{description}\n')
|
self.body.append('\\begin{description}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_definition_list(self, node):
|
def depart_definition_list(self, node):
|
||||||
self.body.append('\\end{description}\n')
|
self.body.append('\\end{description}\n')
|
||||||
|
|
||||||
def visit_definition_list_item(self, node):
|
def visit_definition_list_item(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_definition_list_item(self, node):
|
def depart_definition_list_item(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -956,6 +996,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
ctx += self.hypertarget(node['ids'][0])
|
ctx += self.hypertarget(node['ids'][0])
|
||||||
self.body.append('\\item[{')
|
self.body.append('\\item[{')
|
||||||
self.context.append(ctx)
|
self.context.append(ctx)
|
||||||
|
|
||||||
def depart_term(self, node):
|
def depart_term(self, node):
|
||||||
self.body.append(self.context.pop())
|
self.body.append(self.context.pop())
|
||||||
|
|
||||||
@ -965,11 +1006,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_classifier(self, node):
|
def visit_classifier(self, node):
|
||||||
self.body.append('{[}')
|
self.body.append('{[}')
|
||||||
|
|
||||||
def depart_classifier(self, node):
|
def depart_classifier(self, node):
|
||||||
self.body.append('{]}')
|
self.body.append('{]}')
|
||||||
|
|
||||||
def visit_definition(self, node):
|
def visit_definition(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_definition(self, node):
|
def depart_definition(self, node):
|
||||||
self.body.append('\n')
|
self.body.append('\n')
|
||||||
|
|
||||||
@ -977,11 +1020,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\\begin{quote}\\begin{description}\n')
|
self.body.append('\\begin{quote}\\begin{description}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_field_list(self, node):
|
def depart_field_list(self, node):
|
||||||
self.body.append('\\end{description}\\end{quote}\n')
|
self.body.append('\\end{description}\\end{quote}\n')
|
||||||
|
|
||||||
def visit_field(self, node):
|
def visit_field(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_field(self, node):
|
def depart_field(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -993,6 +1038,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_paragraph(self, node):
|
def visit_paragraph(self, node):
|
||||||
self.body.append('\n')
|
self.body.append('\n')
|
||||||
|
|
||||||
def depart_paragraph(self, node):
|
def depart_paragraph(self, node):
|
||||||
self.body.append('\n')
|
self.body.append('\n')
|
||||||
|
|
||||||
@ -1000,6 +1046,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\n\\begin{center}')
|
self.body.append('\n\\begin{center}')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_centered(self, node):
|
def depart_centered(self, node):
|
||||||
self.body.append('\n\\end{center}')
|
self.body.append('\n\\end{center}')
|
||||||
|
|
||||||
@ -1011,12 +1058,14 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
'\\setlength{\\parskip}{0pt}\n')
|
'\\setlength{\\parskip}{0pt}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_hlist(self, node):
|
def depart_hlist(self, node):
|
||||||
self.compact_list -= 1
|
self.compact_list -= 1
|
||||||
self.body.append('\\end{itemize}\n')
|
self.body.append('\\end{itemize}\n')
|
||||||
|
|
||||||
def visit_hlistcol(self, node):
|
def visit_hlistcol(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_hlistcol(self, node):
|
def depart_hlistcol(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1068,7 +1117,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
# be floated alongside the paragraph. See
|
# be floated alongside the paragraph. See
|
||||||
# http://www.w3.org/TR/html4/struct/objects.html#adef-align-IMG
|
# http://www.w3.org/TR/html4/struct/objects.html#adef-align-IMG
|
||||||
(0, 'left'): ('{', '\\hfill}'),
|
(0, 'left'): ('{', '\\hfill}'),
|
||||||
(0, 'right'): ('{\\hfill', '}'),}
|
(0, 'right'): ('{\\hfill', '}'),
|
||||||
|
}
|
||||||
try:
|
try:
|
||||||
pre.append(align_prepost[is_inline, attrs['align']][0])
|
pre.append(align_prepost[is_inline, attrs['align']][0])
|
||||||
post.append(align_prepost[is_inline, attrs['align']][1])
|
post.append(align_prepost[is_inline, attrs['align']][1])
|
||||||
@ -1094,6 +1144,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
options = '[%s]' % ','.join(include_graphics_options)
|
options = '[%s]' % ','.join(include_graphics_options)
|
||||||
self.body.append('\\includegraphics%s{%s}' % (options, uri))
|
self.body.append('\\includegraphics%s{%s}' % (options, uri))
|
||||||
self.body.extend(post)
|
self.body.extend(post)
|
||||||
|
|
||||||
def depart_image(self, node):
|
def depart_image(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1108,7 +1159,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
node['width']))
|
node['width']))
|
||||||
self.context.append(ids + '\\end{wrapfigure}\n')
|
self.context.append(ids + '\\end{wrapfigure}\n')
|
||||||
else:
|
else:
|
||||||
if (not 'align' in node.attributes or
|
if ('align' not in node.attributes or
|
||||||
node.attributes['align'] == 'center'):
|
node.attributes['align'] == 'center'):
|
||||||
# centering does not add vertical space like center.
|
# centering does not add vertical space like center.
|
||||||
align = '\n\\centering'
|
align = '\n\\centering'
|
||||||
@ -1122,23 +1173,27 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
if any(isinstance(child, nodes.caption) for child in node):
|
if any(isinstance(child, nodes.caption) for child in node):
|
||||||
self.body.append('\\capstart\n')
|
self.body.append('\\capstart\n')
|
||||||
self.context.append(ids + align_end + '\\end{figure}\n')
|
self.context.append(ids + align_end + '\\end{figure}\n')
|
||||||
|
|
||||||
def depart_figure(self, node):
|
def depart_figure(self, node):
|
||||||
self.body.append(self.context.pop())
|
self.body.append(self.context.pop())
|
||||||
|
|
||||||
def visit_caption(self, node):
|
def visit_caption(self, node):
|
||||||
self.in_caption += 1
|
self.in_caption += 1
|
||||||
self.body.append('\\caption{')
|
self.body.append('\\caption{')
|
||||||
|
|
||||||
def depart_caption(self, node):
|
def depart_caption(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
self.in_caption -= 1
|
self.in_caption -= 1
|
||||||
|
|
||||||
def visit_legend(self, node):
|
def visit_legend(self, node):
|
||||||
self.body.append('{\\small ')
|
self.body.append('{\\small ')
|
||||||
|
|
||||||
def depart_legend(self, node):
|
def depart_legend(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_admonition(self, node):
|
def visit_admonition(self, node):
|
||||||
self.body.append('\n\\begin{notice}{note}')
|
self.body.append('\n\\begin{notice}{note}')
|
||||||
|
|
||||||
def depart_admonition(self, node):
|
def depart_admonition(self, node):
|
||||||
self.body.append('\\end{notice}\n')
|
self.body.append('\\end{notice}\n')
|
||||||
|
|
||||||
@ -1147,6 +1202,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append(u'\n\\begin{notice}{%s}{%s:}' %
|
self.body.append(u'\n\\begin{notice}{%s}{%s:}' %
|
||||||
(name, admonitionlabels[name]))
|
(name, admonitionlabels[name]))
|
||||||
return visit_admonition
|
return visit_admonition
|
||||||
|
|
||||||
def _depart_named_admonition(self, node):
|
def _depart_named_admonition(self, node):
|
||||||
self.body.append('\\end{notice}\n')
|
self.body.append('\\end{notice}\n')
|
||||||
|
|
||||||
@ -1171,6 +1227,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_versionmodified(self, node):
|
def visit_versionmodified(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_versionmodified(self, node):
|
def depart_versionmodified(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1230,12 +1287,14 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
add_target(node['refid'])
|
add_target(node['refid'])
|
||||||
for id in node['ids']:
|
for id in node['ids']:
|
||||||
add_target(id)
|
add_target(id)
|
||||||
|
|
||||||
def depart_target(self, node):
|
def depart_target(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_attribution(self, node):
|
def visit_attribution(self, node):
|
||||||
self.body.append('\n\\begin{flushright}\n')
|
self.body.append('\n\\begin{flushright}\n')
|
||||||
self.body.append('---')
|
self.body.append('---')
|
||||||
|
|
||||||
def depart_attribution(self, node):
|
def depart_attribution(self, node):
|
||||||
self.body.append('\n\\end{flushright}\n')
|
self.body.append('\n\\end{flushright}\n')
|
||||||
|
|
||||||
@ -1340,6 +1399,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.builder.warn('unusable reference target found: %s' % uri,
|
self.builder.warn('unusable reference target found: %s' % uri,
|
||||||
(self.curfilestack[-1], node.line))
|
(self.curfilestack[-1], node.line))
|
||||||
self.context.append('')
|
self.context.append('')
|
||||||
|
|
||||||
def depart_reference(self, node):
|
def depart_reference(self, node):
|
||||||
self.body.append(self.context.pop())
|
self.body.append(self.context.pop())
|
||||||
|
|
||||||
@ -1359,34 +1419,40 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_download_reference(self, node):
|
def visit_download_reference(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_download_reference(self, node):
|
def depart_download_reference(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_pending_xref(self, node):
|
def visit_pending_xref(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_pending_xref(self, node):
|
def depart_pending_xref(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_emphasis(self, node):
|
def visit_emphasis(self, node):
|
||||||
self.body.append(r'\emph{')
|
self.body.append(r'\emph{')
|
||||||
|
|
||||||
def depart_emphasis(self, node):
|
def depart_emphasis(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_literal_emphasis(self, node):
|
def visit_literal_emphasis(self, node):
|
||||||
self.body.append(r'\emph{\texttt{')
|
self.body.append(r'\emph{\texttt{')
|
||||||
self.no_contractions += 1
|
self.no_contractions += 1
|
||||||
|
|
||||||
def depart_literal_emphasis(self, node):
|
def depart_literal_emphasis(self, node):
|
||||||
self.body.append('}}')
|
self.body.append('}}')
|
||||||
self.no_contractions -= 1
|
self.no_contractions -= 1
|
||||||
|
|
||||||
def visit_strong(self, node):
|
def visit_strong(self, node):
|
||||||
self.body.append(r'\textbf{')
|
self.body.append(r'\textbf{')
|
||||||
|
|
||||||
def depart_strong(self, node):
|
def depart_strong(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_literal_strong(self, node):
|
def visit_literal_strong(self, node):
|
||||||
self.body.append(r'\textbf{\texttt{')
|
self.body.append(r'\textbf{\texttt{')
|
||||||
self.no_contractions += 1
|
self.no_contractions += 1
|
||||||
|
|
||||||
def depart_literal_strong(self, node):
|
def depart_literal_strong(self, node):
|
||||||
self.body.append('}}')
|
self.body.append('}}')
|
||||||
self.no_contractions -= 1
|
self.no_contractions -= 1
|
||||||
@ -1400,11 +1466,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.handled_abbrs.add(abbr)
|
self.handled_abbrs.add(abbr)
|
||||||
else:
|
else:
|
||||||
self.context.append('}')
|
self.context.append('}')
|
||||||
|
|
||||||
def depart_abbreviation(self, node):
|
def depart_abbreviation(self, node):
|
||||||
self.body.append(self.context.pop())
|
self.body.append(self.context.pop())
|
||||||
|
|
||||||
def visit_title_reference(self, node):
|
def visit_title_reference(self, node):
|
||||||
self.body.append(r'\emph{')
|
self.body.append(r'\emph{')
|
||||||
|
|
||||||
def depart_title_reference(self, node):
|
def depart_title_reference(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
@ -1413,6 +1481,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
# bibitem: [citelabel, citetext, docname, citeid]
|
# bibitem: [citelabel, citetext, docname, citeid]
|
||||||
self.bibitems.append(['', '', '', ''])
|
self.bibitems.append(['', '', '', ''])
|
||||||
self.context.append(len(self.body))
|
self.context.append(len(self.body))
|
||||||
|
|
||||||
def depart_citation(self, node):
|
def depart_citation(self, node):
|
||||||
size = self.context.pop()
|
size = self.context.pop()
|
||||||
text = ''.join(self.body[size:])
|
text = ''.join(self.body[size:])
|
||||||
@ -1431,6 +1500,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append(r'\texttt{')
|
self.body.append(r'\texttt{')
|
||||||
else:
|
else:
|
||||||
self.body.append(r'\code{')
|
self.body.append(r'\code{')
|
||||||
|
|
||||||
def depart_literal(self, node):
|
def depart_literal(self, node):
|
||||||
self.no_contractions -= 1
|
self.no_contractions -= 1
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
@ -1453,6 +1523,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.footnotestack[-1][num][1] = True
|
self.footnotestack[-1][num][1] = True
|
||||||
footnode.walkabout(self)
|
footnode.walkabout(self)
|
||||||
raise nodes.SkipChildren
|
raise nodes.SkipChildren
|
||||||
|
|
||||||
def depart_footnote_reference(self, node):
|
def depart_footnote_reference(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1480,10 +1551,12 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
opts = self.builder.config.highlight_options
|
opts = self.builder.config.highlight_options
|
||||||
else:
|
else:
|
||||||
opts = {}
|
opts = {}
|
||||||
|
|
||||||
def warner(msg):
|
def warner(msg):
|
||||||
self.builder.warn(msg, (self.curfilestack[-1], node.line))
|
self.builder.warn(msg, (self.curfilestack[-1], node.line))
|
||||||
hlcode = self.highlighter.highlight_block(code, lang, opts=opts,
|
hlcode = self.highlighter.highlight_block(code, lang, opts=opts,
|
||||||
warn=warner, linenos=linenos, **highlight_args)
|
warn=warner, linenos=linenos,
|
||||||
|
**highlight_args)
|
||||||
# workaround for Unicode issue
|
# workaround for Unicode issue
|
||||||
hlcode = hlcode.replace(u'€', u'@texteuro[]')
|
hlcode = hlcode.replace(u'€', u'@texteuro[]')
|
||||||
# must use original Verbatim environment and "tabular" environment
|
# must use original Verbatim environment and "tabular" environment
|
||||||
@ -1498,6 +1571,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\n' + hlcode + '\\end{%sVerbatim}\n' %
|
self.body.append('\n' + hlcode + '\\end{%sVerbatim}\n' %
|
||||||
(self.table and 'Original' or ''))
|
(self.table and 'Original' or ''))
|
||||||
raise nodes.SkipNode
|
raise nodes.SkipNode
|
||||||
|
|
||||||
def depart_literal_block(self, node):
|
def depart_literal_block(self, node):
|
||||||
self.body.append('\n\\end{alltt}\n')
|
self.body.append('\n\\end{alltt}\n')
|
||||||
visit_doctest_block = visit_literal_block
|
visit_doctest_block = visit_literal_block
|
||||||
@ -1505,6 +1579,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_line(self, node):
|
def visit_line(self, node):
|
||||||
self.body.append('\item[] ')
|
self.body.append('\item[] ')
|
||||||
|
|
||||||
def depart_line(self, node):
|
def depart_line(self, node):
|
||||||
self.body.append('\n')
|
self.body.append('\n')
|
||||||
|
|
||||||
@ -1516,6 +1591,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\n\\begin{DUlineblock}{0em}\n')
|
self.body.append('\n\\begin{DUlineblock}{0em}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_line_block(self, node):
|
def depart_line_block(self, node):
|
||||||
self.body.append('\\end{DUlineblock}\n')
|
self.body.append('\\end{DUlineblock}\n')
|
||||||
|
|
||||||
@ -1533,6 +1609,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\\begin{quote}\n')
|
self.body.append('\\begin{quote}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_block_quote(self, node):
|
def depart_block_quote(self, node):
|
||||||
done = 0
|
done = 0
|
||||||
if len(node.children) == 1:
|
if len(node.children) == 1:
|
||||||
@ -1549,6 +1626,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
if self.context[-1]:
|
if self.context[-1]:
|
||||||
# this is not the first option
|
# this is not the first option
|
||||||
self.body.append(', ')
|
self.body.append(', ')
|
||||||
|
|
||||||
def depart_option(self, node):
|
def depart_option(self, node):
|
||||||
# flag that the first option is done.
|
# flag that the first option is done.
|
||||||
self.context[-1] += 1
|
self.context[-1] += 1
|
||||||
@ -1556,6 +1634,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
def visit_option_argument(self, node):
|
def visit_option_argument(self, node):
|
||||||
"""The delimiter betweeen an option and its argument."""
|
"""The delimiter betweeen an option and its argument."""
|
||||||
self.body.append(node.get('delimiter', ' '))
|
self.body.append(node.get('delimiter', ' '))
|
||||||
|
|
||||||
def depart_option_argument(self, node):
|
def depart_option_argument(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1563,6 +1642,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\\item [')
|
self.body.append('\\item [')
|
||||||
# flag for first option
|
# flag for first option
|
||||||
self.context.append(0)
|
self.context.append(0)
|
||||||
|
|
||||||
def depart_option_group(self, node):
|
def depart_option_group(self, node):
|
||||||
self.context.pop() # the flag
|
self.context.pop() # the flag
|
||||||
self.body.append('] ')
|
self.body.append('] ')
|
||||||
@ -1571,11 +1651,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append('\\begin{optionlist}{3cm}\n')
|
self.body.append('\\begin{optionlist}{3cm}\n')
|
||||||
if self.table:
|
if self.table:
|
||||||
self.table.has_problematic = True
|
self.table.has_problematic = True
|
||||||
|
|
||||||
def depart_option_list(self, node):
|
def depart_option_list(self, node):
|
||||||
self.body.append('\\end{optionlist}\n')
|
self.body.append('\\end{optionlist}\n')
|
||||||
|
|
||||||
def visit_option_list_item(self, node):
|
def visit_option_list_item(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_option_list_item(self, node):
|
def depart_option_list_item(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1588,16 +1670,19 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_description(self, node):
|
def visit_description(self, node):
|
||||||
self.body.append(' ')
|
self.body.append(' ')
|
||||||
|
|
||||||
def depart_description(self, node):
|
def depart_description(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_superscript(self, node):
|
def visit_superscript(self, node):
|
||||||
self.body.append('$^{\\text{')
|
self.body.append('$^{\\text{')
|
||||||
|
|
||||||
def depart_superscript(self, node):
|
def depart_superscript(self, node):
|
||||||
self.body.append('}}$')
|
self.body.append('}}$')
|
||||||
|
|
||||||
def visit_subscript(self, node):
|
def visit_subscript(self, node):
|
||||||
self.body.append('$_{\\text{')
|
self.body.append('$_{\\text{')
|
||||||
|
|
||||||
def depart_subscript(self, node):
|
def depart_subscript(self, node):
|
||||||
self.body.append('}}$')
|
self.body.append('}}$')
|
||||||
|
|
||||||
@ -1613,16 +1698,19 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
self.body.append(r'\emph{')
|
self.body.append(r'\emph{')
|
||||||
else:
|
else:
|
||||||
self.body.append(r'\DUspan{%s}{' % ','.join(classes))
|
self.body.append(r'\DUspan{%s}{' % ','.join(classes))
|
||||||
|
|
||||||
def depart_inline(self, node):
|
def depart_inline(self, node):
|
||||||
self.body.append('}')
|
self.body.append('}')
|
||||||
|
|
||||||
def visit_generated(self, node):
|
def visit_generated(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_generated(self, node):
|
def depart_generated(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def visit_compound(self, node):
|
def visit_compound(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_compound(self, node):
|
def depart_compound(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1641,6 +1729,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_decoration(self, node):
|
def visit_decoration(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_decoration(self, node):
|
def depart_decoration(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1677,6 +1766,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
if not self.no_contractions:
|
if not self.no_contractions:
|
||||||
text = educate_quotes_latex(text)
|
text = educate_quotes_latex(text)
|
||||||
self.body.append(text)
|
self.body.append(text)
|
||||||
|
|
||||||
def depart_Text(self, node):
|
def depart_Text(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1689,6 +1779,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
|
|
||||||
def visit_system_message(self, node):
|
def visit_system_message(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def depart_system_message(self, node):
|
def depart_system_message(self, node):
|
||||||
self.body.append('\n')
|
self.body.append('\n')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user