#321: Fix link generation in the LaTeX builder -- target names need to be escaped in references as well as definitions.

This commit is contained in:
Georg Brandl 2010-01-17 14:17:23 +01:00
parent 097810e011
commit 8fc4896801
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
Release 0.6.5 (in development)
==============================
* #321: Fix link generation in the LaTeX builder.
Release 0.6.4 (Jan 12, 2010)
============================

View File

@ -1038,13 +1038,15 @@ class LaTeXTranslator(nodes.NodeVisitor):
self.body.append('\\href{%s}{' % self.encode_uri(uri))
self.context.append('}')
elif uri.startswith('#'):
self.body.append('\\hyperlink{%s}{' % uri[1:])
# references to labels
self.body.append('\\hyperlink{%s}{' % self.idescape(uri[1:]))
self.context.append('}')
elif uri.startswith('%'):
# references to documents or labels inside documents
hashindex = uri.find('#')
targetname = (hashindex == -1) and '--doc-' + uri[1:] \
or uri[hashindex+1:]
self.body.append('\\hyperlink{%s}{' % targetname)
self.body.append('\\hyperlink{%s}{' % self.idescape(targetname))
self.context.append('}')
elif uri.startswith('@token'):
if self.in_production_list: