smallcaps is a pre-processor library for LaTeX files.
The library comes with an executable that makes most
functionality accessible through a command line interface.
The pre-processor formats sequences of uppercase letters
with TeX's \small
macro or whatever you configure.
Uppercase letters at the beginning of sentences are not
formatted. Other formatting conditions can be configured by
the user.
The executable can be configured through its command line
arguments as well as through TeX comments. In the default
configuration, lesscase does not change the content of any
macro argument or environment (different from document).
More and less restrictive configuration profiles can be
activated and adapted. Configurations can be stored and
restored at any time, even while processing the input
file.
Text.SmallCaps
- exports the main program as library.
Text.SmallCaps.Config
- specifies the default configuration values for
Text.SmallCaps
. Text.SmallCaps.TeXParser
- parses
Text
to a TeXElement
token stream. Text.SmallCaps.TeXLaTeXParser
- parses a
TeXElement
token stream and produces a
LaTeXElement
token stream. Text.SmallCaps.DocumentParser
- replaces uppercase letters in
LaTeXElement
token
streams.
A simple program can be defined as
import Data.Default ( def )
import Text.SmallCaps ( smallcaps )
import Text.SmallCaps.Config ( defaultProfile )
main = smallcaps def defaultProfile
This is virtually all the code that is necessary to
implement the executable lesscase
. Have a look in the
source of the executable twocase
which only formats
sequences of two or more uppercase letters. It is a good
reference for understanding the API changes that took
place between the revisions 0.5 and 0.6.