Re: [O] Problems with LaTeX source block
Hi Andreas, I forgot to send the following remarks in my previous post. I encounter a problem with pgfplots. The following works, and produces a png with a white background #+NAME: python-tikz #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \begin{axis} \draw [green,-] (0,0) -- (2,2) -- (3,1); \end{axis} \end{tikzpicture} #+END_SRC However, the following produces a png with only the axis displayed (but the boundaries are wrong), the data points don't appear. Strangely, the png produced is transparent: the background is the one of the Emacs buffer. #+NAME: python-tikz #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \begin{axis} \addplot [red,only lines] table {sin_py2csv.csv}; \end{axis} \end{tikzpicture} #+END_SRC The temp latex file seems ok (pdflatex produces a correct picture). I couldn't find the command line for imagemagick conversion to png to test it though. Julien.
Re: [O] Problems with LaTeX source block
Hi Julien, Julien Cubizolles j.cubizol...@free.fr writes: Hi Andreas, I forgot to send the following remarks in my previous post. I encounter a problem with pgfplots. The following works, and produces a png with a white background #+NAME: python-tikz #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \begin{axis} \draw [green,-] (0,0) -- (2,2) -- (3,1); \end{axis} \end{tikzpicture} #+END_SRC However, the following produces a png with only the axis displayed (but the boundaries are wrong), the data points don't appear. Strangely, the png produced is transparent: the background is the one of the Emacs buffer. #+NAME: python-tikz #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \begin{axis} \addplot [red,only lines] table {sin_py2csv.csv}; \end{axis} \end{tikzpicture} #+END_SRC The temp latex file seems ok (pdflatex produces a correct picture). I couldn't find the command line for imagemagick conversion to png to test it though. The problem is in your external data file, I guess. What happens, is that org creates a temporary tex file in a temporary directory (it is in /tmp/babel-sth under Linux) and compiles this tex file there. At that directory your sin_py2csv.csv is not present. So, one quick remedy should be to use an absolute path to the csv. Regards, Andreas
Re: [O] Problems with LaTeX source block
Julien Cubizolles j.cubizol...@free.fr writes: [...] However, the following produces a png with only the axis displayed (but the boundaries are wrong), the data points don't appear. Strangely, the png produced is transparent: the background is the one of the Emacs buffer. Interesting. I have this behaviour as well in terms of background. I use a dark theme on all of my windows, be they emacs or xterms. The png generated by imagemagick sets the background to transparent which means I cannot see the images produced as the actual drawing and text are black. I am happy with this: just had to remember to set the drawing colour to white by \begin{tikzpicture}[white]. -- : Eric S Fraga (0xFFFCF67D), Emacs 24.3.50.1, Org release_8.0.5-337-g9f3bed
Re: [O] Problems with LaTeX source block
The following message is a courtesy copy of an article that has been posted to gmane.emacs.orgmode as well. Hi Andreas Andreas Leha andreas.l...@med.uni-goettingen.de writes: The problem is in your external data file, I guess. What happens, is that org creates a temporary tex file in a temporary directory (it is in /tmp/babel-sth under Linux) and compiles this tex file there. At that directory your sin_py2csv.csv is not present. So, one quick remedy should be to use an absolute path to the csv. You were right, using the whole path for the data file fixed this problem. It would be convenient to have the PATH of the org file added to some TEXMF path prior to compilation to address this issue. Thanks for your help, Julien.
Re: [O] Problems with LaTeX source block
Hi Eric, Eric S Fraga e.fr...@ucl.ac.uk writes: Interesting. I have this behaviour as well in terms of background. I use a dark theme on all of my windows, be they emacs or xterms. The png generated by imagemagick sets the background to transparent which means I cannot see the images produced as the actual drawing and text are black. I am happy with this: just had to remember to set the drawing colour to white by \begin{tikzpicture}[white]. The background/foreground are supposed to be changed by setting the :buffer yes header and by customizing org-format-latex-options. I didn't try it though, I'm happy with the [white] option to tikzpicture. However, I noticed something odd. If I use the following headers --8---cut here---start-8--- #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+header: :iminoptions -density 600 :imoutoptions -geometry 400 --8---cut here---end---8--- the png is transparent. If I remove the last line: --8---cut here---start-8--- #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) --8---cut here---end---8--- I get the white background back, although in both cases, imagemagick is used. Julien.
Re: [O] Problems with LaTeX source block
Hi Julien, Julien Cubizolles j.cubizol...@free.fr writes: I'm struggling with LaTeX source blocks and am not sure anymore if one can use the :results file header. I have a csv file to be processed by tikz to get a png picture displayed in my org buffer. Here is what I tried #+NAME: python-tikz #+header: :results file :file py2tikz_sin.png #+header: :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \begin{axis} \addplot table {sin_py2csv.csv}; \end{axis} \end{tikzpicture} 'py2tikz_sin.png' #+END_SRC #+RESULTS: python-tikz #+BEGIN_LaTeX [[file:py2tikz_sin.png]] #+END_LaTeX Two problems with that: the py2tikz_sin.png file isn't produced (the latex code is correct though) and I was under the impression that the :results file header should give a #RESULTS without the LaTeX block (it's what I get for python blocks anyway). The data is produced by python (I can get python-babel to work !) and I could get a png directly through python-babel but latex-babel should be able to do it, right ? Julien. try that instead --8---cut here---start-8--- #+NAME: python-tikz #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \node[red!50!black] (a) {A}; \node (b) [right of=a] {B}; \draw[-] (a) -- (b); \end{tikzpicture} #+END_SRC --8---cut here---end---8--- for problem one: you are missing the :imagemagick yes header argument, which is necessary to do the latex-png conversion. Also, the filename is inserted for you and is, thus, not part of the latex block. for problem two: :results raw solves that, although I agree, that :results file should work here. Regards, Andreas
Re: [O] Problems with LaTeX source block
Hi Andreas Andreas Leha andreas.l...@med.uni-goettingen.de writes: try that instead #+NAME: python-tikz #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \node[red!50!black] (a) {A}; \node (b) [right of=a] {B}; \draw[-] (a) -- (b); \end{tikzpicture} #+END_SRC for problem one: you are missing the :imagemagick yes header argument, which is necessary to do the latex-png conversion. Also, the filename is inserted for you and is, thus, not part of the latex block. Thanks for clarifying it, in the worg page: --8---cut here---start-8--- The standard :file header argument associated with a LaTeX source code block by itself can take the name of either a Portable Network Graphics (png) or a Portable Document Format (pdf) file. File names for other bitmap file types can be supplied in conjunction with the :imagemagick header argument, described below. --8---cut here---end---8--- the other bitmap file types led me to believe that imagemagick was not needed for png. for problem two: :results raw solves that, although I agree that :results file should work here. If it were to work, what would be the difference ? Would I need to add a command in the LaTeX code to print the name of the file I want to link to ? Thanks for your precious help. I'm always amazed at the responsiveness and helpfulness of this list. Julien, eager to contribute but still not very useful.
Re: [O] Problems with LaTeX source block
Hi Julien, Julien Cubizolles j.cubizol...@free.fr writes: Hi Andreas Andreas Leha andreas.l...@med.uni-goettingen.de writes: try that instead #+NAME: python-tikz #+header: :results raw :file py2tikz_sin.png #+header: :imagemagick yes :fit yes :headers '(\\usepackage{tikz,pgfplots}) #+BEGIN_SRC latex :exports results \begin{tikzpicture} \node[red!50!black] (a) {A}; \node (b) [right of=a] {B}; \draw[-] (a) -- (b); \end{tikzpicture} #+END_SRC for problem one: you are missing the :imagemagick yes header argument, which is necessary to do the latex-png conversion. Also, the filename is inserted for you and is, thus, not part of the latex block. Thanks for clarifying it, in the worg page: The standard :file header argument associated with a LaTeX source code block by itself can take the name of either a Portable Network Graphics (png) or a Portable Document Format (pdf) file. File names for other bitmap file types can be supplied in conjunction with the :imagemagick header argument, described below. the other bitmap file types led me to believe that imagemagick was not needed for png. Indeed, I forgot about that possibility. I think that was introduced to support much simpler 'formulas' -- the same way that latex snippets are supported. But still, it should work, I guess, with tikz code as well. As to my understanding, if you do not explicitly specify the :imagemagick header, internally (org-create-formula-image ) is called which might run through dvipng -- depending on your setting of org-latex-create-formula-image-program. I guess, that you have set this to dvipng. In that case tikz is going to fail as it does not work with 'plain' latex. But interestingly, I do not see the \usepackage{tikz} in the generated /tmp/tex file at all when the :imagemagick yes header argument is missing. So there is an issue there as well. At this point I hope, that more knowledgeable people chime in and clarify, whether there is some intentional limitation on latex blocks without the :imagemagick yes header argument. for problem two: :results raw solves that, although I agree that :results file should work here. If it were to work, what would be the difference ? Would I need to add a command in the LaTeX code to print the name of the file I want to link to ? I actually expected the behaviour that we see with 'raw' to be the same with 'file' -- without any change to the code of the latex block. Regards, Andreas