* Org, latex and asymptote in a math project
@ 2011-09-12 12:23 Jarmo Hurri
2011-09-12 13:15 ` Giovanni Ridolfi
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jarmo Hurri @ 2011-09-12 12:23 UTC (permalink / raw)
To: emacs-orgmode
Greetings!
Been exploring org, done some examples, and even bought the t-shirt
because I was so impressed.
In addition to using org to keep my personal faq and notes, I am
currently evaluating the use of org in a major math writing project that
will stretch over several years. My standard math tools are latex,
asymptote, R and maxima, and I see org as a great opportunity to
integrate these.
The overall plan is to do the work in org and then export as both pdf
and html. To this end I did a quick test in which I came up with a few
ideas and questions. It has been many years since I have done any
serious Lisp programming, but in the long run I might be able to
implement the ideas if they would be acceptable.
1. If I have understood correctly, in order for an asymptote image to be
included as an inline image, one has to specify a file name at the
beginning of the code block, as in
#+CAPTION: A test caption.
#+begin_src asymptote :file foo.pdf
size (1cm, 0);
filldraw (unitsquare, red);
#+end_src
It would be convenient if the user would not need to specify a
(unique) invented file name for the inline image. Instead, in the
case of an exported pdf, as an end user I would like for asymptote to
generate a unique temporary pdf image file, which would be removed
after the pdf corresponding to the complete document was
complete. The case of exported html is not as clear to me yet; my
current guess is that I would like the system to automatically
generate a uniquely named image file (preferably an svg image, but
not sure which browsers support these) which would then be inline
included into the html page.
Do these ideas get any support? What would be the best way to denote
this kind of behaviour? A new option for "#begin_src asymptote",
e.g., "#begin_src asymptote :autoinline"? Or perhaps
"#begin_src asymptote :autofile"?
2. At least for me, _by far_ the most common way of referring to a
floating element (table or figure) is immediately before or after the
latex code that defines the float. For this, having to generate a
unique label for the float has always been an overkill, and I have
wanted a way to just refer to the previous or next float in the
document. In org this could mean something like specifying
#+AUTOLABEL and then some way of referring to the labels of the next
and previous float (regardless of whether they would be automatically
generated labels or standard named labels). Any support for this? Any
ideas regarding the syntax?
3. It seems that currently inline images generated by asymptote are
included in the resulting latex file with a default size
width=.9\linewidth. I prefer them to be included in their original
size. To achieve this I first tried to define
(setq org-export-latex-image-default-option "")
This did not help: in the resulting latex file, the size was now
defined as width=.7\textwidth, which seems to come from
org-latex.el. Finally I obtained the wanted behaviour by artificially
defining the option to some value that does not cause any harm; in my
case
(setq org-export-latex-image-default-option "keepaspectratio=true")
Like I said, this is artificial. Is there a more natural way to
achieve the desired result, that is, inclusion of images in their
original size? Would it be ok if the code were changed so that
setting
(setq org-export-latex-image-default-option "")
would override the width=.7\textwidth coming from org-latex.el?
4. Let us say that in the math document there would be questions with
corresponding answers and solutions. An answer would be just the
result, while the solution would show the steps needed to obtain the
result. In the org document I would like to write the question, the
corresponding answer and the solution in one place, one after the
other, while in the exported pdf / html I would like the answers and
solutions to be at the end of the document, numbered according to the
numbers of the questions. How could I achieve this?
I use this opportunity to thank the people behind org-mode for
developing a brilliant system.
--
Jarmo Hurri
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Org, latex and asymptote in a math project
2011-09-12 12:23 Org, latex and asymptote in a math project Jarmo Hurri
@ 2011-09-12 13:15 ` Giovanni Ridolfi
2011-09-12 14:16 ` Jambunathan K
2011-09-12 15:49 ` Ethan Ligon
2 siblings, 0 replies; 4+ messages in thread
From: Giovanni Ridolfi @ 2011-09-12 13:15 UTC (permalink / raw)
To: Jarmo Hurri; +Cc: emacs-orgmode
Jarmo Hurri <jarmo.hurri@syk.fi> writes:
Hi, Jarmo,
> 1. If I have understood correctly, in order for an asymptote image to be
> included as an inline image, one has to specify a file name at the
> beginning of the code block, as in
>
> #+CAPTION: A test caption.
> #+begin_src asymptote :file foo.pdf
> size (1cm, 0);
> filldraw (unitsquare, red);
> #+end_src
>
> It would be convenient if the user would not need to specify a
> (unique) invented file name for the inline image.
can't you use the link facility?
1. open dired
2. go over the name of the file you need
3. C-c l
[the path/namefile is saved in the kill ring]
4. back to the buffer you're editing
5. C-c C-l
store the link
then you may find worth reading the section of the manual:
Images in export
-----------------
#+CAPTION: The black-body emission of the disk around HR 4049
#+LABEL: fig:SED-HR4049
#+ATTR_LaTeX: width=5cm,angle=90
[[./img/sed-hr4049.pdf]]
#+ATTR_LaTeX: width=0.38\textwidth wrap placement={r}{0.4\textwidth}
[[./img/hst.png]]
> 2. At least for me, _by far_ the most common way of referring to a
> floating element (table or figure) is immediately before or after the
> latex code that defines the float. For this, having to generate a
> unique label for the float has always been an overkill, and I have
> wanted a way to just refer to the previous or next float in the
> document. In org this could mean something like specifying
> #+AUTOLABEL and then some way of referring to the labels of the next
> and previous float (regardless of whether they would be automatically
> generated labels or standard named labels). Any support for this? Any
> ideas regarding the syntax?
maybe you can use the property :CUSTOM_ID: ? Manual: Internal links
hth,
Giovanni
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Org, latex and asymptote in a math project
2011-09-12 12:23 Org, latex and asymptote in a math project Jarmo Hurri
2011-09-12 13:15 ` Giovanni Ridolfi
@ 2011-09-12 14:16 ` Jambunathan K
2011-09-12 15:49 ` Ethan Ligon
2 siblings, 0 replies; 4+ messages in thread
From: Jambunathan K @ 2011-09-12 14:16 UTC (permalink / raw)
To: Jarmo Hurri; +Cc: emacs-orgmode
> 2. At least for me, _by far_ the most common way of referring to a
> floating element (table or figure) is immediately before or after the
> latex code that defines the float. For this, having to generate a
> unique label for the float has always been an overkill, and I have
> wanted a way to just refer to the previous or next float in the
> document. In org this could mean something like specifying
> #+AUTOLABEL and then some way of referring to the labels of the next
> and previous float (regardless of whether they would be automatically
> generated labels or standard named labels). Any support for this? Any
> ideas regarding the syntax?
May be you are actually suggesting that the LABELS[1] be generated
automagically for you in much the same way that footnote numbers are
generated.
In case of OpenDocumentFormat, one can have the references generated in
the "Above/Below" formats. This can be controlled purely by controlling
the exporting backend WITHOUT ADDING any new Orgmode syntax. I am not
much familiar with LaTeX. If I interpret what you are saying then you
are suggesting that you have some control over how a given exporter
generates label references.
HTML is really not print oriented (whatever that means). May be the
LABEL references \ref{LABEL} which looks to me to be LaTeX oriented
syntax be re-defined to more Org-link like.
Just my 2c,
Jambunathan K.
Footnotes:
[1] I would like to view LABELS as below:
LABEL := CATEGORY:SEQNO
CATEGORY := string
SEQNO := [0-9]+ (not sure whether a period could be included)
CATEGORY could be used for Table, Illustration, Figure etc etc.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Org, latex and asymptote in a math project
2011-09-12 12:23 Org, latex and asymptote in a math project Jarmo Hurri
2011-09-12 13:15 ` Giovanni Ridolfi
2011-09-12 14:16 ` Jambunathan K
@ 2011-09-12 15:49 ` Ethan Ligon
2 siblings, 0 replies; 4+ messages in thread
From: Ethan Ligon @ 2011-09-12 15:49 UTC (permalink / raw)
To: emacs-orgmode
Hi, Jarmo-
Jarmo Hurri <jarmo.hurri <at> syk.fi> writes:
> 1. If I have understood correctly, in order for an asymptote image to be
> included as an inline image, one has to specify a file name at the
> beginning of the code block, as in
>
> #+CAPTION: A test caption.
> #+begin_src asymptote :file foo.pdf
> size (1cm, 0);
> filldraw (unitsquare, red);
> #+end_src
>
> It would be convenient if the user would not need to specify a
> (unique) invented file name for the inline image. Instead, in the
> case of an exported pdf, as an end user I would like for asymptote to
> generate a unique temporary pdf image file, which would be removed
> after the pdf corresponding to the complete document was
> complete. The case of exported html is not as clear to me yet; my
> current guess is that I would like the system to automatically
> generate a uniquely named image file (preferably an svg image, but
> not sure which browsers support these) which would then be inline
> included into the html page.
I'm starting on a textbook project using a similar set of tools.
I'm making progress, but am still finding lots of little snags; perhaps as we
both proceed we can share what we've learned.
In any case, using temporary file names is a good idea, which hadn't occurred to
me. But I guess it's easy to do, using something like
#+CAPTION: A test caption.
#+begin_src asymptote :file (org-babel-temp-file "figure-" ".pdf")
size (1cm, 0);
filldraw (unitsquare, red);
#+end_src
> 2. At least for me, _by far_ the most common way of referring to a
> floating element (table or figure) is immediately before or after the
> latex code that defines the float. For this, having to generate a
> unique label for the float has always been an overkill, and I have
> wanted a way to just refer to the previous or next float in the
> document. In org this could mean something like specifying
> #+AUTOLABEL and then some way of referring to the labels of the next
> and previous float (regardless of whether they would be automatically
> generated labels or standard named labels). Any support for this? Any
> ideas regarding the syntax?
How would one implement this behavior in LaTeX?
> 3. It seems that currently inline images generated by asymptote are
> included in the resulting latex file with a default size
> width=.9\linewidth. I prefer them to be included in their original
> size. To achieve this I first tried to define
>
> (setq org-export-latex-image-default-option "")
>
> This did not help: in the resulting latex file, the size was now
> defined as width=.7\textwidth, which seems to come from
> org-latex.el. Finally I obtained the wanted behaviour by artificially
> defining the option to some value that does not cause any harm; in my
> case
>
> (setq org-export-latex-image-default-option "keepaspectratio=true")
>
> Like I said, this is artificial. Is there a more natural way to
> achieve the desired result, that is, inclusion of images in their
> original size? Would it be ok if the code were changed so that
> setting
>
> (setq org-export-latex-image-default-option "")
>
> would override the width=.7\textwidth coming from org-latex.el?
This was one of the "snags" for me that I mentioned above. But this
works:
#+CAPTION: A test caption.
#+Attr_LaTeX: width=\textwidth
#+begin_src asymptote :file (org-babel-temp-file "figure-" ".pdf")
size (1cm, 0);
filldraw (unitsquare, red);
#+end_src
>
> 4. Let us say that in the math document there would be questions with
> corresponding answers and solutions. An answer would be just the
> result, while the solution would show the steps needed to obtain the
> result. In the org document I would like to write the question, the
> corresponding answer and the solution in one place, one after the
> other, while in the exported pdf / html I would like the answers and
> solutions to be at the end of the document, numbered according to the
> numbers of the questions. How could I achieve this?
>
Haven't done this, but the LaTeX code could put the answers and
solutions in a float, which could then be floated to the end of the
document.
-Ethan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-09-12 15:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-12 12:23 Org, latex and asymptote in a math project Jarmo Hurri
2011-09-12 13:15 ` Giovanni Ridolfi
2011-09-12 14:16 ` Jambunathan K
2011-09-12 15:49 ` Ethan Ligon
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).