emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: pdf page numbers in links are ignored when exporting to latex [8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)]
@ 2014-07-29 20:31 Moritz Kiefer
  2014-07-30 20:30 ` Nicolas Goaziou
  0 siblings, 1 reply; 5+ messages in thread
From: Moritz Kiefer @ 2014-07-29 20:31 UTC (permalink / raw)
  To: emacs-orgmode


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

     http://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org-mode mailing list.
------------------------------------------------------------------------

I have lots of links to specific pages in a pdf like
[[filename.pdf::24]] which works fine (with a correctly configured
org-file-apps) but when I export to latex the page number is ignored and
the includegraphics directive includes the first page. This can
obviously manually be changed using #+ATTR_LATEX: :options page=42 but
as the page number is already there it would be nice if orgmode would
automatically use that when exporting.

Emacs  : GNU Emacs 24.3.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2)
 of 2014-06-27 on tuxedo-arch
Package: Org-mode version 8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)

current state:
==============
(setq
 org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-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 '(lambda (name contents) contents)
 org-log-done 'time
 org-latex-format-inlinetask-function 'ignore
 org-confirm-shell-link-function 'yes-or-no-p
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-clock-idle-time 5
 org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . system) ("\\.x?html?\\'" . "firefox-nightly %s")
                 ("\\.pdf::\\([0-9]+\\)\\'" . "zathura \"%s\" -P %1") ("\\.pdf\\'" . "zathura \"%s\""))
 org-agenda-custom-commands '(("h" agenda "120 days"
                               ((org-agenda-show-all-dates nil) (org-agenda-span 120)))
                              )
 org-latex-format-headline-function 'org-latex-format-headline-default-function
 org-default-notes-file "~/org/notes.org"
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-latex-format-drawer-function '(lambda (name contents) contents)
 org-from-is-user-regexp nil
 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 '(org-clock-load
                 #[nil "\300\301\302\303\304$\207"
                   [org-add-hook change-major-mode-hook org-show-block-all append local] 5]
                 #[nil "\300\301\302\303\304$\207"
                   [org-add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
                 org-babel-result-hide-spec org-babel-hide-all-hashes turn-on-org-cdlatex)
 org-refile-targets '((org-agenda-files :maxlevel . 2))
 org-ascii-format-drawer-function '(lambda (name contents width) contents)
 org-clock-persist 'history
 org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-hide-inline-tasks
                  org-cycle-show-empty-lines org-optimize-window-after-visibility-change)
 org-agenda-span 'month
 org-confirm-elisp-link-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-html-format-headline-function 'ignore
 org-mobile-directory "~/org/mobile"
 org-babel-load-languages '((R . t))
 org-html-format-inlinetask-function 'ignore
 org-agenda-files '("~/org")
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 )

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

* Re: Bug: pdf page numbers in links are ignored when exporting to latex [8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)]
  2014-07-29 20:31 Bug: pdf page numbers in links are ignored when exporting to latex [8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)] Moritz Kiefer
@ 2014-07-30 20:30 ` Nicolas Goaziou
       [not found]   ` <87tx5xz2kr.fsf@gmail.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2014-07-30 20:30 UTC (permalink / raw)
  To: Moritz Kiefer; +Cc: emacs-orgmode

Hello,

Moritz Kiefer <moritz.kiefer@gmail.com> writes:

> I have lots of links to specific pages in a pdf like
> [[filename.pdf::24]] which works fine (with a correctly configured
> org-file-apps) but when I export to latex the page number is ignored and
> the includegraphics directive includes the first page. This can
> obviously manually be changed using #+ATTR_LATEX: :options page=42 but
> as the page number is already there it would be nice if orgmode would
> automatically use that when exporting.

Good idea. Page number can be accessed with

  (org-element-property :search-option link)

However, it should be checked against "\\`[0-9]+\\'" since a search
option can also be a headline:

  [[file:test.org::*My headline]]

Also, I guess it should only apply to link to pdf files.

Do you want to provide a patch for that?


Regards,

-- 
Nicolas Goaziou

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

* Re: Bug: pdf page numbers in links are ignored when exporting to latex [8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)]
       [not found]   ` <87tx5xz2kr.fsf@gmail.com>
@ 2014-08-01  9:22     ` Nicolas Goaziou
  2014-08-01 19:21       ` Moritz Kiefer
  0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2014-08-01  9:22 UTC (permalink / raw)
  To: Moritz Kiefer; +Cc: emacs-orgmode

Hello,

Moritz Kiefer <moritz.kiefer@gmail.com> writes:

> This is my first attempt at elisp so it's probably terrible code

It's not. Thanks for the patch. Some comments follow.

> * lisp/ox-latex.el (org-latex--inline-image): Use page
> number (:search-option) of pdf links as page option in includegraphics

Missing full stop.

You also need to add "TINYCHANGE" on a line below if you don't have
signed FSF papers yet.

> ---
>  lisp/ox-latex.el | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
> index ceea302..edbde70 100644
> --- a/lisp/ox-latex.el
> +++ b/lisp/ox-latex.el
> @@ -1861,6 +1861,10 @@ used as a communication channel."
>  	(setq options (concat options ",width=" width)))
>        (when (org-string-nw-p height)
>  	(setq options (concat options ",height=" height)))
> +      (when (and (equal filetype "pdf")
> +                 (string-match "\\`[0-9]+\\'" (org-element-property :search-option link))
> +                 (not (string-match "page=" options)))
> +	(setq options (concat options ",page=" (org-element-property :search-option link))))

I suggest to let-bind SEARCH-OPTION instead of calling
`org-element-property' twice. Also, it's better to use
`org-string-match-p' instead of `string-match' since you don't use
match-data anyway. Eventually, you need to check if SEARCH-OPTION is
non-nil, as (string-match REGEXP nil) throws an error.

  (let ((search-option (org-element-property :search-option link)))
    (when (and search-option
               (equal filetype "pdf")
               (org-string-match-p "\\`[0-9]+\\'" search-option)
               ...)
      ...))


Regards,

-- 
Nicolas Goaziou                                                0x80A93738

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

* Re: Bug: pdf page numbers in links are ignored when exporting to latex [8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)]
  2014-08-01  9:22     ` Nicolas Goaziou
@ 2014-08-01 19:21       ` Moritz Kiefer
  2014-08-02  8:25         ` Nicolas Goaziou
  0 siblings, 1 reply; 5+ messages in thread
From: Moritz Kiefer @ 2014-08-01 19:21 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 152 bytes --]


Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> Hello,
>
> It's not. Thanks for the patch. Some comments follow.
>
Hi, tried to fix those issues.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-ox-latex.el-Add-page-number-of-link-when-exporting-t.patch --]
[-- Type: text/x-diff, Size: 1229 bytes --]

From 82cb7209c912798b43a91b3dde1dd4428e09580e Mon Sep 17 00:00:00 2001
From: Moritz Kiefer <moritz.kiefer@gmail.com>
Date: Thu, 31 Jul 2014 17:45:36 +0200
Subject: [PATCH] ox-latex.el: Add page number of link when exporting to latex

* lisp/ox-latex.el (org-latex--inline-image): Use page
number (:search-option) of pdf links as page option in
includegraphics.

TINYCHANGE
---
 lisp/ox-latex.el | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index ceea302..dd227ab 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -1861,6 +1861,12 @@ used as a communication channel."
 	(setq options (concat options ",width=" width)))
       (when (org-string-nw-p height)
 	(setq options (concat options ",height=" height)))
+      (let ((search-option (org-element-property :search-option link)))
+        (when (and search-option
+                   (equal filetype "pdf")
+                   (string-match "\\`[0-9]+\\'" search-option)
+                   (not (string-match "page=" options)))
+          (setq options (concat options ",page=" search-option))))
       (setq image-code
 	    (format "\\includegraphics%s{%s}"
 		    (cond ((not (org-string-nw-p options)) "")
-- 
2.0.3


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

* Re: Bug: pdf page numbers in links are ignored when exporting to latex [8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)]
  2014-08-01 19:21       ` Moritz Kiefer
@ 2014-08-02  8:25         ` Nicolas Goaziou
  0 siblings, 0 replies; 5+ messages in thread
From: Nicolas Goaziou @ 2014-08-02  8:25 UTC (permalink / raw)
  To: Moritz Kiefer; +Cc: emacs-orgmode

Hello,

Moritz Kiefer <moritz.kiefer@gmail.com> writes:

> Hi, tried to fix those issues.

Applied. Thank you.


Regards,

-- 
Nicolas Goaziou

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

end of thread, other threads:[~2014-08-02  8:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-29 20:31 Bug: pdf page numbers in links are ignored when exporting to latex [8.2.7b (8.2.7b-13-gd8a0ee-elpa @ /home/moritz/.emacs.d/elpa/org-20140728/)] Moritz Kiefer
2014-07-30 20:30 ` Nicolas Goaziou
     [not found]   ` <87tx5xz2kr.fsf@gmail.com>
2014-08-01  9:22     ` Nicolas Goaziou
2014-08-01 19:21       ` Moritz Kiefer
2014-08-02  8:25         ` Nicolas Goaziou

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).