Commits

Georg Brandl committed e4ad2b0 Merge

merge with trunk

  • Participants
  • Parent commits 0080019, 1814dd5

Comments (0)

Files changed (1)

sphinx/writers/latex.py

             self.body.append('\n\\appendix\n')
             self.first_document = -1
         if node.has_key('docname'):
-            self.body.append('\\hypertarget{--doc-%s}{}' % node['docname'])
+            self.body.append('\\hypertarget{--doc-%s}{}' %
+                             self.idescape(node['docname']))
         # "- 1" because the level is increased before the title is visited
         self.sectionlevel = self.top_sectionlevel - 1
     def depart_document(self, node):
                 # cite_key: underscores must not be escaped
                 cite_key = bi[0].replace(r"\_", "_")
                 self.body.append('\\bibitem[%s]{%s}{\hypertarget{%s}{} %s}\n' %
-                                 (bi[0], cite_key, cite_key.lower(), bi[1]))
+                                 (bi[0], cite_key,
+                                  self.idescape(cite_key.lower()), bi[1]))
             self.body.append('\\end{thebibliography}\n')
             self.bibitems = []
 
         # and also, new footnotes
         self.footnotestack.append(self.collect_footnotes(node))
         # also add a document target
-        self.body.append('\\hypertarget{--doc-%s}{}' % node['docname'])
+        self.body.append('\\hypertarget{--doc-%s}{}' %
+                         self.idescape(node['docname']))
         self.curfilestack.append(node['docname'])
 
     def collect_footnotes(self, node):
             self.sectionlevel += 1
         self.body.append('\n\n')
         if self.next_section_target:
-            self.body.append(r'\hypertarget{%s}{}' % self.next_section_target)
+            self.body.append(r'\hypertarget{%s}{}' %
+                             self.idescape(self.next_section_target))
             self.next_section_target = None
         #if node.get('ids'):
         #    for id in node['ids']:
     def visit_module(self, node):
         modname = node['modname']
         self.body.append('\n\\hypertarget{module-%s}{}' %
-                         (modname.replace(' ','')))
+                         self.idescape(modname.replace(' ','')))
         self.body.append('\n\\declaremodule[%s]{}{%s}' % (
             modname.replace('_', ''), self.encode(modname)))
         self.body.append('\n\\modulesynopsis{%s}' %
             # indexing uses standard LaTeX index markup, so the targets
             # will be generated differently
             if not id.startswith('index-'):
-                self.body.append(r'\hypertarget{%s}{}' % id)
+                self.body.append(r'\hypertarget{%s}{}' % self.idescape(id))
 
         if node.has_key('refid') and node['refid'] not in self.written_ids:
             parindex = node.parent.index(node)