Грамотное Программирование с использованием org-babel
Я нахожусь в грамотной программе, используя org-babel. Мой источник структурирован так,
-imports
-utility fns
-game structure
- detailed explanations
это нормальная структура кода, что я хотел бы сделать, это переместить объяснения утилиты fns в конец, чтобы она не отображалась сначала в сгенерированном pdf-файле. Теперь это можно сделать с расширением noweb, но проблема в том, что у вас есть много маленьких функций для каждого из них, я должен добавить src_block с уникальным именем прокрутите файл и добавьте ссылку на это в файле, который действительно раздражает. Есть ли способ назвать все src_blocks в разделе? скажем, весь код в этом разделе переходит в блок A.
1 ответов
вы можете дать несколько кусков одно и то же имя. Например, я генерирую свой .файл 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-mode вам может потребоваться использовать #+srcname:
вместо #+name:
вы можете создайте свойство с именем noweb-ref
, который применяет одно и то же имя ко всем блокам источника в под-дереве.