Skip to content

Commit

Permalink
Fix #11079 (LaTeX: figure with align disappears if not followed by text)
Browse files Browse the repository at this point in the history
  • Loading branch information
jfbu committed Jan 8, 2023
1 parent 670bcb7 commit 19b0710
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
3 changes: 3 additions & 0 deletions CHANGES
Expand Up @@ -26,6 +26,9 @@ Features added
Bugs fixed
----------

* #11079: LaTeX: figures with align attribute may disappear and strangely impact
following lists

Testing
--------

Expand Down
5 changes: 4 additions & 1 deletion sphinx/writers/latex.py
Expand Up @@ -1366,7 +1366,10 @@ def visit_figure(self, node: Element) -> None:
self.body.append(r'\begin{wrapfigure}{%s}{%s}' %
('r' if node['align'] == 'right' else 'l', length or '0pt') + CR)
self.body.append(r'\centering')
self.context.append(r'\end{wrapfigure}' + CR)
self.context.append(r'\end{wrapfigure}' +
BLANKLINE +
r'\mbox{}\par\vskip-\dimexpr\baselineskip+\parskip\relax' +
CR) # avoid disappearance if no text next issues/11079
elif self.in_minipage:
self.body.append(CR + r'\begin{center}')
self.context.append(r'\end{center}' + CR)
Expand Down
9 changes: 6 additions & 3 deletions tests/test_build_latex.py
Expand Up @@ -120,19 +120,22 @@ def test_writer(app, status, warning):
assert ('\\begin{wrapfigure}{r}{0pt}\n\\centering\n'
'\\noindent\\sphinxincludegraphics{{rimg}.png}\n'
'\\caption{figure with align option}\\label{\\detokenize{markup:id9}}'
'\\end{wrapfigure}' in result)
'\\end{wrapfigure}\n\n'
'\\mbox{}\\par\\vskip-\\dimexpr\\baselineskip+\\parskip\\relax' in result)

assert ('\\begin{wrapfigure}{r}{0.500\\linewidth}\n\\centering\n'
'\\noindent\\sphinxincludegraphics{{rimg}.png}\n'
'\\caption{figure with align \\& figwidth option}'
'\\label{\\detokenize{markup:id10}}'
'\\end{wrapfigure}' in result)
'\\end{wrapfigure}\n\n'
'\\mbox{}\\par\\vskip-\\dimexpr\\baselineskip+\\parskip\\relax' in result)

assert ('\\begin{wrapfigure}{r}{3cm}\n\\centering\n'
'\\noindent\\sphinxincludegraphics[width=3cm]{{rimg}.png}\n'
'\\caption{figure with align \\& width option}'
'\\label{\\detokenize{markup:id11}}'
'\\end{wrapfigure}' in result)
'\\end{wrapfigure}\n\n'
'\\mbox{}\\par\\vskip-\\dimexpr\\baselineskip+\\parskip\\relax' in result)

assert 'Footnotes' not in result

Expand Down

0 comments on commit 19b0710

Please sign in to comment.