[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Publish to HTML and LaTeX/PDF with cross-file links?
From: |
Tim Cross |
Subject: |
Re: Publish to HTML and LaTeX/PDF with cross-file links? |
Date: |
Thu, 16 Jun 2022 09:55:14 +1000 |
User-agent: |
mu4e 1.7.27; emacs 28.1.50 |
Jens Lechtenboerger <lechten@wi.uni-muenster.de> writes:
> Hi all,
>
> I publish OER (https://oer.gitlab.io/) from Org sources and wonder
> about links to local files as documented at [1]. That page only
> talks about HTML export. How can I achieve similar behavior for
> LaTeX/PDF export?
>
> More precisely: For HTML export, a link like
> [[file:foo.org::#custom-id][elsewhere]] turns into a hyperlink to
> “foo.html#custom-id”, which is what I want.
>
> However, for LaTeX/PDF export, the hyperlink points to the source
> file “foo.org”, which in my case is a broken link. I would like
> that to be “foo.pdf” (or even something pointing at the proper
> section in the PDF file).
>
> Is this (easily) possible?
>
I think what you need is an export filter function for links in latex
exports. Have a look at the docstring for variable
org-export-filter-link-functions.
As a very basic example, the following should work
(defun my-latex-link-filter (text backend info)
"Replace link to org files with pdf version."
(when (org-export-derived-backend-p backend 'latex)
(replace-regexp-in-string "\\.org" ".pdf" text)))
(add-to-list 'org-export-filter-link-functions
'my-latex-link-filter)
Note that the above example is likely too 'basic'. For example, you need
to be wary of the file path if the exported PDF is going to be moved to
a different location. This is one of the limitations of file links.
If you have a sufficiently complex publishing requirement, you might
find the org-publish module useful as it can provide a convenient way to
put all your publishing configuration into a single easier to manage
variable. (see org manual section on publishing).