[O] external/central ``macro'' definitions (for instance link abbrev's)?

2016-03-26 Thread Martin Steffen
Hi,

I like to achieve the following. I do a org-document which I separate
into different files (one per chapter or similar). They are all included 
into some "main.org".

In that setup, I'd like to use some centrally defined links, like


#+LINK: toollib  ../../src/lib

or similar, as an abbrev in hyperlinks like

[[toollib:somefile][somefile]] 



Now, the #+LINK mechanism works fine as such. But I want that it works 
for all used *.org files that constituted the overall document /without/
repeating the definition. Something like

#+INCLUDE "definitions.org" 

at the beginning of each file, so that if something changes, I need to
adapt only "definitions.org", not all files making use of that shared links.


Is there a way to achieve that? Thanks, Martin







Re: [O] external/central ``macro'' definitions (for instance link abbrev's)?

2016-03-26 Thread Eric S Fraga
On Saturday, 26 Mar 2016 at 11:43, Martin Steffen wrote:

[...]

> Now, the #+LINK mechanism works fine as such. But I want that it works 
> for all used *.org files that constituted the overall document /without/
> repeating the definition. Something like
>
> #+INCLUDE "definitions.org" 
>
> at the beginning of each file, so that if something changes, I need to
> adapt only "definitions.org", not all files making use of that shared links.

Have you tried that?  Org supports include files:

#+include: "definitions.org"

(note :)

[[info:org#Include%20files][info:org#Include files]]


-- 
: Eric S Fraga (0xFFFCF67D), Emacs 25.0.92.1, Org release_8.3.4-668-g809a83



Re: [O] external/central ``macro'' definitions (for instance link abbrev's)?

2016-03-26 Thread Martin Steffen
Eric S Fraga  ucl.ac.uk> writes:

> 
> On Saturday, 26 Mar 2016 at 11:43, Martin Steffen wrote:
> 
> [...]
> 
> > Now, the #+LINK mechanism works fine as such. But I want that it works 
> > for all used *.org files that constituted the overall document /without/
> > repeating the definition. Something like
> >
> > #+INCLUDE "definitions.org" 
> >
> > at the beginning of each file, so that if something changes, I need to
> > adapt only "definitions.org", not all files making use of that shared links.
> 
> Have you tried that?  Org supports include files:
> 
> #+include: "definitions.org"
> 
> (note :)
> 
> [[info:org#Include%20files][info:org#Include files]]
> 

yes, that's what I am using: org's support for including files. And 
the file content /is/ properly included. It seems mainly a mechanism for
"export" which is the main purpose.

I realize that my original post was perhaps unprecise. What I was looking 
after is this ``awareness'' of those definitions (using the #+INCLUDE
mechanism) /not just/ for export. I was missing it 

  /from within emacs itself/, 

i.e., from within org-mode.


I am using org-mode to document some software. For that, having those
``links''pointing to pieces of code is great. When generating HTML or other
formats, that allows to jumpt to it etc, that seems to work fine.


However, one way of browsing the documentation is /in emacs itself/ (using
org-mode). Following links seems to be done by C-c C-o
(``org-open-at-point''). The mechanism seems to be aware of links of the form

[[fileurl:file]] where fileurl is defined using the #+LINK mechanism.


However, it only seems to work if one /literally/ adds a #LINK-definition to
the file, resp. /all/ files where one wants that  (and refreshes the local
org-setting, after changing). But, as far as the org-internal browsing is
concerned (without exporting), I cannot easily follow those ``symbolically
defined'' links if I collect them in one specific central file. 

Note, if I export the orignal org-file as org-file, the newly exported
orgfile has the links expanded and then visiting it with emacs allows to
follow the links, but it's nice to have some fast browings while working
on/reading the original files.

Martin











Re: [O] external/central ``macro'' definitions (for instance link abbrev's)?

2016-03-26 Thread Eric S Fraga
On Saturday, 26 Mar 2016 at 13:53, Martin Steffen wrote:

[...]

> I realize that my original post was perhaps unprecise. What I was looking 
> after is this ``awareness'' of those definitions (using the #+INCLUDE
> mechanism) /not just/ for export. I was missing it 

Ah, I see.  Yes, I believe that functionality is not present in
org.  What you can do is define the link types in elisp instead but
these would be global definitions...  cf. org-add-link-type.
-- 
: Eric S Fraga (0xFFFCF67D), Emacs 25.0.92.1, Org release_8.3.4-668-g809a83