emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Michael Bach <phaebz@gmail.com>
To: Nicolas Goaziou <n.goaziou@gmail.com>
Cc: Vladimir Lomov <lomov.vl@gmail.com>, emacs-orgmode@gnu.org
Subject: Re: LaTeX export: Handle hash symbol in footnote url links
Date: Thu, 10 Apr 2014 19:25:16 +0200	[thread overview]
Message-ID: <5346D3FC.2090104@gmail.com> (raw)
In-Reply-To: <8738j6t141.fsf@gmail.com>

On 2/26/14 3:11 PM, Nicolas Goaziou wrote:
> Hello,
> 
> Michael Bach <phaebz@gmail.com> 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

      parent reply	other threads:[~2014-04-10 17:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-21 10:52 LaTeX export: Handle hash symbol in footnote url links Michael Bach
2014-02-21 11:14 ` Vladimir Lomov
2014-02-21 12:57   ` Michael Bach
2014-02-26 14:11     ` Nicolas Goaziou
2014-03-21  8:39       ` Bastien
2014-04-10 17:25       ` Michael Bach [this message]

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=5346D3FC.2090104@gmail.com \
    --to=phaebz@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=lomov.vl@gmail.com \
    --cc=n.goaziou@gmail.com \
    /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).