emacs include org-mode transclusion

Transclusión ISO en emacs org-mode?



include transclusion (1)

Hmm ... No creo que exista algo como esto, pero fue bastante fácil escribir un bloque dinámico para hacer esto. La siguiente elisp funciona para mí:

(defun org-dblock-write:transclusion (params) (progn (with-temp-buffer (insert-file-contents (plist-get params :filename)) (let ((range-start (or (plist-get params :min) (line-number-at-pos (point-min)))) (range-end (or (plist-get params :max) (line-number-at-pos (point-max))))) (copy-region-as-kill (line-beginning-position range-start) (line-end-position range-end)))) (yank)))

Luego, para incluir un rango de línea de un archivo dado, puede crear un bloque dinámico como ese:

#+BEGIN: transclusion :filename "~/testfile.org" :min 2 :max 4 #+END:

Y auto-poblar con Cc Cx Cu . Omita los argumentos min y max para incluir todo el archivo. Tenga en cuenta que puede vincular org-update-all-dblocks a un org-update-all-dblocks , para que este rango se actualice cada vez que visite el archivo o lo guarde.

Más información sobre bloques dinámicos en http://orgmode.org/org.html#Dynamic-blocks . ¡Espero que esto ayude!

P: ¿hay alguna forma de hacer la transclusión en emacs org-mode?

Por "transclusión", me refiero a cosas como, en algún momento en fileA.org y fileB.org, "incluyendo" fileInc.org - y que el árbol de fileInc.org aparezca en ambos lugares. En realidad aparece, no solo vinculado. (Posiblemente con inclusión condicional, transformación, p. Ej., Profundidad de anidamiento (número de *** s)).

Sé sobre #setupfile, pero parece que solo funciona para modos, no para texto real.

Conozco http://orgmode.org/manual/Include-files.html , pero AFAIK solo funcionan en el momento de la exportación.

Estoy buscando algo que funcione en un buffer de modo orgánico de emacs normal. (En realidad, algo que funcionó en los búferes que no son de org-modo podría ser bueno.)

Tengo una placa de caldera que quiero incluir en varios archivos.

Existe algo como esto?