summaryrefslogtreecommitdiff
path: root/macros/plain/formats/lollipop/doc/manual/head.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/formats/lollipop/doc/manual/head.tex')
-rw-r--r--macros/plain/formats/lollipop/doc/manual/head.tex118
1 files changed, 118 insertions, 0 deletions
diff --git a/macros/plain/formats/lollipop/doc/manual/head.tex b/macros/plain/formats/lollipop/doc/manual/head.tex
new file mode 100644
index 0000000000..2053c58c63
--- /dev/null
+++ b/macros/plain/formats/lollipop/doc/manual/head.tex
@@ -0,0 +1,118 @@
+% head.tex copyright 1992 Victor Eijkhout
+% copyright 2014--2016 Vafa Khalighi
+%
+%
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program. If not, see <http://www.gnu.org/licenses/>.
+%
+%
+\Chapter Headings
+
+Headings for sections, chapters, and such, are an essential part of
+any \TeX\ macro package. In Lollipop they are maybe a bit less
+special: all options for headings are general options, meaning that
+they also apply to text blocks and lists. There are only two things
+that distinguish headings:
+
+\Enumerate
+\item there will be no page break after a heading;
+\item there is no closing command for a heading.
+\>
+
+\Section[sec:head:examples] Examples
+
+Headings are defined by \refcs{DefineHeading}.
+The most obvious element in a heading is the title, marked by the
+option \refopt{title}. The title is anything that follows the heading
+command, upto the first empty line.
+
+\Ver>\SomeHeading Some title
+
+And some text following it.<Rev
+
+\ImpNote
+Titles can also be terminated by \cs{par}, but knowledge of this is
+not encouraged. See further~\ref[imp:title:delimiting].
+\ImpNoteStop
+
+The title has to be
+included in a line or a textcolumn for proper handling (see
+also section~\ref[sec:opt:traps]). For titles that do not exceed one
+line, the \opt{line} option suffices (section~\ref[sec:opt:line]); if a
+title is possibly more than one line long, the \opt{textcolumn} option
+has to be used (section~\ref[sec:opt:textcolumn].
+
+\Example
+\DefineHeading:TestSection Style:bold
+ line:start TestSectionCounter Spaces:2 title line:stop
+ Stop
+\TestSection The Title
+
+The text after the heading.
+\ExampleStop
+
+By default, the text after a heading is indented. Overriding this
+default behaviour is done with the option \refopt{indentafter}.
+
+\Example
+\AlwaysIndent:no % as a default, don't indent paragraphs
+\DefineHeading:TestSection Style:bold
+ line:start TestSectionCounter Spaces:2 title line:stop
+ indentafter:yes Stop
+\TestSection The Title
+
+The text after the heading.\par
+The second paragraph after the heading
+\ExampleStop
+
+Usually headings come in a hierarchy, where the counter of one type,
+for instance a subsection, is reset everytime the counter of a higer
+level is stepped. In \Lollipop, this subordinating of headings is
+done by declaring one counter to be governed by another (counters
+are explained in full detail in section~\ref[sec:counters]).
+
+\Example
+\DefineHeading:TestChapter Style:bold
+ line:start TestChapterCounter Spaces:1 title line:stop
+ Stop
+\DefineHeading:TestSection Style:italic
+ line:start TestChapterCounter : TestSectionCounter . Spaces:1
+ title line:stop Stop
+\GoverningCounter:TestSection=TestChapter
+
+\TestChapter Level One Heading\par
+\TestSection Level Two Heading\par
+Some text.
+\TestSection Level Two again\par
+More text.
+\TestChapter Level One is Stepped\par
+\TestSection Level Two\par
+Again text.
+\ExampleStop
+
+Headings will often wind up in a table of contents. For this, the
+table of contents will have to be declared:
+\Ver>\DefineExternalFile:contents=toc<Rev
+and its formatting will have to be specified, but also every
+construct that writes to this file has to be declared as such.
+
+\Ver>\DefineHeading:TestSection
+ [...]
+ external:contents title external:stop
+ Stop<Rev
+
+Usually, the title is all that has to be written out (the counter
+value is written by default), but the possibility exists for writing
+out other information as well. See section~\ref[sec:ext-option].
+
+\endinput \ No newline at end of file