emacs-orgmode
[Top][All Lists]

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

 From: Andreas Leha Subject: Re: [O] Block level specification for tex code html export method Date: Mon, 10 Aug 2015 23:56:55 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (darwin)

Hi Haochen,

> Hi,
>
> I'm trying to include a diagram drawn with tikz in a document, but
> couldn't find an elegant way to conditionally export it as png when
> generating HTML output and raw TeX code when generating PDF. It is
> possible to use
>
> #+OPTIONS: tex:imagemagick
>
> to have tex blocks in the document exported as PNG in HTML, but since
> I have other formulas which will render much better with MathJAX other
> than embedded PNGs, i really don't want to do it. What I'm currently
> doing is to use something like
>
> #+BEGIN_SRC latex :file diagram.png :results value raw
> \begin{tikzpicture}
> \draw (0,0) grid (7,5);
> \draw (0,0) node[below left] {$A$};
> \draw (7,5) node[above right] {$B$};
> \fill (0,0) circle (2pt);
> \fill (7,5) circle (2pt);
> \end{tikzpicture}
> #+END_SRC
>
> #+RESULTS[da59bc402ce2d1055b5ff471ea7e398c4e0488f5]:
> [[file:diagram.png]]
>
> so that the diagram will be include in the HTML file as a png image,
> and the pdf file will also include it as a raster image.
>
> But this method is rather a workaround. I'd like to see a vector
> diagram in the pdf file, which could be achieved if there is a way to
> specify how a block of TeX source code should be handled when exported
> to HTML regardless to the global settings. So I propose an extension
> to #+BEGIN_LaTeX block so that a new header :html will control how the
> specific block will be handled when exporting to HTML. The possible
> values might be none, t, dvipng, or imagemagick. "none" will ignore
> the whole block when exporting to HTML, just like the current
> behavior; "t" will try to call MathJAX to interpret this block of TeX
> code; and "dvipng" and "imagemagick" will call "dvipng" or
> "imagemagick" to render a png file to be embedded in the HTML page.
>
> If that extension is supported, we could then left the global option
> tex:t while inline a tex powered figure with great convenience. For
> example, in my use case, I could then just used the following code to
> achieve what I want:
>
> #+BEGIN_LaTeX :html imagemagick
> \begin{tikzpicture}
> \draw (0,0) grid (7,5);
> \draw (0,0) node[below left] {$A$};
> \draw (7,5) node[above right] {$B$};
> \fill (0,0) circle (2pt);
> \fill (7,5) circle (2pt);
> \end{tikzpicture}
> #+END_LaTeX
>
> As I'm new to org-mode, I may missed something that I could use
> instead (although I searched the internet very hard). Please feel free
> to disagree on me and point alternative ways to achieve my goal.
>
>
> Best regards,
>
> Haochen
>

There has been a thread on this list recently on this topic [1].
See [2] for an example and [3] for some further explanations.

Regards,
Andreas