Open
Description
trouble with latex align and eps output
png output works, eps breaks
I have a figure that contains an align latex environment to stack two parameter definitions. Saving the figure as png is OK, while as eps gives a complicated Latex error.
import matplotlib
import matplotlib.pyplot as plt
params= {'text.latex.preamble' : [r'\usepackage{amsmath}']}
plt.rcParams.update(params)
fig, ax = plt.subplots(figsize=(8, 6))
ax.text(0.5, 0.5, r'\begin{align*} H&: 2 \ \textrm{m} \\'\
+ r'\Lambda &: 40 \ \textrm{m} \end{align*}',
bbox=dict(boxstyle="square",
ec=(0.6, 0.6, 0.6),
fc=(1., 1., 1.),
),
fontsize=32)
plt.show(block=False)
# this works fine
#plt.savefig('test.png', format='png')
plt.savefig('test.eps', format='eps')
Actual outcome
---------------------------------------------------------------------------
CalledProcessError Traceback (most recent call last)
~/miniconda3/lib/python3.6/site-packages/matplotlib/backends/backend_ps.py in convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, paperWidth, paperHeight, orientation)
1435 report = subprocess.check_output(command, cwd=tmpdir,
-> 1436 stderr=subprocess.STDOUT)
1437 except subprocess.CalledProcessError as exc:
~/miniconda3/lib/python3.6/subprocess.py in check_output(timeout, *popenargs, **kwargs)
335 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
--> 336 **kwargs).stdout
337
~/miniconda3/lib/python3.6/subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
417 raise CalledProcessError(retcode, process.args,
--> 418 output=stdout, stderr=stderr)
419 return CompletedProcess(process.args, retcode, stdout, stderr)
CalledProcessError: Command '['latex', '-interaction=nonstopmode', '"/tmp/tmpdnuve0l3.tex"']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
RuntimeError Traceback (most recent call last)
~/python-workspace/icepyks/workspace/essay_plots/eps_bug.py in <module>()
21 plt.show(block=False)
22 #plt.savefig('test.png', format='png')
---> 23 plt.savefig('test.eps', format='eps')
~/miniconda3/lib/python3.6/site-packages/matplotlib/pyplot.py in savefig(*args, **kwargs)
708 def savefig(*args, **kwargs):
709 fig = gcf()
--> 710 res = fig.savefig(*args, **kwargs)
711 fig.canvas.draw_idle() # need this if 'transparent=True' to reset colors
712 return res
~/miniconda3/lib/python3.6/site-packages/matplotlib/figure.py in savefig(self, fname, **kwargs)
2033 self.set_frameon(frameon)
2034
-> 2035 self.canvas.print_figure(fname, **kwargs)
2036
2037 if frameon:
~/miniconda3/lib/python3.6/site-packages/matplotlib/backend_bases.py in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
2259 orientation=orientation,
2260 bbox_inches_restore=_bbox_inches_restore,
-> 2261 **kwargs)
2262 finally:
2263 if bbox_inches and restore_bbox:
~/miniconda3/lib/python3.6/site-packages/matplotlib/backends/backend_ps.py in print_eps(self, outfile, *args, **kwargs)
929
930 def print_eps(self, outfile, *args, **kwargs):
--> 931 return self._print_ps(outfile, 'eps', *args, **kwargs)
932
933 def _print_ps(self, outfile, format, *args, **kwargs):
~/miniconda3/lib/python3.6/site-packages/matplotlib/backends/backend_ps.py in _print_ps(self, outfile, format, *args, **kwargs)
953 self._print_figure_tex(outfile, format, imagedpi, facecolor, edgecolor,
954 orientation, isLandscape, papertype,
--> 955 **kwargs)
956 else:
957 self._print_figure(outfile, format, imagedpi, facecolor, edgecolor,
~/miniconda3/lib/python3.6/site-packages/matplotlib/backends/backend_ps.py in _print_figure_tex(self, outfile, format, dpi, facecolor, edgecolor, orientation, isLandscape, papertype, metadata, **kwargs)
1349 custom_preamble, paperWidth,
1350 paperHeight,
-> 1351 orientation)
1352
1353 if (rcParams['ps.usedistiller'] == 'ghostscript'
~/miniconda3/lib/python3.6/site-packages/matplotlib/backends/backend_ps.py in convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, paperWidth, paperHeight, orientation)
1441 'Here is the full report generated by LaTeX:\n%s '
1442 '\n\n' % (latexfile,
-> 1443 exc.output.decode("utf-8"))))
1444 _log.debug(report)
1445
RuntimeError: LaTeX was not able to process the following file:
/tmp/tmpdnuve0l3.tex
Here is the full report generated by LaTeX:
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(/tmp/tmpdnuve0l3.tex
LaTeX2e <2017-04-15>
Babel <3.15> and hyphenation patterns for 84 language(s) loaded.
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/base/size10.clo))
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/type1cm/type1cm.sty)
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/base/textcomp.sty
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/base/ts1enc.def))
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/amsmath/amstext.sty
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/geometry/geometry.sty
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics/keyval.sty)
(/home/e2richards/texlive/2017/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(/home/e2richards/texlive/2017/texmf-dist/tex/generic/oberdiek/ifvtex.sty)
(/home/e2richards/texlive/2017/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
Package geometry Warning: Over-specification in `h'-direction.
`width' (578.15999pt) is ignored.
Package geometry Warning: Over-specification in `v'-direction.
`height' (433.62pt) is ignored.
) (/home/e2richards/texlive/2017/texmf-dist/tex/latex/psfrag/psfrag.sty
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics/graphics.sty
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics/trig.sty)
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics-def/dvips.def)))
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics/graphicx.sty)
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics/color.sty
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/graphics/dvipsnam.def))
No file tmpdnuve0l3.aux.
(/home/e2richards/texlive/2017/texmf-dist/tex/latex/base/ts1cmr.fd)
*geometry* detected driver: dvips
<tmpdnuve0l3.eps>
LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <26> not available
(Font) size <24.88> substituted on input line 28.
LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <18.19992> not available
(Font) size <17.28> substituted on input line 28.
LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <13> not available
(Font) size <12> substituted on input line 28.
LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <32> not available
(Font) size <24.88> substituted on input line 28.
LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <22.3999> not available
(Font) size <20.74> substituted on input line 28.
LaTeX Font Warning: Font shape `OMX/cmex/m/n' in size <16> not available
(Font) size <17.28> substituted on input line 28.
! Missing \endgroup inserted.
<inserted text>
\endgroup
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing \endgroup inserted.
<inserted text>
\endgroup
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! LaTeX Error: There's no line here to end.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing $ inserted.
<inserted text>
$
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing \cr inserted.
<inserted text>
\cr
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing { inserted.
<inserted text>
{
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing { inserted.
<inserted text>
{
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Extra }, or forgotten $.
<recently read> }
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing $ inserted.
<inserted text>
$
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing $ inserted.
<inserted text>
$
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Misplaced alignment tab character &.
<argument> H&: 2 \ \textrm {m} \\\Lambda &
: 40 \ \textrm {m}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Misplaced \cr.
\math@cr@@@ ->\cr
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Misplaced \noalign.
\math@cr@@ ... \iffalse }\fi \math@cr@@@ \noalign
{\vskip #1\relax }
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing $ inserted.
<inserted text>
$
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Extra }, or forgotten \endgroup.
\math@cr@@ ...th@cr@@@ \noalign {\vskip #1\relax }
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Misplaced \noalign.
\black@ #1->\noalign
{\ifdim #1>\displaywidth \dimen@ \prevdepth \nointerlin...
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
Overfull \hbox (118.28842pt too wide) detected at line 28
[]
! Extra }, or forgotten \endgroup.
\endalign ->\math@cr \black@ \totwidth@ \egroup
\ifingather@ \restorealignst...
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! LaTeX Error: \begin{figure} on input line 15 ended by \end{align*}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing $ inserted.
<inserted text>
$
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Display math should end with $$.
<to be read again>
\endgroup
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing } inserted.
<inserted text>
}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Extra }, or forgotten \endgroup.
\Gin@erotate ...angle {#1}\setbox \z@ \hbox {{#2}}
\Grot@x \z@ \Grot@y \z@ \G...
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Undefined control sequence.
<argument> \Grot@angle
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing number, treated as zero.
<to be read again>
)
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Undefined control sequence.
<argument> \Grot@angle
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing number, treated as zero.
<to be read again>
)
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Undefined control sequence.
<argument> \Grot@angle
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing number, treated as zero.
<to be read again>
)
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Undefined control sequence.
<argument> \Grot@angle
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Missing number, treated as zero.
<to be read again>
)
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Undefined control sequence.
\Grot@start ...currentpoint translate \Grot@angle
\GPT@space neg rotate neg ...
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Extra }, or forgotten \endgroup.
\mbox #1->\leavevmode \hbox {#1}
l.28 \includegraphics*[angle=0]{tmpdnuve0l3.eps}
! Too many }'s.
\@endfloatbox ...pagefalse \outer@nobreak \egroup
\color@endbox
l.29 \end{figure}
! Extra \endgroup.
\color@endgroup ->\endgraf \endgroup
l.29 \end{figure}
! Too many }'s.
\color@endbox ->\color@endgroup \egroup
l.29 \end{figure}
! LaTeX Error: \begin{document} ended by \end{figure}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.29 \end{figure}
! Extra \endgroup.
<recently read> \endgroup
l.29 \end{figure}
[1] (./tmpdnuve0l3.aux)
LaTeX Font Warning: Size substitutions with differences
(Font) up to 7.12pt have occurred.
)
(see the transcript file for additional information)
Output written on tmpdnuve0l3.dvi (1 page, 456 bytes).
Transcript written on tmpdnuve0l3.log.
Matplotlib version
- Operating system: RedHatEnterpriseServer 7.3
- Matplotlib version: '2.2.0'
- Matplotlib backend (
print(matplotlib.get_backend())
): TkAgg - Python version:Python 3.6.4 |Anaconda, Inc.
Metadata
Metadata
Assignees
Labels
https://matplotlib.org/devdocs/devel/contribute.html#good-first-issueshttps://matplotlib.org/devdocs/devel/contribute.html#good-first-issues