Version: 4.1.2

Scribble: PLT Documentation Tool

Matthew Flatt
and Eli Barzilay

Scribble is a collection of tools for creating prose documents, especially those that document libraries, and especially for HTML and PDF (via LaTeX) output. More generally, it is useful for cases where you need to deal with Scheme code that is rich in textual content: it has a syntactic extension for writing almost free-form text and a tool for using the scribble syntax for preprocessing text files.

This document itself is written using Scribble. At the time that it was written, its source was available at http://svn.plt-scheme.org/plt/trunk/collects/scribblings/scribble/ starting with the "scribble.scrbl" file.

    1 How to Scribble Documentation

      1.1 Getting Started

      1.2 Document Syntax

      1.3 Scheme Typesetting and Hyperlinks

      1.4 Section Hyperlinks

      1.5 Defining Scheme Bindings

      1.6 Showing Scheme Examples

      1.7 Splitting the Document Source

      1.8 Multi-Page Sections

      1.9 Style Guide

        1.9.1 Prose and Terminology

        1.9.2 Typesetting Code

        1.9.3 Typesetting Prose

        1.9.4 Section Titles

    2 Scribble Layers

      2.1 Typical Composition

      2.2 Layer Roadmap

    3 @-Reader

      3.1 Concrete Syntax

        3.1.1 The Scribble Syntax at a Glance

        3.1.2 The Command Part

        3.1.3 The Datum Part

        3.1.4 The Body Part

      3.2 Syntax Properties

      3.3 Interface

    4 Structures And Processing

      4.1 Parts

      4.2 Tags

      4.3 Collected and Resolved Information

      4.4 Structure Reference

    5 Renderer

      5.1 Base Renderer

      5.2 Text Renderer

      5.3 HTML Renderer

      5.4 Latex Renderer

    6 Decoding Text

    7 Document Language

    8 Document Reader

    9 Basic Document Forms

      9.1 Document Structure

      9.2 Text Styles

      9.3 Indexing

      9.4 Tables of Contents

    10 Scheme

    11 Manual Forms

      11.1 Typesetting Code

      11.2 Documenting Modules

      11.3 Documenting Forms, Functions, Structure Types, and Values

      11.4 Documenting Classes and Interfaces

      11.5 Documenting Signatures

      11.6 Various String Forms

      11.7 Links

      11.8 Indexing

      11.9 Images

      11.10 Bibliography

      11.11 Miscellaneous

      11.12 Index-Entry Descriptions

    12 Evaluation and Examples

    13 BNF Grammars

    14 Cross-Reference Utilities

    15 Text Preprocessor

      15.1 Using External Files

    Index