2013-08-27 26 views
6

Bir org dosyasında bir arabellek geniş değişkeni tanımlamak ve örneğin lateks dışa aktarma için görüntülerin genişliğini tanımlamak için bu değişkenin değerini kullanmak istiyorum.Emacs org modu: arabellek değişkenini ve erişim değişkenini tanımlayın

Bunun nasıl yapılabileceği bir yolu var mı?

Bu, #+CONSTANTS: kullanılarak yapılabilir mi?

İdeal olarak, bu gibi çalışması gerekir:

I 'in örneğin bir tampon içinde değişken image_width tanımlar

image_width=10 

ve #+ATTR_LATEX: ayarlar için bu değişkeni, örneğin, #+ATTR_LATEX: :width $image_width.

cevap

0

.emacs'inizde bir değişken tanımlayın. Bir işlevi nasıl tanımlayacağınız gibi, bir değişkeni belirli bir değere bağlayabilirsiniz. İstediğinize bağlı olarak setq veya defvar, defconst yapabilirsiniz. Bir Örneğin:

(10 setq görüntü genişlik)

Eğer değişken ayarlamak sonrası tampon eval emin olun. (Denenmemiş)

+0

Bir değişkenin nasıl tanımlanacağını işaretlediğiniz için teşekkürler. O zaman değeri nasıl alabilirim, yani org dosyasındaki 10? İdeal olarak gerçek değer, org dosyasında ** org dosyasından önce ** yer almalıdır. – jotsetung

2

, iki yol İstersen senin sürekli tampon özgü olması: En Org dosyanın (veya çok) son 8 hatlarında

  • "Yerel Değişken (ler)";

  • Kullanım Org "# + MAKRO:" Sen #+NAME: etiketini kullanarak bir değişken bildirebilirsiniz

+1

Size yaklaşım denedim ve makro # # MACRO: image_width 16 'tanımladım. org dosyasındaki düz metinde bu mükemmel çalışır ve beklendiği gibi '{{{image_width}}}' dışa aktarılan dosyada _16_ ile değiştirilir. Ancak, bunu # # ATTR_LATEX gibi bir LaTeX özniteliğine eklediğimde: merkez: yerleşim [H]: genişlik {{{image_width}}} cm' Ben \ includegraphics [width = {{{image_width}}} cm ] {test.png} ve değil \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}. Yani, bu benim için çalışmıyor. – jotsetung

+0

Bunu en az bir özellik olarak bildirmelisiniz. İyi çalışması gerektiği izlenimim var. – fniessen

0

özellik. Daha sonra ihtiyacınız olan src bloğunda :var'a geçirerek kullanın.

#+NAME: instance-id 
| abcd | 

#+BEGIN_SRC sh :var id=instance-id 
echo $id 
#+END_SRC 

#+RESULTS: 
: abcd 

#+BEGIN_SRC python :var myvar=instance-id[0, 0] 
print myvar 
#+END_SRC 

#+RESULTS: 
: abcd 

Not piton src bloğunda instance-id[0, 0]:

Bu

bu gibi bir şey olacaktır. Değişkeni bir dizi olarak bildirdim çünkü bunun için böyle bir değerden vazgeçmem gerekiyor.