Re: [O] LaTeX export: Handle hash symbol in footnote url links
On 2/26/14 3:11 PM, Nicolas Goaziou wrote: > Hello, > > Michael Bach writes: > >> Thanks for your answer. `\url` can handle hash symbols in its argument >> without escaping alright - as can be expected. AFAICS, the problem lies >> in the `\footnote` command. And yes, I was thinking of `ox-latex` >> figuring out that the url is in a footnote and escape accordingly. >> >> I can see that the export engine should not and cannot cover all special >> cases, but since links and footnotes are `first-class` org-mode >> concepts, it would be nice to have them play along in this situation. >> From a typographic point of view, I figured url links in footnotes are >> not that unusual. > > This needs to be properly defined. > > Where protecting characters in verbatim parts of the buffer should > happen? Within footnotes only? In every verbatim part? And on which > characters? > Ok, using org-element, we could escape special symbols - for now, only '#', '%' and '&' come to mind - in http links iff they are inside a footnote and exporter backend is latex. As I said, if this is too special a case to be supported, I was playing around with regexps and `org-export-filter-final-output-functions' as seen e.g. in [1]. On other occasions that involved in-buffer replacements, I had success using group matching with the `re-search-forward', `replace-match' and `match-string' functions (see also [2]). But IIUC, since the export filter function gets passed a string with the .tex export results, I need a function that operates on a string such as `replace-regexp-in-string' as seen in [1]. Now I assume for in-string regexp replacement and the use case at hand I would need a (missing) lookbehind feature [3], don't I? Please let me know whether you think this is feasible. Best Regards, Michael [1] https://lists.gnu.org/archive/html/emacs-orgmode/2014-02/msg00146.html [2] http://stackoverflow.com/questions/6395898/emacs-how-do-i-replace-regexp-with-a-lisp-function-in-a-defun [3] http://comments.gmane.org/gmane.emacs.devel/147844
Re: [O] LaTeX export: Handle hash symbol in footnote url links
Hi Nicolas, Nicolas Goaziou writes: > This needs to be properly defined. > > Where protecting characters in verbatim parts of the buffer should > happen? Within footnotes only? In every verbatim part? And on which > characters? AFAIK in footnotes only, for the # ^ ! & characters (% is already escaped.) But I'm not sure we should fix this at Org's level: there is the bigfoot package* that is fixes it, it seems a common LaTeX problem and solution: * http://www.ctan.org/tex-archive/macros/latex/contrib/bigfoot/ -- Bastien
Re: [O] LaTeX export: Handle hash symbol in footnote url links
Hello, Michael Bach writes: > Thanks for your answer. `\url` can handle hash symbols in its argument > without escaping alright - as can be expected. AFAICS, the problem lies > in the `\footnote` command. And yes, I was thinking of `ox-latex` > figuring out that the url is in a footnote and escape accordingly. > > I can see that the export engine should not and cannot cover all special > cases, but since links and footnotes are `first-class` org-mode > concepts, it would be nice to have them play along in this situation. > From a typographic point of view, I figured url links in footnotes are > not that unusual. This needs to be properly defined. Where protecting characters in verbatim parts of the buffer should happen? Within footnotes only? In every verbatim part? And on which characters? Regards, -- Nicolas Goaziou
Re: [O] LaTeX export: Handle hash symbol in footnote url links
Hello Vladimir, On 21/02/2014 12:14, Vladimir Lomov wrote: > Hello, > ** Michael Bach [2014-02-21 11:52:14 +0100]: > >> Dear org-mode Devs and Users, > >> I am trying to export the following snippet > >> #+BEGIN_ORG >> * LaTeX export of url with hash symbol > >> The Org mode export facilities can be used to export Org documents or >> parts of Org documents to a variety of other formats.[fn:1] > >> * Footnotes > >> [fn:1] [[http://orgmode.org/org.html#Exporting]] >> #+END_ORG > >> Now the exported .tex file contains the link as >> : \footnote{\url{http://orgmode.org/org.html#Exporting}} > >> Which LaTeX does not like: >> : Illegal parameter number in definition of \Hy@tempa > >> FWIW, there is a workaround for the percent symbol described on SO[1] >> using `\urldef` - but this does not work with the hash symbol. > >> Is there another workaround/solution that works with org-mode? > > Hash (#), as well as several other symbols have to be espaced when used > as is in LaTeX documents. See, for example, "The Not So Short > Introduction to LaTeX2e", 1.3.2 Special Characters. In general it is > duty of ox-latex (LaTeX export backend) to espace such characters. > Thanks for your answer. `\url` can handle hash symbols in its argument without escaping alright - as can be expected. AFAICS, the problem lies in the `\footnote` command. And yes, I was thinking of `ox-latex` figuring out that the url is in a footnote and escape accordingly. I can see that the export engine should not and cannot cover all special cases, but since links and footnotes are `first-class` org-mode concepts, it would be nice to have them play along in this situation. >From a typographic point of view, I figured url links in footnotes are not that unusual. Best Regards, Michael >> [1] bit.ly/1cwYJaM > > --- > WBR, Vladimir Lomov >
Re: [O] LaTeX export: Handle hash symbol in footnote url links
Hello, ** Michael Bach [2014-02-21 11:52:14 +0100]: > Dear org-mode Devs and Users, > I am trying to export the following snippet > #+BEGIN_ORG > * LaTeX export of url with hash symbol > The Org mode export facilities can be used to export Org documents or > parts of Org documents to a variety of other formats.[fn:1] > * Footnotes > [fn:1] [[http://orgmode.org/org.html#Exporting]] > #+END_ORG > Now the exported .tex file contains the link as > : \footnote{\url{http://orgmode.org/org.html#Exporting}} > Which LaTeX does not like: > : Illegal parameter number in definition of \Hy@tempa > FWIW, there is a workaround for the percent symbol described on SO[1] > using `\urldef` - but this does not work with the hash symbol. > Is there another workaround/solution that works with org-mode? Hash (#), as well as several other symbols have to be espaced when used as is in LaTeX documents. See, for example, "The Not So Short Introduction to LaTeX2e", 1.3.2 Special Characters. In general it is duty of ox-latex (LaTeX export backend) to espace such characters. > [1] bit.ly/1cwYJaM --- WBR, Vladimir Lomov -- God grant us the serenity to accept the things we cannot change, courage to change the things we can, and wisdom to know the difference.
[O] LaTeX export: Handle hash symbol in footnote url links
Dear org-mode Devs and Users, I am trying to export the following snippet #+BEGIN_ORG * LaTeX export of url with hash symbol The Org mode export facilities can be used to export Org documents or parts of Org documents to a variety of other formats.[fn:1] * Footnotes [fn:1] [[http://orgmode.org/org.html#Exporting]] #+END_ORG Now the exported .tex file contains the link as : \footnote{\url{http://orgmode.org/org.html#Exporting}} Which LaTeX does not like: : Illegal parameter number in definition of \Hy@tempa FWIW, there is a workaround for the percent symbol described on SO[1] using `\urldef` - but this does not work with the hash symbol. Is there another workaround/solution that works with org-mode? [1] bit.ly/1cwYJaM