emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] example filter for code blocks?


From: Daniele Pizzolli
Subject: Re: [O] example filter for code blocks?
Date: Thu, 26 Sep 2013 10:40:46 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130827 Icedove/17.0.8

John Kitchin wrote:
Hi everyone,

I have an idea for putting links in a pdf that would open python code
blocks in an editor. To do that, I need to modify what happens when an
org-file is published to latex.

Hello John,

Few days ago, I did some research on the general problem:
- not python specific (code agnostic)
- not latex specific (export back-end agnostic)

Unfortunately I ended up only for specific parts, but hope that can be
useful starting points.

I think that the ability to attach code blocks in a easy and general
way can be a nice improvement.

Essentially I want it to do exactly what it already does in terms of
running pygments, and making nicely formatted and syntax highlighted
code blocks and output.

After that though, I want to tangle the code block to a file in a
directory, and insert a new link after the rendered code block. I
would prefer not to have to put :tangle headings in each code block
because there are many (e.g. hundreds) of them in course notes.
sufficient if they were just sequentially numbered as dir/1.py,
dir/2.py, etc... and it is fine if these get overwritten on each
export.

If can live with a different file per section instead of per code
block you can group the common setting, eg:

:PROPERTIES:
:header-args: octave :session *octave-sess* :exports both :results output 
:tangle lab1-ex1.m
:END:

the link that would go after the code block in the latex export would
be something like: \LaunchPython{dir/1.py}{Open code}

Then clicking on it would open dir/1.py in whatever editor your
system is configured for. \LaunchPython is a newcommand I have
defined that works already.

My hack with limited use to latex and html (and probably will not copy
the tangled file with html publish) is:

#+LATEX_HEADER: \usepackage{attachfile}

#+MACRO: embed-matlab @@latex:\textattachfile[mimetype=text/x-matlab,color=0 0 0.5]{$1}{$1}@@ 
@@html:<a href="$1">$1</a>@@

#+NAME: code:2
#+BEGIN_SRC octave
  x = 1:10
#+END_SRC

Snippets of octave source code for this exercise
{{{embed-matlab(lab1-ex1.m)}}}

It seems like the new export engine should make this easy to do, but
I am not sure where to start. Could anyone point me to a starting
place?  Thanks!

I only have limited lisp knowledge, but I am interested as well in
pointers for a general solution.

Regards,
Daniele



reply via email to

[Prev in Thread] Current Thread [Next in Thread]