From: "Jan Böcker" <jan.boecker@jboecker.de>
To: Joe Riel <joer@san.rr.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Specify page number in hyperlink [to pdf]
Date: Thu, 29 Apr 2010 21:22:24 +0200 [thread overview]
Message-ID: <4BD9DC70.3090006@jboecker.de> (raw)
In-Reply-To: <4BD87ED7.5030907@san.rr.com>
On 28.04.2010 20:30, Joe Riel wrote:
> The hyperlink syntax allows specifying a line number, however,
> that doesn't do anything (other than force the document to
> be opened inside of emacs) with a non-text file (say a pdf).
>
> Is therea an extension to allow specifying a page number
> so that a link to a pdf is opened at the specified page?
There is in the current git version, its not yet documented though.
Add an entry to the variable org-file-apps like this:
("\\.pdf::\\([0-9]+\\)\\'" . "evince \"%s\" -p %1")
Or as seen in the customize interface:
Extension: \.pdf::\([0-9]+\)\'
Command: evince "%s" -p %1
The subexpression \([0-9]+\) in the regex captures the page number,
which replaces the %1 in the command string. (This example assumes you
want to open your PDFs with evince, which accepts a page number after
the -p option.)
You can then reference a specific page of a PDF like this:
[[file:/path/to/document.pdf::42]]
I had planned to document this yesterday, but unfortunately spent the
better part of the day recovering from a cold. I will send a patch
describing how this works, when exactly the new behaviour kicks in and
the implications for backwards compatibility as soon as I find time to
describe it compactly enough to fit into the docstring.
HTH, Jan
PS: Here is my first draft of the change to the docstring; it does not
mention custom lisp forms yet, and still makes the docstring too long
for my taste. I guess I'll write a separate tutorial on worg which I'll
reference in the docstring, and include in the docstring only one
example of the extended feature and information on backwards compatibility.
\"regex\" Regular expression matched against the file name. For
backward
compatibility, this can also be a string with only
alphanumeric
characters, which is then interpreted as an extension.
+
+ If this regular expression captures parts of the
+ match using groups (subexpressions), it is matched
+ against the whole link instead; \"%n\" in a
+ command string will be replaced by the n-th
+ subexpression match, just like \"%s\" is replaced
+ with the file name.
+
+ For backwards compatibility, this behaviour is not
+ triggered if the command string does not contain
+ any \"%n\", i.e. in that case the regexp is still
+ matched against the file name.
+
+ If you want to use groups in your regexp but do not want
+ it matched against the whole link, use shy groups like this:
+ \"\\(?:txt|html\\)\"
next prev parent reply other threads:[~2010-04-29 19:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-28 18:30 Specify page number in hyperlink [to pdf] Joe Riel
2010-04-29 19:22 ` Jan Böcker [this message]
2010-04-30 4:27 ` Joe Riel
2010-04-30 4:43 ` Joe Riel
2010-04-30 8:10 ` Nick Dokos
2010-04-30 13:05 ` Jan Böcker
2010-04-30 15:24 ` Nick Dokos
2010-04-30 15:28 ` Carsten Dominik
2010-04-30 14:28 ` Joe Riel
2010-04-30 16:03 ` Nick Dokos
2010-04-30 17:23 ` Joe Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BD9DC70.3090006@jboecker.de \
--to=jan.boecker@jboecker.de \
--cc=emacs-orgmode@gnu.org \
--cc=joer@san.rr.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.