emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Erik Iverson <eriki@ccbr.umn.edu>
To: Jeffrey Horn <jrhorn424@gmail.com>
Cc: Org-mode ml <emacs-orgmode@gnu.org>
Subject: Re: [babel] Including TikZ diagrams as figures in export
Date: Sun, 20 Feb 2011 19:56:18 -0600	[thread overview]
Message-ID: <4D61C642.8060205@ccbr.umn.edu> (raw)
In-Reply-To: <18FA37FD52964B6B892AAD0C99965D83@gmail.com>

Jeffrey,

> Now, I'd like to integrate them into an org document. I'd like:
> 1) To use babel to handle the TikZ source

This is possible.

> 2) To wrap the resulting drawing in a figure environment for automatic numbering and centering

See http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-LaTeX.html and 
search for "tikz" for an example.  I think you do need to use the :file argument
for this to have org-mode take care of it automatically.

Alternatively, you could just include *all* the latex you want, including
constructing your own figure environment and caption and refs, in the latex
code block.

> 3) To be able to refer to the figure elsewhere in the document

Should be possible with either approach above.

> 4) (optional) To be able to seamlessly export to both LaTeX and HTML

So should the HTML exporter generate a PNG file then, as opposed to PDF?
This is possible, but requires some 'conditional' elisp code in your :file
source block argument.  I think I can help if that's indeed what you want.

> And somewhat unrelated, is ":results" now deprecated in favor of ":exports"? What about ":file"? I'm sufficiently new to babel that these all seem like they could be taken care of with a single header argument with many options...

Not deprecated at all according to my understanding:

:results determines how the results are collected from a process. So, in R, we
might want the standard output ':results output' or we might just want the last
value returned by the code block, ':results value'.  This determines what is
inserted into the org-mode buffer or the export stream when the code block
is evaluated.

:exports determines if the code and/or the results will be inserted upon
exporting. *If* the results are inserted, then :results will determine how.

:file is useful for code blocks that generate graphical output, such as tikz.
This will divert the output into the named file, and exporting will insert
that file.  In the org-mode buffer, a link will be inserted. If a png file is
generated, it can even be displayed inline in the org-mode buffer if you turn
on that functionality.

  reply	other threads:[~2011-02-21  1:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-20 23:03 [babel] Including TikZ diagrams as figures in export Jeffrey Horn
2011-02-21  1:56 ` Erik Iverson [this message]
2011-02-21 15:11   ` Jeff Horn
2011-02-21 16:57     ` Eric Schulte
2011-02-21 19:27       ` Jeff Horn
2011-02-21 16:44   ` Andreas Leha
2011-02-21 19:29     ` Jeff Horn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D61C642.8060205@ccbr.umn.edu \
    --to=eriki@ccbr.umn.edu \
    --cc=emacs-orgmode@gnu.org \
    --cc=jrhorn424@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).