77:copyright: Copyright 2020 by the QuantEcon team, see AUTHORS
88:licences: see LICENSE for details
99"""
10- from sphinx .builders .html import HTMLTranslator
1110from docutils import nodes
1211from docutils .nodes import Node
1312from sphinx .writers .latex import LaTeXTranslator
@@ -41,7 +40,7 @@ def visit_enumerable_node(self, node: Node) -> None:
4140def depart_enumerable_node (self , node : Node ) -> None :
4241 typ = node .attributes .get ("type" , "" )
4342 if isinstance (self , LaTeXTranslator ):
44- number = get_node_number_latex (self , node )
43+ number = get_node_number (self , node )
4544 idx = list_rindex (self .body , latex_admonition_start ) + 2
4645 self .body .insert (idx , f"{ typ .title ()} { number } " )
4746 self .body .append (latex_admonition_end )
@@ -87,6 +86,21 @@ def depart_proof_node(self, node: Node) -> None:
8786 pass
8887
8988
89+ def get_node_number (self , node : Node ) -> str :
90+ """Get the number for the directive node for HTML."""
91+ key = "proof"
92+ ids = node .attributes .get ("ids" , [])[0 ]
93+ if isinstance (self , LaTeXTranslator ):
94+ docname = find_parent (self .builder .env , node , "section" )
95+ fignumbers = self .builder .env .toc_fignumbers .get (
96+ docname , {}
97+ ) # Latex does not have builder.fignumbers
98+ else :
99+ fignumbers = self .builder .fignumbers
100+ number = fignumbers .get (key , {}).get (ids , ())
101+ return "." .join (map (str , number ))
102+
103+
90104def find_parent (env , node , parent_tag ):
91105 """Find the nearest parent node with the given tagname."""
92106 while True :
@@ -107,26 +121,6 @@ def find_parent(env, node, parent_tag):
107121 return None
108122
109123
110- def get_node_number (self : HTMLTranslator , node : Node ) -> str :
111- """Get the number for the directive node for HTML."""
112- key = "proof"
113- ids = node .attributes .get ("ids" , [])[0 ]
114- number = self .builder .fignumbers .get (key , {}).get (ids , ())
115- return "." .join (map (str , number ))
116-
117-
118- def get_node_number_latex (self : LaTeXTranslator , node : Node ) -> str :
119- """Get the number for the directive node for LaTeX."""
120- key = "proof"
121- docname = find_parent (self .builder .env , node , "section" )
122- ids = node .attributes .get ("ids" , [])[0 ]
123- fignumbers = self .builder .env .toc_fignumbers .get (
124- docname , {}
125- ) # Latex does not have builder.fignumbers
126- number = fignumbers .get (key , {}).get (ids , ())
127- return "." .join (map (str , number ))
128-
129-
130124def list_rindex (li , x ) -> int :
131125 """Getting the last occurence of an item in a list."""
132126 for i in reversed (range (len (li ))):
0 commit comments