From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Leha Subject: Re: Tikz-->LaTeX/HTML Date: Mon, 26 Mar 2012 11:48:53 +0200 Message-ID: <877gy7pu9m.fsf@med.uni-goettingen.de> References: <87fwcvpv4j.fsf@med.uni-goettingen.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:45523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SC6Z2-0000vh-DE for emacs-orgmode@gnu.org; Mon, 26 Mar 2012 05:50:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SC6Yv-00062j-MO for emacs-orgmode@gnu.org; Mon, 26 Mar 2012 05:50:11 -0400 Received: from plane.gmane.org ([80.91.229.3]:34064) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SC6Yv-000616-Bq for emacs-orgmode@gnu.org; Mon, 26 Mar 2012 05:50:05 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1SC6Yu-00036a-0C for emacs-orgmode@gnu.org; Mon, 26 Mar 2012 11:50:04 +0200 Received: from genepi110.genepi.med.uni-goettingen.de ([134.76.140.110]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 26 Mar 2012 11:50:03 +0200 Received: from andreas.leha by genepi110.genepi.med.uni-goettingen.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 26 Mar 2012 11:50:03 +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 Andreas Leha writes: Sorry, sent with wrong version, see below: > Steve Hafner writes: > >> I'm trying to get a LaTeX scr block with Tikz code either to go native >> into LaTeX or to be converted into a PNG file and included in HTML, as >> described in http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html. >> That document refers to a thread on this list in which two example >> were given: http://lists.gnu.org/archive/html/emacs-orgmode/2011-02/msg01297.html >> and http://lists.gnu.org/archive/html/emacs-orgmode/2011-02/msg01302.html. >> Both examples behave in a similar way for me on Org-7.8.06, but not in >> the way I expected. If I export to PDF then I just get >> "[[file:test.png]]" in the PDF where I expected the image to be >> visible, and if I export to HTML then nothing is visible in the HTML >> file. Either way I export, the file test.png is indeed generated. >> >> So I wonder if these examples are valid with respect to 7.8.06 or >> maybe my expectations are off. I would not think that the PNG file >> should be generated for the PDF export, but would expect the image to >> be visible when viewing either document. Reading the manual, it seems >> that maybe the behavior has changed in the last year with respect to >> these examples. >> >> So I've tried to figure it out with the manual. If I don't worry about >> the HTML export, I'm able to set up the document so that the Tikz code >> is included into LaTeX in the correct way; not too difficult. On the >> other hand, if I don't worry about the LaTeX export, I can get the PNG >> file to generate but can't get it automatically included into the >> HTML. If I could get this second part figured out, then the plan would >> be to have an elisp conditional testing on "backend" (if this is still >> a valid symbol to test on) that would determine whether on not to >> include :file etc. in the header for the src block. Any thoughts? >> >> --Steve > > Hi Steve, > > the examples are indeed out-dated. > > 1) 'backend is now > 'org-export-current-backend (though I am not sure, I think there was > also 'latexp at some time). > 2) If the latex block is evaluated at all and a file argument is > present, this will be used. So the block meant to go the latex->PDF > route should not contain the :file argument. > 3) Even if ":results graphics" or ":results file" is specified, the > results of a latex block seem to be wrapped in > #+begin_latex...#+end_latex. So for the block meant to go to the > html, one way is to specify ":results org". But here I get a > spurious ORG-ORG-START ... > > Anyway, besides that ORG-ORG-START thing, this seems to work on my side: > > ,---- > | * Tikz test > | #+name: contents > | #+begin_src latex :exports (if (and (boundp 'org-export-current-backend) (eq org-export-current-backend 'latex)) "results" "none") :results latex > | \begin{tikzpicture} > | \node[red!50!black] (a) {A}; > | \node (b) [right of=a] {B}; > | \draw[->] (a) -- (b); > | \end{tikzpicture} > | #+end_src > | > | #+begin_src latex :exports (if (and (boundp 'org-export-current-backend) (eq org-export-current-backend 'latex)) "none" "results") :results file :file test.png :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 400 :fit yes :noweb yes :headers '("\\usepackage{tikz}") here it should have been :results org > | <> > | #+end_src > `---- > > Regards, > Andreas Best, Andreas PS: BTW, it requires tons of header arguments. These can be split over several lines: ,---- | * Tikz test | #+name: contents | #+header: :exports (if (and (boundp 'org-export-current-backend) (eq org-export-current-backend 'latex)) "results" "none") | #+header: :results latex | #+begin_src latex | \begin{tikzpicture} | \node[red!50!black] (a) {A}; | \node (b) [right of=a] {B}; | \draw[->] (a) -- (b); | \end{tikzpicture} | #+end_src | | #+header: :exports (if (and (boundp 'org-export-current-backend) (eq org-export-current-backend 'latex)) "none" "results") | #+header: :results org :file test.png | #+header: :imagemagick yes :iminoptions -density 600 :imoutoptions -geometry 400 | #+header: :fit yes :noweb yes :headers '("\\usepackage{tikz}") | #+begin_src latex | <> | #+end_src `----