emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* org-mode, tikz and beamer
@ 2015-05-21 14:40 cédric ody
  2015-05-21 18:02 ` Suvayu Ali
  0 siblings, 1 reply; 5+ messages in thread
From: cédric ody @ 2015-05-21 14:40 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1009 bytes --]

Dear org-mode users,

I have used org-mode for some months now. I find it very useful. I
have recently used it to prepare mathematic teaching lessons using the
beamer exporter.

I wanted to combine org-mode and tikz latex's package from latex In
order to insert some kind of mind-mapping from the headlines between
the main parts of the lesson. I enclose an example so that you can see
what I am talking about. Note that you can move forth and back through
the presentation with hyperlinks. Note also only the chapter "Droites
dans le plan" is filled so most of links fail.

I have done that from a single org-mode file using shell scripting
calling org-mode and emacs in a batch mode way.

Before improving my shell script, I would like to know if there is a
proper way to handle that within org-mode in lisp language. I have no
idea about how to do that but someone may know if it is possible or
not, and may give me hints to follow so that I could have a try.

Thanks,

Cédric Ody

[-- Attachment #2: cours.pdf --]
[-- Type: application/pdf, Size: 258041 bytes --]

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

* Re: org-mode, tikz and beamer
  2015-05-21 14:40 org-mode, tikz and beamer cédric ody
@ 2015-05-21 18:02 ` Suvayu Ali
  2015-05-21 20:33   ` cédric ody
  0 siblings, 1 reply; 5+ messages in thread
From: Suvayu Ali @ 2015-05-21 18:02 UTC (permalink / raw)
  To: emacs-orgmode

On Thu, May 21, 2015 at 04:40:33PM +0200, cédric ody wrote:
> Dear org-mode users,
> 
> I have used org-mode for some months now. I find it very useful. I
> have recently used it to prepare mathematic teaching lessons using the
> beamer exporter.
> 
> I wanted to combine org-mode and tikz latex's package from latex In
> order to insert some kind of mind-mapping from the headlines between
> the main parts of the lesson. I enclose an example so that you can see
> what I am talking about. Note that you can move forth and back through
> the presentation with hyperlinks. Note also only the chapter "Droites
> dans le plan" is filled so most of links fail.

Some of the links in that chapter are not working properly I think, but
otherwise it's a very impressive start!  If you post your current shell
script with the Org file, I think others can suggest what is and is not
possible.

To put it in more words, we don't know what you are thinking.  If we can
see the Org source and the shell script, it is easier to understand how
you map Org elements to beamer/tikz environments.

I think you have started a very interesting project!

Cheers,

-- 
Suvayu

Open source is the future. It sets us free.

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

* Re: org-mode, tikz and beamer
  2015-05-21 18:02 ` Suvayu Ali
@ 2015-05-21 20:33   ` cédric ody
  2015-05-25 12:16     ` Suvayu Ali
  0 siblings, 1 reply; 5+ messages in thread
From: cédric ody @ 2015-05-21 20:33 UTC (permalink / raw)
  To: Suvayu Ali; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 2959 bytes --]

Thank you for your answer.

Here is the shell script (many comments are in english except the
beginning) and the org file I use. To see how I call it, you can have
a look at the enclosed Makefile. Note that it uses specific
configurations files as well tex macros so it won't work without these
files. I can prepare a short example which generates the tex and pdf
files if needed. The script probably gives for now a good idea. You
can also look at the enclosed generated tex file to see how the tikz
language.

Basically, the shell script looks recursively into the org file and
creates nodes for the tikz headline mindmaps. Thus, there are parent
nodes and children nodes.

During that excursion, two kinds of files are created: the "tree"
files and the "contents" files.

The first ones are tex files with tikz mindmaps that must be inserted
at specific locations at the final latex compilation step. One tree
file contains the parent node with all the children files.

The "contents" files are org files and are converted into tex files
via the org-mode export command in a batch way. In the shell script,
hyperlinks are added to these newly converted tex files.

At the end, the assembly of all these files is done before compiling.

Numbering of sections through the recursive call is important so that
links work properly as you notice. Links allow one to go back and
forth the document. To go back, the idea is to click on the headline.
If a node exists without content, the links sends you the beginning of
the file or something like that.

Cheers,

Cédric


2015-05-21 20:02 UTC+02:00, Suvayu Ali <fatkasuvayu+linux@gmail.com>:
> On Thu, May 21, 2015 at 04:40:33PM +0200, cédric ody wrote:
>> Dear org-mode users,
>>
>> I have used org-mode for some months now. I find it very useful. I
>> have recently used it to prepare mathematic teaching lessons using the
>> beamer exporter.
>>
>> I wanted to combine org-mode and tikz latex's package from latex In
>> order to insert some kind of mind-mapping from the headlines between
>> the main parts of the lesson. I enclose an example so that you can see
>> what I am talking about. Note that you can move forth and back through
>> the presentation with hyperlinks. Note also only the chapter "Droites
>> dans le plan" is filled so most of links fail.
>
> Some of the links in that chapter are not working properly I think, but
> otherwise it's a very impressive start!  If you post your current shell
> script with the Org file, I think others can suggest what is and is not
> possible.
>
> To put it in more words, we don't know what you are thinking.  If we can
> see the Org source and the shell script, it is easier to understand how
> you map Org elements to beamer/tikz environments.
>
> I think you have started a very interesting project!
>
> Cheers,
>
> --
> Suvayu
>
> Open source is the future. It sets us free.
>
>

[-- Attachment #2: org2tex.sh --]
[-- Type: application/x-sh, Size: 10755 bytes --]

[-- Attachment #3: coursP.org --]
[-- Type: application/octet-stream, Size: 11678 bytes --]

Première STL 
* Le second degré :noexport:
* Étude de fonctions :noexport:
* Dérivation :noexport:
* Fonctions circulaires :noexport:
* Suites numériques :noexport:
** Introduction
*** Exemples de suites 
- Suite "identité"
$$1,2,3,\cdots,n$$
- Suite nulle
$$0,0,0,\cdots$$
- Suite des nombres pairs
$$2,4,6,8,10,12,14\cdots$$
- Suite des nombres impairs
$$1,3,5,7,9,11,13\cdots$$
*** Suites, augmentations,réductions, soldes
** Définitions et notations
#+begin_defi
Une *suite numérique* est une fonction de l'ensemble des nombres
entiers (N) vers l'ensemble des nombres réels (R). Il s'agit en fait
d'une liste de nombres consécutifs indicés.
#+end_defi
On utilise souvent la notation $(u_n)$ ou $(v_n)$ pour désigner une
suite. Pour la suite $(u_n)$, le nombre $u_0$ est appelé terme de rang
0, le nombre $u_1$ terme de rang 1,  le nombre $u_n$  terme de rang
$n$, ... On utilise également indice à la place de rang.
** Suites arithmétiques et géométriques (1)
%%%
#+begin_defi 
Une suite  *arithmétique* est une suite numérique dont chaque
terme s'obtient en *additionnant*  au précédent terme un nombre *constant*
(généralement noté  $r$). Mathématiquement dit, on a
$$ u_{n+1}=u_n+  r .$$
#+end_defi
%%%
#+begin_defi 
Une suite  *géométrique*  est une suite numérique dont chaque
terme s'obtient en *multipliant*  le précédent terme par un nombre *constant*
(généralement notée $q$) appelé *raison* de la suite. Mathématiquement dit, on a
$$ v_{n+1}=v_n q. $$
#+end_defi
** Suites arithmétiques et géométriques (2)
#+begin_prop 
Une suite $(u_n)$ est *arithmétique* lorsqu'on peut écrire 
$$ u_n=u_0+n  r .$$
#+end_prop
#+begin_prop 
Une suite $(v_n)$ est *géométrique* lorsqu'on peut écrire 
$$ v_n=v_0 q^n \quad \text{ou encore} \quad v_n=v_1 q^{n-1}.$$
#+end_prop
** Exemple de représentation graphique
\begin{center}
\begin{tikzpicture}[x=1.cm,y=0.4cm,style=thick]
% \draw [color=cqcqcq,dash pattern=on 3pt off 3pt, xstep=1.5cm,ystep=1.5cm] (0,0) grid (4,4);
\draw[->,color=black] (0,0) -- (4.5,0) node[right]{$n$}; 
\draw[->,color=black] (0,0) -- (0,17.5) node[above]{$u_n$};
\foreach \x in {0,1,2,3,4}
\draw[shift={(\x,0)},color=black,style=very thick] (0pt,2pt) -- (0pt,-2pt) node[below] {\scriptsize $\x$};
\foreach \x in {1,2,3,4}
\fill [color=qqqqff] (\x,\x*\x) circle (1.5pt) node[right] {\scriptsize \bf $u_\x$} ;
\foreach \y in {0,1,4,9,16}
\draw[shift={(0,\y)},color=black,style=very thick] (2pt,0pt) -- (-2pt,0pt)  node[left] {\scriptsize $\y$};;
\end{tikzpicture}
\end{center}
** Comment fabriquer une suite numérique?
*** On donne explicitement l'expression de $u_n$ en fonction de $n$
On l'a déjà vu. Dans le cas d'une suite arithmétique, connaissant
$u_0$ et le nombre $r$, on écrit
$$ u_n=u_0+n \times r. $$
De même, pour une suite géométrique, on a l'expression de $v_n$ en
fonction de la raison $q$ et de l'entier $n$
$$ v_n=v_0 q^n. $$
*** On utilise une relation dite de récurrence
On établit une relation entre deux rangs consécutifs, par exemple,
entre les termes de rang $n$ et $n+1$. Par exemple, on écrit
$$u_{n+1}=u_{n}+4$$
ou encore
$$v_{n+1}=v_{n} \times4.$$
** Limite d'une suite géométrique
- Cas où $q=1$
- Cas où $q>1$
- Cas où $q<1$

* Statistique descriptive 
** Compréhension du titre
- Statistiques
- Descriptives
** Organisation-répartition de données 
- Données "brutes"
- Données par effectifs - Effectifs et fréquences
$$f_i=\frac{n_i}{n}.$$
- Synthèse de données en classes
Centre de la classe $[a_i,b_i[$
$$c_i=\frac{a_i,b_i}{2}.$$
** Faire des statistiques sur ces données!
*** Statistiques examen février
*** Question de tendance! centrale!
- Tendance centrale
- Moyenne
- Médiane
*** Estimer la cohérence de ces valeurs "centrales"
- Quantification de la précision
- Dispersion
*** La caldoche, un outil qu'il faut savoir utiliser!
** Indicateurs de tendance centrale
*** Moyenne (arithmétique)
#+begin_defi
La moyenne arithmétique de $n$ nombres $x_1,x_2,\cdots,x_n$ est
$$\overline{x}=\frac{x_1+x_2+\cdots+x_n}{n}.$$
On peut écrire cette moyenne en utilisant le symbole $\Sigma$ selon
$$\overline{x}=\frac{1}{n}\sum_{i=1}^{n} x_i.$$
#+end_defi
*** Autres moyennes
%%%
- Lorsqu'on travaille avec $p$ données $x_1,x_2,\cdots,x_p$ dont on connait les effectifs $n_1,n_2,\cdots,n_p$
$$\overline{x}=\frac{n_1 x_1+n_2 x_2+\cdots+n_p x_p}{n}.$$
\medskip
- Si on utilise la notation $\Sigma$, on écrit
$$\overline{x}=\frac{1}{n}\sum_{i=1}^{p} n_i x_i.$$
%%%
- Lorsqu'on travaille avec $p$ classes (intervalles)
  $[a_1,b_1[,[a_2,b_2[,\cdots,[a_p,b_p[$ dont on connait les effectifs
  $n_1,n_2,\cdots,n_p$, la moyenne arithmétique se calcule (de façon
  approchée) en   utilisants les centres des classes
$$\overline{x}=\frac{n_1 c_1+n_2 c_2+\cdots+n_p c_p}{n}.$$
\medskip
- Si on utilise la notation $\Sigma$, on écrit
$$\overline{x}=\frac{1}{n}\sum_{i=1}^{p} n_i c_i.$$

*** La médiane - Moit'-moit'!
#+begin_defi
Dans une série statistique de $n$ données *classées* (par ordre croissant
ou décroissant), la *médiane* notée $Me$ est:
- la donnée du milieu si $n$ est impair
- la demi-somme des deux données du milieu, si $n$ est pair 
#+end_defi
- La médiane est un indicateur différent de la moyenne. Elle nous dit
  que 50\% des données sont inférieures à la médiane et donc 50\% lui
  sont supérieures.
** Indicateurs-caractéristiques de dispersion
*** Introduction - Écart moyen
%%%
- Prenons une série de données. Calculons l'écart moyen défini comme
$$\frac{1}{n} \left[ (x_1-\overline{x})+(x_2-\overline{x})+\cdots+(x_n-\overline{x})\right]$$
- Aïe, on trouve que cet écart vaut ...?
%%%
- Deux alternatives:
-- L'écart moyen absolu
$$\frac{1}{n} \left[ |x_1-\overline{x}|+|x_2-\overline{x}|+\cdots+|x_n-\overline{x}|\right]$$
-- L'écart moyen au carré
$$\frac{1}{n} \left[ (x_1-\overline{x})^2+(x_2-\overline{x})^2+\cdots+(x_n-\overline{x})^2\right]$$
*** Variances, écarts-types
%%%
- L'écart moyen au carré est sympathique pour faire des calculs analytiques ou théoriques! On garde cet écart mais on le renomme en variance.
#+begin_defi
La variance vaut donc
$$V=\frac{1}{n} \left[ (x_1-\overline{x})^2+(x_2-\overline{x})^2+\cdots+(x_n-\overline{x})^2\right].$$
#+end_defi
%%%
- Comme la variance est un carré, il faut prendre la racine pour avoir des unités cohérentes. On définit alors l'écart-type $\sigma$.
#+begin_defi
L'écart-type se calcule donc selon
$$\sigma=\sqrt{V}.$$
#+end_defi
%%%
- Formules selon le type de données
|               | Variance                                                                                                        |
| brutes        | $V=\frac{1}{n} \left[ (x_1-\overline{x})^2+(x_2-\overline{x})^2+\cdots+(x_n-\overline{x})^2\right]$             |
| par effectifs | $V=\frac{1}{n} \left[ n_1 (x_1-\overline{x})^2+n_2 (x_2-\overline{x})^2+\cdots+n_p (x_p-\overline{x})^2\right]$ |
| par classes   | $V=\frac{1}{n} \left[ n_1 (c_1-\overline{x})^2+n_2 (c_2-\overline{x})^2+\cdots+n_p (c_p-\overline{x})^2\right]$ |
- Formules équivalentes (à démontrer!!)
|             | Variance                                                           |
| brute       | $V=\frac{x_1^2+x_2^2+\cdots+x_n^2}{n}-\overline{x}^2$              |
| par effectifs | $V=\frac{n_1 x_1^2+n_2 x_2^2+\cdots+n_p x_p^2}{n}-\overline{x}^2$  |
| par classes | $V=\frac{n_1 c_1^2+n_2 c_2^2+\cdots+n_p c_p^2}{n}-\overline{x}^2$ |

*** Quartiles et écarts interquartiles
- De façon analogue à la médiane, on classe les données en parties de
  mêmes effectifs. Pour les quartiles, on classe les données en quatre
  parties de mêmes effectifs. On obtient alors trois *quartiles* comme
  valeurs séparant chaque partie. On les note $Q_1,Q_2$ et $Q_3$.
- On peut parler de l'*intervalle interquartile* $[Q_1,Q_3[$. Cet intervalle contient 50\% des données
  de la série statistique étudiée.
- On peut également définir l'indicateur de dispersion appelé *écart
  interquartile* défini comme $Q_3-Q_1$.
*** Diagrammes en boites
* Probabilités 
** Rappels de seconde
- Arbres pondérés
- Épreuves
- Variable aléatoire
- Histogramme - Histogramme cumulé
- Règles de calcul
#+begin_prop
La probabilité d'un événement est la somme des probabilités des
événements élémentaires qui le constituent.
#+end_prop
** Schéma de Bernoulli
*** Qui est Bernoulli?! Pourquoi son nom?
*** Épreuve de Bernoulli: succès ou échec!
#+begin_defi
Une *épreuve de Bernoulli de paramètre* $p$ est une épreuve aléatoire
comportant deux issues possibles. Le paramètre $p$ est un nombre réel
compris entre $0$ et $1$.
#+end_defi
- En général, la probabilité du succès est $p$ tandis que la
  probabilité de l'échec est $1-p$. L'échec est l'événement contraire
  du succès!
- On schématise l'épreuve de Bernoulli par deux branches!
*** Succession d'épreuves de Bernoulli
#+begin_defi
Un *schéma de Bernoulli* de paramètres $n$ et $p$ est une épreuve
aléatoire consistant à répéter $n$ fois, de façon identique et
indépendante, une épréuve de Bernoulli de paramètre $p$.
#+end_defi
- On schématise un schéma de Bernoulli par un arbre.
*** Nombre de succès dans un schéma de Bernoulli
*** Calcul de probabilités dans un schéma de Bernoulli
#+begin_prop
- La probabilité d'une issue donnée est le produit des probabilités sur le
chemin conduisant à cette issue.
#+end_prop

** Loi binomiale
*** Variables en analyse et en probabilités
- Vous connaissez les variables qu'on utilise avec les fonctions. Par
  exemple, la variable $x$ est utilée dans $f(x)$. On étudie le
  comportement de la fonction en fonction de la variable $x$ (valeurs,
  variations). On
  choisit $x$ dans un intervalle (cohérent).
\medskip
- En probabilité, c'est différent. Les épreuves sont aléatoires. On ne
  peut pas prendre n'importe quelle valeur pour la variable. Il faut
  qu'elle ait un sens. Ce qu'on cherche c'est la probabilité pour que
  cette variable ait telle ou telle valeur.
*** Variable aléatoire associée au nombre de succès
| $k$      | $0$       | $1$         | $2$           | $3$         |     4 |
| $P(X=k)$ | $(1-p)^4$ | $4p(1-p)^3$ | $6p^2(1-p)^2$ | $4p^3(1-p)$ | $p^4$ |
*** Définition - propriétés
#+begin_defi
La *loi binomiale* de paramètres $n$ et $p$ notée $\mathcal{B}(n,p)$
est la loi de probabilité de la variable aléatoire $X$ associée au
nombre de succès dans la répétition de $n$ épreuves de Bernoulli de
paramètre $p$.
#+end_defi
*** Pourquoi binomiale?!
%%%
- Le binôme de Newton
%%%
#+begin_prop
Pour la variable aléatoire $X$ qui suit la loi binomiale
$\mathcal{B}(n,p)$, on a pour entier $k$ compris entre 0 et $n$ et
décrivant le nombre de succès,
$$P(X=k)=(n k)p^k (1-p)^{n-k}.$$
#+end_prop
*** Représentation graphique
*** Espérance, variance et écart-type

*** Champ d'intervention de la loi binomiale :noexport:
* Produit scalaire dans le plan :noexport:
** Rappels sur les vecteurs
*** Coordonnées d'un vecteur
*** Égalité de deux vecteurs
** Compléments sur les vecteurs
*** Norme d'un vecteur
*** Cosinus d'une mesure d'angle de vecteurs
** Définition du produit scalaire 
*** Définition
*** Expression avec le projeté orthogonal
*** Expression analytique en repère orthonormé
** Commutativité et bilinéarité du produit scalaire
** Orthogonalité et produit scalaire
* Nombres complexes :noexport:


[-- Attachment #4: coursP.tex --]
[-- Type: application/x-tex, Size: 23283 bytes --]

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

* Re: org-mode, tikz and beamer
@ 2015-05-22  8:19 Bernhard Schmitz
  0 siblings, 0 replies; 5+ messages in thread
From: Bernhard Schmitz @ 2015-05-22  8:19 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

Hi  Cédric,

If I understand it correctly, you want to include a graphical representation of you headlines into you beamer file, created via tikz/pgf.
That sounds quite similar to what I'm doing at the moment, only I create gantt charts instead of mind maps.
As far as I can tell, the best possibility to do that inside of emacs, is to use custom dynamic blocks. 
http://orgmode.org/manual/Dynamic-blocks.html
Simply create your own org-dblock-write:... function that parses the file and creates the tikz output you want.
You can have a look at org-dblock-write:clocktable and org-dblock-write:columnview for inspiration.
I think using org-element-parse-buffer and org-element-map should get you what you need.

You can also have a look at my gantt chart creation here:
https://github.com/HeyFlash/emacs-stuff/tree/master/experiments
(One el file and one org file for testing)
You can probably ignore most of the file, as you don't need the complex time calculations I do.
Keep in mind that this is wip and I'm not an experienced elisp / org person, so if anyone has better suggestions, listen to them.

I will be without internet from later today until the middle of next week, so if you have any questions I will not be responding until then.

Regards,
Bernhard

> -----Ursprüngliche Nachricht-----
> Von: cédric ody [mailto:cedric.listes@gmail.com]
> Gesendet: Donnerstag, 21. Mai 2015 16:41
> An: emacs-orgmode@gnu.org
> Betreff: [O] org-mode, tikz and beamer
> 
> Dear org-mode users,
> 
> I have used org-mode for some months now. I find it very useful. I
> have recently used it to prepare mathematic teaching lessons using the
> beamer exporter.
> 
> I wanted to combine org-mode and tikz latex's package from latex In
> order to insert some kind of mind-mapping from the headlines between
> the main parts of the lesson. I enclose an example so that you can see
> what I am talking about. Note that you can move forth and back through
> the presentation with hyperlinks. Note also only the chapter "Droites
> dans le plan" is filled so most of links fail.
> 
> I have done that from a single org-mode file using shell scripting
> calling org-mode and emacs in a batch mode way.
> 
> Before improving my shell script, I would like to know if there is a
> proper way to handle that within org-mode in lisp language. I have no
> idea about how to do that but someone may know if it is possible or
> not, and may give me hints to follow so that I could have a try.
> 
> Thanks,
> 
> Cédric Ody

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

* Re: org-mode, tikz and beamer
  2015-05-21 20:33   ` cédric ody
@ 2015-05-25 12:16     ` Suvayu Ali
  0 siblings, 0 replies; 5+ messages in thread
From: Suvayu Ali @ 2015-05-25 12:16 UTC (permalink / raw)
  To: cédric ody; +Cc: emacs-orgmode

Hello Cédric,

First, apologies for the delay.  I am swamped with a lot of things for a
while now, makes my responses rather irregular.

On Thu, May 21, 2015 at 10:33:13PM +0200, cédric ody wrote:
> Thank you for your answer.
> 
> Here is the shell script (many comments are in english except the
> beginning) and the org file I use. To see how I call it, you can have
> a look at the enclosed Makefile. Note that it uses specific
> configurations files as well tex macros so it won't work without these
> files. I can prepare a short example which generates the tex and pdf
> files if needed. The script probably gives for now a good idea. You
> can also look at the enclosed generated tex file to see how the tikz
> language.

I think you forgot the Makefile.  Aside from that, I looked at the
script, and the Org file, albeit not very thoroughly.  My impression is,
it is a really nice effort but I think it's unsustainable.  You have to
duplicate a lot of work, and since you do it in a shell script, you are
limited.  Here are a few particular points:

- You reimplement the Org parser.  This of course means you do not
  support a large part of the standard syntax[1].  It's not future proof
  either.  For the same reasons, it is very brittle.  Org-element does a
  great job of parsing, you should use it.

- You seem to rely on specific cookies, like `%%%' (and maybe "abusing"
  tags like noexport?).  This is introducing _new_ syntax.  Again, since
  this is outside of org-element, there is no way to ensure robustness
  and reproducibility.

> Basically, the shell script looks recursively into the org file and
> creates nodes for the tikz headline mindmaps. Thus, there are parent
> nodes and children nodes.
> 
> During that excursion, two kinds of files are created: the "tree"
> files and the "contents" files.
> 
> The first ones are tex files with tikz mindmaps that must be inserted
> at specific locations at the final latex compilation step. One tree
> file contains the parent node with all the children files.

This part sounds good.

> The "contents" files are org files and are converted into tex files
> via the org-mode export command in a batch way. In the shell script,
> hyperlinks are added to these newly converted tex files.

This, I'm not completely certain.  If I got this right, you export one
file per beamer frame?  Is that right?  I also see you do a bit of
editing with sed.  Again, I think this makes it too brittle, too many
assumptions about what is present and what is not.

> At the end, the assembly of all these files is done before compiling.
> 
> Numbering of sections through the recursive call is important so that
> links work properly as you notice. Links allow one to go back and
> forth the document. To go back, the idea is to click on the headline.
> If a node exists without content, the links sends you the beginning of
> the file or something like that.

This part I'm not sure I quite understand.  Shouldn't normal LaTeX
referencing mechanisms (à la \label and \ref) be able to handle this?  

Anyway, after looking at the script I'm convinced this endeavour is
better pursued in lisp.  I think it would help if you draft a document
outlining the Org elements you want to map to which specific tikz
features/commands.  You will then have a list of leftover info that tikz
still needs to achieve the end goal.  At this point others can suggest
how you could communicate these missing info to tikz.  E.g. you already
have one suggestion from Bernhard, but I think it is probably too
generic.  If you manage to pursue this, I think the outcome will be a
new Org backend, possibly derived from ox-latex or ox-beamer.

Please don't be afraid to learn lisp, although it is hard to master,
it's easy to pick up.  I think the list will be more than willing to
help you with that.  Also, I think this is not a easy project.  It will
take some iterations to get to a version that can be test widely (by say
putting in an experimental branch or something).

While proof reading my email, I just realised ox-koma-letter might be a
really nice place for you to get familiar with how to repurpose Org
syntax to translate info to the backend in different ways.  Have a look.

Hope this helps,


Footnotes:

[1] Do not underestimate this aspect, Org users have a way to come up
    with interesting ways to use features that were not envisioned
    during development!

-- 
Suvayu

Open source is the future. It sets us free.

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

end of thread, other threads:[~2015-05-25 12:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-21 14:40 org-mode, tikz and beamer cédric ody
2015-05-21 18:02 ` Suvayu Ali
2015-05-21 20:33   ` cédric ody
2015-05-25 12:16     ` Suvayu Ali
  -- strict thread matches above, loose matches on Subject: below --
2015-05-22  8:19 Bernhard Schmitz

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).