* Exporting Hyperlinks ? @ 2023-11-01 4:24 David Masterson 2023-11-01 16:36 ` Max Nikulin 0 siblings, 1 reply; 20+ messages in thread From: David Masterson @ 2023-11-01 4:24 UTC (permalink / raw) To: emacs-orgmode In the Org Mode documentation, I see how hyperlinks are handled in HTML export and how images are handled in Latex export, but is there a clear description of how hyperlinks are handled across export engines (particularly the standard ones)? I see that the PDF viewer is seeing file links from exported PDFs from Latex as links, but it seems incomplete (ie. link to a file, but not to a particular CUSTOM_ID in the file). What about Beamer or ascii or Texinfo? -- David Masterson ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-01 4:24 Exporting Hyperlinks ? David Masterson @ 2023-11-01 16:36 ` Max Nikulin 2023-11-02 2:11 ` David Masterson 0 siblings, 1 reply; 20+ messages in thread From: Max Nikulin @ 2023-11-01 16:36 UTC (permalink / raw) To: emacs-orgmode On 01/11/2023 11:24, David Masterson wrote: > In the Org Mode documentation, I see how hyperlinks are handled in HTML > export and how images are handled in Latex export, but is there a clear > description of how hyperlinks are handled across export engines > (particularly the standard ones)? Only the code may be more complete reference than backend-specific sections in the manual. There are some issues (e.g. cross-file id links), but in general links should work. > I see that the PDF viewer is seeing > file links from exported PDFs from Latex as links, but it seems > incomplete (ie. link to a file, but not to a particular CUSTOM_ID in the > file). It seems ::search part is stripped. Perhaps ::#anchor should be exported as #anchor, however it is more tricky with line numbers or text search variants. I have tried Par <<label>> and [[#cust][link]] * H1 :PROPERTIES: :CUSTOM_ID: cust :END: [[file:t2.org::#anchor]] stripped. [[file:t2.org#anchor]] retained. [[label][link]] and I get Par \label{org59ae2bf} and \hyperref[sec:orgd12b09a]{link} \section{H1} \label{sec:orgd12b09a} \url{t2.org} stripped. \url{t2.org\#anchor} retained. \hyperref[org59ae2bf]{link} > What about Beamer or ascii or Texinfo? Beamer is derived from LaTeX. In ascii links to headings are supported, but <<anchors>> have no obvious way for export. As to formatting, see the following recent thread: Max Nikulin. [PATCH] ox-ascii.el: Consistently add brackets around links (was: Re: [RFC][PATCH] Allow to export to ascii custom link types as notes) Tue, 24 Oct 2023 22:06:05 +0700. https://list.orgmode.org/uh8mgt$lpo$1@ciao.gmane.io ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-01 16:36 ` Max Nikulin @ 2023-11-02 2:11 ` David Masterson 2023-11-02 15:24 ` Max Nikulin 0 siblings, 1 reply; 20+ messages in thread From: David Masterson @ 2023-11-02 2:11 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: > On 01/11/2023 11:24, David Masterson wrote: >> In the Org Mode documentation, I see how hyperlinks are handled in HTML >> export and how images are handled in Latex export, but is there a clear >> description of how hyperlinks are handled across export engines >> (particularly the standard ones)? > > Only the code may be more complete reference than backend-specific > sections in the manual. There are some issues (e.g. cross-file id > links), but in general links should work. Hmm. I'm using CUSTOM_ID links to make a rudimentary Contact DB. >> I see that the PDF viewer is seeing >> file links from exported PDFs from Latex as links, but it seems >> incomplete (ie. link to a file, but not to a particular CUSTOM_ID in the >> file). > > It seems ::search part is stripped. Perhaps ::#anchor should be > exported as #anchor, however it is more tricky with line numbers or > text search variants. If I understand what you mean by "anchor", does Org create an anchor in exporting to Latex when it sees a CUSTOM_ID property in an item? Then, would the search in the hyperlink reference the anchor? Your examples weren't precise enough for me to follow. Thanks -- David Masterson ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-02 2:11 ` David Masterson @ 2023-11-02 15:24 ` Max Nikulin 2023-11-03 6:29 ` David Masterson 0 siblings, 1 reply; 20+ messages in thread From: Max Nikulin @ 2023-11-02 15:24 UTC (permalink / raw) To: emacs-orgmode On 02/11/2023 09:11, David Masterson wrote: > If I understand what you mean by "anchor", does Org create an anchor in > exporting to Latex when it sees a CUSTOM_ID property in an item? Then, > would the search in the hyperlink reference the anchor? Your examples > weren't precise enough for me to follow. You are right. Despite `org-latex-prefer-user-labels' exists, it currently affects LaTeX label names only, so it is possible to reference them as #page.2, #section.3, but not as #custom_id. ox-beamer however adds \hypertarget{anchor}... for Org <<anchor>>, so in PDF it can be referenced as #anchor. So ox-latex should be improved to add \hypertarget commands for CUSTOM_ID. Originally I suspected only issues with links. To get links between HTML documents where CUSTOM_ID are not used, it is necessary to rely on org-publish to track autogenerated anchors. I am unsure if publish works for LaTeX. By the way, does Chrome support #anchor within PDF files? I have tried to add various variants of #fragement to file:///tmp/test.pdf, but without success. Bookmarks (table of contents) sidebar and clicking on internal links works however. For the same file xpdf-3 (xpopple) works correctly xpdf test.pdf +page.2 xpdf test.pdf +section.2 xpdf test.pdf +anchor (The last one is added using explicit \hypertarget) P.S. https://en.wikibooks.org/wiki/LaTeX/Hyperlinks ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-02 15:24 ` Max Nikulin @ 2023-11-03 6:29 ` David Masterson 2023-11-03 10:44 ` Max Nikulin 0 siblings, 1 reply; 20+ messages in thread From: David Masterson @ 2023-11-03 6:29 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: > On 02/11/2023 09:11, David Masterson wrote: >> If I understand what you mean by "anchor", does Org create an anchor in >> exporting to Latex when it sees a CUSTOM_ID property in an item? Then, >> would the search in the hyperlink reference the anchor? Your examples >> weren't precise enough for me to follow. > > You are right. Despite `org-latex-prefer-user-labels' exists, it > currently affects LaTeX label names only, so it is possible to > reference them as #page.2, #section.3, but not as > #custom_id. ox-beamer however adds \hypertarget{anchor}... for Org > <<anchor>>, so in PDF it can be referenced as #anchor. > > So ox-latex should be improved to add \hypertarget commands for CUSTOM_ID. I agree. For a link of: [[file:contacts.org::#custom_id][My text]] the generated LaTeX href looks like \href{contacts.tex}{My text} which looks wrong. > Originally I suspected only issues with links. > > To get links between HTML documents where CUSTOM_ID are not used, it > is necessary to rely on org-publish to track autogenerated anchors. I > am unsure if publish works for LaTeX. I use publish for LaTex (org-latex-publish-to-pdf) -- David Masterson ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-03 6:29 ` David Masterson @ 2023-11-03 10:44 ` Max Nikulin 2023-11-03 21:55 ` Samuel Wales 0 siblings, 1 reply; 20+ messages in thread From: Max Nikulin @ 2023-11-03 10:44 UTC (permalink / raw) To: emacs-orgmode On 03/11/2023 13:29, David Masterson wrote: > the generated LaTeX href looks like > > \href{contacts.tex}{My text} > > which looks wrong. Search part definitely should be retained. I have realized that in the LaTeX world inter-document cross-linking works differently. With the xr-hyper package, labels from another document may be used directly or with a prefix: https://texfaq.org/FAQ-extref It may be implemented for Org random labels. However I would strongly prefer PDF files having stable anchors based on CUSTOM_ID, not ones derived from section, figure, etc. counters. I am unsure if there is a package that allows to get such anchors out of the box. When I looked into the code for link targets resolution in the context of ox-html, I found it rather complicated. > I use publish for LaTex (org-latex-publish-to-pdf) Depending on your requirements, it might be possible to export to HTML files and then print them to PDF as a workaround. Chromium supports headless printing, so it should be scriptable. However to improve quality of formatting almost certainly heavy customization of CSS. I have realized that Chomium scrolls to proper position in PDF when it opens a file URI with #anchor part, but it does not update tab address bar when an internal link is clicked and it does not react when URL is edited to change #anchor part. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-03 10:44 ` Max Nikulin @ 2023-11-03 21:55 ` Samuel Wales 2023-11-03 22:06 ` Samuel Wales 2023-11-04 7:10 ` Max Nikulin 0 siblings, 2 replies; 20+ messages in thread From: Samuel Wales @ 2023-11-03 21:55 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode to throw a cat among the pigeons, [[file:contacts.org::#custom_id][My text]] made me think of the need for global custom id in addition to a file-specific one like this. idk what a good ui for it would be given all the options we have considered over the years and recently. just thought to bring it up. one thing i dislike is having to specify a file name in #+include or links. too brittle for my taste. you change the file name and the inclusion [transclusion package also?] or link is broken. i'm ok with org id most of the time but suepect global human-readable would be really really useful. imo huge value here. in fact, i think we should allow human-readable id's [/and/ org id's] in non-org files, such as .el. oref seems to do this, but is not part of org and does not use org id db yet, and some might or might not want a different syntax [no opinion]. good concept. as something similar, i found myself using org-link-minor mode all the time for linking together, in comments, parts of .el files, such as comments with distant code or code in another file, or format statements with something that parses them but is for whatever reason not nearby them. and i also linked org with .el so that org would do org things. it made tses and links clickable. id markers [not implemented] would be even better as they would allow instar and outstar formations and unbreakable bidir links and tours/cycles and arbitrary graphs if those turn out to be desired. if desired and not too complex, it could even hook up with the org link insertion and editing mechanism in principle. i did look at hyperbole both old and new, and found almost nothing that i needed there. just personal experience. also, given especially the org-id stuff and other org aspects, i actually think this kind of thing should NOT be a separately-maintained package like oref, but should be a minor mode that is part of the org-maintained codebase. we do already have at least one org minor mode for operating on non-org files. of course, maintainers would have to be on board with it being part of org-maintained code. i just think org should branch out to this minor mode. On 11/3/23, Max Nikulin <manikulin@gmail.com> wrote: > On 03/11/2023 13:29, David Masterson wrote: >> the generated LaTeX href looks like >> >> \href{contacts.tex}{My text} >> >> which looks wrong. > > Search part definitely should be retained. > > I have realized that in the LaTeX world inter-document cross-linking > works differently. With the xr-hyper package, labels from another > document may be used directly or with a prefix: > https://texfaq.org/FAQ-extref > It may be implemented for Org random labels. > > However I would strongly prefer PDF files having stable anchors based on > CUSTOM_ID, not ones derived from section, figure, etc. counters. I am > unsure if there is a package that allows to get such anchors out of the > box. > > When I looked into the code for link targets resolution in the context > of ox-html, I found it rather complicated. > >> I use publish for LaTex (org-latex-publish-to-pdf) > > Depending on your requirements, it might be possible to export to HTML > files and then print them to PDF as a workaround. Chromium supports > headless printing, so it should be scriptable. However to improve > quality of formatting almost certainly heavy customization of CSS. > > I have realized that Chomium scrolls to proper position in PDF when it > opens a file URI with #anchor part, but it does not update tab address > bar when an internal link is clicked and it does not react when URL is > edited to change #anchor part. > > > -- The Kafka Pandemic A blog about science, health, human rights, and misopathy: https://thekafkapandemic.blogspot.com ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-03 21:55 ` Samuel Wales @ 2023-11-03 22:06 ` Samuel Wales 2023-11-03 22:07 ` Samuel Wales 2023-11-04 7:10 ` Max Nikulin 1 sibling, 1 reply; 20+ messages in thread From: Samuel Wales @ 2023-11-03 22:06 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode [in case not obvious, i used org-link-minor-mode to implement the equivalent of global custom id's, including non-org. i'd say, like, ";; mypackage-whatever-parsing-thingie". that is a kludge if we can do it right with an oref-concept-ish org minor mode, but it was hugely useful.] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-03 22:06 ` Samuel Wales @ 2023-11-03 22:07 ` Samuel Wales 0 siblings, 0 replies; 20+ messages in thread From: Samuel Wales @ 2023-11-03 22:07 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode [again, the specific implementation or syntax isn't the issue for me here, just hte ability to have global custom id in addition to existing .org local custom id] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-03 21:55 ` Samuel Wales 2023-11-03 22:06 ` Samuel Wales @ 2023-11-04 7:10 ` Max Nikulin 2023-11-05 12:38 ` Ihor Radchenko 1 sibling, 1 reply; 20+ messages in thread From: Max Nikulin @ 2023-11-04 7:10 UTC (permalink / raw) To: emacs-orgmode On 04/11/2023 04:55, Samuel Wales wrote: > [[file:contacts.org::#custom_id][My > text]] made me think of the need for global custom id in addition to a > file-specific one like this. Taking into account that there is another active thread on user-global links, I am not going to discuss that feature here. Human-readable link targets are susceptible to collisions. So ox-latex should support links to particular locations in the specified files, either an Org one or inside external PDF files. Code from ox-html should be adapted for ox-latex. [[file:test.pdf::#anchor][Another document]] -> \href{test.pdf\#anchor}{Another document} [[file:test.org::#anchor][Another document]] Either for xr-hyper -> Another document \ref{f1-orgabc123} with \label{orgabc123} in test.tex or with redefined \label to generate additional \hypertarget -> \href{test.pdf\#anchor}{Another document} ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-04 7:10 ` Max Nikulin @ 2023-11-05 12:38 ` Ihor Radchenko 2023-11-05 22:28 ` David Masterson 0 siblings, 1 reply; 20+ messages in thread From: Ihor Radchenko @ 2023-11-05 12:38 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: > Human-readable link targets are susceptible to collisions. So ox-latex > should support links to particular locations in the specified files, > either an Org one or inside external PDF files. Code from ox-html should > be adapted for ox-latex. > > [[file:test.pdf::#anchor][Another document]] > -> \href{test.pdf\#anchor}{Another document} AFAIK, this kind of URL cannot be opened except when opening pdf in browser. > [[file:test.org::#anchor][Another document]] > Either for xr-hyper > -> Another document \ref{f1-orgabc123} > with \label{orgabc123} in test.tex > or with redefined \label to generate additional \hypertarget > -> \href{test.pdf\#anchor}{Another document} And this does not fit into single-document exports. We must export multiple files via ox-publish. ...and ox-publish does not support pdf export. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92> ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-05 12:38 ` Ihor Radchenko @ 2023-11-05 22:28 ` David Masterson 2023-11-06 9:37 ` Ihor Radchenko 0 siblings, 1 reply; 20+ messages in thread From: David Masterson @ 2023-11-05 22:28 UTC (permalink / raw) To: Ihor Radchenko; +Cc: Max Nikulin, emacs-orgmode Ihor Radchenko <yantar92@posteo.net> writes: > Max Nikulin <manikulin@gmail.com> writes: > >> Human-readable link targets are susceptible to collisions. So ox-latex >> should support links to particular locations in the specified files, >> either an Org one or inside external PDF files. Code from ox-html should >> be adapted for ox-latex. >> >> [[file:test.pdf::#anchor][Another document]] >> -> \href{test.pdf\#anchor}{Another document} > > AFAIK, this kind of URL cannot be opened except when opening pdf in > browser. What else is there? PDFviewer? What is the standard for Latex? >> [[file:test.org::#anchor][Another document]] >> Either for xr-hyper >> -> Another document \ref{f1-orgabc123} >> with \label{orgabc123} in test.tex >> or with redefined \label to generate additional \hypertarget >> -> \href{test.pdf\#anchor}{Another document} > > And this does not fit into single-document exports. We must export > multiple files via ox-publish. ...and ox-publish does not support pdf > export. org-latex-publish-to-pdf ?? Oh, you mean that it has to go through Latex to get to PDF. -- David Masterson ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-05 22:28 ` David Masterson @ 2023-11-06 9:37 ` Ihor Radchenko 2023-11-07 12:06 ` Max Nikulin 0 siblings, 1 reply; 20+ messages in thread From: Ihor Radchenko @ 2023-11-06 9:37 UTC (permalink / raw) To: David Masterson; +Cc: Max Nikulin, emacs-orgmode David Masterson <dsmasterson@gmail.com> writes: >>> [[file:test.pdf::#anchor][Another document]] >>> -> \href{test.pdf\#anchor}{Another document} >> >> AFAIK, this kind of URL cannot be opened except when opening pdf in >> browser. > > What else is there? PDFviewer? What is the standard for Latex? Yes, PDFviewer. AFAIU, it is only possible to refer to a specific page: \href[page=X]{test.pdf} https://tex.stackexchange.com/questions/675130/open-an-external-pdf-file-on-a-specific-page >>> [[file:test.org::#anchor][Another document]] >>> Either for xr-hyper >>> -> Another document \ref{f1-orgabc123} >>> with \label{orgabc123} in test.tex >>> or with redefined \label to generate additional \hypertarget >>> -> \href{test.pdf\#anchor}{Another document} >> >> And this does not fit into single-document exports. We must export >> multiple files via ox-publish. ...and ox-publish does not support pdf >> export. > > org-latex-publish-to-pdf ?? Oh, you mean that it has to go through > Latex to get to PDF. I mean that ox-publish is mostly polished for html publishing. While it is technically possible to publish with other export backends, I expect many rough edges there. In particular, `org-latex-publish-to-pdf' in ox-latex has no special arrangement to support pdf cross-references. There is even no conversion from .org references to .pdf references as .org -> .html in ox-html. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92> ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-06 9:37 ` Ihor Radchenko @ 2023-11-07 12:06 ` Max Nikulin 2023-11-07 12:36 ` Ihor Radchenko 0 siblings, 1 reply; 20+ messages in thread From: Max Nikulin @ 2023-11-07 12:06 UTC (permalink / raw) To: David Masterson; +Cc: emacs-orgmode On 06/11/2023 16:37, Ihor Radchenko wrote: > David Masterson writes: > >>>> [[file:test.pdf::#anchor][Another document]] >>>> -> \href{test.pdf\#anchor}{Another document} >>> >>> AFAIK, this kind of URL cannot be opened except when opening pdf in >>> browser. >> >> What else is there? PDFviewer? What is the standard for Latex? > > Yes, PDFviewer. > AFAIU, it is only possible to refer to a specific page: > \href[page=X]{test.pdf} > https://tex.stackexchange.com/questions/675130/open-an-external-pdf-file-on-a-specific-page Ihor, sorry, but your point is not clear for me. I am unaware of portable way to open PDF file at specific page or create a link namely to a page, but links to anchors work e.g. in xpdf-3 (xpopple) and okular. https://list.orgmode.org/tevj61$17d8$1@ciao.gmane.io/ Re: Org mode links: Open a PDF file at a given page and highlight a given string. Sat, 3 Sep 2022 20:00:47 +0700 (Side note: I have no idea what "standard for LaTeX" may mean, there are plenty of PDF viewers, browsers are usually installed any way, so no additional applications required.) I just have tried file-a.tex: \documentclass{article} \usepackage{hyperref} \begin{document} A 1 \href{file-b.pdf#b-2}{b-2 in file b} \newpage \section{Section in A} \hypertarget{a-2}{}A 2 \end{document} file-b.tex: \documentclass{article} \usepackage{hyperref} \begin{document} B 1 \href{file-a.pdf#a-2}{a-2 in file a} \newpage \section{Section in B} \hypertarget{b-2}{}B 2 \end{document} Cross-links between files work. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-07 12:06 ` Max Nikulin @ 2023-11-07 12:36 ` Ihor Radchenko 2023-11-07 16:38 ` Max Nikulin 0 siblings, 1 reply; 20+ messages in thread From: Ihor Radchenko @ 2023-11-07 12:36 UTC (permalink / raw) To: Max Nikulin; +Cc: David Masterson, emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: > I just have tried > > file-a.tex: > > \documentclass{article} > \usepackage{hyperref} > \begin{document} > A 1 > > \href{file-b.pdf#b-2}{b-2 in file b} > \newpage > \section{Section in A} > \hypertarget{a-2}{}A 2 > \end{document} > > file-b.tex: > > \documentclass{article} > \usepackage{hyperref} > \begin{document} > B 1 > > \href{file-a.pdf#a-2}{a-2 in file a} > \newpage > \section{Section in B} > \hypertarget{b-2}{}B 2 > \end{document} > > Cross-links between files work. This is interesting. I am wondering if it is document (it should...). If \href{file.pdf#anchor} can work, we should indeed use it when publishing org->pdf. In particular, we can introduce something similar to `org-html-link-org-files-as-html', but for pdf export. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92> ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-07 12:36 ` Ihor Radchenko @ 2023-11-07 16:38 ` Max Nikulin 2023-11-08 8:02 ` David Masterson 2023-11-08 9:37 ` Ihor Radchenko 0 siblings, 2 replies; 20+ messages in thread From: Max Nikulin @ 2023-11-07 16:38 UTC (permalink / raw) To: emacs-orgmode On 07/11/2023 19:36, Ihor Radchenko wrote: > Max Nikulin writes: > >> Cross-links between files work. > > This is interesting. I am wondering if it is document (it should...). file:///usr/share/doc/texlive-doc/latex/hyperref/hyperref-doc.pdf#section.6 or file:///usr/share/doc/texlive-doc/latex/hyperref/hyperref-doc.pdf#page.23 with default counter-based LaTeX anchors or browser-specific file:///usr/share/doc/texlive-doc/latex/hyperref/hyperref-doc.pdf#page=23 > If \href{file.pdf#anchor} can work, we should indeed use it when > publishing org->pdf. It would be nice to have a LaTeX package that redefines \label to generated \hypertarget from its argument. Ideally, xr-hyper workflow should be supported as well. A downside is anchors are not stable and unrelated to labels. P.S. (info "(org) Publishing") declares that conversion to PDF is supported. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-07 16:38 ` Max Nikulin @ 2023-11-08 8:02 ` David Masterson 2023-11-08 10:39 ` Max Nikulin 2023-11-08 9:37 ` Ihor Radchenko 1 sibling, 1 reply; 20+ messages in thread From: David Masterson @ 2023-11-08 8:02 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: > On 07/11/2023 19:36, Ihor Radchenko wrote: >> If \href{file.pdf#anchor} can work, we should indeed use it when >> publishing org->pdf. > > It would be nice to have a LaTeX package that redefines \label to > generated \hypertarget from its argument. This would make it easy to create a PDF "website" that doesn't depend on a webserver like HTML. A PDF website could easily be put on a USB key to take with you and access via a mobile phone. This would be secure because no network interaction. This is the use case I've been working toward for years. > Ideally, xr-hyper workflow should be supported as well. A downside is > anchors are not stable and unrelated to labels. Stable in the sense that the CUSTOM_ID could be moved to new file? Could IDs play a roll here? -- David Masterson ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-08 8:02 ` David Masterson @ 2023-11-08 10:39 ` Max Nikulin 0 siblings, 0 replies; 20+ messages in thread From: Max Nikulin @ 2023-11-08 10:39 UTC (permalink / raw) To: emacs-orgmode On 08/11/2023 15:02, David Masterson wrote: > Max Nikulin writes: > >> On 07/11/2023 19:36, Ihor Radchenko wrote: >>> If \href{file.pdf#anchor} can work, we should indeed use it when >>> publishing org->pdf. >> >> It would be nice to have a LaTeX package that redefines \label to >> generated \hypertarget from its argument. > > This would make it easy to create a PDF "website" that doesn't depend on > a webserver like HTML. A PDF website could easily be put on a USB key > to take with you and access via a mobile phone. This would be secure > because no network interaction. This is the use case I've been working > toward for years. I do not see clear advantages over a set of HTML files with relative links <a href="another.html#relative-links">relative links</a>. I am unsure concerning permissions to open sibling files for mobile applications (both HTML and PDF ones). I expect that LaTeX still has issues with generation of PDF files suitable for reflow. With proper CSS styles, HTML are are more flexible in respect to adapting for particular screen size. ePUB is an HTML-based format, but links to other files may be prohibited. >> Ideally, xr-hyper workflow should be supported as well. A downside is >> anchors are not stable and unrelated to labels. > > Stable in the sense that the CUSTOM_ID could be moved to new file? > Could IDs play a roll here? No, I have in mind another case. LaTeX generates anchors like #section.6. If you insert another section, this one becomes #section.7. So all files having doc.pdf#section.6 links must be regenerated. Links based on CUSTOM_ID doc.pdf#export_note continue working even after rearranging structure of the target file. This is especially painful if target file is out of your control. I consider the following link as a stable one: https://www.gnu.org/software/grub/manual/grub/grub.pdf#true When a heading with ID is moved to another file then anyway all files referencing it must be regenerated. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-07 16:38 ` Max Nikulin 2023-11-08 8:02 ` David Masterson @ 2023-11-08 9:37 ` Ihor Radchenko 2023-11-08 10:50 ` Max Nikulin 1 sibling, 1 reply; 20+ messages in thread From: Ihor Radchenko @ 2023-11-08 9:37 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: >> If \href{file.pdf#anchor} can work, we should indeed use it when >> publishing org->pdf. > > It would be nice to have a LaTeX package that redefines \label to > generated \hypertarget from its argument. Can't we simply generate a pair of \label + \hypertarget when generating .tex files in ox-latex? This way, we can make sure that labels in Org-generated pdfs will be linkable from outside world. > Ideally, xr-hyper workflow should be supported as well. A downside is > anchors are not stable and unrelated to labels. I think that generating \hypertarget + converting .org file links to .pdf links will already be a good improvement. Using xr-hyper requires knowledge of external files we link to and thus can only be used during publishing, where we have all the information about multiple exported Org documents available. > P.S. (info "(org) Publishing") > declares that conversion to PDF is supported. It is indeed supported. But not with all the features HTML export provides. Cross-references is one of the missing features in PDF publishing. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92> ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Exporting Hyperlinks ? 2023-11-08 9:37 ` Ihor Radchenko @ 2023-11-08 10:50 ` Max Nikulin 0 siblings, 0 replies; 20+ messages in thread From: Max Nikulin @ 2023-11-08 10:50 UTC (permalink / raw) To: emacs-orgmode On 08/11/2023 16:37, Ihor Radchenko wrote: > Max Nikulin writes: > >> It would be nice to have a LaTeX package that redefines \label to >> generated \hypertarget from its argument. > > Can't we simply generate a pair of \label + \hypertarget when generating > .tex files in ox-latex? This way, we can make sure that labels in > Org-generated pdfs will be linkable from outside world. I still have a hope that somebody can point us how to leverage hyperref facilities. Adding \hypertarget is a step forward, but ideally internal links generated by \ref, links in table of contents, PDF bookmarks (table of contents side bar) should consistently use #custom_id anchors as well. Usual #section.5 should be a fallback for cases with no user supplied labels. > I think that generating \hypertarget + converting .org file links to > .pdf links will already be a good improvement. > > Using xr-hyper requires knowledge of external files we link to and thus > can only be used during publishing, where we have all the information > about multiple exported Org documents available. I agree that some complications exist. Just like with HTML files for Org ones with <file:another.org::*heading> links. Several iterations of tex files compilation are required. .aux files for all .tex files must be available to get cross-file links working. ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2023-11-08 10:51 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-11-01 4:24 Exporting Hyperlinks ? David Masterson 2023-11-01 16:36 ` Max Nikulin 2023-11-02 2:11 ` David Masterson 2023-11-02 15:24 ` Max Nikulin 2023-11-03 6:29 ` David Masterson 2023-11-03 10:44 ` Max Nikulin 2023-11-03 21:55 ` Samuel Wales 2023-11-03 22:06 ` Samuel Wales 2023-11-03 22:07 ` Samuel Wales 2023-11-04 7:10 ` Max Nikulin 2023-11-05 12:38 ` Ihor Radchenko 2023-11-05 22:28 ` David Masterson 2023-11-06 9:37 ` Ihor Radchenko 2023-11-07 12:06 ` Max Nikulin 2023-11-07 12:36 ` Ihor Radchenko 2023-11-07 16:38 ` Max Nikulin 2023-11-08 8:02 ` David Masterson 2023-11-08 10:39 ` Max Nikulin 2023-11-08 9:37 ` Ihor Radchenko 2023-11-08 10:50 ` Max Nikulin
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).