emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Tikz-->LaTeX/HTML
@ 2012-03-25 22:27 Steve Hafner
  2012-03-26  9:30 ` Tikz-->LaTeX/HTML Andreas Leha
  0 siblings, 1 reply; 5+ messages in thread
From: Steve Hafner @ 2012-03-25 22:27 UTC (permalink / raw)
  To: emacs-orgmode

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Tikz-->LaTeX/HTML
  2012-03-25 22:27 Tikz-->LaTeX/HTML Steve Hafner
@ 2012-03-26  9:30 ` Andreas Leha
  2012-03-26  9:48   ` Tikz-->LaTeX/HTML Andreas Leha
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Leha @ 2012-03-26  9:30 UTC (permalink / raw)
  To: emacs-orgmode

Steve Hafner <steve.b.hafner@gmail.com> 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}")
|     <<contents>>
|   #+end_src
`----

Regards,
Andreas

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Tikz-->LaTeX/HTML
  2012-03-26  9:30 ` Tikz-->LaTeX/HTML Andreas Leha
@ 2012-03-26  9:48   ` Andreas Leha
  2012-03-26 15:11     ` Tikz-->LaTeX/HTML Steve Hafner
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Leha @ 2012-03-26  9:48 UTC (permalink / raw)
  To: emacs-orgmode

Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:

Sorry, sent with wrong version, see below:

> Steve Hafner <steve.b.hafner@gmail.com> 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

> |     <<contents>>
> |   #+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
|   <<contents>>
| #+end_src
`----

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Tikz-->LaTeX/HTML
  2012-03-26  9:48   ` Tikz-->LaTeX/HTML Andreas Leha
@ 2012-03-26 15:11     ` Steve Hafner
  2012-03-26 15:37       ` Tikz-->LaTeX/HTML Steve Hafner
  0 siblings, 1 reply; 5+ messages in thread
From: Steve Hafner @ 2012-03-26 15:11 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

On Mon, Mar 26, 2012 at 3:48 AM, Andreas Leha
<andreas.leha@med.uni-goettingen.de> wrote:
> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>
> Sorry, sent with wrong version, see below:
>
>> Steve Hafner <steve.b.hafner@gmail.com> 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
>
>> |     <<contents>>
>> |   #+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
> |   <<contents>>
> | #+end_src
> `----
>
>

Thank you, Andreas. It now works as expected. I don't have any
problems that I can see with repect to this ORG-ORG-START issue; the
exported files I get look clean.

For any in-the-dark readers coming across this thread, I needed to put

#+LATEX_HEADER: \usepackage{tikz}

in my file.

Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Tikz-->LaTeX/HTML
  2012-03-26 15:11     ` Tikz-->LaTeX/HTML Steve Hafner
@ 2012-03-26 15:37       ` Steve Hafner
  0 siblings, 0 replies; 5+ messages in thread
From: Steve Hafner @ 2012-03-26 15:37 UTC (permalink / raw)
  To: Andreas Leha; +Cc: emacs-orgmode

On Mon, Mar 26, 2012 at 9:11 AM, Steve Hafner <steve.b.hafner@gmail.com> wrote:
> On Mon, Mar 26, 2012 at 3:48 AM, Andreas Leha
> <andreas.leha@med.uni-goettingen.de> wrote:
>> Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
>>
>> Sorry, sent with wrong version, see below:
>>
>>> Steve Hafner <steve.b.hafner@gmail.com> 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
>>
>>> |     <<contents>>
>>> |   #+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
>> |   <<contents>>
>> | #+end_src
>> `----
>>
>>
>
> Thank you, Andreas. It now works as expected. I don't have any
> problems that I can see with repect to this ORG-ORG-START issue; the
> exported files I get look clean.

Andreas, I just read your bug report about the ORG-ORG-START issue in
which you say the problem disappears with removal of indentation, and
in fact I had removed the indentation. Leaving it in I get excess
junk.

Steve

>
> For any in-the-dark readers coming across this thread, I needed to put
>
> #+LATEX_HEADER: \usepackage{tikz}
>
> in my file.
>
> Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-03-26 15:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-25 22:27 Tikz-->LaTeX/HTML Steve Hafner
2012-03-26  9:30 ` Tikz-->LaTeX/HTML Andreas Leha
2012-03-26  9:48   ` Tikz-->LaTeX/HTML Andreas Leha
2012-03-26 15:11     ` Tikz-->LaTeX/HTML Steve Hafner
2012-03-26 15:37       ` Tikz-->LaTeX/HTML Steve Hafner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).