emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* external/central ``macro'' definitions (for instance link abbrev's)?
@ 2016-03-26 11:43 Martin Steffen
  2016-03-26 12:55 ` Eric S Fraga
  0 siblings, 1 reply; 4+ messages in thread
From: Martin Steffen @ 2016-03-26 11:43 UTC (permalink / raw)
  To: emacs-orgmode

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: external/central ``macro'' definitions (for instance link abbrev's)?
  2016-03-26 11:43 external/central ``macro'' definitions (for instance link abbrev's)? Martin Steffen
@ 2016-03-26 12:55 ` Eric S Fraga
  2016-03-26 13:53   ` Martin Steffen
  0 siblings, 1 reply; 4+ messages in thread
From: Eric S Fraga @ 2016-03-26 12:55 UTC (permalink / raw)
  To: emacs-orgmode

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: external/central ``macro'' definitions (for instance link abbrev's)?
  2016-03-26 12:55 ` Eric S Fraga
@ 2016-03-26 13:53   ` Martin Steffen
  2016-03-26 17:21     ` Eric S Fraga
  0 siblings, 1 reply; 4+ messages in thread
From: Martin Steffen @ 2016-03-26 13:53 UTC (permalink / raw)
  To: emacs-orgmode

Eric S Fraga <e.fraga <at> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: external/central ``macro'' definitions (for instance link abbrev's)?
  2016-03-26 13:53   ` Martin Steffen
@ 2016-03-26 17:21     ` Eric S Fraga
  0 siblings, 0 replies; 4+ messages in thread
From: Eric S Fraga @ 2016-03-26 17:21 UTC (permalink / raw)
  To: Martin Steffen; +Cc: emacs-orgmode

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-03-26 17:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-26 11:43 external/central ``macro'' definitions (for instance link abbrev's)? Martin Steffen
2016-03-26 12:55 ` Eric S Fraga
2016-03-26 13:53   ` Martin Steffen
2016-03-26 17:21     ` Eric S Fraga

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).