Грамотное программирование с использованием org-babel - PullRequest
16 голосов
/ 14 июля 2011

Я нахожусь на грамотной программе с использованием org-babel.Мой источник структурирован так:

-imports
-utility fns
-game structure
 - detailed explanations

Это нормальная структура кода, я хотел бы переместить объяснения утилиты fns в конец, чтобы она не отображалась первой всгенерированный PDF-файл.Теперь это можно сделать с расширением noweb, но проблема в том, что когда у вас много маленьких функций для каждой, мне нужно добавить src_block с уникальным именем, прокрутить файл вниз и добавить ссылку на него в файле, который действительно раздражает.,Есть ли способ назвать все src_blocks в разделе?скажем, весь код в этом разделе переходит в блок А.

1 Ответ

11 голосов
/ 15 декабря 2011

Вы можете присвоить нескольким чанкам одно имя.Например, я создаю свой файл .emacs с помощью org-tangle, и в верхней части файла org у меня есть мастер-шаблон, который выглядит примерно так:

#+begin_src emacs-lisp :tangle "/path/to/.emacs" :comments both :noweb tangle
<<generated-file-warning>
<<includes>>
<<definitions>>
<<settings>>
<<generated-file-warning>
#+end_src

Под ним у меня есть схемас исходными блоками, такими как:

* extensions
** yasnippet

#+name: early-includes
#+begin_src emacs-lisp
(require 'yasnippet)
(yas/initialize)
#+end_src

#+name: settings
#+begin_src emacs-lisp
(yas/load/directory "/path/to/my/snippets")
#+end_src

Примечание: для более старых версий режима org, вам может потребоваться использовать #+srcname: вместо #+name:

Вы также можете создать свойство с именем noweb-ref, которое применяет одно и то же имя ко всем исходным блокам в поддереве.

...