Fix #2405: numref link in PDF jumps to the wrong location

The hypertarget insertion by the LaTeX writer for literal blocks is
moved from depart_container to visit_caption.

	modified:   sphinx/writers/latex.py
This commit is contained in:
jfbu 2016-04-03 15:14:13 +02:00
parent d35ccb9b4c
commit 6123ea49e5

View File

@ -1444,8 +1444,9 @@ class LaTeXTranslator(nodes.NodeVisitor):
self.in_caption += 1
if self.in_container_literal_block:
self.body.append('\\needspace{\\literalblockneedspace}')
self.body.append('\\vspace{\\literalblockcaptiontopvspace}%')
self.body.append('\n\\SphinxSetupCaptionForVerbatim{literal-block}{')
self.body.append('\\vspace{\\literalblockcaptiontopvspace}\n')
self.body.append(self.context.pop())
self.body.append('\\SphinxSetupCaptionForVerbatim{literal-block}{')
elif self.in_minipage and isinstance(node.parent, nodes.figure):
self.body.append('\\captionof{figure}{')
else:
@ -1998,7 +1999,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
def depart_container(self, node):
if node.get('literal_block'):
self.in_container_literal_block -= 1
self.body.append(self.context.pop())
# self.body.append(self.context.pop()) moved to visit_caption
def visit_decoration(self, node):
pass