At the heart of Supercite is a regular expression interpreting engine
called Regi. Regi operates by interpreting a data structure
called a Regi-frame (or just frame), which is a list of
Regi-entries (or just entry). Each entry contains a predicate,
typically a regular expression, which is matched against a line of text
in the current buffer. If the predicate matches true, an associated
expression is eval
uated. In this way, an entire region of text
can be transformed in an awk-like manner. Regi is used
throughout Supercite, from mail header information extraction, to header
nuking, to citing text.
While the details of Regi are discussed below (see Using Regi), only
those who wish to customize certain aspects of Supercite need concern
themselves with it. It is important to understand though, that any
conceivable citation style that can be described by a regular expression
can be recognized by Supercite. This leads to some interesting
applications. For example, if you regularly receive email from a
co-worker that uses an uncommon citation style (say one that employs a
`|
' or `}
' character at the front of the line), it is
possible for Supercite to recognize this and coerce the citation
to your preferred style, for consistency. In theory, it is possible for
Supercite to recognize such things as uuencoded messages or C code and
cite or fill those differently than normal text. None of this is
currently part of Supercite, but contributions are welcome!