ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Sanjoy Mahajan <sanjoy@mrao.cam.ac.uk>
Subject: Re: regexp for matching entire footnotes
Date: Sun, 30 Jul 2006 13:27:51 +0100	[thread overview]
Message-ID: <E1G7AOd-0007aH-00@skye.ra.phy.cam.ac.uk> (raw)
In-Reply-To: Your message of "Sun, 30 Jul 2006 07:45:49 +0200." <8D7F3353-7D39-460A-9688-07E83AD19192@st.estfiles.de>

> I have to find (highlight) footnotes with the entire footnote being
> marked/highlighted.  The problems are the (potentially) nested pairs
> of curled brackets (like for \index, \emphasize etc etc) ...

I'm not sure what you mean by marking or highlighting the footnote.
Do you mean in the printed document, or in the source file so that you
can find and change them in some way?

> Constructing a regexp for this is far beyond what I can write,

In the Chomsky hierarchy of grammars, regular languages, which are
recognized by regexps, are below context-free grammars (CFGs).
Compared to regular languages, CFGs add a stack.  And you need a stack
to parse nested delimiters, otherwise you can't tell whether a closing
brace closes the first opening brace.  So no regexp can do what you
hope for.

You could:

1. Use emacs (or your favorite editor) to substitute \myfootnote for
   \footnote, and do some ConTeXt setup magic to make \myfootnote be
   just like \footnote except that it highlights.

2. Use Emacs, which can find balanced braces, to make a keyboard macro
   (start defining it with "C-x (").  Then:
   a. search for \footnote.  Now the point will be between the 'e'
      and the opening '{'.
   b. C-@ to set the mark.
   c. C-M-f ("alt-ctrl-f" to run 'forward-sexp') to move to the
      closing brace.  Now you'll have highlighted the {...} stuff of
      the \footnote.
   d. C-x ) to end the keyboard macro definition.

   Then you can use C-x e to go to and highlight the next footnote
   material.

But I'm not sure either is what you're trying to do?

-Sanjoy

`Never underestimate the evil of which men of power are capable.'
         --Bertrand Russell, _War Crimes in Vietnam_, chapter 1.

  parent reply	other threads:[~2006-07-30 12:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-30  5:45 Steffen Wolfrum
2006-07-30  7:08 ` Peter Münster
2006-07-30 12:27 ` Sanjoy Mahajan [this message]
2006-07-30 19:28   ` Hans Hagen

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1G7AOd-0007aH-00@skye.ra.phy.cam.ac.uk \
    --to=sanjoy@mrao.cam.ac.uk \
    --cc=ntg-context@ntg.nl \
    /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.
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 NNTP newsgroup(s).