Re: [O] LaTeX export: Handle hash symbol in footnote url links

2014-04-10 Thread Michael Bach
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

2014-03-21 Thread Bastien
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

2014-02-26 Thread Nicolas Goaziou
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

2014-02-21 Thread Michael Bach
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

2014-02-21 Thread Vladimir Lomov
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.