emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Block level specification for tex code html export method


From: Haochen Xie
Subject: Re: [O] Block level specification for tex code html export method
Date: Wed, 12 Aug 2015 21:51:55 +0900

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 <address@hidden> 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 <address@hidden> 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 <address@hidden> wrote:
>
>
>  2015-08-11 10:47 GMT+02:00 Haochen Xie <address@hidden>:
>
>
>  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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]