.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "tmp::M8Mj6LG7az::Hoola 3" .TH tmp::M8Mj6LG7az::Hoola 3 "2018-12-25" "EN Tools" "EN Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" wml::des::typography \- Typography .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #use wml::des::typography [face_shortcuts] \& \& # paragraph whitespace \& \& () \& \& () \& \& # paragraph text rendering \& \& ... \& ... \& ... \& ... \& \& # headlines \& ... \& (...) \& ... \& (...) \& \& # unsorted lists \& \& ... \& ... \& .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This include file provides tags for more typographically strong layouting then \&\s-1HTML\s0 per default provides. The following tags are provided: .IP "\fBTypographical Paragraph Skip\fR" 4 .IX Item "Typographical Paragraph Skip" \&\fB\f(CB\*(C`\*(C'\fB\fR .Sp This is the typographical way to insert a blank line between two paragraphs. It is not as high as the one generated by \&\s-1HTML\s0's \f(CW\*(C`

\*(C'\fR tag. Default is 4 pixels for \fIheight\fR. Optically and functionally \f(CW\*(C`\*(C'\fR is between \f(CW\*(C`
\*(C'\fR and \f(CW\*(C`

\*(C'\fR. In german this is called \*(L"Durchschuss\*(R", so you can also use the alterntive name \&\f(CW\*(C`\*(C'\fR for this tag. .Sp .Vb 3 \& ...The last line of the previous paragraph. \& \& The new line of the following paragraph... .Ve .IP "\fBTypographical Paragraph Indention\fR" 4 .IX Item "Typographical Paragraph Indention" \&\fB\f(CB\*(C`\*(C'\fB\fR .Sp This is the typographical way to glue paragraphs which should become one optical block. A complete blank line between them would be ugly and without any inserts the reader cannot distinguish between the two paragraphs. The typographical solution here is to indent the second paragraph by \fIwidth\fR pixels. The default is 40 pixels. Optically \f(CW\*(C`\*(C'\fR also includes the effect of \f(CW\*(C`\*(C'\fR. In german this is called `EinrXckung', so you can also use the alterntive name \&\f(CW\*(C`\*(C'\fR for this tag. .Sp Example: .Sp .Vb 2 \& ...The last line of the previous paragraph. \& The new line of the following paragraph... .Ve .IP "\fBBig Paragraph Starting Letter\fR" 4 .IX Item "Big Paragraph Starting Letter" \&\fB\f(CB\*(C`\*(C'\fB\fR .Sp This is the typographical way to mark the beginning of a more important paragraph by rendering the first letter of the first word of this paragraph in huge font. Optically this letter then is approximately three times bigger then the normal text font. Additionally the \&\fBalt\fR attribute of the used \f(CW\*(C`\*(C'\fR tag is set to the letter, so text-based browsers correctly show the first word. Because such a paragraph should also be introduced by more whitespace, one usually uses the standard \f(CW\*(C`

\*(C'\fR tag in front of \f(CW\*(C`\*(C'\fR to achieve the correct optical effect. .Sp Example: .Sp .Vb 3 \& ...The last line of the previous paragraph. \&

\& he new line of the following paragraph... .Ve .IP "\fBSmall Caps Text\fR" 4 .IX Item "Small Caps Text" \&\fB\f(CB\*(C`\*(C'\fB\fR...\fB\f(CB\*(C`\*(C'\fB\fR .Sp This container tag renders its body with small caps, i.e. all lower case letters are changed to upper case while lowered optically via font size. In german typography this is also known as `KapitXlchen'. Optionally when adding the attribute \fBcomplete\fR, all words are forced to begin with an upper case letter, too. .Sp If you have support for i18n (internationalization) you may also convert case of non-ASCII characters. See your local documentation \fBlocale\fR\|(7) for details or ask your system administrator. .IP "\fBSpaced Text\fR" 4 .IX Item "Spaced Text" \&\fB\f(CB\*(C`\*(C'\fB\fR...\fB\f(CB\*(C`\*(C'\fB\fR .Sp This container tag renders its body as spaced text, i.e. text with spaces between the lines and characters. In typpgraphy this is usually used to emphasize the text by the use of whitespace. Per default \fBinterchar\fR and \&\fBinterline\fR are 0, i.e. no spacing. The spacing is achieved by inserting as much \f(CW\*(C` \*(C'\fR entities as \fIinterchar\fR specifies and 1pt\-images of height 14+\fIinterline\fR every fifth word. In german typography this is also known as `Gesperrt'. .IP "\fBHeadline\fR" 4 .IX Item "Headline" \&\fB\f(CB\*(C`\*(C'\fB\fR...\fB\f(CB\*(C`\*(C'\fB\fR .Sp This container tag creates a typographically better headline as the standard \s-1HTML\s0 \f(CW\*(C`

\*(C'\fR does, i.e. it renders the text in Helvetica and used better whitespaces around it. Actually it does not create any whitespace above it, but the correct one below it. This way you can create the leading whitespace your own (which is usually different according to the context) but get nice trailing whitespace (which has to be chosen carefully to make the headline and the following paragraph one unit). In german this is called `Xberschrift' hence the alias \f(CW\*(C`\*(C'\fR. .Sp Example: .Sp .Vb 4 \& ...The last line of the previous paragraph. \&

\& The headline \& The new line of the following paragraph... .Ve .IP "\fBSub-Headline\fR" 4 .IX Item "Sub-Headline" \&\fB\f(CB\*(C`\*(C'\fB\fR...\fB\f(CB\*(C`\*(C'\fB\fR .Sp This container tag creates a typographically better sub-headline as the standard \s-1HTML\s0 \f(CW\*(C`

\*(C'\fR does, i.e. it renders the text in Helvetica and used better whitespaces around it. Actually it does not create any whitespace above it, but the correct one below it. This way you can create the leading whitespace your own (which is usually different according to the context) but get nice trailing whitespace (which has to be chosen carefully to make the headline and the following paragraph one unit). In german this is called `ZwischenXberschrift' hence the alias \f(CW\*(C`\*(C'\fR. .Sp Example: .Sp .Vb 4 \& ...The last line of the previous paragraph. \&

\& The headline \& The new line of the following paragraph... .Ve .IP "\fBVerbatim Code\fR" 4 .IX Item "Verbatim Code" \&\fB\f(CB\*(C`\*(C'\fB\fR...\fB\f(CB\*(C`\*(C'\fB\fR .Sp This container tag renders its body mostly verbatim, i.e. treats it like plain (source) code. Internally this just is an indented \&\f(CW\*(C`\*(C'\fR container from \fBwml::fmt::verbatim\fR\|(3) which itself is an enhanced \f(CW\*(C`

\*(C'\fR container.
.IP "\fBUnnumbered Lists\fR" 4
.IX Item "Unnumbered Lists"
\&\fB\f(CB\*(C`\*(C'\fB\fR...\fB\f(CB\*(C`\*(C'\fB\fR
.Sp
This container tag displays unnumbered lists in a more typographically
strong layout, rendered via \s-1HTML\s0 tables for indentation.
.Sp
\&\fB\f(CB\*(C`\*(C'\fB\fR...\fB\f(CB\*(C`\*(C'\fB\fR
.Sp
Items are prefixed by a box or a dash, depending on the \fBpshape\fR attribute,
and its color may be defined.
.SH "AUTHOR"
.IX Header "AUTHOR"
.Vb 3
\& Ralf S. Engelschall
\& rse@engelschall.com
\& www.engelschall.com
.Ve
.SH "REQUIRES"
.IX Header "REQUIRES"
.Vb 1
\& Internal: P1, P2, P3, P8
.Ve
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\s-1HTML\s0 \f(CW\*(C`\*(C'\fR and \f(CW\*(C`
\*(C'\fR tags.