diff --git a/collects/browser/browser.scrbl b/collects/browser/browser.scrbl index a2dc7dc64a..76de1efbe8 100644 --- a/collects/browser/browser.scrbl +++ b/collects/browser/browser.scrbl @@ -39,7 +39,7 @@ contain Scheme strings, and since escape characters are difficult for people to read, a @litchar{|} character in @scheme[sexpr] is converted to a @litchar{"} character before it is parsed. Thus, -@verbatim{ +@verbatim[#:indent 2]{ Nowhere } @@ -61,7 +61,7 @@ is executed immediately during HTML rendering. If the result is a string, the comment is replaced in the input HTML stream with the content of the string. Thus, -@verbatim{ +@verbatim[#:indent 2]{ } diff --git a/collects/net/scribblings/url.scrbl b/collects/net/scribblings/url.scrbl index d6c69e4d29..7ad210140f 100644 --- a/collects/net/scribblings/url.scrbl +++ b/collects/net/scribblings/url.scrbl @@ -48,7 +48,7 @@ re-exported by @schememodname[net/url].} The basic structure for all URLs, hich is explained in RFC 3986 @cite["RFC3986"]. The following diagram illustrates the parts: -@verbatim|{ +@verbatim[#:indent 2]|{ http://sky@www:801/cgi-bin/finger;xyz?name=shriram;host=nw#top {-1} {2} {3} {4}{---5---------} {6} {----7-------------} {8} diff --git a/collects/scribble/manual.ss b/collects/scribble/manual.ss index a065ff1564..bc001a45d9 100644 --- a/collects/scribble/manual.ss +++ b/collects/scribble/manual.ss @@ -187,7 +187,10 @@ (make-element "schemeinput" (list (substring s (cdar spaces) (caar end-spaces)))) (hspace (- (cdar end-spaces) (caar end-spaces))))))))) - (define (verbatim s . more) + (define (verbatim #:indent [i 0] s . more) + (define indent (if (zero? i) + values + (let ([hs (hspace i)]) (lambda (x) (cons hs x))))) (define strs (regexp-split #rx"\n" (apply string-append s more))) (define (str->elts str) (let ([spaces (regexp-match-positions #rx"(?:^| ) +" str)]) @@ -197,8 +200,9 @@ (str->elts (substring str (cdar spaces)))) (list (make-element 'tt (list str)))))) (define (make-line str) - (list (make-flow (list (make-paragraph - (list (make-element 'tt (str->elts str)))))))) + (let* ([line (indent (str->elts str))] + [line (list (make-element 'tt line))]) + (list (make-flow (list (make-paragraph line)))))) (make-table #f (map make-line strs))) (define-syntax indexed-scheme diff --git a/collects/scribblings/foreign/types.scrbl b/collects/scribblings/foreign/types.scrbl index 73e63f19eb..52c395a68c 100644 --- a/collects/scribblings/foreign/types.scrbl +++ b/collects/scribblings/foreign/types.scrbl @@ -634,7 +634,7 @@ control can be placed into struct fields. As an example, consider the following C code: -@verbatim{ +@verbatim[#:indent 2]{ typedef struct { int x; char y; } A; typedef struct { A a; int z; } B; diff --git a/collects/scribblings/gui/win-overview.scrbl b/collects/scribblings/gui/win-overview.scrbl index 2be7237ce9..7b84e8f82f 100644 --- a/collects/scribblings/gui/win-overview.scrbl +++ b/collects/scribblings/gui/win-overview.scrbl @@ -330,7 +330,7 @@ The built-in container classes include horizontal panels (and panes), vertical containers, a programmer can achieve most any layout. For example, we can construct a dialog with the following shape: -@verbatim{ +@verbatim[#:indent 2]{ ------------------------------------------------------ | ------------------------------------- | | Your name: | | | diff --git a/collects/scribblings/guide/running.scrbl b/collects/scribblings/guide/running.scrbl index 648417411a..a141b34088 100644 --- a/collects/scribblings/guide/running.scrbl +++ b/collects/scribblings/guide/running.scrbl @@ -21,7 +21,10 @@ When @exec{mzscheme} is run with no command-line arguments (other than confguration options, like @Flag{j}), then it starts a @tech{REPL} with a @litchar{> } prompt: -@verbatim{ Welcome to MzScheme\n > } +@verbatim[#:indent 2]{ + Welcome to MzScheme + > +} @margin-note{For information on GNU Readline support, see @schememodname[readline/rep].} diff --git a/collects/scribblings/guide/scripts.scrbl b/collects/scribblings/guide/scripts.scrbl index 9ff0e42431..1db77d2468 100644 --- a/collects/scribblings/guide/scripts.scrbl +++ b/collects/scribblings/guide/scripts.scrbl @@ -18,7 +18,7 @@ executable followed by a module declaration. For example, if @exec{mzscheme} is installed in @filepath{/usr/local/bin}, then a file containing the following text acts as a ``hello world'' script: -@verbatim{ +@verbatim[#:indent 2]{ #! /usr/local/bin/mzscheme #lang scheme/base "Hello, world!" @@ -39,7 +39,7 @@ executable, a popular alternative is to require that @exec{mzscheme} is in the user's command path, and then ``trampoline'' using @exec{/usr/bin/env}: -@verbatim{ +@verbatim[#:indent 2]{ #! /usr/bin/env mzscheme #lang scheme/base "Hello, world!" @@ -48,7 +48,7 @@ is in the user's command path, and then ``trampoline'' using In either case, command-line arguments to a script are available via @scheme[current-command-line-arguments]: -@verbatim{ +@verbatim[#:indent 2]{ #! /usr/bin/env mzscheme #lang scheme/base (printf "Given arguments: ~s\n" @@ -65,7 +65,7 @@ them using the @scheme[command-line] form provided by command-line arguments from @scheme[(current-command-line-arguments)] by default: -@verbatim{ +@verbatim[#:indent 2]{ #! /usr/bin/env mzscheme #lang scheme @@ -91,7 +91,7 @@ that are comments in one language and expressions in the other. This trampoline is more complicated, but it provides more control over command-line arguments to @scheme{mzscheme}: -@verbatim|{ +@verbatim[#:indent 2]|{ #! /bin/sh #| exec mzscheme -cu "$0" ${1+"$@"} diff --git a/collects/scribblings/inside/custodians.scrbl b/collects/scribblings/inside/custodians.scrbl index fb66c12652..863cee515a 100644 --- a/collects/scribblings/inside/custodians.scrbl +++ b/collects/scribblings/inside/custodians.scrbl @@ -84,8 +84,8 @@ Installs a function to be called on each custodian-registered item and its closer when MzScheme is about to exit. The registered function has the type -@verbatim{ - typedef +@verbatim[#:indent 2]{ + typedef void (*Scheme_Exit_Closer_Func)(Scheme_Object *o, Scheme_Close_Custodian_Client *f, void *d); diff --git a/collects/scribblings/inside/exns.scrbl b/collects/scribblings/inside/exns.scrbl index a0060b5121..8fd00caa23 100644 --- a/collects/scribblings/inside/exns.scrbl +++ b/collects/scribblings/inside/exns.scrbl @@ -18,7 +18,7 @@ in @cpp{scheme_current_thread->error_buf}. The macro @cppi{scheme_error_buf} is a shorthand for @cpp{*scheme_current_thread->error_buf}. -@verbatim{ +@verbatim[#:indent 2]{ mz_jmp_buf * volatile save, fresh; ... save = scheme_current_thread->error_buf; @@ -84,7 +84,7 @@ visible when implementing a new primitive procedure. When request by chaining to the previously saved error buffer; otherwise, call @cppi{scheme_clear_escape}. -@verbatim{ +@verbatim[#:indent 2]{ mz_jmp_buf * volatile save, fresh; save = scheme_current_thread->error_buf; scheme_current_thread->error_buf = &fresh; @@ -120,7 +120,7 @@ exceptions in a variety of situations. It implements the function application of a thunk. (This code is in @filepath{collects/mzscheme/examples/catch.c} in the distribution.) -@verbatim{ +@verbatim[#:indent 2]{ static Scheme_Object *exn_catching_apply, *exn_p, *exn_message; static void init_exn_catching_apply() @@ -183,7 +183,7 @@ application of a thunk. (This code is in In the following example, the above code is used to catch exceptions that occur during while evaluating source code from a string. -@verbatim{ +@verbatim[#:indent 2]{ static Scheme_Object *do_eval(void *s, int noargc, Scheme_Object **noargv) { return scheme_eval_string((char *)s, scheme_get_env(scheme_config)); diff --git a/collects/scribblings/inside/memory.scrbl b/collects/scribblings/inside/memory.scrbl index ddcdbf5b77..086d65b676 100644 --- a/collects/scribblings/inside/memory.scrbl +++ b/collects/scribblings/inside/memory.scrbl @@ -206,7 +206,7 @@ pointer within a function call at any point when a collection can be triggered. Beware that nested function calls can hide temporary pointers; for example, in -@verbatim{ +@verbatim[#:indent 2]{ scheme_make_pair(scheme_make_pair(scheme_true, scheme_false), scheme_make_pair(scheme_false, scheme_true)) } @@ -216,7 +216,7 @@ a register during the other call to @cpp{scheme_make_pair}; this pointer must be exposed to the garbage collection and made subject to update. Simply changing the code to -@verbatim{ +@verbatim[#:indent 2]{ tmp = scheme_make_pair(scheme_true, scheme_false); scheme_make_pair(tmp, scheme_make_pair(scheme_false, scheme_true)) @@ -226,7 +226,7 @@ does not expose all pointers, since @cpp{tmp} must be evaluated before the second call to @cpp{scheme_make_pair}. In general, the above code must be converted to the form -@verbatim{ +@verbatim[#:indent 2]{ tmp1 = scheme_make_pair(scheme_true, scheme_false); tmp2 = scheme_make_pair(scheme_true, scheme_false); scheme_make_pair(tmp1, tmp2); @@ -235,7 +235,7 @@ must be converted to the form and this is converted form must be instrumented to register @cpp{tmp1} and @cpp{tmp2}. The final result might be -@verbatim{ +@verbatim[#:indent 2]{ { Scheme_Object *tmp1 = NULL, *tmp2 = NULL, *result; MZ_GC_DECL_REG(2); @@ -269,7 +269,7 @@ whereas registering an array of pointers requires three slots. For example, to register a pointer @cpp{tmp} and an array of 10 @cpp{char*}s: -@verbatim{ +@verbatim[#:indent 2]{ { Scheme_Object *tmp1 = NULL; char *a[10]; @@ -300,7 +300,7 @@ must be registered with the collector during the entire call to The name used for a variable need not be immediate. Structure members can be supplied as well: -@verbatim{ +@verbatim[#:indent 2]{ { struct { void *s; int v; void *t; } x = {NULL, 0, NULL}; MZ_GC_DECL_REG(2); @@ -330,7 +330,7 @@ example also illustrates how @cpp{MZ_GC_UNREG} is not needed when control escapes from the function, such as when @cpp{scheme_signal_error} escapes. -@verbatim{ +@verbatim[#:indent 2]{ { Scheme_Object *tmp1 = NULL, *tmp2 = NULL; mzchar *a, *b; @@ -372,7 +372,7 @@ declarations for the block's variables. In that case, the nested @cpp{MZ_GC_DECL_REG} must have its own @cpp{MZ_GC_REG} and @cpp{MZ_GC_UNREG} calls. -@verbatim{ +@verbatim[#:indent 2]{ { Scheme_Object *accum = NULL; MZ_GC_DECL_REG(1); @@ -404,7 +404,7 @@ must be unregistered before it goes out of scope. The @cppi{MZ_GC_NO_VAR_IN_REG} macro can be used to unregister a variable or to initialize a slot as having no variable. -@verbatim{ +@verbatim[#:indent 2]{ { Scheme_Object *accum = NULL; MZ_GC_DECL_REG(2); @@ -527,7 +527,7 @@ The following macros can be used (with care!) to navigate Example: -@verbatim{ +@verbatim[#:indent 2]{ int foo(int c, ...) { int r = 0; XFORM_START_SKIP; @@ -555,7 +555,7 @@ The following macros can be used (with care!) to navigate Example: - @verbatim{ + @verbatim[#:indent 2]{ int foo(int c, ...) { int r = 0; { @@ -699,7 +699,7 @@ Overrides the GC's auto-determined stack base, and/or disables the The following example shows a typical use for setting the stack base: -@verbatim{ +@verbatim[#:indent 4]{ int main(int argc, char **argv) { int dummy; scheme_set_stack_base(&dummy, 0); @@ -777,7 +777,7 @@ finalizers are registered for @var{p}. The @cpp{fnl_proc} type is not actually defined, but it is equivalent to -@verbatim{ typedef void (*fnl_proc)(void *p, void *data)} +@verbatim[#:indent 2]{typedef void (*fnl_proc)(void *p, void *data)} The @var{f} argument is the callback function; when it is called, it will be passed the value @var{p} and the data pointer @var{data}; @@ -896,7 +896,7 @@ Forces an immediate garbage-collection.} Each of the three procedures takes a pointer and returns an integer: -@verbatim{ +@verbatim[#:indent 2]{ typedef int (*Size_Proc)(void *obj); typedef int (*Mark_Proc)(void *obj); typedef int (*Fixup_Proc)(void *obj); diff --git a/collects/scribblings/inside/misc.scrbl b/collects/scribblings/inside/misc.scrbl index 97483265be..f8741e63d9 100644 --- a/collects/scribblings/inside/misc.scrbl +++ b/collects/scribblings/inside/misc.scrbl @@ -168,7 +168,7 @@ tables) can be anything. The public portion of the @cppi{Scheme_Hash_Table} type is defined roughly as follows: -@verbatim{ +@verbatim[#:indent 2]{ typedef struct Scheme_Hash_Table { Scheme_Object so; /* so.type == scheme_hash_table_type */ /* ... */ @@ -234,7 +234,7 @@ two are the same as for hash tables. The last is like The public portion of the @cppi{Scheme_Bucket_Table} type is defined roughly as follows: -@verbatim{ +@verbatim[#:indent 2]{ typedef struct Scheme_Bucket_Table { Scheme_Object so; /* so.type == scheme_variable_type */ /* ... */ @@ -286,7 +286,7 @@ Returns the current value for @var{key} in @var{table}, or @cpp{NULL} Returns the bucket for @var{key} in @var{table}. The @cppi{Scheme_Bucket} structure is defined as: -@verbatim{ +@verbatim[#:indent 2]{ typedef struct Scheme_Bucket { Scheme_Object so; /* so.type == scheme_bucket_type */ /* ... */ diff --git a/collects/scribblings/inside/namespaces.scrbl b/collects/scribblings/inside/namespaces.scrbl index bbfb4d1da6..b21de253e6 100644 --- a/collects/scribblings/inside/namespaces.scrbl +++ b/collects/scribblings/inside/namespaces.scrbl @@ -78,7 +78,7 @@ the global variable is undefined. The @cppi{Scheme_Bucket} structure is defined as: -@verbatim{ +@verbatim[#:indent 2]{ typedef struct Scheme_Bucket { Scheme_Object so; /* so.type = scheme_variable_type */ void *key; diff --git a/collects/scribblings/inside/overview.scrbl b/collects/scribblings/inside/overview.scrbl index b46a95783f..baf581d3e7 100644 --- a/collects/scribblings/inside/overview.scrbl +++ b/collects/scribblings/inside/overview.scrbl @@ -160,7 +160,7 @@ registered using @cppi{scheme_register_extension_global} (see As an example, the following C code defines an extension that returns @scheme["hello world"] when it is loaded: -@verbatim{ +@verbatim[#:indent 2]{ #include "escheme.h" Scheme_Object *scheme_initialize(Scheme_Env *env) { return scheme_make_utf8_string("hello world"); diff --git a/collects/scribblings/inside/procedures.scrbl b/collects/scribblings/inside/procedures.scrbl index 6fbdb1adf0..8d2358c4ad 100644 --- a/collects/scribblings/inside/procedures.scrbl +++ b/collects/scribblings/inside/procedures.scrbl @@ -47,7 +47,7 @@ substantial or unbounded work should occasionally call Creates a primitive procedure value, given the C function pointer @var{prim}. The form of @var{prim} is defined by: -@verbatim{ +@verbatim[#:indent 2]{ typedef Scheme_Object *(Scheme_Prim)(int argc, Scheme_Object **argv); } @@ -94,8 +94,8 @@ in @var{vals}; when the C function @var{prim} is invoked, the generated primitive is passed as the last parameter. The form of @var{prim} is defined by: -@verbatim{ - typedef +@verbatim[#:indent 2]{ + typedef Scheme_Object *(Scheme_Prim_Closure_Proc)(int argc, Scheme_Object **argv, Scheme_Object *prim); @@ -117,7 +117,7 @@ Creates an old-style primitive procedure value; when the C function @var{prim} is invoked, @var{data} is passed as the first parameter. The form of @var{prim} is defined by: -@verbatim{ +@verbatim[#:indent 2]{ typedef Scheme_Object *(Scheme_Closed_Prim)(void *data, int argc, Scheme_Object **argv); diff --git a/collects/scribblings/inside/threads.scrbl b/collects/scribblings/inside/threads.scrbl index c7ba5c2779..e55595722a 100644 --- a/collects/scribblings/inside/threads.scrbl +++ b/collects/scribblings/inside/threads.scrbl @@ -85,7 +85,7 @@ of ``fuel'' that has been consumed since the last call to @scheme[vector->list] consumes a unit of fuel for each created cons cell: -@verbatim{ +@verbatim[#:indent 2]{ Scheme_Object *scheme_vector_to_list(Scheme_Object *vec) { int i; @@ -173,7 +173,7 @@ class. (Any regular event-loop-based callback is appropriate.) The @cpp{scheme_notify_multithread} pointer is set to @cpp{MrEdInstallThreadTimer}. (MrEd no longer work this way, however.) -@verbatim{ +@verbatim[#:indent 2]{ class MrEdThreadTimer : public wxTimer { public: @@ -240,7 +240,7 @@ ready on any of those file descriptors, the callbacks are removed and For example, the X Windows version of MrEd formerly set @cpp{scheme_wakeup_on_input} to this @cpp{MrEdNeedWakeup}: -@verbatim{ +@verbatim[#:indent 2]{ static XtInputId *scheme_cb_ids = NULL; static int num_cbs; @@ -350,7 +350,7 @@ The following function @cpp{mzsleep} is an appropriate @cpp{scheme_sleep} function for most any Unix or Windows application. (This is approximately the built-in sleep used by Scheme.) -@verbatim{ +@verbatim[#:indent 2]{ void mzsleep(float v, void *fds) { if (v) { @@ -472,7 +472,7 @@ Returns @cpp{1} if a break from @scheme[break-thread] or @cpp{scheme_break_threa The @cpp{Scheme_Ready_Fun} and @cpp{Scheme_Needs_Wakeup_Fun} types are defined as follows: -@verbatim{ +@verbatim[#:indent 2]{ typedef int (*Scheme_Ready_Fun)(Scheme_Object *data); typedef void (*Scheme_Needs_Wakeup_Fun)(Scheme_Object *data, void *fds); @@ -623,7 +623,7 @@ Under Unix, and Mac OS X, this function has no effect.} The argument types are defined as follows: -@verbatim{ +@verbatim[#:indent 2]{ typedef int (*Scheme_Ready_Fun)(Scheme_Object *data); typedef void (*Scheme_Needs_Wakeup_Fun)(Scheme_Object *data, void *fds); @@ -649,7 +649,7 @@ Like @cpp{scheme_add_evt}, but for objects where waiting is based on a semaphore. Instead of @var{ready} and @var{wakeup} functions, the @var{getsema} function extracts a semaphore for a given object: -@verbatim{ +@verbatim[#:indent 2]{ typedef Scheme_Object *(*Scheme_Wait_Sema_Fun)(Scheme_Object *data, int *repost); diff --git a/collects/scribblings/inside/values.scrbl b/collects/scribblings/inside/values.scrbl index a414dd9a59..86fce543cd 100644 --- a/collects/scribblings/inside/values.scrbl +++ b/collects/scribblings/inside/values.scrbl @@ -684,7 +684,7 @@ Installs a printer to be used for printing (or writing or displaying) The type of @var{printer} is defined as follows:\cppIndex{scheme_Type_Printer} -@verbatim{ +@verbatim[#:indent 2]{ typedef void (*Scheme_Type_Printer)(Scheme_Object *v, int dis, Scheme_Print_Params *pp); } @@ -732,8 +732,8 @@ is only applied to values that both have tag @var{type}. The type of @var{equalp}, @var{hash1}, and @var{hash2} are defined as follows: -@verbatim{ - typedef int (*Scheme_Equal_Proc)(Scheme_Object* obj1, +@verbatim[#:indent 2]{ + typedef int (*Scheme_Equal_Proc)(Scheme_Object* obj1, Scheme_Object* obj2, void* cycle_data); typedef long (*Scheme_Primary_Hash_Proc)(Scheme_Object* obj, diff --git a/collects/scribblings/more/more.scrbl b/collects/scribblings/more/more.scrbl index 2f3c8c991d..6db031d7a5 100644 --- a/collects/scribblings/more/more.scrbl +++ b/collects/scribblings/more/more.scrbl @@ -69,7 +69,7 @@ DrScheme.} @link[url:download-drscheme]{Download PLT Scheme}, install, and then start @exec{mzscheme} with no command-line arguments: -@verbatim{ +@verbatim[#:indent 2]{ $ mzscheme Welcome to MzScheme > diff --git a/collects/scribblings/scribble/basic.scrbl b/collects/scribblings/scribble/basic.scrbl index 0df201613b..13fc3bedea 100644 --- a/collects/scribblings/scribble/basic.scrbl +++ b/collects/scribblings/scribble/basic.scrbl @@ -35,7 +35,7 @@ called from Scheme as or with an @elem["@"] expression as -@verbatim|{ +@verbatim[#:indent 2]|{ @title[#:tag "how-to"]{How to Design @italic{Great} Programs} }| diff --git a/collects/scribblings/scribble/decode.scrbl b/collects/scribblings/scribble/decode.scrbl index 1ccfd59daa..ba6e648f7c 100644 --- a/collects/scribblings/scribble/decode.scrbl +++ b/collects/scribblings/scribble/decode.scrbl @@ -36,7 +36,7 @@ Some functions @deftech{decode} a sequence of @scheme[_pre-flow] or function accepts any number of @scheme[_pre-content] arguments, so that in -@verbatim|{ @bold{``apple''}}| +@verbatim[#:indent 2]|{@bold{``apple''}}| the @litchar{``apple''} argument is decoded to use fancy quotes, and then it is bolded. diff --git a/collects/scribblings/scribble/how-to.scrbl b/collects/scribblings/scribble/how-to.scrbl index a9758f6ac3..ab63fcb51c 100644 --- a/collects/scribblings/scribble/how-to.scrbl +++ b/collects/scribblings/scribble/how-to.scrbl @@ -25,7 +25,7 @@ To document a collection or @|PLaneT| package: @filepath{manual.scrbl}.} @item{Start @filepath{manual.scrbl} like this: - @verbatim|{ + @verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual) @@ -135,7 +135,7 @@ that precede text to typeset. Thus, -@verbatim|{ +@verbatim[#:indent 2]|{ @title{My Library} @scheme[(list 'testing 1 2 3)] @section[#:tag "here"]{You Are Here} @@ -189,7 +189,7 @@ preferred mechanism for linking to information outside of a single document. Such links require no information about where and how a binding is documented elsewhere: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual (for-label scheme)) @@ -204,7 +204,7 @@ so it ignores the source formatting of the expression. The @scheme[schemeblock] form, in contrast, typesets inset Scheme code, and it preserves the expression's formatting from the document source. -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual (for-label scheme)) @@ -234,7 +234,7 @@ hyperlink with text other than the section title. The following example illustrates section hyperlinks: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual (for-label scheme)) @@ -273,7 +273,7 @@ prefix, which is based on the target document's main source file. The following example links to a section in the PLT Scheme reference manual: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual (for-label scheme)) @@ -307,7 +307,7 @@ to import the binding information of @filepath{helper.ss}. Then add a binding with the module path as seen by a reader. Finally, use @scheme[defproc] to document the procedure: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual (for-label scheme @@ -379,7 +379,7 @@ bindings introduced into the document source by from the previous section, then @filepath{helper.ss} must be imported both via @scheme[require-for-label] and @scheme[require]: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual scribble/eval ; <--- added @@ -415,7 +415,7 @@ as a sub-part of the enclosing part. In @filepath{manual.scrbl}: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual) @@ -430,7 +430,7 @@ In @filepath{manual.scrbl}: In @filepath{cows.scrbl}: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual) @@ -441,7 +441,7 @@ In @filepath{cows.scrbl}: In @filepath{aardvarks.scrbl}: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual (for-label scheme @@ -471,7 +471,7 @@ sub-sections. Revising @filepath{cows.scrbl} from the previous section: -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual) diff --git a/collects/scribblings/scribble/layers.scrbl b/collects/scribblings/scribble/layers.scrbl index 6ca08cc5f5..ef02ba816a 100644 --- a/collects/scribblings/scribble/layers.scrbl +++ b/collects/scribblings/scribble/layers.scrbl @@ -27,7 +27,7 @@ alone, but @litchar["@"] forms can escape to S-expression mode. A module written as -@verbatim|{ +@verbatim[#:indent 2]|{ #lang scribble/doc @(require scribble/manual) diff --git a/collects/scribblings/scribble/manual.scrbl b/collects/scribblings/scribble/manual.scrbl index eed31a37ef..703856dde1 100644 --- a/collects/scribblings/scribble/manual.scrbl +++ b/collects/scribblings/scribble/manual.scrbl @@ -131,7 +131,8 @@ representation of literal text. Use this when you have to talk about the individual characters in a stream of text, as as when documenting a reader extension.} -@defproc[(verbatim [str string?]) flow-element?]{Typesets @scheme[str] +@defproc[(verbatim [#:indent indent integer? 0] [str string?] ...) + flow-element?]{Typesets @scheme[str] as a table/paragraph in typewriter font with the linebreaks specified by newline characters in @scheme[str]. ``Here strings'' are often useful with @scheme[verbatim].} diff --git a/collects/scribblings/scribble/reader.scrbl b/collects/scribblings/scribble/reader.scrbl index 116846f9b8..477c7c12d5 100644 --- a/collects/scribblings/scribble/reader.scrbl +++ b/collects/scribblings/scribble/reader.scrbl @@ -201,7 +201,7 @@ following spaces (or tabs) are part of the comment (similar to Tip: if you're editing in a Scheme-aware editor (like DrScheme or Emacs), it is useful to comment out blocks like this: -@verbatim|==={ +@verbatim[#:indent 2]|==={ @;{ ... ;} diff --git a/collects/scribblings/scribble/style.scrbl b/collects/scribblings/scribble/style.scrbl index 7f852c7f57..075a1ee1a8 100644 --- a/collects/scribblings/scribble/style.scrbl +++ b/collects/scribblings/scribble/style.scrbl @@ -57,14 +57,14 @@ when using @scheme[scheme], especially outside of @scheme[defproc] or @scheme[defform]. Prefix a meta-variable with @litchar{_}; for example, -@verbatim|{ @scheme[(rator-expr rand-expr ...)]}| +@verbatim[#:indent 2]|{@scheme[(rator-expr rand-expr ...)]}| would be the wrong way to refer to the grammar of a function call, because it produces @scheme[(rator-expr rand-expr ...)], where @schemeidfont{rator-expr} and @schemeidfont{rand-expr} are typeset as variables. The correct description is -@verbatim|{ @scheme[(_rator-expr _rand-expr ...)]}| +@verbatim[#:indent 2]|{@scheme[(_rator-expr _rand-expr ...)]}| which produces @scheme[(_rator-expr _rand-expr ...)], where @schemeidfont{rator-expr} @schemeidfont{rand-expr} are typeset as diff --git a/collects/scribblings/slideshow/picts.scrbl b/collects/scribblings/slideshow/picts.scrbl index 9baaf52c77..a67f38a83e 100644 --- a/collects/scribblings/slideshow/picts.scrbl +++ b/collects/scribblings/slideshow/picts.scrbl @@ -34,15 +34,15 @@ offset of an embedded pict in a larger pict. In addition to its drawing part, a pict has the following @deftech{bounding box} structure: -@verbatim{ - w - ------------------ - | | a \ - |------------------| | - | | | h - |----------last----| | - | | d / - ------------------ +@verbatim[#:indent 7]{ + w + ------------------ + | | a \ + |------------------| | + | | | h + |----------last----| | + | | d / + ------------------ } That is, the bounding box has a width @math{w} and a height