Re: [O] Bug: org-export-babel-evaluate causes everything to be exported [8.3.4 (release_8.3.4-824-ga02fe8)]
On Thu, 19 May 2016, Ken Mankoff wrote: I've noticed that code and results are all getting exported in the latest Org mode git head. This is new behavior. I haven't traced it to what commit caused this change, but the stock 8.2.10 install does not have this bug. The offending setting is: (setq org-export-babel-evaluate nil) I think this is a *feature* not a bug. It turns off all of babel on export. So the code will still be there and any results that were already in the buffer will also be there. You can use `org-babel-remove-result-one-or-many' with a prefix if you want results to be stripped (prior to export, say). You can use :cache to prevent re-evaluation of code blocks and set org-export-babel-evaluate to t. Then the `:exports results' blocks will not have their code run nor exported. If you want to avoid babel, but still have header-args govern the appearance of the export, you have a lot of work to do. The exporter does not get automatic access to the header-args, so stuff like `#+PROPERTY: header-args :exports results' would be hard for the src-block transcoder to find. A workaround that might suffice is to defun `org-export-my-src-block' to return nothing, then use it as the src-block transcoder in a derived export backend. Then all the code disappears on export. There are some other possibilities like hacks involving babel. Probably better to stay away from those. HTH, Chuck
Re: [O] Bug: orgtbl-self-insert-command does not overwrite whitespace [8.3.4 (8.3.4-50-g83e373-elpa @ /home/alex/.emacs.d/elpa/org-20160509/)]
> > Backspace works as expected, however. > I'm afraid that as of org-20160516 on ELPA, backspace also does not > overwrite whitespace. Oh, it seems like backspace works fine in text modes like fundamental-mode and message-mode, but not prog-derived modes. I'd say that's another bug. A git bisect says that this commit by Bastien Guerry is the culprit: f0a64ab3b5c46c8c7b1c838de2ed20511357e43d Does anyone know why it also affects orgtbl-self-insert-command?
Re: [O] Bug: org-export-babel-evaluate causes everything to be exported [8.3.4 (release_8.3.4-824-ga02fe8)]
A bit of digging in git and I guess this commit may be related, http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=ec615b192d703a0201ceefd46897e4636ff00a38 summarized as "Fix `org-export-babel-evaluate' handling" -k. On 2016-05-19 at 20:13, Ken Mankoffwrote: > I've noticed that code and results are all getting exported in the > latest Org mode git head. This is new behavior. I haven't traced > it to what commit caused this change, but the stock 8.2.10 install does > not have this bug. > > The offending setting is: > > (setq org-export-babel-evaluate nil) > > My full state is attached below, but I'm recreating the bug with a > simpler setup: > > I'm running a clean Emacs with: > > ~/local/Applications/Emacs.app/Contents/MacOS/Emacs -Q ~/.emacs.d/simple.el > > where the contents of "simple.el" are only: > > ;; > (add-to-list 'load-path "~/local/src/org-mode/lisp") > (add-to-list 'load-path "~/local/src/org-mode/contrib" t) > (require 'org) > (setq org-export-babel-evaluate nil) > (org-babel-do-load-languages > 'org-babel-load-languages > '((emacs-lisp . t) >(octave . t))) > ;; > > If I evaluate the first 3 lines, I load the latest git head. If I do > not, I run Org 8.2.10. If I evaluate the 4th line, "(setq > org-export-babel-evaluate nil)", the bug does not appear in 8.2.10, but > does appear in git head. > > I test it with the following file: > > ;; > #+BEGIN_SRC octave :exports results > "hello, world" > #+END_SRC > #+RESULTS: > : hello, world > ;; > > > Which I then export to LaTeX. In Org 8.2.10 w/ or w/o > "org-export-babel-evaluate", I only see results. In git head, I see the > code and the results if it is set to 'nil'. > > > -k. > > > > Emacs : GNU Emacs 24.5.1 (x86_64-apple-darwin14.5.0, Carbon Version 157 > AppKit 1348.17) > of 2015-12-15 on bos-mp6ry > Package: Org-mode version 8.3.4 (release_8.3.4-824-ga02fe8 @ > /Users/mankoff/local/src/org-mode/lisp/) > > current state: > == > (setq > org-export-babel-evaluate nil > org-tab-first-hook '(org-hide-block-toggle-maybe > org-babel-hide-result-toggle-maybe > org-babel-header-arg-expand) > org-speed-command-hook '(org-speed-command-default-hook > org-babel-speed-command-hook) > org-occur-hook '(org-first-headline-recenter) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-html-format-drawer-function '(closure > (htmlize-buffer-places > org-html-format-table-no-css > htmlize-css-name-prefix > htmlize-output-type htmlize-output-type > htmlize-css-name-prefix t) > (_name contents) contents) > org-latex-format-inlinetask-function > 'org-latex-format-inlinetask-default-function > org-confirm-shell-link-function 'yes-or-no-p > org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default > org-latex-format-headline-function > 'org-latex-format-headline-default-function > org-after-todo-state-change-hook '(org-clock-out-if-current) > org-latex-format-drawer-function '(closure (t) (_ contents) contents) > org-odt-format-headline-function 'org-odt-format-headline-default-function > org-src-mode-hook '(org-src-babel-configure-edit-buffer >org-src-mode-configure-edit-buffer) > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-babel-pre-tangle-hook '(save-buffer) > org-mode-hook '((closure > (org-inlinetask-min-level buffer-face-mode-face org-mode-map > org-tbl-menu org-org-menu org-struct-menu org-entities > org-last-state org-id-track-globally org-clock-start-time > texmathp-why remember-data-file > org-agenda-tags-todo-honor-ignore-options > iswitchb-temp-buflist calc-embedded-open-mode > calc-embedded-open-formula calc-embedded-close-formula > align-mode-rules-list zmacs-regions outline-mode-menu-hide > outline-mode-menu-show outline-mode-menu-heading > org-emphasis-alist org-emphasis-regexp-components > org-export-registered-backends org-modules > org-babel-load-languages t) > nil > (org-add-hook (quote change-major-mode-hook) > (quote org-show-block-all) (quote append) (quote local)) > ) >(lambda nil > (org-add-hook (quote change-major-mode-hook) > (quote org-babel-show-result-all) (quote append) > (quote local)) > ) >
[O] Bug: org-export-babel-evaluate causes everything to be exported [8.3.4 (release_8.3.4-824-ga02fe8)]
I've noticed that code and results are all getting exported in the latest Org mode git head. This is new behavior. I haven't traced it to what commit caused this change, but the stock 8.2.10 install does not have this bug. The offending setting is: (setq org-export-babel-evaluate nil) My full state is attached below, but I'm recreating the bug with a simpler setup: I'm running a clean Emacs with: ~/local/Applications/Emacs.app/Contents/MacOS/Emacs -Q ~/.emacs.d/simple.el where the contents of "simple.el" are only: ;; (add-to-list 'load-path "~/local/src/org-mode/lisp") (add-to-list 'load-path "~/local/src/org-mode/contrib" t) (require 'org) (setq org-export-babel-evaluate nil) (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (octave . t))) ;; If I evaluate the first 3 lines, I load the latest git head. If I do not, I run Org 8.2.10. If I evaluate the 4th line, "(setq org-export-babel-evaluate nil)", the bug does not appear in 8.2.10, but does appear in git head. I test it with the following file: ;; #+BEGIN_SRC octave :exports results "hello, world" #+END_SRC #+RESULTS: : hello, world ;; Which I then export to LaTeX. In Org 8.2.10 w/ or w/o "org-export-babel-evaluate", I only see results. In git head, I see the code and the results if it is set to 'nil'. -k. Emacs : GNU Emacs 24.5.1 (x86_64-apple-darwin14.5.0, Carbon Version 157 AppKit 1348.17) of 2015-12-15 on bos-mp6ry Package: Org-mode version 8.3.4 (release_8.3.4-824-ga02fe8 @ /Users/mankoff/local/src/org-mode/lisp/) current state: == (setq org-export-babel-evaluate nil org-tab-first-hook '(org-hide-block-toggle-maybe org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) org-occur-hook '(org-first-headline-recenter) org-metaup-hook '(org-babel-load-in-session-maybe) org-html-format-drawer-function '(closure (htmlize-buffer-places org-html-format-table-no-css htmlize-css-name-prefix htmlize-output-type htmlize-output-type htmlize-css-name-prefix t) (_name contents) contents) org-latex-format-inlinetask-function 'org-latex-format-inlinetask-default-function org-confirm-shell-link-function 'yes-or-no-p org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default org-latex-format-headline-function 'org-latex-format-headline-default-function org-after-todo-state-change-hook '(org-clock-out-if-current) org-latex-format-drawer-function '(closure (t) (_ contents) contents) org-odt-format-headline-function 'org-odt-format-headline-default-function org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-babel-pre-tangle-hook '(save-buffer) org-mode-hook '((closure (org-inlinetask-min-level buffer-face-mode-face org-mode-map org-tbl-menu org-org-menu org-struct-menu org-entities org-last-state org-id-track-globally org-clock-start-time texmathp-why remember-data-file org-agenda-tags-todo-honor-ignore-options iswitchb-temp-buflist calc-embedded-open-mode calc-embedded-open-formula calc-embedded-close-formula align-mode-rules-list zmacs-regions outline-mode-menu-hide outline-mode-menu-show outline-mode-menu-heading org-emphasis-alist org-emphasis-regexp-components org-export-registered-backends org-modules org-babel-load-languages t) nil (org-add-hook (quote change-major-mode-hook) (quote org-show-block-all) (quote append) (quote local)) ) (lambda nil (org-add-hook (quote change-major-mode-hook) (quote org-babel-show-result-all) (quote append) (quote local)) ) org-babel-result-hide-spec org-babel-hide-all-hashes) org-archive-hook '(org-attach-archive-delete-maybe) org-ascii-format-drawer-function '(closure (t) (_name contents _width) contents) org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe) org-cycle-hook
[O] [PATCH] add port switch for postgresql support in ob-sql.el
I added a port switch for postgresql in ob-sql.el If you have sql loaded and do something like the follow: #+name: example #+header: :engine postgresql #+header: :dbhost localhost #+header: :dbport 6543 #+header: :dbuser orgmode #+header: :database ob-sql #+BEGIN_SRC sql select * from everything #+END_SRC Note: default port for postrgres is 5432 not 6543 You will be either presented with an error or in my case a failed password prompt since I had multiple db servers running. The problem was that org-babel-sql-dbstring-postgresql did not accept a port argument. I have attached a simple patch to fix this and have verified it works for me. I would have loved to add some tests, but I ran into some problems: 1) I could not figure out how to get just one test file to run 2) I was not able get make test to load the sql language in babel Is there a recommended/standard way to resolve these problems with tests? >From 4ca513afe3725fbfbefd7ad9bf54637adfd56ea2 Mon Sep 17 00:00:00 2001 From: Justin KirbyDate: Wed, 18 May 2016 23:14:48 -0400 Subject: [PATCH] add dbport parameter to postgresql dbstring If postgesql is running on a different port or using a ssh tunnel to remote db, the ability to specify a different port is needed. --- lisp/ob-sql.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el index 6488afe..5f96aa3 100644 --- a/lisp/ob-sql.el +++ b/lisp/ob-sql.el @@ -90,12 +90,13 @@ (when password (concat "-p" password)) (when database (concat "-D" database)) -(defun org-babel-sql-dbstring-postgresql (host user database) +(defun org-babel-sql-dbstring-postgresql (host port user database) "Make PostgreSQL command line args for database connection. Pass nil to omit that arg." (combine-and-quote-strings (delq nil (list (when host (concat "-h" host)) + (when port (format "-p%d" port)) (when user (concat "-U" user)) (when database (concat "-d" database)) @@ -145,7 +146,7 @@ This function is called by `org-babel-execute-src-block'." footer=off -F \"\t\" %s -f %s -o %s %s" (if colnames-p "" "-t") (org-babel-sql-dbstring-postgresql - dbhost dbuser database) + dbhost dbport dbuser database) (org-babel-process-file-name in-file) (org-babel-process-file-name out-file) (or cmdline ""))) -- 2.6.3
Re: [O] org-mode, python and unicode
Hi Daniel On Wed, May 18, 2016 at 3:10 AM, Daniele Pizzolliwrote: > > I did not found out: > > - how to get the table headers in python > > I can answer this small part. Use the (counter-intuitively named) ":colnames no" header argument, see [[info:org#colnames]]. The default behavior is ":colnames nil", which supposedly strips off the table headers on input and reattaches them on output. But that doesn't work for me with python - they are stripped off, but not reattached. Will -- Dr William Henney, Instituto de Radioastronomía y Astrofísica, Universidad Nacional Autónoma de México, Campus Morelia
Re: [O] looking for a variable which allows formatting the agenda clock report
Am 13.05.2016 um 13:04 schrieb Rainer Stengele: Am 11.05.2016 um 21:45 schrieb Rainer Stengele: Am 11.05.2016 um 18:22 schrieb Marco Wahl: Hi Rainer, I could not find a variable which allows formatting the clock report that is created in the org agenda by "v R". Any quick pointer to such one or other ideas? org-agenda-clockreport-parameter-plist Thanks Marco, now my question is how can I extract the category of a clock entry and display it in the report? I tried a bit with properties but have no real clue. Can somebody help here? You can filter a certain category for the clock report afaics. E.g. org-agenda-clockreport-parameter-plist value (:link t :maxlevel 2 :tags "+CATEGORY=\"busi\"") only takes the clockings from items in category "busi" for the org-agenda-clockreport. HTH, Hi Marco, thanks for this, very useful. What I really meant was how can I change the output format of the clock report, so how do I change the first column from "File" to "Category" of the clock entry. Thanks, Rainer Hi, does anybody have an example for the :formatter item to format the clocktable output as needed? Thank you. Regards, Rainer Anybody?
Re: [O] Tags management strategies
one of the great things about the plain text format is that a word and regular expression search will catch anything -- including stuff that is semantic in org. samuel -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com The disease DOES progress. MANY people have died from it. And ANYBODY can get it. Denmark: free Karina Hansen NOW.
Re: [O] Mixing Python2 and Python3 blocks in one file
On Thu, May 19, 2016 at 2:32 PM, Ken Mankoffwrote: > > On 2016-05-19 at 15:21, William Henney wrote: > > I think Elpy works fine with conda environments - you just have to > > call pyvenv-activate with the desired path. > > Yes, I have discovered that since I sent my email. > > > You have inspired me to try and automate this for org source blocks > > (see org snippets below). It is a bit clunky, but I got it to work. > > Let me know what you think, and any stylistic corrections are welcome > > (my lisp skills are sadly lacking). > > Better than my lisp. It looks good, but I like to keep my virtual envs in > the folder where the work happens. That is, I create them with =conda env > create -y -p ./pyenv=. I think this means your code below will fail because > it is looking for an =/envs/= folder. However, my method allows all virtual > environments to always have the same name, which could make the code (and > testing for the existence of that folder) easier. > > Yes, that’s right. You can just edit the part that says (string-match "/envs/" venv) and change "/envs/" to a regex that matches the way you name your environments. For instance, just the literal string "pyenv" should work. Or, even better, "env" would match both your convention and the standard location. > > + One thing we have to remember is to install the elpy python package > > and dependencies in each virtual environment. For instance: > > This can also be handled by =~./condarc= and the default packages > installed whenever a virtual environment is created. > > That's good to know - thanks Will > -k. > -- Dr William Henney, Instituto de Radioastronomía y Astrofísica, Universidad Nacional Autónoma de México, Campus Morelia
Re: [O] Tags management strategies
On 16-05-16 03:59 PM, Samuel Wales wrote: i skip tags almost entirely in favor of regular expression search. :) Hi Samuel, thanks for your response. Using regular expression search is certainly a good approach to this problem and I would like to take some time to master this technique better. I suppose we could even do tag searching based on regexp :)
Re: [O] Mixing Python2 and Python3 blocks in one file
On 2016-05-19 at 15:21, William Henneywrote: > I think Elpy works fine with conda environments - you just have to > call pyvenv-activate with the desired path. Yes, I have discovered that since I sent my email. > You have inspired me to try and automate this for org source blocks > (see org snippets below). It is a bit clunky, but I got it to work. > Let me know what you think, and any stylistic corrections are welcome > (my lisp skills are sadly lacking). Better than my lisp. It looks good, but I like to keep my virtual envs in the folder where the work happens. That is, I create them with =conda env create -y -p ./pyenv=. I think this means your code below will fail because it is looking for an =/envs/= folder. However, my method allows all virtual environments to always have the same name, which could make the code (and testing for the existence of that folder) easier. > + One thing we have to remember is to install the elpy python package > and dependencies in each virtual environment. For instance: This can also be handled by =~./condarc= and the default packages installed whenever a virtual environment is created. -k.
Re: [O] Mixing Python2 and Python3 blocks in one file
On Thu, May 19, 2016 at 8:18 AM, Ken Mankoffwrote: > > Thanks for the example. This makes conda + Org work better than it has for > me in the past. Unfortunately, one major issues is editing and running code > outside of Org via (org-edit-special). Perhaps elpy will support conda > environments soon. > > I think Elpy works fine with conda environments - you just have to call pyvenv-activate with the desired path. You have inspired me to try and automate this for org source blocks (see org snippets below). It is a bit clunky, but I got it to work. Let me know what you think, and any stylistic corrections are welcome (my lisp skills are sadly lacking). * Automating Elpy virtual env configuration in babel source editing buffer + This function will automatically activate the virtual environment that corresponds to the current python executable path + It should be a harmless no-op if we are not in a python buffer #+BEGIN_SRC emacs-lisp (defun wjh/elpy-pyvenv-activate-from-babel-info (info) "Activate relevant conda virtual env in Babel source editing buffer. The :python source block parameter is inspected to determine the venv." (let* ((python-command (or (cdr (assoc :python (nth 2 info))) org-babel-python-command)) (venv (replace-regexp-in-string "/bin/python$" "" python-command))) (when (string-match "/envs/" venv) (pyvenv-activate (expand-file-name venv) #+END_SRC + Then we need to make sure it is run whenever we edit a babel source block by doing something like =(wjh/elpy-pyvenv-activate-from-babel-info org-src--babel-info)=, and also to do =(pyvenv-deactivate)= when we leave + Unfortunately, there are no actual hooks that I can find for =org-edit-src-code= or =org-edit-src-exit= + For the activation part we can co-opt the =org-babel-edit-prep:python= function: #+BEGIN_SRC emacs-lisp (defun org-babel-edit-prep:python (info) (wjh/elpy-pyvenv-activate-from-babel-info info)) #+END_SRC + Although this will break if =ob-python.el= decides to define =org-babel-edit-prep:python= one day + For the deactivation part, I can't see any other way than to use advice #+BEGIN_SRC emacs-lisp (advice-add 'org-edit-src-exit :after #'pyvenv-deactivate) #+END_SRC + One thing we have to remember is to install the elpy python package and dependencies in each virtual environment. For instance: #+BEGIN_SRC sh source activate myenv pip install elpy rope_py3k importmagic autopep8 yapf jedi #+END_SRC -- Dr William Henney, Instituto de Radioastronomía y Astrofísica, Universidad Nacional Autónoma de México, Campus Morelia
Re: [O] error: org-meta-return release_8.3.4.zip
On Thursday, May 19, 2016 12:45 PM, Mambo Leviswrote: Hi, Yesterday I reported an issue (see bellow). How can I see its status? I open an account in lists.gnu.org Mailing Lists but I couldn't findhow to search for a reported issue. Thanks, Levis On Wednesday, May 18, 2016 9:18 PM, Mambo Levis wrote: Hi, 1.) By testing org-mode release_8.3.4.zip from ( http://orgmode.org/cgit.cgi/org-mode.git/) without compile it in emacs 25.1.50.1 an error is shown when typing M-RET to add a new heading/item (see attached backtrace). I am using the minimal configuration suggested in the manual. -;; init.el--(use-package org-mode :load-path "~/.emacs.d/user/site-lisp/org-mode" :init (load-file "~/.emacs.d/user/lisp/init-org-minimal.el") )--;;; init-org-minimal.el --- org-mode minimal configuration ;;; Minimal setup to load latest 'org-mode';; activate debugging(setq debug-on-error t debug-on-signal nil debug-on-quit nil);; add latest org-mode to load path(add-to-list 'load-path "~/.emacs.d/user/site-lisp/org-mode/lisp")(add-to-list 'load-path "~/.emacs.d/user/site-lisp/org-mode/contrib/lisp" t);;(org-capture) (provide 'init-org-minimal);;; init-org-minimal.el ends here--- 2) If I use the option reload Org uncompiled there is no problem when using M-RET but the following message appears:Successfully reloaded OrgOrg-mode version 8.2.10 (release_8.2.10 @ mixed installation! c:/emacs/emacs-25.1.50/share/emacs/25.1.50/lisp/org/ and c:/home/.emacs.d/user/site-lisp/org-mode/lisp/) 3) Now I force emacs to search the new org-mode version by adding a org__ to the original installation. The following message appears:File error: Cannot open load file, No such file or directory, org-table Questions: - How can isolate the new org version from the default installed?- How can I solve this issue? I appreciate your help,regards, Levis backtrace.el Description: Binary data
[O] Bug: org links do not work in some latex files [8.3.4 (8.3.4-34-gacfd41-elpaplus @ /home/oub/.emacs.d/elpa/org-plus-contrib-20160411/)]
hello Please look at the following example \documentclass[addpoints,12pt]{exam} \begin{document} % [[file:~/ALLES/tex/vorlesungen/HGBioQuim/Examen+geogebra/Examen2/README.org::*Overview][Overview]] \begin{questions} % [[file:~/ALLES/tex/vorlesungen/HGBioQuim/Examen+geogebra/Examen2/README.org::*Overview][Overview]] \end{questions} `org-open-at-point' opens the first link, but not the one in the environment questions. regards Uwe Brauer Emacs : GNU Emacs 25.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) of 2016-01-19 Package: Org-mode version 8.3.4 (8.3.4-34-gacfd41-elpaplus @ /home/oub/.emacs.d/elpa/org-plus-contrib-20160411/) current state: == (setq org-entities-user '(("implies" "\\Rightarrow" t "" "=>" "=>" "⇒") ("iff" "\\iff" t "" "<=>" "<=>" "⇔")) org-ref-cite-onclick-function 'org-ref-cite-click-helm outline-mode-hook '(hide-body) org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe) org-latex-format-headline-function 'org-latex-format-headline-default-function org-pretty-entities t org-html-format-inlinetask-function 'org-html-format-inlinetask-default-function org-odt-preferred-output-format "doc" org-shiftleft-hook '(#[nil "\300\301!\207" [org-ref-swap-citation-link -1] 2]) org-tab-first-hook '(org-hide-block-toggle-maybe org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-archive-hook '(org-attach-archive-delete-maybe) org-cycle-hook '(org-ref-show-biblinks org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-ref-notes-function '(lambda (thekey) (let* ((results (org-ref-get-bibtex-key-and-file thekey)) (key (car results)) (bibfile (cdr results))) (save-excursion (with-temp-buffer (insert-file-contents bibfile) (bibtex-set-dialect (parsebib-find-bibtex-dialect) t) (bibtex-search-entry key) (org-ref-open-bibtex-notes)) ) ) ) org-ref-open-notes-function '(lambda nil (org-show-entry) (show-branches) (show-children) (org-cycle (quote (64))) (recenter-top-bottom 0)) org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) org-export-with-toc nil org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default org-ref-insert-cite-function 'org-ref-helm-insert-cite-link org-ref-open-pdf-function 'org-ref-open-pdf-at-point org-odt-convert-processes '(("LibreOffice" "/opt/libreoffice4.3/program/soffice --headless --convert-to %f%x %i") ) org-babel-pre-tangle-hook '(save-buffer) org-return-follows-link t org-occur-hook '(org-ref-show-biblinks org-first-headline-recenter) org-shiftright-hook '(#[nil "\300\301!\207" [org-ref-swap-citation-link 1] 2]) org-latex-default-packages-alist '(("AUTO" "inputenc" t) ("T1" "fontenc" t) ("" "fixltx2e" nil) ("" "graphicx" t) ("" "grffile" t) ("" "longtable" nil) ("" "wrapfig" nil) ("" "rotating" nil) ("normalem" "ulem" t) ("" "amsmath" t) ("" "textcomp" t) ("" "amssymb" t) ("" "capt-of" nil) ("" "hyperref" nil) ("" "a4wide" nil) ("" "comment" nil)) org-html-format-headline-function 'org-html-format-headline-default-function org-structure-template-alist '(("d" "#+OPTIONS: d:nil\n") ("C" "#+begin_comment\n?\n#+end_comment") ("s" "#+begin_src matlab :results output\n\n#+end_src") ("e" "#+BEGIN_EXAMPLE\n?\n#+END_EXAMPLE") ("q" "#+BEGIN_QUOTE\n?\n#+END_QUOTE") ("v" "#+BEGIN_VERSE\n?\n#+END_VERSE") ("V" "#+BEGIN_VERBATIM\n?\n#+END_VERBATIM") ("c" "#+BEGIN_CENTER\n?\n#+END_CENTER") ("l" "#+BEGIN_LaTeX\n?\n#+END_LaTeX") ("L" "#+LaTeX: ") ("h" "#+BEGIN_HTML\n?\n#+END_HTML") ("H" "#+ATTR_HTML: border=\"2\" rules=\"all\" frame=\"border\"") ("a" "#+BEGIN_ASCII\n?\n#+END_ASCII") ("A" "#+ASCII: ") ("i" "#+INDEX: ?") ("I" "#+INCLUDE: %file ?")) org-html-table-default-attributes '(:border "2" :cellspacing "0" :cellpadding "6" :rules "all" :frame "border") org-ref-clean-bibtex-entry-hook '(orcb-key-comma org-ref-replace-nonascii orcb-& orcb-% org-ref-title-case-article
[O] [ox-publish, patch] More flexible sitemaps
Hi, I've long wanted to use ox to auto-generate something that looks like a blog index. This patch makes ox sitemaps a bit more flexible. For instance, it would allow me to use something like this for ‘:sitemap-file-entry-format’, :sitemap-file-entry-format "* [[file:%l][%t]] #+include: \"%f::lead\" [[file:%l][Read more]]" Which would come out as; * [[file:link][Title]] #+Include: "file.org::lead" [[File:link][Read more]] For the tests I did, it matches the "old" sitemap for list and tree. WDYT? I would particularly like feedback on simplification for the ordering of the tree’ed filenames. Rasmus -- This space is left intentionally blank >From e6b35524ba0959b6ca4057555325ec7d755248da Mon Sep 17 00:00:00 2001 From: RasmusDate: Sun, 27 Mar 2016 17:33:06 +0200 Subject: [PATCH 1/2] ox-publish: More flexible sitemaps * lisp/ox-publish.el (org-publish-sitemap-file-entry-format): Support more formatters. (org-publish-sitemap-dir-entry-format): New defcustom. (org-publish-org-sitemap): Use new variables and functions. (org-publish-org-sitemap-as-list): New function. (org-publish--tree-assoc): New function. (org-pubish--order-files-by-dir-tree): New function. (org-publish-find-title): New function. (org-publish-find-subtitle): New function. (org-publish-org-sitemap-as-tree): New function. (org-publish--find-property): Find arbirary property. (org-publish-project-alist): Document changes. * doc/org.texi (Sitemap): Update documentation. --- doc/org.texi | 20 ++-- lisp/ox-publish.el | 319 ++--- 2 files changed, 241 insertions(+), 98 deletions(-) diff --git a/doc/org.texi b/doc/org.texi index 025baaa..b3517c0 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -14570,8 +14570,9 @@ becomes @file{sitemap.html}). @item @code{:sitemap-function} @tab Plug-in function to use for generation of the sitemap. -Defaults to @code{org-publish-org-sitemap}, which generates a plain list -of links to all files in the project. +Defaults to @code{org-publish-org-sitemap}, which generates a plain list of +links to all files in the project. See further details in +@code{org-publish-project-alist}. @item @code{:sitemap-sort-folders} @tab Where folders should appear in the sitemap. Set this to @code{first} @@ -14590,12 +14591,9 @@ a file is retrieved with @code{org-publish-find-date}. @tab Should sorting be case-sensitive? Default @code{nil}. @item @code{:sitemap-file-entry-format} -@tab With this option one can tell how a sitemap's entry is formatted in the -sitemap. This is a format string with some escape sequences: @code{%t} stands -for the title of the file, @code{%a} stands for the author of the file and -@code{%d} stands for the date of the file. The date is retrieved with the -@code{org-publish-find-date} function and formatted with -@code{org-publish-sitemap-date-format}. Default @code{%t}. +@item @code{:sitemap-dir-entry-format} +@tab With this option one can tell how the entries of the sitemap is +formatted. See @code{org-publish-sitemap-file-entry-format} for details. @item @code{:sitemap-date-format} @tab Format string for the @code{format-time-string} function that tells how @@ -14607,6 +14605,12 @@ a sitemap entry's date is to be formatted. This property bypasses Useful to have cool URIs (see @uref{http://www.w3.org/Provider/Style/URI}). Defaults to @code{nil}. +@item @code{:sitemap-preamble} +@item @code{:sitemap-postamble} +@tab Preamble and postamble for sitemap. Useful for inserting +@code{#+OPTIONS}, footers etc. See @code{org-publish-sitemap-preamble} +for details. + @end multitable @node Generating an index diff --git a/lisp/ox-publish.el b/lisp/ox-publish.el index 8ccba99..b791e9a 100644 --- a/lisp/ox-publish.el +++ b/lisp/ox-publish.el @@ -41,6 +41,8 @@ (require 'cl-lib) (require 'format-spec) (require 'ox) +(autoload 'message-flatten-list "message") +(autoload 'dired-tree-lessp "dired-aux") @@ -217,10 +219,15 @@ a site-map of files or summary page for a given project. `:sitemap-style' -Can be `list' (site-map is just an itemized list of the -titles of the files involved) or `tree' (the directory -structure of the source files is reflected in the site-map). -Defaults to `tree'. +By default `list' (site-map is a list of files) or +`tree' (the directory structure of the source files is +reflected in the site-map). Defaults to `tree'. Files are +formatted according to `:sitemap-file-entry-format', +directories according to `:sitemap-dir-entry-format'. To add +new styles STYLE define a new function +`org-publish-org-sitemap-as-STYLE' that takes a list of files +and project-plist as arguments (assuming `:sitemap-function' +is `org-publish-org-sitemap'). `:sitemap-sans-extension' @@ -228,6 +235,20 @@ a site-map of files or summary page for a given project. cool URIs (see
Re: [O] (V9) [PATCH] New feature: Use dvisvgm to preview latex formular
Thank you for patiently help, this is v9 patch, inhert feature is removed from this patch, I need to think it over, maybe submit patch in the future. please comment again, thanks again :-) >From e18b7a4430ff90d6bcb828e3898ef25c61aba4bd Mon Sep 17 00:00:00 2001 From: Feng ShuDate: Tue, 17 May 2016 21:24:35 +0800 Subject: [PATCH] New feature: Use dvisvgm to preview latex formular * ox-html.el (org-html-with-latex): Add dvisvgm support. (org-html-with-latex): Add dvisvgm support. (org-html-format-latex): "ltxpng" -> "ltximg". (org-html-latex-environment): Add dvisvgm support. (org-html-latex-fragment): Add dvisvgm support. * org.el (org-preview-latex-default-process): New variable. (org-latex-create-formula-image-program): Rename it to `org-preview-latex-default-process'. (org-latex-preview-ltximg-directory): Rename it to `org-preview-latex-image-directory'. (org-preview-latex-image-directory): New variable. (org--format-latex-make-overlay): Add optional image-type, which used to deal with svg. (org-toggle-latex-fragment): "org-ltxpng" -> "org-ltximg". (org-format-latex): Add dvisvgm support. (org-create-formula-image): Big refactor, merge dvipng and imagemagick backend's feature. Add dvisvgm feature. (org-preview-latex-process-alist): Add new variable, which used to set latex preview processes. (org-create-formula-image-with-dvipng): Useless, removed. (org-create-formula-image-with-imagemagick): Useless, removed. * org.texi (@LaTeX{} fragments): Add dvisvgm information. (Previewing @LaTeX{} fragments): Add dvisvgm information. (Math formatting in HTML export): Add dvisvgm information. (Working with @LaTeX{} math snippets): Add dvisvgm information. --- doc/org.texi| 43 --- lisp/org.el | 383 +++- lisp/ox-html.el | 43 +++ 3 files changed, 259 insertions(+), 210 deletions(-) diff --git a/doc/org.texi b/doc/org.texi index 025baaa..54f3c5a 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -10395,10 +10395,10 @@ snippets will be identified as @LaTeX{} source code: @item Environments of any kind@footnote{When MathJax is used, only the environments recognized by MathJax will be processed. When -@file{dvipng} program or @file{imagemagick} suite is used to create images, -any @LaTeX{} environment will be handled.}. The only requirement is that the -@code{\begin} statement appears on a new line, at the beginning of the line -or after whitespaces only. +@file{dvipng} program, @file{dvisvgm} program or @file{imagemagick} suite is +used to create images, any @LaTeX{} environment will be handled.}. The only +requirement is that the @code{\begin} statement appears on a new line, at the +beginning of the line or after whitespaces only. @item Text within the usual @LaTeX{} math delimiters. To avoid conflicts with currency specifications, single @samp{$} characters are only recognized as @@ -10445,12 +10445,12 @@ lines: @subsection Previewing @LaTeX{} fragments @cindex @LaTeX{} fragments, preview -@vindex org-latex-create-formula-image-program -If you have a working @LaTeX{} installation and either @file{dvipng} or -@file{convert} installed@footnote{These are respectively available at -@url{http://sourceforge.net/projects/dvipng/} and from the @file{imagemagick} -suite. Choose the converter by setting the variable -@code{org-latex-create-formula-image-program} accordingly.}, @LaTeX{} +@vindex org-preview-latex-default-process +If you have a working @LaTeX{} installation and @file{dvipng}, @file{dvisvgm} +or @file{convert} installed@footnote{These are respectively available at +@url{http://sourceforge.net/projects/dvipng/}, @url{http://dvisvgm.bplaced.net/} +and from the @file{imagemagick} suite. Choose the converter by setting the +variable @code{org-preview-latex-default-process} accordingly.}, @LaTeX{} fragments can be processed to produce images of the typeset expressions to be used for inclusion while exporting to HTML (see @pxref{@LaTeX{} fragments}), or for inline previewing within Org mode. @@ -11715,6 +11715,7 @@ You could use @code{http} addresses just as well. @subsection Math formatting in HTML export @cindex MathJax @cindex dvipng +@cindex dvisvgm @cindex imagemagick @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two @@ -11739,13 +11740,18 @@ template can be configure via @code{org-html-mathjax-template}. If you prefer, you can also request that @LaTeX{} fragments are processed into small images that will be inserted into the browser page. Before the availability of MathJax, this was the default method for Org files. This -method requires that the @file{dvipng} program or @file{imagemagick} suite is -available on your system. You can still get this processing with +method requires that the @file{dvipng} program, @file{dvisvgm} or +@file{imagemagick} suite is available on your system. You can still
Re: [O] Agenda filter by any tag seems to be broken
Nicolas Goaziouwrites: > Hello, > > Eric Abrahamsen writes: > >> Okay, there's the problem. In the org git repo, the code above has been >> that way since it was added in 2015. In the package-manager version, >> however, it now looks like this: >> >> (let* ((tag (substring x 1)) >> (isregexp (and (equal "{" (substring tag 0 1)) >> (equal "}" (substring tag -1 >> regexp) >> >> And the `substring' calls raise the error. The code is the same in the >> "org" and "org-plus-contrib" packages. >> >> I don't know where the different code comes from, or who maintains it, >> or why it's different from the org git repo, but it would be nice if >> someone could look into fixing that! > > Fixed. Thank you for the detailed report. Great, thanks a lot!
Re: [O] Mixing Python2 and Python3 blocks in one file
Hi Will, Thanks for the example. This makes conda + Org work better than it has for me in the past. Unfortunately, one major issues is editing and running code outside of Org via (org-edit-special). Perhaps elpy will support conda environments soon. On 2016-05-18 at 23:37, William Henneywrote: > #+BEGIN_SRC python :python ~/anaconda/envs/myenv/bin/python :results > verbatim > import sys > return sys.path > #+END_SRC Anyway, for those of us using IPython, the following also works: #+BEGIN_SRC python :python ./myenv/bin/ipython --pylab=osx --pdb --nosep --classic --no-banner --no-confirm-exit print(np.__version__) #+END_SRC -k.
Re: [O] Best way of including tikz into latex (pdf and beamer) export with preview?
On Thu, May 19, 2016 at 10:25:09AM +0100, Myles English wrote: > > What is the best way of including tikz into org for latex export > > (beamer and pdf), and to have preview as well? I have used R in the past to generate two outputs for a given graph, one PNG and one PDF from a source block in my Org file. Then immediately under the source block I would put a commented out file link so that Org's inline image display would show it to me. Then I used the latex include command beneath to include the PDF for the final output. This let me preview and have high quality output. Sample code: #+BEGIN_SRC R :session *R-Buffer* :tangle myfile.R :exports none :results none silent :var basename="playerAging" doublePlot = function (base, plotFunc, pngopts = c( width = 1024, height = 500 ), pdfopts = c( width = 10, height = 7.5, paper = 'usr') ) { # basename from org-babel myPng = paste(base,"png",sep=".") myPdf = paste(base,"pdf",sep=".") png(myPng, pngopts ) plotFunc() dev.off() pdf(myPdf, pdfopts) plotFunc() dev.off() } doublePlot(base=basename, plotFunc = function() { plot(players$last_save,players$age,main="Player Age vs Last Login") grid(col="gray",lty=2) }) #+END_SRC # [[file:playerAging.png]] #+LATEX: \includegraphics[width=\textwidth]{playerAging.pdf}\newpage -- Russell Adamsrlad...@adamsinfoserv.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint:1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3
Re: [O] (V8) [PATCH] New feature: Use dvisvgm to preview latex formular
tumashuwrites: > `((?b . ,(shell-quote-argument base-name)) >(?f . ,(shell-quote-argument full-name)) > (?o . ,(shell-quote-argument out-dir)) > > > What about add a spec to output-file, some commands need this > information. I'm not sure to understand. What information do you need? Regards,
Re: [O] (V8) [PATCH] New feature: Use dvisvgm to preview latex formular
`((?b . ,(shell-quote-argument base-name)) (?f . ,(shell-quote-argument full-name)) (?o . ,(shell-quote-argument out-dir)) What about add a spec to output-file, some commands need this information. I will edit my diff tonight and sent to org-mode mailling list as far as possible.
Re: [O] Best way of including tikz into latex (pdf and beamer) export with preview?
Hello Rainer, Rainer M Krug writes: > What is the best way of including tikz into org for latex export > (beamer and pdf), and to have preview as well? I don't know, but I do remember that using the `standalone' document class was useful because you can keep the tikz picture in its own .tex file, develop it using command line processing to pdf and, when it is ready, use it in in several different documents (report, poster, thesis) by including the .tex file file. Not sure about previewing though. Sorry I can't find a comprehensive example but here is an example usage of standalone: http://drvinceknight.blogspot.co.uk/2013/04/makefiles-for-tikz-sagemath-and.html Myles signature.asc Description: PGP signature
Re: [O] "global" variables in a babel document...
This works for me, but if you change tsmuser value in session, you have to C-c C-c in PROPERTY line, getting "Local setup have been refreshed". #+PROPERTY: var tsmuser="query" * foo :PROPERTIES: :header-args: :var tsmpass="query" :END: #+name: toy #+begin_src sh :var bloop="foo" echo sss ${bloop} ddd echo sss ${tsmpass} ddd echo sss ${tsmuser} ddd #+end_src #+RESULTS: toy | sss | foo | ddd | | sss | query | ddd | | sss | query | ddd | Best regards. El 2016-05-17 21:24, Allen S. Rout escribió: org-version org "8.2.10" emacs-version "24.5.1" I'm seeing what seems to be some inconsistent treatment of :var header args. Or maybe I'm just missing something. I'm trying to follow: http://orgmode.org/manual/Header-arguments-in-Org-mode-properties.html#Header-arguments-in-Org-mode-properties and I find that the local :var works (of course) and the outline level one also works, but the document-level one does not. Minimal example, with my results, below. I'm wondering if I'm thinking about the problem wrong. What I'm trying to accomplish is setting, at a document level, a few variables which I would like to be accessible in every code block in this document. I know I can set them independently on every block, but that seems tiresome. - Allen S. Rout - #+PROPERTY:header-args:var tsmuser="query" * foo :PROPERTIES: :header-args: :var tsmpass="query" :END: #+name: toy #+begin_src sh :var bloop="foo" echo sss ${bloop} ddd echo sss ${tsmpass} ddd echo sss ${tsmuser} ddd #+end_src #+RESULTS: toy | sss | foo | ddd | | sss | query | ddd | | sss | ddd | | -
Re: [O] Agenda filter by any tag seems to be broken
Hello, Eric Abrahamsenwrites: > Okay, there's the problem. In the org git repo, the code above has been > that way since it was added in 2015. In the package-manager version, > however, it now looks like this: > > (let* ((tag (substring x 1)) >(isregexp (and (equal "{" (substring tag 0 1)) > (equal "}" (substring tag -1 >regexp) > > And the `substring' calls raise the error. The code is the same in the > "org" and "org-plus-contrib" packages. > > I don't know where the different code comes from, or who maintains it, > or why it's different from the org git repo, but it would be nice if > someone could look into fixing that! Fixed. Thank you for the detailed report. Regards, -- Nicolas Goaziou
Re: [O] org-tag-alist - fullscreen problem when adding tags
Hello, Peter Sternerwrites: > I'm trying out org-mode's tagging-system. In my init.el file I added > > (setq org-tag-alist '((:startgroup . nil) > ("@work" . ?w) ("@home" . ?h) > ("@tennisclub" . ?t) > (:endgroup . nil) > ("laptop" . ?l) ("pc" . ?p))) > > > Now when I add a tag the entire frame is split up in two windows both > of them showing the *Org tags* buffer. Is it possible to disable > this? FWIW, I cannot reproduce it. You may want to debug `org-fast-tag-selection' to understand what happens in your case. Are you using dedicated windows or some such ? Regards, -- Nicolas Goaziou
Re: [O] (V8) [PATCH] New feature: Use dvisvgm to preview latex formular
Hello, "Feng Shu"writes: > I have rebase my patch to new function org-compile-file, the v8 patch is > very different with the earlier version, it is more simpler i think, > please comment again, thanks for your help! Thank you. I added `org-compile-file' to master branch and incorporated some of you suggestions. Beware, however, that there are some differences with the version you're using here. In particular, 1. the order of arguments is different; 2. %b, %f, and %o are always replaced in commands, no need to specify them again when using argument SPEC; 3. extension argument is a string, not a symbol or a list of symbols. By the way, I don't understand why you do need to provide a list of extensions. The extension argument is used to check if the process actually succeeded, but the process itself can create as many files as it sees fit. Some additional comments follow. > +(dvisvgm > + :programs ("latex" "dvisvgm" "gs") > + :message "you needed to install latex, dvisvgm and ghostscript." > + :use-xcolor t > + :image-input (dvi xdv) Per above, it is either dvi or xdv > + "List definitions of external processes for LaTeX previewing. > +Org mode can use some external commands to generate TeX snippet's image for > +previewing or inserting into HTML files, e.g. dvipng, dvisvgm or imagemagick. > +This variable tells `org-create-formula-image' how to use external commands. > + > + :name symbol, the process setting name. > + :inheritsymbol, inhert options from an exist process setting. I suggest to drop the property above. It is only partially implemented (e.g., you cannot inherit from an inherited process), it complicates code, and I don't think it is terribly useful overall. > + :image-inputsymbol, input file type, for example: dvi. > + :image-output symbol, output file type, for example: png. symbol -> string > + :use-xcolor boolean, if set to `t', LaTeX \"xcolor\" macro is used > + to deal with background and foreground color of image, > + if set to `nil', dvipng style background and foregroud > color > + format are generated; you should used them in command > options > + with special string: \"%F\" and \"%B\". when non-nil, `LaTeX' \"xcolor\"... color of image. Otherwise, dvipng style... are generated. You may then refer to them in command options with "%F" and "%B". > + :image-size-adjust cons of numbers, the car element is used to adjust > latex image latex -> LaTeX > + size showed in buffer and the cdr element is for html > file. html -> HTML > + This option is only useful for backend developers, > users > + should use variable `org-format-latex-options' instead. > + :post-clean list of strings, files matched are to be cleaned up > once the > + image is generated. If set to `nil', the files with > dvi, xdv, > + pdf, tex, aux, log, svg, png, jpg, jpeg or out > extension will > + be cleaned up. > + :latex-header list of string, latex snippet file's header, if set to > `nil', latex -> `LaTeX' > + the return value of `org-create-formula--latex-header' > will be > + used, which is controled `org-format-latex-header', > + `org-latex-default-packages-alist' and > `org-latex-packages-alist'. No need to reference an internal function: the return value is controlled by `org-format-latex-header' `org-latex-default-packages-alist' and `org-latex-packages-alist', which see. > + :latex-compiler list of latex commands, each of them will be given to > the shell > + as a command. the special strings, %t, %b and %o, > will be replaced > + to according value before commands called. as a command. Place-holders "%t", "%b" and "%o" are replaced with values defined below. > + :image-converterlist of image converter command strings, each of them > will be > + given to the shell as a command. the following > special strings, > + will be replaced to according value before commands > called. each of them is given to the shell as a command and support any of the following place-holders defined below. > +Special strings used by `:image-converter' and `:latex-compiler': Place-holders used by... > +5. %ttex file name. Couldn't you use %f so as to be compatible with default place-holders? > -(defun org--format-latex-make-overlay (beg end image) > +(defun org--format-latex-make-overlay (beg end image imagetype) >"Build an overlay between BEG and END using IMAGE file." You need to explain IMAGETYPE in docstring, e.g., Argument IMAGETYPE is the extension of the displayed image, as a symbol. It
Re: [O] Dynamic #+INCLUDE content loading when revealing subsection
Hi Steve, Steve Moreauwrites: > Finally, if it doesn't exist and you think it would be nice to have, would > you please suggest an entry point in the source code to start digging ? It does not exists. To load all included file into your buffer you can use ‘org-export-expand-include-keyword’, but it’s a one-way import(!). What I think you are talking about is combining two files into a single buffer, dynamically. I presume that when one clicks "save" the changes in the surrounding regions 1 and 3 are to be saved into file 1 and the changes in region 2 are to be saved into file 2. But what if you add lines to the bottom of region 2? How would Emacs know to which file it belongs? You’d need some sort of delimiters. Maybe a couple of (visual) markers would be enough. Anyway, such infrastructure should be part of Emacs-core IMO. If it exists, you can try to incorporate it into Org. See ‘org-export-expand-include-keyword’ to familiarize yourself with the current implementation. Hope it helps, Rasmus -- Governments should be afraid of their people
Re: [O] [patch] get modification-time from vc
Hello, Rasmuswrites: > Pushed. Thank you. Regards, -- Nicolas Goaziou
[O] Dynamic #+INCLUDE content loading when revealing subsection
Hi, I have a question regarding the include of sub .org files into a main file. As for now, I know it is possible to do that with include file #+INCLUDE: "archives.org" The target can be opened with C-c ' into another buffer (which runs the command org-edit-special) Alternatively, is it possible somehow to load the target file *content* dynamically on revealing the subsection with TAB (as it was part of the current buffer). For example, with an unknown tag such as: archives.org :INCLUDE Then, revealing this section would load, shift, and insert the archives.org tree below I may learn, bind the shortcut, or make a macro to do that but I was just wondering if it already exists or if you could suggest a better way I didn't think of, especially for the fact that once loaded/revealed, the buffer is like there was just a single file (which is better for me to search stuff). Finally, if it doesn't exist and you think it would be nice to have, would you please suggest an entry point in the source code to start digging ? Thanks. Have a nice day!