<\body> extension language> One major characteristic of is the possibility to extend the editor using the - . Such extensions can be simple, like a personal boot file containing frequently used keyboard shortcuts, or more complex, like a plug-in with special editing routines for a particular type of documents. The language can also be used interactively from within the editor or invoked by special markup like ``actions''. In this chapter, we give an overview of why and how to use from within . The first sections provide sufficient information for someone who wants to program some basic customization of the keyboard and menus. The latter sections give an introduction to the general architecture of the API and some important features and particularities of way is used within . The reading of the overview is highly recommended to anyone who wants to make non-trivial use of inside . More complete documentation about the modules provided by is available from the menu. We also recommend the following on-line manuals about and its implementation: <\itemize-minus> programming language|http://www.scheme.com/tspl2d/index.html>. . For further information about , we refer to |http://www.schemers.org>. As a general rule, we also encourage users to take a look at the source code for concrete examples on how to use from within . <\traverse> uses as its extension language|overview-why.en.tm> |overview-start.en.tm> API|overview-architecture.en.tm> content model|overview-content.en.tm> <\initial> <\collection>