#lang scribble/base
@(require scribble/core
scribble/manual)
@title[#:tag "top" #:version "1.0" #:style 'toc-hidden]{All-Styles Document, Title in ``H2''}
@author["Jack" "Jill"]
All of this content is within ``maincolumn'', then ``main''.
@"\U2192" The version on the top left of this page is in
``versionbox'' and then either span ``versionNoNav'' (no navigation
bar, as for single-page rendering) or ``version'' (with navigation
bar, as for multi-page rendering).
@"\U2192" The author on the top left of this page is in
``SAuthorListBox'', then ``SAuthorList'', and then a span ``author'',
where @tt{
} separates multiple authors.
@"\U2190" The table-of-contents panels are both in a table ``tocset'':
@margin-note{This note is in ``refpara'', then ``refcolumn'', then
``refcontent''.}
@itemlist[
@item{The top panel is in ``tocview''.
The top panel can have multiple layers of the hierarchy. For a
single-page rendering, only one layer is present. For an
example of multiple layers when rendering this document to
multiple pages, go to @secref["deepest"].
Each layer is in a ``tocviewlist'' that also has the class
``tocviewlisttopspace'' in the case of the first layer. The
always-visible name of a layer is in a span ``tocviewtoggle'',
but that span is also in a ``tocviewtitle'' in the case of the
first layer. Each item under the title is in a
``tocviewsublist'' or a variant: ``tocviewsublistonly'' if only
a single item is present, ``tocviewsublistfirst'' for the first
item of multi, ``tocviewsublistlast'' for the last item of
multiple. Then, each item is in a span ``tocviewlink''.
Each section link in the panel is a span ``tocviewlink'' or a
span ``tocviewselflink'' if the link corresponds to the current
page or on the path to the current page.}
@item{A bottom panel is visible here only for a single-page
rendering. See its description in @secref["h3"].}
]
@margin-note[#:left? #t]{This note is in ``refparaleft'', then
``refcolumnleft'', then ``refcontent''.}
Table of contents uses ``toptoclink'' for the top layer, and
``toclink'' for nested levels:
@table-of-contents[]
@margin-note*{This note is in ``refelem'', then ``refcolumn'', then
``refcontent''.}
@margin-note*[#:left? #t]{This note is in ``refelemleft'', then
``refcolumnleft'', then ``refcontent''.}
@; ======================================================================
@section[#:tag "h3"]{Section in ``H3''}
@"\U2190" For either single-page or multi-page rendering, the
table-of-contents column here has two panels. The top panel is
described in the @seclink["h3"]{starting prose}. For the bottom panel:
@itemlist[
@item{The bottom panel is in a ``tocsub''. For a multi-page
rendering, the on-this-page title is in ``tocsubtitle''. The
rest is always in a table ``tocsublist''. For each entry, the
number part is in a span ``tocsublinknumber'', and the title
part in a span, one of the following: ``tocsubseclink'' if the
link represents a (sub)section, ``tocnonseclink'' if the link is
not a (sub)section but there are (sub)sections in the list (and
there is an example target in this section), or ``tocsublink''
if no links represent a (sub)section (see
@secref["all-non-sec"]).}
]
When a part that corresponds to a page has a @racket['no-toc] style,
the top panel of the table-of-contents column is missing and the
bottom panel is in a ``tocview'' instead of ``tocsub''. See
@secref["no-toc"].
Here is the target for the
@toc-target-element[#f @elem{``tocnonseclink''} `(demo (prefixable "non-sec"))]
link.
@subsection[#:style 'toc]{Subsection in ``H4''}
@local-table-of-contents[]
@subsubsection[#:tag "deepest"]{Subsubsection in ``H5''}
@"\U2190" This page has no on-this-page panel in a multi-page
rendering, because there are no numbered subsections, but it has three
levels shown in the table-of-contents panel.
@subsubsub*section{``SSubSubSubSection''}
@subsection{Second Subsection in ``H4''}
@; ======================================================================
@section[#:tag "no-toc" #:style 'no-toc]{Suppressed ToC Panel}
In multi-page rendering, this page has no gobal table-of-contents
panel, because it is suppressed with @racket['no-toc].
@subsection{Subsection}
@subsection{Another Subsection}
@; ======================================================================
@section[#:tag "all-non-sec"]{Non-Section On-This-Page Links}
This section has only non-section targets in the on-this-page
panel of a multi-page rendering.
Here is the target for the
@toc-target-element[#f @elem{``tocsublink'' 1} `(demo (prefixable "non-sec 1"))]
link.
Here is the target for the
@toc-target-element[#f @elem{``tocsublink'' 2} `(demo (prefixable "non-sec 2"))]
link.
Here is the target for the @as-index{``indexlink''} link in the
@seclink["doc-index"]{index} (where ``indexlink'' is used for the
index entry and not here).
@; ======================================================================
@section{Element Styles}
Some spans:
@itemlist[
@item{@tt{``stt''}}
@item{@elem[#:style 'roman]{``sroman''}}
@item{@elem[#:style "slant"]{``slant''}}
@item{@elem[#:style 'sf]{``ssanserif''}}
@item{@smaller{``Smaller''}}
@item{@larger{``Larger''}}
@item{``hspace'' is used for forced @hspace[3] space}
@item{``url'' is used for URLs: @url{http://racket-lang.org}}
@item{@elem[#:style 'no-break]{``nobreak'', which is used to prevent
line breaks anywhere in the element so that the element may run too
far right}}
@item{@italic{italic} directly sets @tt{font-style} to @tt{italic}}
@item{@bold{bold} directly sets @tt{font-weight} to @tt{bold}}
@item{@elem[#:style 'superscript]{superscript} directly sets
@tt{vertical-align} to @tt{super} and @tt{font-size} to @tt{80%}.}
@item{@elem[#:style 'subscript]{subscript} directly sets
@tt{vertical-align} to @tt{sub} and @tt{font-size} to @tt{80%}.}
]
Link spans:
@itemlist[
@item{@elemref[#:underline? #f '(prefixable "plain-target")]{``plainlink''}
hyperlink to @elemtag['(prefixable "plain-target")]{here}}
@item{@deftech{technical term} definitions are simply italicized by default}
@item{@tech{technical term} references are in ``techoutside'', then ``techinside''}
]
@; ======================================================================
@section{Block Styles}
@nested{This paragraph is in a ``SubFlow'' @tt{
}.} @nested[#:style 'inset]{This paragraph is in a plain @tt{}.} @nested[#:style 'code-inset]{This paragraph is in a ``SCodeFlow'' @tt{}.} @nested[#:style 'vertical-inset]{This paragraph is in a ``SVInsetFlow'' @tt{}. This style is useful when space is not normally included between blocks.} @centered{This paragraph is in a ``SCentered'' @tt{}.} @tabular[#:style 'boxed (list (list @t{A ``boxed'' table.}))] @; ====================================================================== @section{Enumerations} This one is unordered, so it uses @tt{}: @itemlist[ @item{six} @item{half-dozen} ] This one is ordered, so it uses @tt{
}: @itemlist[#:style 'ordered @item{First} @item{Second @itemlist[#:style 'ordered @item{Second, first half} @item{Second, second half @itemlist[#:style 'ordered @item{First half of that} @item{Second half of that @itemlist[#:style 'ordered @item{Thin-slice start} @item{Thin-sliced end} ]} ]} ]} @item{Third} ] This one is ``compact'': @itemlist[ #:style 'compact @item{six} @item{half-dozen} ] This paragraph follows the enumeration above. @; ====================================================================== @section{Paragraph Spacing} This sentence is a paragraph all by itself. @t{This sentence is a paragraph.} @t{This sentence is also a paragraph, but it is connected to the previous paragraph as a compound paragraph by virtue of having no paragraph-breaking space before it, and each paragraph is in a ``SIntraPara'' @tt{
} instead of a @tt{}.} This sentence is a paragraph, as is each of A1, B1, A2, B2, A3, B3a, and B2a in the following table, but B3a and B2a form a compound paragraph. @; @tabular[(list (list "A1" "B1") (list "A2" "B2") (list "A3" @compound-paragraph[plain (list @t{B3a} @t{B3b})]))] @; This sentence is a paragraph, and with the preceding table and paragraph forms a compound paragraph. @nested{ @t{This is a first paragraph in a @tt{
}.} @t{This is a second paragraph in a @tt{}.} } @; ====================================================================== @section{Navigation Bars} For multi-page rendering, this page will have a navigation bar at the top and bottom. The bars are within ``maincolumn'' and ``main''. The tap bar is in ``navsettop'', and the bottom one is in ``navsetbottom''. Within those divs, ``navsetleft'' wraps content to be left-aligned and ``navsetright'' wraps content to be right-aligned. Links that are disabled (such as a next-page link on the last page) are each in a span ``nonavigation''. When a search box is included, then it is in ``searchform'' and then ``searchbox''. If no search box is included, then a ``nosearchform'' @tt{div} is used. Finally, and not part of the nagivation bar, the bottom nagivation bar is followed by a @tt{div} with the name ``contextindicator''. JavaScript code attached to the page copies the @tt{ctxtname} query argument, if any, to the @tt{div} and makes it visible. @; ====================================================================== @index-section[]