From 6123ea49e53b57e200138744dc618a797633d4d6 Mon Sep 17 00:00:00 2001 From: jfbu Date: Sun, 3 Apr 2016 15:14:13 +0200 Subject: [PATCH] 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 --- sphinx/writers/latex.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index 6019d04ed..943f5a170 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -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