Re: [O] change font-size in python plots depending on context

2019-08-20 Thread johanna . may


Hi there,

thanks to Thomas and Eric.
I actually found a rather stupid mistake: I was already using a var (for
the png filename generation) and the header did not read the next
:var. So I added ,fs=fontsize to the first :var and now it works.

I will have a look Eric's function of how to get the value of
e.g. fontsize and so on (btw, I also need textwidth and textheight from
somewhere). I also found a python pgf package but I couldn't figure out
fast how to implement that (it sounds as if instead of png a pgf is
generated and then everything has the right latex layout, so pretty
cool, but it seemed not so easy to implement).

So long, cheers!

J

Thomas S. Dye writes:

> Aloha Johanna May,
>
> This works:
>
> #+name: fs
> #+BEGIN_SRC emacs-lisp
> 10
> #+END_SRC
>
> #+RESULTS: fs
> : 10
>
> #+header: :var fontsize=fs() :results output
> #+begin_src python
> print(fontsize)
> #+end_src
>
> #+RESULTS:
> : 10
>
> Note "fs()" instead of "fs".
>
> All the best,
> Tom


-- 
Prof. Dr. Johanna May
Stellvertretende Institutsleiterin CIRE
Fakultät für Informations-, Medien- und Elektrotechnik (F07)
Institut für Elektrische Energietechnik (IET)
Cologne Institute for Renewable Energy (CIRE)
Lehrgebiete: Energieeffizienz und Grundlagen Elektrotechnik

T: +49 221-8275-2697
M: +49 174 891 9002
E: johanna@th-koeln.de

Technische Hochschule Köln
Campus Deutz
Betzdorfer Str. 2
50679 Köln
Raum: HW2-40

www.th-koeln.de



Re: [O] change font-size in python plots depending on context

2019-08-19 Thread Thomas S. Dye

Aloha Johanna May,

This works:

#+name: fs
#+BEGIN_SRC emacs-lisp
10
#+END_SRC

#+RESULTS: fs
: 10

#+header: :var fontsize=fs() :results output
#+begin_src python
print(fontsize)
#+end_src

#+RESULTS:
: 10

Note "fs()" instead of "fs".

All the best,
Tom

--
Thomas S. Dye
http://tsdye.online/tsdye



Re: [O] change font-size in python plots depending on context

2019-08-19 Thread Fraga, Eric
Hi Johanna,

> I have various files that go together in one document, either
> chapterwise or the whole book. And just as with tikz (latex) I want the font
> size of python plots to change automatically when the context changes.

What I do, for a similar use case, is to define values using properties
and then extract these values with a little function I wrote (see
below).  For example,

#+begin_src org
,#+property: myvariable 10
...
,#+begin_src ... :var v=(esf/get-parameter "myvariable")
... (use v in here)
,#+end_src
#+end_src

The esf/get-parameter function is:

#+begin_src emacs-lisp
  (defun esf/get-parameter (p)
(let ((value (org-entry-get (point) p 'inherit)))
  (message "parameter %s value obtained %s" p value)
  (if value
  (if (string-match-p "^[-+ ]*[[:digit:].]+$" value)
  (string-to-number value)
value)
(error "Property parameter \"%s\" not known." p
#+end_src

I'm sure there are better ways but this is what I have developed
organically over the years...

HTH,
eric

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.2.4-401-gfabd6d



[O] change font-size in python plots depending on context

2019-08-19 Thread johanna . may
Dear org-mode fans,

I have various files that go together in one document, either
chapterwise or the whole book. And just as with tikz (latex) I want the font
size of python plots to change automatically when the context changes.

So I tried to define a variable in one of the header files like this:

#+name: fs
#+BEGIN_SRC emacs-lisp
10
#+END_SRC

I also tried to define it like this

#+name: fs
#+begin_src python :results output :session :exports none
fontsize=10
return fontsize
#+end_src

And then, in another file (that is being included by the header file) I
added :var fontsize=fs to the header and replaced the number by this
variable. I understand it complained that fs could not be found if I
used C-c C-c directly to test, since apparently the variable fs only
belongs to the other buffer (This is the first problem).

However, it doesn't work either when I compile everything (the second problem). 
Probably it
is also possible to solve this with some function in elisp. But, I have
to admit, that I haven't started learning elisp yet.

Does anyone have a solution to this problem? Any hints to helpful blogs
or stackexchange pages would be appreciated. I did a search but probably
not using the right keywords.

Thanks!

J