[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Add caption to babel-generated images
From: |
Florian Lindner |
Subject: |
Re: [O] Add caption to babel-generated images |
Date: |
Tue, 30 Aug 2016 13:54:00 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
Am 30.08.2016 um 13:04 schrieb Georgiy Tugai:
> I don't know if it'll work for Python, but here's an example of what
> works for me with Ditaa:
>
>> #+BEGIN_SRC ditaa :file figs/-mininet-ovsk.png :cache yes
>> /----+ /----+ /----+ /----+
>> |host| |host| |host| |host| Containers
>> +-+--/ +-+--/ +--+-/ +--+-/
>> | | | |
>> ---------------------------------------------
>> | | | |
>> +-+------+-------+------+-+
>> | Open VSwitch | Host kernel
>> +-----+-------------+---=-+
>> | |
>> +------+-----+ +-----+------+
>> | controller | | controller | Host userspace
>> +------------+ +------------+
>> #+END_SRC
>>
>> #+ATTR_LATEX: :width "" :options [scale=0.75]
>> #+CAPTION: [[label:fig:mininet-arch]]Mininet with OpenVSwitch architecture
>> #+RESULTS[1d367d39f18523f4eb247cb13aabd6c6f633fbdf]:
>> [[file:figs/-mininet-ovsk.png]]
>
> First, execute your Babel block in order to generate a #+RESULTS line.
> Then, add CAPTION, ATTR_LATEX etc. lines before the RESULTS line.
This seems to work mostly, yes. Problem is, that org puts the label inside the
caption:
\begin{figure}[htb]
\centering
\includegraphics[width=.9\linewidth]{rbf-gaussian-4.pdf}
\caption{\label{fig:GaussianExample}Gaussian Basis functions with vertex
distances marked at $n \cdot \frac{1}{6}$.}
\end{figure}
This way the label does not work, i.e. won't be found by ref links.
#+BEGIN_SRC python :exports results :results file
import matplotlib.pyplot as plt, numpy as np
x = np.linspace(-2, 2, 1000)
plt.plot(x, np.exp(-np.power(4*x, 2)), label="shape-parameter=4")
for i in range(-4, 5): plt.axvline(1/6 * i, ymax = 0.1, ls = "-.", color="r")
plt.grid()
plt.savefig('rbf-gaussian-4.pdf')
return "rbf-gaussian-4.pdf"
#+END_SRC
#+LABEL: fig:GaussianExample
#+CAPTION: Gaussian Basis functions with vertex distances marked at $n \cdot
\frac{1}{6}$.
#+RESULTS:
[[file:rbf-gaussian-4.pdf]]
Using NAME instead of caption results in the same latex output.
Thanks,
Florian
>
> Good luck!
> Georgiy
>
> On 30 Aug, Florian Lindner wrote:
>> Hello,
>>
>> I have this code block:
>>
>> #+BEGIN_SRC python :exports results :results file
>> import matplotlib.pyplot as plt, numpy as np
>> x = np.linspace(-2, 2, 1000)
>> plt.plot(x, np.exp(-np.power(4*x, 2)), label="shape-parameter=4")
>> for i in range(-4, 5): plt.axvline(1/6 * i, ymax = 0.1, ls = "-.",
>> color="r")
>> plt.grid()
>> plt.savefig('rbf-gaussian-4.pdf')
>> return "rbf-gaussian-4.pdf"
>> #+END_SRC
>>
>> When exporting to latex it nicely compiles into
>> \includegraphics[width=.9\linewidth]{rbf-gaussian-4.pdf}.
>>
>> Now I want to have this \includegraphics in a figure environement including
>> a label (to reference it) and a caption.
>>
>> How can do this best?
>>
>> I have found:
>> http://emacs.stackexchange.com/questions/12150/add-caption-to-an-image-generated-by-a-code-block
>>
>> but it doesn't work for me.
>>
>> Thanks,
>> Florian
>>
>>