From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Rasmus <rasmus@gmx.us>
Cc: emacs-orgmode@gnu.org
Subject: Re: Bug: When exporting to PDF an Org file where multiple footnotes share the same definition, only the first footnote is clickable [8.3.4 (8.3.4-39-ge0acd8-elpaplus @ /home/jorge/.emacs.d/elpa/org-plus-contrib-20160418/)]
Date: Mon, 23 May 2016 23:41:13 +0200 [thread overview]
Message-ID: <87bn3w8nba.fsf@saiph.selenimh> (raw)
In-Reply-To: <87r3ctalx7.fsf@gmx.us> (rasmus@gmx.us's message of "Sun, 22 May 2016 22:16:04 +0200")
Hello,
Rasmus <rasmus@gmx.us> writes:
> With the attached patch ox-latex seems to behave in this way.
Thank you. Some comments follow.
> Though perhaps there’s a more efficient way to get the first
> footnote-reference to a given definition than trawling through with
> org-export--footnote-reference-map.
Couldn't you refer to the definition instead of the first reference ?
There is a function grabbing it and it is unique for a given label.
Also, not that `org-export-get-footnote-definition' doesn't return the
definition itself, only its contents. Therefore the reference are
different and there is no possible ambiguity.
> Nicolas, where is the info plist documented or defined/populated?
It is documented at
<http://orgmode.org/worg/dev/org-export-reference.html>. However, caches
used for memoization are not referenced.
> + ;; Use \footnotemark if the footnote has already been defined.
The comment no longer seems accurate.
> + ((not (org-export-footnote-first-reference-p footnote-reference info))
> + (format "\\textsuperscript{\\ref{%s}}"
> + (org-latex--label
> + (catch 'exit
> + (org-export--footnote-reference-map
> + (lambda (f)
> + (let ((l (org-element-property :label f)))
> + (when (and l label (string= label l))
> + (throw 'exit f))))
> + (plist-get info :parse-tree) info))
> + info t)))
See above.
> + ;; Use \footnotemark if reference is within another footnote
> + ;; reference, footnote definition or table cell.
> + ((org-element-lineage footnote-reference
> + '(footnote-reference footnote-definition table-cell))
> + "\\footnotemark")
> + ;; Otherwise, define it with \footnote command.
> + (t
> + (let ((def (org-export-get-footnote-definition footnote-reference info)))
> + (concat
> + (format "\\footnote{%s%s}" (org-trim (org-export-data def info))
> + (if (catch 'exit
> + (org-export--footnote-reference-map
> + (lambda (f)
> + (let ((l (org-element-property :label f)))
> + (when (and l label
> + (not (eq f footnote-reference))
> + (string= label l))
> + (throw 'exit t))))
> + (plist-get info :parse-tree) info))
> + (org-latex--label footnote-reference info t t)
> + ""))
I'm not sure to understand the logic here. You seem to add a label to
all references sharing a given label but the first one. Intuitively,
I think it should be the opposite.
Besides, in this branch of the `cond', all footnote references are the
first for their their label.
Wouldn't it be sufficient to use
(format "\\footnote{%s%s}"
(org-trim (org-export-data def info))
(org-latex--label def info t t))
?
Regards,
--
Nicolas Goaziou
next prev parent reply other threads:[~2016-05-23 21:41 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-23 20:54 Bug: When exporting to PDF an Org file where multiple footnotes share the same definition, only the first footnote is clickable [8.3.4 (8.3.4-39-ge0acd8-elpaplus @ /home/jorge/.emacs.d/elpa/org-plus-contrib-20160418/)] Jorge Peixoto de Morais Neto
2016-04-25 8:38 ` Rasmus
2016-04-25 8:58 ` Nicolas Goaziou
2016-04-25 10:53 ` Rasmus
2016-04-25 11:41 ` Nicolas Goaziou
2016-04-25 13:36 ` Rasmus
2016-04-25 13:57 ` Nicolas Goaziou
2016-04-25 14:04 ` Rasmus
2016-04-25 14:07 ` Rasmus
2016-05-22 20:16 ` Rasmus
2016-05-23 21:41 ` Nicolas Goaziou [this message]
2016-05-24 20:59 ` [patch] more robust footnotes (was: Bug: When exporting to PDF an Org file where multiple footnotes share the same definition, only the first footnote is clickable [8.3.4 (8.3.4-39-ge0acd8-elpaplus @ /home/jorge/.emacs.d/elpa/org-plus-contrib-20160418/)]) Rasmus
2016-05-24 21:31 ` [patch] more robust footnotes Nicolas Goaziou
2016-05-24 21:38 ` Rasmus
2016-05-24 21:54 ` Nicolas Goaziou
2016-05-25 7:16 ` Rasmus
2016-05-25 16:50 ` Nicolas Goaziou
2016-05-25 17:51 ` Rasmus
2016-08-10 21:09 ` Bug: When exporting to PDF an Org file where multiple footnotes share the same definition, only the first footnote is clickable [8.3.4 (8.3.4-39-ge0acd8-elpaplus @ /home/jorge/.emacs.d/elpa/org-plus-contrib-20160418/)] Kaushal Modi
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bn3w8nba.fsf@saiph.selenimh \
--to=mail@nicolasgoaziou.fr \
--cc=emacs-orgmode@gnu.org \
--cc=rasmus@gmx.us \
/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 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).