On Sun, Nov 18, 2012 at 3:53 PM, Matthias BUSSONNIER <span dir="ltr">&lt;<a href="mailto:bussonniermatthias@gmail.com" target="_blank">bussonniermatthias@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
Le 18 nov. 2012 à 22:31, Aaron Meurer a écrit :<br>
<div class="im"><br>
&gt; Would it make sense to create (or does one already exist) a Markdown<br>
&gt; object (or Markdown output type) which takes a string input and<br>
&gt; renders it like a Markdown cell would? Then it would just be something<br>
&gt; like Markdown(&quot;The answer is %s&quot; % latex(x**2, mode=&#39;inline&#39;)) (note<br>
&gt; that latex(mode=&#39;inline&#39;) includes the $ delimiters).<br>
<br>
</div>Not sure I fully understand, py2tex does allow to do some nice things.<br></blockquote><div><br></div><div>I mean, objects can define their own rich printing types in the notebook.  Latex() renders LaTeX because it&#39;s output type is LaTeX.  I am suggesting to create Markdown(), whose output type is markdown rendered text (if one does not already exist).<br>

</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
<br>
And we are also working on having the ability to do<br>
<br>
the value of x is ::x::<br>
in a markdown cell,<br>
where ::x:: will be replace by the actual repr of x in the kernel.<br>
Still thinking on the best syntax and how to choose between tex/html/.../ repr.<br>
<span class=""><font color="#888888">--<br>
Matthias<br></font></span></blockquote><div><br></div><div>That would also work, though obviously for non-trivial string manipulations, it would be better to do it directly in code (for example, appending &quot;s&quot; to the end of a word iff a certain variable is greater than 1).</div>

<div><br></div><div>Also, would this allow arbitrary code to be executed, or just variable names?</div><div><br></div><div>Aaron Meurer</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<span class=""><font color="#888888">
</font></span><div class=""><div class="h5"><br>
&gt;<br>
&gt; Aaron Meurer<br>
&gt;<br>
&gt; On Nov 18, 2012, at 3:46 AM, Matthias BUSSONNIER<br>
&gt; &lt;<a href="mailto:bussonniermatthias@gmail.com">bussonniermatthias@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Le 18 nov. 2012 à 00:40, Mike Witt a écrit :<br>
&gt;&gt;<br>
&gt;&gt;&gt; In an ipython notebook, I&#39;d like to do something like this:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; x = Symbol(&#39;x&#39;)<br>
&gt;&gt;&gt; print(&#39;The answer is: $%s$&#39; %latex(x**2))<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The closest I&#39;ve figured out how to get is:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; print(&#39;The answer is:&#39;)<br>
&gt;&gt;&gt; display(x**2)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Or something equivalent to that. I&#39;d like to mix the string<br>
&gt;&gt;&gt; and the math output on the same line, but I can&#39;t figure<br>
&gt;&gt;&gt; out the syntax.<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt; In the general case, I don&#39;t think it is super simple.<br>
&gt;&gt; You will have to get the function that compute the repr_tex of x**2 and use<br>
&gt;&gt;<br>
&gt;&gt; from IPython.display import Latex<br>
&gt;&gt; Latex(&#39;your formatted latex string here&#39;)<br>
&gt;&gt;<br>
&gt;&gt; In your case, sympy provide an easy way to get latex repr when possible.<br>
&gt;&gt; So in your case this should work (watch out for sympy.latex with lowercase L an IPython.Latex  with Upper Case L)<br>
&gt;&gt;<br>
&gt;&gt; from sympy import Symbol, latex<br>
&gt;&gt; from IPython.display import Latex<br>
&gt;&gt; x= Symbol(&#39;x&#39;)<br>
&gt;&gt; Latex(&#39; I can have inline latex : $%s$&#39;% latex(x**2))<br>
&gt;&gt;<br>
&gt;&gt;&gt; Note that I&#39;m in a code cell, not a markdown cell. I want to<br>
&gt;&gt;&gt; calculate the answer and then print it with informative strings<br>
&gt;&gt;&gt; intermixed with the math. Is this possible?<br>
&gt;&gt;<br>
&gt;&gt; This is not yet alway possible or easy, but we are working on way to improve that.<br>
&gt;&gt; --<br>
&gt;&gt; Matthias<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; -Mike<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; IPython-User mailing list<br>
&gt;&gt;&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
&gt;&gt;&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; IPython-User mailing list<br>
&gt;&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
&gt;&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
&gt; _______________________________________________<br>
&gt; IPython-User mailing list<br>
&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
<br>
_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
</div></div></blockquote></div><br></div>