From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Leha Subject: Re: Block level specification for tex code html export method Date: Wed, 12 Aug 2015 14:40:19 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44308) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPWGt-0008GM-05 for emacs-orgmode@gnu.org; Wed, 12 Aug 2015 09:40:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZPWGo-00046Z-H5 for emacs-orgmode@gnu.org; Wed, 12 Aug 2015 09:40:46 -0400 Received: from plane.gmane.org ([80.91.229.3]:45572) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPWGo-00046Q-5w for emacs-orgmode@gnu.org; Wed, 12 Aug 2015 09:40:42 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZPWGj-0007l0-4a for emacs-orgmode@gnu.org; Wed, 12 Aug 2015 15:40:37 +0200 Received: from 193.63.222.18 ([193.63.222.18]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 12 Aug 2015 15:40:37 +0200 Received: from andreas.leha by 193.63.222.18 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 12 Aug 2015 15:40:37 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi Haochen, Sorry for not being clearer. There is no imagemagick involved in the svg generation if everything is setup correctly. Instead the command defined in org-babel-latex-htlatex is used. My test file sets this to to "htlatex" from tex4th [1]. At the time of the thread I linked to there was a bug in ob-latex, though. So, make sure to be on a "recent" version of org (containing at least the commit 510e7037988d44151dea5b98631839fc8003dd57 from 2015-03-21) Just for reference, here are the first lines of the svg that is produced for me which look fine to me: --8<---------------cut here---------------start------------->8--- --8<---------------cut here---------------end--------------->8--- Regards, Andreas [1] https://www.tug.org/applications/tex4ht/mn-commands.html Haochen Xie writes: > Hi Andreas, > > Thank you for your code example. I've tried almost the same code which > I saw from the thread you referred (with the htlatex initialization, > which I'm doing in my .emacs), and indeed got a svg file as > expected. But the problem is that when I try to browse the HTML page > in chrome, the image is shown as broken. I check the HTML source code, > the image is presented in an img tag, pointing to the svg file. My > first though was that the svg file isn't recognized because it's not > served by a HTTP server instead of being a filesystem link. I then > tried to use python SimpleHTTPServer, then python3 -m http.server (the > python2 SimpleHTTPServer was serving svg with a wrong Content-Type) > but without luck. > > Today, I tried svg again, and finally figured out the problem: the svg > file generated doesn't contain a proper xmlns in the svg tag, so both > chrome and internet explorer is interpreting it as a plain xml file > instead of rendering it. > > I guess this is a bug with imagemagick, but when I tried to do some > research on this problem I found nothing. Maybe I could find something > with more researches, but I don't have time now, and PNG is fine for > me. > > Still, Andreas, thank you very much for helping. > > Regards, > > Haochen > > -- > > Mail from Haochen Xie > > On Wed, Aug 12, 2015 at 5:50 PM, Andreas Leha wrote: > > > Hi Haochen, > > You can render svg from latex through org directly. Here is a complete > example including a tikz diagram that that works on my system (once I > tackle a bug in PGF [1]). > It renders > - png by default (and for inlining the image into the org document) > - nothing for latex (directly include the tikz code into the tex document) > - svg for html > > --8<---------------cut here---------------start------------->8--- > #+LATEX_HEADER: \usepackage{tikz} > > First execute the second code block, to define the convenience macro > and to set the required new variables in ob-latex.el. Then export to > HTML and to pdf to see the tree exported as an SVG image and as > embedded tikz respectively. > > * Tikz test > Here's a tree, exported to both html and pdf. > > #+header: :file (by-backend (html "tree.svg") (latex "tree.tikz") (t "tree.png")) > #+header: :imagemagick :iminoptions -density 600 :imoutoptions -geometry 800 > #+header: :results file raw > #+header: :fit yes > #+begin_src latex > \usetikzlibrary{trees} > \begin{tikzpicture} > \node [circle, draw, fill=red!20] at (0,0) {1} > child { node [circle, draw, fill=blue!30] {2} > child { node [circle, draw, fill=green!30] {3} } > child { node [circle, draw, fill=yellow!30] {4} }}; > \end{tikzpicture} > #+end_src > > #+results: > [[file:tree.png]] > > * COMMENT setup > #+begin_src emacs-lisp :results silent > (setq org-babel-latex-htlatex "htlatex") > (defmacro by-backend (&rest body) > `(case (if (boundp 'backend) (org-export-backend-name backend) nil) ,@body)) > #+end_src > --8<---------------cut here---------------end--------------->8--- > > Regards, > Andreas > > [1] http://tex.stackexchange.com/a/232739 > > Haochen Xie writes: > > Hi Fabrice, > > > > Thank you for mentioning dvisvgm. I did some researches on it, and it seems that as for now, the only way to invoke dvisvgm is to first export the latex part to dvi, and call dvisvgm > > manually to convert it to svg, then include it in the org file, which, is too troublesome for me. Is there any plan to add dvisvgm as an alternative to dvipng and imagemagick? IMO svg > > images will look much better than png (well, in browsers supporting it), so that's a nice option to have. > > > > Regards, > > > > Haochen > > > > -- > > > > Mail from Haochen Xie > > > > On Tue, Aug 11, 2015 at 5:53 PM, Fabrice Popineau wrote: > > > > > > 2015-08-11 10:47 GMT+02:00 Haochen Xie : > > > > > > Hi Andreas, > > > > Thank you for your reply. I've read the whole thread, and found your > > example (the second link) very useful. Although for some reason, SVG > > image is not working well on my machine (not being displayed in > > chrome, nor on IE. I don't have firefox installed), but since the SVG > > image generated by imagemagick is indeed a raster image, I don't see > > any benefit using SVG over PNG, and exporting to PNG works perfectly. > > > > Use dvisvgm instead of imagemagick to generate the svg file. > > > > Fabrice