[IPython-User] nbconvert rendering of iPython output cells represented by core.display classes
Todd
mtoddmatthews@gmail....
Thu Dec 27 04:54:59 CST 2012
Thanks for the help. I agree with Matthias that it would be very nice
to have such a project. For the moment, I have a basic problem using
_repl_latex_ for a simple case. The one liner suggested by
Alejandro for putting all of the row entries into a LaTeX string will
be helpful; but, I am struggling with the wrapping information.
Latex is new territory; so, I created a dummy table in a markdown for
starters. In iPython the makdown cell, it appears as LaTeX code wrapped
in a lined text cell (ie, not rendered as LaTeX) and when running
through nbconvert/pdflatex, the desired LaTeX table is produced.
Secondary question - can the Latex code be displayed as LaTeX in the markdown from
within iPython?
Now for the main problem - I should be able to match the successful
nbconvert/pdflatex behavior by having the _repl_latex_ produce the exact
same LaTeX code (wrapped in "$$" for mathjax) and then return it. But,
this does not get converted with nbconvert/pdflatex with pdflatex
complaining about "\Improper prevdepth". I am missing something basic.
Any thoughts?
Here is the code for completeness:
In markdown (works with nbconvert/pdflatex):
\begin{table}[h]
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
Item1 & Item2 & Item3 \\
\hline\hline
test1 & test2 & test3 \\
test4 & test5 & test6 \\
\hline
\end{tabular}
\end{center}
\caption{Data Summary}
\label{table:datasum}
\end{table}
And the _repl_latex_ definition (does not work when rendering object in
nbconvert/pdflatex or iPython; however, the string returned is seemingly
identical to the markdown text above):
def _repr_latex_(self):
tex = "$$\\begin{table}[h]\n"
tex += "\\begin{center}\n"
tex += "\\begin{tabular}{|c|c|c|}\n"
tex += "\\hline\n"
tex += "Item1 & Item2 & Item3 \\\\\n"
tex += "\\hline\\hline\n"
tex += "test1 & test2 & test3 \\\\\n"
tex += "test4 & test5 & test6 \\\\\n"
# WILL REPLACE TWO LINES ABOVE WITH ONE LINER SUGGESTED BY
# ALEJANDRO TO DEFINE ROW ENTRIES FROM LIST
tex += "\\end{center}\n"
tex += "\\caption{Data Summary}\n"
tex += "\\label{table:datasum}\n"
tex += "\\end{table}$$"
return tex
More information about the IPython-User
mailing list