summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/nicetext
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-04-20 22:50:28 +0000
committerKarl Berry <karl@freefriends.org>2009-04-20 22:50:28 +0000
commitee53eac199e12fb91859fd18a43dd506ff75e3a9 (patch)
treeebe1417122388e1022b9ab77f0af3e687a7c061f /Master/texmf-dist/source/latex/nicetext
parented190dcc699e8dbd39a0f38c26e80270b7e4df92 (diff)
nicetext update (20apr09)
git-svn-id: svn://tug.org/texlive/trunk@12766 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/nicetext')
-rw-r--r--Master/texmf-dist/source/latex/nicetext/fifinddo.tex290
-rw-r--r--Master/texmf-dist/source/latex/nicetext/makedoc.cfg57
-rw-r--r--Master/texmf-dist/source/latex/nicetext/makedoc.tex214
-rw-r--r--Master/texmf-dist/source/latex/nicetext/mdcorr.cfg15
-rw-r--r--Master/texmf-dist/source/latex/nicetext/mkfddoc.tex21
-rw-r--r--Master/texmf-dist/source/latex/nicetext/niceverb.tex331
-rw-r--r--Master/texmf-dist/source/latex/nicetext/wikicheat.tex148
7 files changed, 1076 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/nicetext/fifinddo.tex b/Master/texmf-dist/source/latex/nicetext/fifinddo.tex
new file mode 100644
index 00000000000..d41904d3558
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicetext/fifinddo.tex
@@ -0,0 +1,290 @@
+\ProvidesFile{fifinddo.tex}[2009/04/15 documentation for `fifinddo']
+\title{\textsf{fifinddo}\\---\\Filtering \TeX(t) Files by \TeX}
+\author{Uwe L\"uck\,---\,{\tt http://contact-ednotes.sty.de.vu}}
+\listfiles
+\RequirePackage{fifinddo} %% otherwise it may remain local
+\input{mkfddoc}
+\documentclass{article}
+\usepackage{substr} %% for failure examples
+\input{makedoc.cfg}
+\begin{document}
+\maketitle
+
+\begin{flushright}\small\it FIDO, FIND!\\or:\\FIND FIDO!\\oder:\\FIFI,
+ SUCH!\end{flushright}
+\begin{abstract}\noindent\hspace{1sp}%% for niceverb-apostrophe
+'fifinddo' starts implementing parsing of plain text or \TeX\ files
+using \TeX, generalizing the philosophy behind 'docstrip',
+based on how \TeX\ reads macro arguments.
+Rather than typsetting the edited input stream immediately,
+results are written to another file,
+in the first instance as input for \TeX.
+Rather than presenting a ``complete study'' of a computer-scientific
+idea, it aims at practical applications.
+The main one at present is '\mbox{makedoc}' which removes certain comment
+marks from package files and inserts listing commands.
+Parsing macros are not defined anew at every input chunk,
+but once before a file is processed.
+This also allows for \emph{expandable} sequences of replacements,
+e.g., with `txt'$\to$\TeX\ functionality.
+The method of testing for substrings is carefully discussed,
+revealing an earlier mistake shared with 'substr.sty'
+and \LaTeX's internal `\in@'.
+\end{abstract}
+\tableofcontents
+
+\section{Introduction: The Gnome of the Aim}
+\subsection{Parsing by \TeX---are you mad?}
+The package name 'fifinddo' is a &\listfiles-compatible abbreviation
+of \lq file-find-do\rq\footnote{\lq file\rq\ possibly for ``searching
+ \TeX(t) files'' (I don't remember my thoughts!),
+ while there were requests for doing replacements on
+ \LaTeX\ \emph{environments} on 'texhax'. However, the package might
+ be enhanced in this direction $\dots$ so the name may be wrong
+ $\dots$ but now I like it so much .\,.\,. Or the reason was that
+ results are written to a \emph{separate file}, not typeset
+ immediately.---Let me also mention that \emph{\lq Fifi\rq} (as the
+ package name starts) is a kind of German equivalent to the
+ ``English'' \emph{\lq Fido\rq}, or may have been.}
+(or think of \lq if found do\rq).
+'fifinddo' implements (or aims at) general parsing
+(extracting, replacing [converting], expanding, \dots)
+using \TeX\ where 'texhax' posters strongly urge to use 'sed',
+'awk', or 'Perl'.
+'fifinddo''s opposed rationales are:
+\begin{itemize}
+\item It works instantly on any \TeX\ installation.
+ (\emph{Restrictions:} Some \TeX\ versions &\write certain hex
+ codes for certain characters, cf.\ \TeX book p.~45,
+ I have seen this with PC\TeX. However, some applications of
+ 'fifinddo' are nothing but technical steps where you will read
+ the result files rarely anyway. And I have not yet explored
+ extended encodings.)
+\item You can apply and customize it like any \TeX\ macros, knowing
+ just \TeX\ (or even only the documentation of some user-friendly
+ extension of 'fifinddo'), without the need of learning any
+ additional script language.
+\item The syntax of usual utilities (e.g., ``wildcards'')
+ is sometimes difficult with \emph{\TeX} files
+ with all their backslashes, square brackets, stars,
+ question marks \dots
+\end{itemize}
+%
+At least the first item is just the philosophy of the 'docstrip' program,
+standard for installing \TeX\ packages;
+and while I am typing this, I find at least 14 other similar packages
+in J\"urgen Fenn's \emph{Topic Index} of the \emph{\TeX\ Catalogue:}
+% \begin{quote}\small
+\[\texttt{%%%\small
+ http://mirror.ctan.org/help/Catalogue/bytopic.html\string#parsingfiles}\]
+% \end{quote}
+(Some of them may have been \emph{reactance} to 'texhax' and other
+postings urging not to try something like this; some seem just to be
+celebrations of the power of \TeX---yes, celebrate!)
+
+Actually, \TeX's mechanism of collecting macro arguments is hard-wired
+parsing at quite a high level. \LaTeX\ hides this from
+``simple-minded'' users by a convention \emph{not} to use that full
+power of \TeX\ for \emph{end-user macros}.
+\emph{Internally}, \LaTeX\ \emph{does} use it in reading
+lists of options and file dates as well as to implement certain
+`FOR'- and `WHILE'-like loop programming structures.
+\LaTeX's `\in@'/`\ifin@' construction is an implementation of a
+``<string1> occurs in <string2>'' test. More packages seem to use
+this idea for extracting file informations, like 'texshade'.
+
+However, such packages don't make much ado about parsing,
+there seems to be no general setup mechanism as are presented by
+'fifinddo'. Indeed, tayloring parsing macros to specific applications
+may often be more efficient than a general approach.
+
+\subsection{Useful for \dots}
+My main application of 'fifinddo' at present is typesetting
+documentations of packages using 'makedoc' which removes certain
+percent marks and inserts listing commands, so you edit a package file
+with as little documentation markup as possible.
+This may be extended to other kinds of documents as an alternative
+to 'easylatex' or 'wiki' (the approach of which is dangerous and
+incompatible with certain other things).
+
+I have used a similar own package 'txtproc' successfully,
+where more features were implemented for practical purposes
+than are here so far, yet I don't like its implementation, want to
+improve it here. This package also \emph{created batch files}, e.g.,
+to remove temporary files.
+This could be used for package handling:
+typset the documentation at the desired place in the tree,
+write the packages to another, write a batch file to remove
+files that are not needed any more after installation
+(cf.\ 'make'). %%% !? cf. Wiki `Make (software) 2009/04/11
+
+I used 'txtproc' also for \emph{large-scale substitutions}
+(it had been decided to change the orthography in a part of a book).
+Other large-scale substitutions may be:
+\begin{itemize}
+\item inserting &\index commands;
+\item inserting (soft) hyphenation commands near accents;
+\item manual umlaut-conversion.\footnote{If you know the ``names''
+ of the encodings, Heiko Oberdiek's 'stringenc' may be
+ preferable.}
+\item typographical (or even orthographical) corrections (same mistake
+ many times on each of hundreds of pages).
+ You may turn `...' into `$\dots$' and `etc.' into `etc.\'
+ etc.\footnote{But what when a new sentence is starting indeed?
+ Well, `cf.' is an easier example.---`etc.' even showed
+ a problem in 'niceverb'. 'mdcorr.cfg' replaces `etc. '
+ only, so you can keep the extra space by a code line break
+ (2009/04/11)}
+ This could replace packages like 'easylatex', 'txt2latex',
+ 'txt2tex' in a customizable way, using, e.g., the ``correct''
+ hook from 'makedoc.sty' as exemplified in 'mdcorr.cfg'
+ (2009/04/12, see examples section of 'makedoc.pdf').
+ Section~\ref{sec:replchain} provides setup for such macros.
+\item as to 'easylatex' again, \emph{lists} could be detected and
+ transformed into \LaTeX\ list commands. This could re-implement
+ the lists functionality of 'wiki.sty' that is somewhat
+ dangerous. %% TODO 2009/04/15
+\item introduce your own \emph{shorthands} to be expanded not as \TeX\ macros,
+ but by text substitution;
+\item in EPS files, copy the bounding box to the top two lines
+ for the 'graphics' bundle.
+\end{itemize}
+%
+In certain cases, insertions deteriorate readability, hyphenation
+corrections even make text search difficult.
+It is therefore suggested to
+\begin{enumerate}
+\item keep editing the file without the insertions,
+\item run the script (commands based on 'fifinddo') for insertions
+ in the preamble of the main file
+ (```\jobname.tex''', maybe &\input the script file) and
+\item &\input the result file within the `document' environment.
+\end{enumerate}
+
+In general, differences to ``manual'' replacing by the substitution
+function of your \emph{text editor} is that
+\begin{itemize}
+\item you first keep the original version,
+\item you can check the resulting file before you replace the original
+ file by it,
+\item you can store the replacement script in order to check for
+ mistakes at a later stage of your work,
+\item you can do \emph{all} the replacements in \emph{one run}
+ (by \emph{one} script to check for mistakes),
+\item you can store replacement scripts for future applications,
+ so you needn't type the patterns and replacement strings anew.
+\end{itemize}
+
+
+\subsubsection{Missing}
+% \subsection{To implement or not to implement \dots} %% TODO!? 2009/04/13
+% Actually, 'fifinddo' doesn't implement very much, and this possibly
+% won't change, even if I am lucky. ``Practical applications'' tend to
+% show (in my view) that there is a very complex space of possibilities
+% what parsing macros could do. If I try to ``attack'' 'Perl' or so,
+% cf.\ 'CPAN'\@. If I am lucky and become famous, 'fifinddo' will get many
+% extensions in separate packages, cf.\ 'pstricks'. I also like it when
+% you can choose among packages for similar purposes, and this may apply
+% to extensions of 'fifinddo' as well.
+%
+% What \emph{really} is missing very badly at present is matching
+% \emph{sequences} of strings. However, 'makedoc' contains a practical
+% application of this for the case that both strings appear \emph{in the same
+% line}. A better algorithm would have to read more lines from the input
+% file etc.
+%
+% As it just comes to my frightened mind, there is even a problem with
+% ``strings''/``patterns'' that are \emph{phrases} of words, containing
+% spaces \dots
+%
+% Clearly much comfort concerning \emph{routine} jobs is missing now,
+% 'txtproc' has more. Please sponsor (or otherwise support) the work for
+% improving this.
+%
+It should be noted (perhaps here) that the present approach to parsing
+is a quite \emph{simple} one and in this respect much different to the
+string handling mechanisms of 'stringstrings', 'ted', 'xstrings' (as I
+understand them, perhaps also 'coolstr') which are \emph{much more
+powerful} than what is offered here---but perhaps slow and for
+practical applications possibly replaceable by the present approach.
+\emph{Expandable replacement} seems not to exist outside 'fifinddo'
+(2009/04/13).
+
+Much is missing, I know.\footnote{There
+ is more in my badly implemented 'txtproc.sty'.}
+I am just implementing what I actually need
+and what could show that this approach is worth being pursued.
+It may need being sponsored or otherwise supported.
+
+\subsection{For insiders}
+
+\emph{Warning:} You may (at least at the present state of the work)
+have little success with this package, if you don't know about
+\TeX's category codes and how \TeX\ macros are defined.
+The package rather provides tools for package writers.
+You may, however, be able to run other packages which just load
+'fifinddo' as required background.
+
+That 'fifinddo' acts on ``\TeX(t)'' files or so means that
+(at present) I think of applications on ``plain text'' files which
+will usually be \TeX\ input files. ``At present'' they are read
+without ``special characters,'' so essentially category codes of input
+characters are either 11 (``letter'') or 12 (``other'').
+This way some things are easier than with usual \TeX\ applications:
+\begin{enumerate}
+\item You can ``look into'' curly braces and ``behind'' comment characters.
+\item There are exact or safe tests especially of \emph{empty macro arguments}
+ that are ``expandable,'' i.e., they are ``robust,''
+ don't need assignments, can be executed in `\write'ing and in
+ `\edef' definitions. ``Usually,'' the safe way to test emptiness
+ is storing a macro argument as a macro, say `\tempo', in order
+ to test `\ifx\tempo\empty' where `\empty' has been defined
+ by `\def\empty{}' in the format. But this requires some
+ `\def\tempo{#<n>}' which breaks in ``mere expanding''
+ (\TeX\ \emph{evaluates} `\tempo' instead of defining it).
+ An \emph{expandable} test on emptiness is, e.g. `\ifx$#<n>$',
+ where we hope that it becomes `\iftrue' just if macro argument
+ `#<n>' is empty indeed. However, ``usually'' it may \emph{also}
+ become `\iftrue' when `#<n>' starts with `$'---if the latter
+ has category code 3 (``math shift''). But 'fifinddo' does
+ not assign category code 3 to any character from the input file!
+ Therefore `\ifx$#<n>$' is `\iftrue' \emph{exactly} if `#<n>' is
+ empty.
+\item You can avoid interference with packages that are needed for
+ typesetting. You can do the ``preprocessing'' in one run with
+ typesetting, but you should do the preprocessing before you
+ load packages needed for typesetting. One may even try to keep
+ the macros and settings for preprocessing local to a group.
+\end{enumerate}
+%
+Once there may be an option to read input with some usual \TeX\
+category codes as well, it may be useful to (some of)
+\begin{itemize}
+\item avoid matching substrings of control words,
+\item skip blank spaces as \TeX\ does it usually,
+\item catch \emph{balanced} input pieces,
+\item ignore comments,
+\item ignore certain characters.
+\end{itemize}
+
+The essential approach of 'fifinddo' to looking for single strings is
+described in some detail in section~\ref{sec:theory}.
+
+The implementation of 'fifinddo' is as follows.
+User commands are specially highlighted (boxed\slash coloured),
+together with their syntax description.
+
+% \end{document}
+
+\section{Preliminaries}
+\subsection{Head of file (Legalese)}
+ \sloppy %% 2009/04/06
+\input{fifinddo.doc}
+\end{document}
+
+%% TODO cf. Kastrup 'makematch' and others 2009/04/09
+
+%% 2009/04/10: title break, by -> with(!?); `boxed/coloured'
+%% 2009/04/12: useful: own shorthands
+%% 2009/04/13: substr.sty, \emph{expandable}, w/o `implement'!?
+%% 2009/04/15: same with \in@
diff --git a/Master/texmf-dist/source/latex/nicetext/makedoc.cfg b/Master/texmf-dist/source/latex/nicetext/makedoc.cfg
new file mode 100644
index 00000000000..6d4a9780294
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicetext/makedoc.cfg
@@ -0,0 +1,57 @@
+\ProvidesFile{makedoc.cfg}[2009/04/15
+ local settings for `makedoc.sty' etc.]
+
+\RequirePackage{moreverb}
+\newenvironment{packagecode}
+ {\PackageCode}
+ {\endPackageCode}
+\gdef\PackageCode{%
+ \small
+%% Get rid of 'niceverb' stuff:
+ % \MakeOther\`\MakeOther\'%% probably OK with moreverb
+ \MakeOther<\MakeOther\|%
+ %% <- TODO should be 'niceverb' command 2009/04/08
+ \listing{1}}
+\gdef\endPackageCode{%
+ \endlisting
+ \global\def\PackageCode{%
+ \small
+ % \MakeOther\`\MakeOther\'%% probably OK with moreverb
+ \MakeOther<\MakeOther\|% niceverb
+ \listingcont}%
+ \global\let\endPackageCode\endlistingcont}
+\renewcommand*{\listinglabel}[1]{%
+ \llap{\scriptsize\rmfamily\the#1}\hskip\listingoffset\relax}
+
+\RequirePackage{niceverb}[2009/04/11] %% (' and ''; `etc.'\@
+\DeclareRobustCommand{\cs}[1]{\texttt{\char`\\#1}}
+ %% <- `&\@tempa' and `&\_tempa' fail 2009/04/14
+\RequirePackage{color}
+
+%% TODO rather in 'niceverb' 2009/04/06:
+\CatCode\|\active
+\newcommand*{\CmdBox}{%
+ \ifvmode \pagebreak[1]\fi %% TODO!? 2009/04/06
+ \begingroup \let\do\MakeOther \dospecials \tt \TypesetCmdBox}
+\def\TypesetCmdBox#1|{%% redefine for changing design
+% \fboxrule=.6pt \fboxsep=-\fboxrule
+% \fcolorbox[cmyk]{0,0,0,1}{.1,0,.2,.1}{%
+% \kern2pt\strut\CmdSyntaxVerb#1\kern2pt}}}
+% \kern2pt\strut#1\kern2pt}%% \dospecials version
+% \fboxrule=.6pt \fboxsep=.2pt
+% \fbox{%
+% \fboxrule=0pt \fboxsep=-1pt
+ \fboxrule=0pt \fboxsep=0pt
+% \kern.2pt
+ \colorbox[cmyk]{.1,0,.2,.05}{%
+ \kern1.6pt\strut#1\kern1.6pt}%
+% \kern.2pt
+% }%
+ \endgroup
+ \nopagebreak[3]} %% TODO!? 2009/04/06
+\let|\CmdBox
+
+\pagestyle{headings}
+
+\endinput
+
diff --git a/Master/texmf-dist/source/latex/nicetext/makedoc.tex b/Master/texmf-dist/source/latex/nicetext/makedoc.tex
new file mode 100644
index 00000000000..6808f391b50
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicetext/makedoc.tex
@@ -0,0 +1,214 @@
+\ProvidesFile{makedoc.tex}[2009/04/15 documentation for `makedoc.sty']
+\title{\textsf{makedoc}---Preprocessing documentation by \TeX}
+ %% 2009/04/10: \\---\\\ breaks TOC
+\author{Uwe L\"uck\,---\,{\tt http://contact-ednotes.sty.de.vu}}
+\listfiles
+ \begingroup %% generate makedoc.doc and mdcorr.doc
+\RequirePackage{makedoc}
+\input{mdcorr.cfg}
+\LaTeXresultFile{makedoc.doc}
+\HeaderLines{22}
+\MainDocParser{\ProcessInputWith{comment}}
+\MakeDoc{makedoc.sty}
+\CloseResultFile
+
+\LaTeXresultFile{mdcorr.doc}
+\HeaderLines{0}
+\MainDocParser{\ProcessInputWith{comment}}
+\MakeDoc{mdcorr.cfg}
+\CloseResultFile
+ \endgroup %% makedoc.doc and mdcorr.doc ready
+\documentclass{article}
+\input{makedoc.cfg}
+\begin{document}
+\maketitle
+\begin{abstract}\noindent\hspace{1sp}%% for niceverb-apostrophe
+'makedoc' provides commands for generating \LaTeX\ input from a
+package file in order to typeset documentation of the latter
+(somewhat similar and opposite to 'docstrip').
+Certain comment marks are removed, and listing commands are inserted.
+This continues the policy of 'niceverb' to minimize documentation
+markup in package files. 'makedoc' extends and exemplifies the parsing
+package 'fifinddo'. After an edit (and test) of your package,
+you get the new documentation in one run (or two or three runs---for
+labels and TOC, as usual) of the documentation driver file.---This
+is an \emph{alternative} to the standard 'doc' package and its
+`\DocInput'. The present approach provides \emph{less} than 'doc'
+does, rather deliberately. It may be helpful at least for the
+development of small packages, or at least at early stages.
+\end{abstract}
+\tableofcontents
+\section{Introduction}
+The abstract will not be repeated in this section. Let me add instead
+that I was in dire need of such a package, I got stuck with my packages
+because I lost orientation in them, and I was unhappy with the forms
+of documentations of my other packages, and documenting them with the
+'doc' system was not attractive for me (neither considered helpful).
+I also worked on \emph{Windows} until September 2008, and I find a system
+like the present one still more attractive then using (learning!\@)
+other filtering utilities (see below on 'awk'). And I may work on
+\emph{Windows} once again and don't want to depend on installing some $\dots$
+there.
+
+\subsection{Prior work and what is new}
+It is, of course, not a new idea to get around comment marks `%' to
+typeset the documentation. 'doc''s `\DocInput' does this by making `%'
+an ``ignored'' character. This way you cannot use `%' for commenting
+comments (so 'doc' offers a ``new comment mark'' `^^A').
+You also cannot use `%' for commenting out code (that you are
+pondering or use for debugging only).
+
+Moreover, 'doc' requires enclosing package code explicitly by
+environment commands (behind comment marks). Stephan I. B\"ottcher
+with his 'lineno.sty' and Grzegorz Murzynowski in 'gmdoc' aimed at
+doing away with this requirement. 'lineno.sty' contains 'awk' scripts
+to remove starting comment marks and to insert listing commands.
+A file 'lineno.tex' is generated that typesets the documentation.
+By the way, 'lineno.sty' is full of discussions, but it is not
+'docstrip'ped---the maintainers never have received a complaint
+that inputting 'lineno.sty' were too slow.
+
+'gmdoc' seems to get around comment marks and insert listing commands
+\emph{while typesetting} by a refined version of `\DocInput',
+through some careful detecting and analysing comment marks,
+the approach resembles detection of lists in 'wiki.sty'.\footnote{See
+ 'gmdoc.pdf' on &\DocInput. You can learn a lot from this 220 pages
+ document! I also find 'pauldoc' and 'xdoc' inspiring.}
+And this is a matter of principles---comparing the approaches of
+\emph{preprocessing} ('lineno.sty') and \emph{``smart typesetting''}
+('gmdoc', 'wiki'). Sometimes preprocessing seems to be simpler,
+sometimes detecting while typesetting. (Another example is the
+preprocessor 'easylatex' of which 'wiki.sty' is a much reduced
+``while typesetting'' variant.) ``While typesetting'' may be easier
+when single characters or sequences of two or three encode markup
+information---but such detection can badly interfere with other
+packages etc. ``Preprocessing'' may be easier when entire ``strings''
+of characters decide, which may be anywhere in a file line.
+
+'makedoc' chooses \emph{preprocessing}, as 'lineno.sty', but by
+\emph{\TeX}. There is a general discussion of this choice in the
+documentation of 'fifinddo'. Preprocessing here can be done in the
+same \LaTeX\ run as typesetting, though you can avoid
+incompatabilities with packages needed for typesetting
+(by inputting them only \emph{after} preprocessing).
+
+'lineno.sty' exemplifies why preprocessing with \emph{\TeX} may be
+preferable to preprocessing with other utilities:
+When I took over maintenance of 'lineno.sty',
+I needed hard work to get the 'awk' script running.
+The \emph{Munich} 'awk' seemed \emph{not} to behave as the \emph{Kiel}
+'awk' (I chose a Munich 'nawk' and reworked the script a little).
+\TeX\ seems to have better fixed functionality than other utilities!
+
+%% TODO Paul Isambert's (CTAN recently) 2009/04/08
+
+\subsection{Basics on using 'makedoc'}
+At least in the long run, using 'makedoc' should not imply commitment
+to a certain design or to certain \LaTeX\ packages for typesetting
+listings and documentations. Therefore, 'makedoc.cfg' (currently)
+contains \emph{local} or \emph{personal choices}, but also
+\emph{experiments} with future features of 'niceverb'.
+Especially, (at present) the `packagecode'
+environment that 'makedoc' `\write's must be chosen.
+Currently this is the `listing' environment from 'moreverb'
+with some modifications or extra settings.
+It may be vital to `\MakeOther' the active characters from 'niceverb'
+in the setup of `packagecode'. See the \emph{example} in
+section~\ref{sec:fifinddo}.
+
+Finally, each package file to be typeset will need its own
+\emph{script} of 'makedoc' commands. It should fit into the preamble
+of the main file for documenting the package (currently %% 2009/04/09
+ just 5 commands seem to suffice, see the \emph{example} in
+ section~\ref{sec:fifinddo} and section~\ref{sec:script}
+ on typical ``bundling'' \emph{script commands}).
+As an alternative, you may prefer to have ``content only'' (as much as
+possible) in the main typesetting file and in its preamble only
+`\input' a separate script file.
+
+Yes, the idea of documenting a package \emph{here} is to have a
+separate ``driver'' file for typsetting the documentation.
+It may contain an introduction and a guide for users.
+The documentation of the package code that has been prepared by the
+'makedoc' script will be `\input'. Alternatively, the ``driver file''
+could have title etc.\ only, or preamble and a minimal `document'
+environment only.
+
+So there may be many files, which may look confusing, especially as
+compared with the 'doc' procedure. However,
+\begin{enumerate}
+\item ``One file distribution'' still is possible thanks to the
+ `filecontents' environment.
+\item The 'makedoc' script can create a batch file (fitting the
+ system, maybe using Will Robertson's 'ifplatform', or
+ 'texsys.cfg', or \dots)
+ that removes certain auxiliary files or moves them to a
+ certain directory.
+\item I find it helpful to have rather little ``contentual'' text
+ in the package file.
+\item The procedure now runs very smoothly, once the stumbling blocks
+ have been overcome.\footnote{\hspace{1sp}%% TODO help in 'niceverb'!
+ 'niceverb' v0.1 was too sloppy with
+ some things, and self-documentation of 'makedoc.sty' was
+ difficult---its parsing and that from 'verbatim' cannot
+ distinguish between markup code and typeset code.}
+\end{enumerate}
+
+\subsection{Examples}
+The documentations of 'fifinddo' and of 'makedoc' itself are typeset
+using 'makedoc' (\hspace{1sp}'niceverb.pdf' as well, yet comments
+remained scarce). 'fifinddo.pdf' documents 'fifinddo.sty', typeset
+from 'fifinddo.tex', likewise 'makedoc.pdf'.
+Section~\ref{sec:fifinddo} contains listings of 'makedoc.cfg' and the
+'makedoc' script file 'mkfddoc.tex' especially made for 'fifinddo.pdf'.
+'fifinddo.doc', 'makedoc.doc', and 'niceverb.doc' are the \TeX\ input
+files that were made with 'makedoc.sty'---I have only looked at them
+when something was wrong (often syntax mistakes in typing).
+
+The Wikipedia syntax feature `%% === subsubsection ===' is only used in
+'fifinddo.sty' and 'niceverb.sty'.
+
+\section{Implementation}
+\subsection{Preliminaries}
+Head of file (Legalese):
+\sloppy
+\input{makedoc.doc}
+The previous empty code line is the one \TeX\ insists to add at every
+end of a file it writes. %% todo TeXbook where? 2009/04/08
+
+\section{Examples: documentation of 'fifinddo'}\label{sec:fifinddo}
+
+\subsection{\hspace{1sp}'makedoc.cfg'}
+'fifinddo.pdf' and 'makedoc.pdf' were typeset with the following
+configuration file 'makedoc.cfg':
+\begingroup \MakeOther\|\MakeOther\`\MakeOther\'\MakeOther\<
+ %% <- TODO should be 'niceverb' command 2009/04/08
+ \listinginput[5]{1}{makedoc.cfg}
+\endgroup
+
+\subsection{\hspace{1sp}'mkfddoc.tex'}
+'fifinddo.pdf' was typeset with the following 'makedoc' script file
+'mkfddoc.tex':
+\begingroup \MakeOther\|\MakeOther\`\MakeOther\'\MakeOther\<
+\listinginput[5]{1}{mkfddoc.tex}
+\endgroup
+
+\subsection{\hspace{1sp}'mdcorr.cfg'}
+'fifinddo.pdf' and 'makedoc.pdf' were typeset with the following
+typographical corrections in 'mdcorr.cfg':
+\strut\hrule
+\begingroup \MakeOther\|\MakeOther\`\MakeOther\'\MakeOther\<
+\listinginput[5]{1}{mdcorr.cfg}
+\endgroup
+\hrule\strut
+This code also exemplifies the syntax 'niceverb' provides for writing
+about \LaTeX\ macros. It is typeset here with 'makedoc.sty' again
+and then looks thus:
+\strut\hrule
+\input{mdcorr.doc}
+\strut\hrule
+
+\end{document}
+
+2009/04/12: more on examples
+2009/04/15: exemplification of niceverb.sty by mdcorr.cfg
diff --git a/Master/texmf-dist/source/latex/nicetext/mdcorr.cfg b/Master/texmf-dist/source/latex/nicetext/mdcorr.cfg
new file mode 100644
index 00000000000..44e21e0ae80
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicetext/mdcorr.cfg
@@ -0,0 +1,15 @@
+\ProvidesFile{mdcorr.cfg}[2009/04/15
+ local typographical corrections with makedoc.sty]
+%% Also demonstrates 'niceverb.sty'.
+\renewcommand*{\PatternCodes}{\MakeOther\\\MakeOther\ }
+\renewcommand*{\MakeDocCorrectHook}[1]{\ProcessStringWith{#1}{dots}}
+%% |\MakeExpandableAllReplacer{<id>}{<find>}{<replace>}{<id-next>}|%
+%% \footnote{Yes,
+%% &\MakeExpandableAllReplacer{<id>}{<find>}{<replace>}{<id-next>}.}
+\MakeExpandableAllReplacer{dots}{...}{$\dots$}{cf}
+\MakeExpandableAllReplacer{cf}{cf.}{cf.\ }{etc}
+\MakeExpandableAllReplacer{etc}{etc. }{etc.\ }{LEAVE}
+%% So you can keep inter-sentence space after `etc.'
+%% by a code line break
+\renewcommand*{\PatternCodes}{\fdPatternCodes}
+%% ... restores 'fifinddo' default.
diff --git a/Master/texmf-dist/source/latex/nicetext/mkfddoc.tex b/Master/texmf-dist/source/latex/nicetext/mkfddoc.tex
new file mode 100644
index 00000000000..c4a4937a963
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicetext/mkfddoc.tex
@@ -0,0 +1,21 @@
+\ProvidesFile{mkfddoc.tex}[2009/04/15
+ prepare typesetting fifinddo.sty]
+
+ \begingroup %% generate fifinddo.doc
+\RequirePackage{makedoc}[2009/04/13]
+\input{mdcorr.cfg}
+
+% \NoEmptyCodeLines %% TODO
+\ProcessLineMessage{}
+\LaTeXresultFile{fifinddo.doc}
+\HeaderLines{23}
+\MainDocParser{%
+% \IfInputLine{=33}{\tracingmacros=1 }{}
+% \IfInputLine{=35}{\tracingmacros=0 }{}
+ \SectionLevelTwoParseInput}
+% \tracingmacros=1
+\MakeDoc{fifinddo.sty}
+\CloseResultFile
+ \endgroup %% fifinddo.doc ready
+\endinput
+
diff --git a/Master/texmf-dist/source/latex/nicetext/niceverb.tex b/Master/texmf-dist/source/latex/nicetext/niceverb.tex
new file mode 100644
index 00000000000..629d240c458
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicetext/niceverb.tex
@@ -0,0 +1,331 @@
+\ProvidesFile{niceverb.tex}[2009/04/15 documenting niceverb.sty]
+\title{\textsf{niceverb.sty}\\---\\Minimizing
+ Markup\\for Documenting \LaTeX\ packages%%% \thanks{This
+% manual describes package version
+% version 0.2 as of April 09, 2009%%%\fileversion\ as of \filedate\
+% .}}%%%of the package.}%
+}
+\author{Uwe L\"uck\\{\tt http://contact-ednotes.sty.de.vu}}
+\listfiles
+ \begingroup %% build niceverb.doc
+ \RequirePackage{makedoc}
+ \LaTeXresultFile{niceverb.doc}
+ \HeaderLines{19}
+ \MainDocParser{\SectionLevelTwoParseInput}
+ \MakeDoc{niceverb.sty}
+ \CloseResultFile
+ \endgroup
+% \input{mknvdoc.tex}
+\documentclass{article}%% TODO paper dimensions!?
+\input{makedoc.cfg}\MakeOther\|%% TODO \verb| 2009/04/09
+%% removed 2009/04/09 for makedoc.sty:
+% \usepackage{niceverb}
+% \usepackage{moreverb}
+% \usepackage{verbatim}
+% \newenvironment{packagecode}
+% {\PackageCode}
+% {\endPackageCode}
+% \gdef\PackageCode{\small \listing[5]{1}}
+% \gdef\endPackageCode{%
+% \endlisting
+% \global\def\PackageCode{\small \listingcont}%
+% \global\let\endPackageCode\endlistingcont}
+% \renewcommand*{\listinglabel}[1]{%
+% \llap{\footnotesize\rmfamily\the#1}\hskip\listingoffset\relax}
+
+\begin{document}
+\maketitle
+
+\begin{abstract}\noindent\hspace{1sp}%% exemplifies a problem
+'niceverb.sty' provides very decent syntax for describing \LaTeX\
+packages and the syntax of macros conforming to \LaTeX\ syntax
+conventions.
+\end{abstract}
+\tableofcontents
+
+ %% TODO table listing active characters
+\section{Presenting 'niceverb'}
+\subsection{Purpose}
+% \begin{abstract}\noindent
+% The 'nicetext' bundle provides ``minimal'' markup
+The 'niceverb' package provides ``minimal'' markup for documenting \LaTeX\
+packages, reducing the number of keystrokes/visible characters needed
+% .\,.\,. %%% ... %% TODO nicedots
+(kind of poor man's WYSIWYG).\footnote{``What you see is what you
+get.'' Novices are always warned that WYSIWYG is essentially
+impossible with \LaTeX.}
+% One feature---\verb'&\foo'%%% badly self-documenting, `&' fails
+It conveniently handles command names in arguments of macros
+such as &\footnote or even of sectioning commands.
+% (`.aux'/`.toc' entries).
+%
+% This is done by making some characters active.
+% 'niceverb.sty' thus resembles 'wiki.sty'; both are siblings.
+% \end{abstract}
+If you use 'makedoc.sty' additionally, commands for typesetting a
+package's code are inserted automatically (just using \TeX).
+%%% \footnote{Stephan I. B\"ottcher used
+%%% 'awk' instead to typeset the documentation of his 'lineno.sty'.}
+As opposed to tools that are rather common on UNIX/Linux, this
+operation should work at any \TeX\ installation, irrespective of
+platform.
+
+Both packages may at least be useful while working at a very new package
+and may suffice with small, simple packages. After having edited your
+package's code (typically in a `.sty' file), you just ``{`latex'}'' the
+manual file (maybe some `.tex' file) and get instantly the corresponding
+refreshed documentation.
+
+'niceverb' and 'makedoc' may also help to generate without much effort
+documentations of nowadays commonly expected typographical quality for
+packages that so far only had plain text documentations.
+
+\subsection{Acknowledgement/Basic Ideas}
+Three ideas of Stephan I. B\"ottcher's in documenting his 'lineno.sty'
+inspired the present work:
+\begin{enumerate}
+\item
+The markup and its definitions are short and simple,
+markup commands are placed at the right ``margin''
+of the ASCII file,
+so you hardly see them in reading the source file,
+you rather just read the text that will be printed.
+\item
+An 'awk' script removes the `%'s starting \emph{documentation} lines
+and inserts the commands for typesetting the package's \emph{code}
+(you don't see them in the source).
+\item
+An active character (\lq&|\rq) issues a `\string' \emph{and} switches
+to typewriter typeface for typesetting a command verbatim---so this
+works without changing category codes (which is the usual idea of
+typesetting code), therefore it works even in macro arguments.
+\end{enumerate}
+
+\subsection{The Commands and Features of 'niceverb'}
+
+Single quotes \verb|`|, \verb|'|, ``less than'' \verb|<| (accompanied
+with \verb|>|), the hash mark \verb|#|, ampersand \verb|&|, and in an
+extended ``auto mode'' even backslash \verb|\| become &\active
+characters with ``special effects.'' \lq`|'\,.\,.\,.\,`|'\rq\
+should highlight descriptions of user commands and their syntax.
+
+The package mainly aims at typesetting commands and descriptions of their
+syntax \emph{if the latter is ``standard \LaTeX-like''},
+using ``meta-variables.'' A string to be
+typeset ``verbatim'' thus is assumed to start with a single command like
+&\foo, maybe followed by stars (\lq`*'\rq) and pairs of
+square brackets (`['.\,.\,.`]') or
+curly braces (\verb'{'.\,.\,.\verb'}'),
+where those pairs contain strings indicating the typical
+kinds of contents for the respective arguments of that command.
+A typical example is this:
+\[&\foo*[<opt-arg>]{<mand-arg>}\]
+This was achieved by typing \[\verb'&\foo*[<opt-arg>]{<mand-arg>}'\]
+In ``auto mode'' of the package, even typing
+\[\verb|\foo*[<opt-arg>]{<mand-arg>}|\]
+ %% angle brackets feature to be suppressed here!
+would have sufficed---WYSIWYG! (I call such mixtures of
+\emph{verbatim} and ``meta-variables'' \textit{\lq meta-code\rq}.)
+
+Now for the details:
+\begin{description}
+
+\item[``Meta-variables:''] {\sloppy The package supports the ``angle
+brackets'' style of ``meta-variables'' (as with <meta-variable>).
+You just type \lq\verb'<foo>'\rq\ to get \lq<foo>\rq.\par}
+
+This works due to a sloppy variant &\SimpleVerb of &\verb
+which doesn't care about possible ligatures and definitions of active
+characters. Instead, it assumes that the ``verbatim'' font doesn't
+contain ligatures anyway. \lq\verb'\verb|<foo>|'\rq, by contrast, just
+yields \lq\verb'<foo>'\rq.
+
+Almost the same feature is offered by 'ltxguide.cls' which formats the
+basic guides from the \LaTeX\ Project Team. The present feature,
+however, also works in plain text outside verbatim mode.
+% On the other hand: without << feature
+
+\item[Single quotes (left/right) for ``short verb:'']
+{\sloppy The package ``assumes'' that \emph{quoting} refers to
+\emph{code}, therefore \lq\verb|`foo'|\rq\ is typeset as
+\lq`foo'\rq. This somewhat resembles the &\MakeShortVerb feature of
+'doc.sty'.\par}
+
+It will typically fail when you try to typeset commands (and their
+syntax) in \emph{macro arguments}---e.g.,
+$$\verb|\footnote{`\bar' is a celebrated fake example!}|$$
+will try to \emph{execute} &\bar instead of typesetting it, giving
+an ``undefined'' error so.
+\verb|\verb| fails in the same situation, for the same reason.
+\lq\verb|&|\rq\ (&\footnote{&&&\bar<remaining>}) or
+``auto mode'' (see below) may then work better.
+
+Double quotes and apostrophes should still work the usual way;
+otherwise you could control the parsing mechanisms using curly braces
+(outside and inside don't interact).
+To get usual single quotes, you can use their standard substitutes
+`\lq' and `\rq'.
+You can ``abuse'' this ``single quotes'' feature just to get typewriter
+typeface.\footnote{In macro arguments this requires that the right
+single quote &' is &\active.}
+For difficult cases, you can still use the standard `\verb'
+command from \LaTeX.
+
+\item[Single right quotes for &\textsf:]
+{\sloppy Package names are (by some unwritten convention!?)
+typeset with `\textsf';
+it was natural to use a remaining case of using single quotes
+for abbreviating &\textsf{<text>} by \SimpleVerb|'<text>'|.\footnote{%
+Font switching by sequences of single quotes is a feature of the
+syntax for editing Wikipedia pages and of 'wiki.sty'.}\par}
+%% TODO fails in parentheses due to preserving apostrophes
+
+This idea of switching fonts continues font switching of 'wiki.sty'
+which uses the syntax for editing Wikipedia pages.
+
+\item[Ampersand \lq&&\rq\ typesets command syntax even in arguments:]
+\hfil e.g., type \lq\verb|&\foo{<arg>}|\rq\ to get
+\lq`\foo{<arg>}'\rq. This may be even more convenient for typing than
+the single quotes method, although looking somewhat strange.
+However, `&' may terminate \textit{verbatim} unexpectedly, being
+designed for displaying ``\LaTeX-like command syntax'' in the first
+instance.\footnote{Moreover, && currently has a limited 'xspace'
+functionality only.}\footnote{You can even use && for referring to
+ active characters like && in footnotes etc.!}
+
+\begin{sloppypar}
+This choice of `&' rests on the assumption that there won't be many
+tables in the documenation. You can restore the usual meaning of `&'
+by \verb|\MakeAlign\&| and turn the present special meaning on again by
+$$\verb|\MakeActiveLet\&\CmdSyntaxVerb|.$$
+You could also
+redefine (&\renewcommand) &\descriptionlabel using `\CmdSyntaxVerb'
+(the ``normal command'' equivalent to `&') so \verb|\item[\foo]| works
+as wanted.
+\end{sloppypar}
+
+\item[``Auto mode'' typesets commands verbatim unless .\,.\,.]
+{\sloppy
+\hfil In~``auto mode'', the backslash \lq`\'\rq\ is an active character that
+builds a command name from the ensuing letters and typesets the
+command (and its syntax, allowing meta-variables) verbatim.
+However, there are some exceptions, which are collected in a macro
+&\niceverbNoVerbList. &\begin, &\end, and &\item belong to this list,
+you can redefine (`\renewcommand') it.
+There is also a command &\NormalCommand{<letters>} \emph{issuing} the
+command `\<letters>' instead of typesetting it.
+Since auto mode is somewhat dangerous, you have to start it explicitly
+by &\AutoCmdSyntaxVerb. You can end it by &\EndAutoCmdSyntaxVerb.\par}
+
+Auto mode is motivated by the observation that there are package files
+containing their documentation as pure (well-readable) ASCII
+text---contain\-ing the names of the new commands without any kind of
+quotation marks or verbatim commands.
+Auto mode should typeset such documentation just from the same ASCII
+text.
+
+\item[Hash mark &# comes verbatim.]
+No macro definitions are expected in the `document'
+environment.\footnote{This idea recently appeared on the 'latex-l'
+mailing list. It may be wrong, not sure at the moment, think of
+'latexa.ltx' .\,.\,.}
+Rather, \lq`#'\rq\ is an active character for taking the next
+character (assuming it is a digit) to form a reference to a
+\emph{macro parameter}---\lq`#1'\rq\ becomes \lq#1\rq\ (WYSIWYG
+indeed!).
+\end{description}
+
+\subsection{Examples}
+The local configuration file 'mdcorr.cfg' documents itself using
+'niceverb' syntax. Its code and the documentation that is typeset from
+it are at the end of the \lq examples\rq\ section of 'makedoc.pdf'.
+(2009/04/15)
+
+Moreover, the documentation 'niceverb.pdf' of 'niceverb.sty' was
+typeset from 'niceverb.tex' and 'niceverb.sty' using 'niceverb'
+syntax, likewise 'fifinddo.pdf' and 'makedoc.pdf'.
+The example of 'niceverb' shows the most frequent use of the `&'
+feature.
+
+It seems to me that I could type so many pages on 'fifinddo' and
+'makedoc' in little more than a week
+% (2009/04/12, much of which was needed for debugging and reworking concepts)
+only due to the ``minimal'' \emph{verbatim} and syntax-display syntax.
+
+\subsection{What is Wrong with the Present Version}
+\begin{enumerate}
+\item 'niceverb.sty' should be an extension of 'wiki.sty';
+ yet their font selection mechanisms are currently not compatible.
+\item Font switching or horizontal spacing may fail in certain situations
+ (parentheses, titles, footnotes; you can correct spacing by
+ \lq`\ '\rq).
+ %% TODO 2009/04/10 redefine \noindent, \footnote ...
+ %% or use correcting function with 'fifinddo'
+% \item
+% The feature of mixing high-quality-typeset comments into the
+% package code listing is implemented in a very rudimentary way only.
+% % just allowing for `\subsection's.
+% The ``comment detector'' detects Wikipedia-style subsection titles
+% instead of lines beginning with percent characters.\footnote{%
+% Percent characters will definitely not be ``ignored'' as with &\DocInput,
+% rather they will hide rests of \emph{documentation} lines as usually,
+% while they will be typeset verbatim in \emph{package code} lines.}
+% Switching between plain and verbatim typesetting in the package
+% listings isn't settled yet, since there are different styles of using
+% percent symbols. I have sometimes used double percent symbols
+% (\lq\verb|%%|\rq)
+% for commenting text and single ones just for ``reversible deletion of
+% code,'' while usually single percent symbols indicate commenting text
+% indeed. Double percent symbols may, by contrast, mean that the text remains
+% visible in the `.sty' file only, suppressed in the typeset
+% documentation ('lineno.sty').
+% For a while, it may be necessary to provide replacing macros for each
+% package separately instead of providing a single macro package
+% managing all of them.
+% \item
+% The code listing currently uses the `listing' and `listingcont'
+% environments of 'moreverb.sty';
+% the code font and the line numbers may be too large.
+\item The ``vertical'' character \lq&|\rq\ was planned to be active
+ and provide a version of the `decl' environment of
+ 'ltxguide.cls'. Currently 'makedoc.cfg' installs inline,
+ coloured\slash framed boxes instead (2009/04/09). They have
+ their merits! See 'fifinddo.pdf' and 'makedoc.pdf'. However,
+ they badly deal with long command names and many arguments
+ .\,.\,. (They could also issue an `\index' command!)---Doubled
+ verticals could make the difference, calling a `decl' table
+ indeed.
+\item ``Auto mode'' has not been tested on a serious application yet.
+\item 'niceverb''s font switching tricks sometimes turn against their
+ inventor (and other users?). There must be some switching
+ ``off'' (and ``on'' again).%
+ \footnote{\hspace{1sp}'fifinddo'\slash\hspace{1sp}'makedoc'
+ %% <- TODO oh, oh! 2009/04/11
+ allow inserting such commands from a driver script,
+ invisible in the file that contains the ``contentual''
+ documentation.}
+ Also, there might better help with weird errors,
+ some syntax checks might intercept earlier.
+
+ Similarly, some choices reflect a
+ personal style and should be modifiable, especially by package
+ options.\footnote{Please sponsor the project or support it
+ otherwise!}
+\end{enumerate}
+
+\pagebreak[3] %% 2009/04/15
+\section{Implementation of the Markup Syntax}
+% \verbatiminput{niceverb.sty}
+% \listinginput[5]{1}{niceverb.sty}
+\input{niceverb.doc}
+
+%% removed 2009/04/09 for makedoc.sty:
+% \section{Code Preparing Source for Typesetting}
+% This is at present in a file `mknvdoc.tex'.
+% \listinginput[5]{1}{mknvdoc}
+\end{document}
+
+2009/04/09: adjusted to new doc-generation method
+2009/04/12: examples, 'awk' lower-case
+2009/04/15: example 'mdcorr.cfg', abstract,
+ \pagebreak to implementation
diff --git a/Master/texmf-dist/source/latex/nicetext/wikicheat.tex b/Master/texmf-dist/source/latex/nicetext/wikicheat.tex
new file mode 100644
index 00000000000..e56bff99120
--- /dev/null
+++ b/Master/texmf-dist/source/latex/nicetext/wikicheat.tex
@@ -0,0 +1,148 @@
+\ProvidesFile{wikicheat}[2008/07/10 Cheatsheet for wiki.sty]
+% \def\title{Cheatsheet for the \textsf{wiki} Package}
+\def\title{\textbf{Cheatsheet} for the \textbf{\textsf{wiki}} Package}
+\def\author{Uwe L\"uck}
+\documentclass[12pt,a4paper]{article}
+\nofiles
+\pagestyle{empty}
+\makeatletter
+\@ifundefined{UndeclareTextCommand}{}{\usepackage{upquote}} %% 2008/07/02
+\makeatother
+\usepackage{wiki}
+% \let\WE\relax \let\WF\relax \let\WH\relax
+\let\WE\wikiEnvironments
+\let\WF\wikiFonts
+\let\WH\wikiHeadings
+\def\SP#1{\multicolumn{3}{\VR c\VR}{%
+% \parbox{11cm}{%
+ \parbox{13cm}{%
+ \footnotesize\it\sloppy\SU#1\SD}}}
+\def\SL{/\hskip.16667em}
+% \setbox0\hbox{(}\showthe\ht0\showthe\dp0 %% height = 3x depth
+\def\SU{\rule{0pt}{.99em}}%%%{1.1em}}
+\def\HSU{\rule{0pt}{.75em}}
+\def\SD{\rule[-.33em]{0pt}{0pt}}%%%45em]{0pt}{0pt}}
+% \def\CS#1{{\tt\textbackslash #1}} %% 2008/07/02
+{\makeatletter \gdef\CS#1{{\tt\@backslashchar#1}}}
+\let\VR| \catcode`\|\active \def|{\verb|}
+\begin{document}
+% \maketitle
+
+\enlargethispage{3\normalbaselineskip}
+\vspace*{-\topmargin} %% !?
+\vspace*{-\headheight}\vspace*{-\headsep}\vspace*{-\topsep}\vspace*{-\partopsep}
+\begin{center}
+\large \title\\[.4ex] \normalsize
+Some \LaTeX-Markup through some Wiki-Markup\\[.8ex]
+ \author, \today
+% \end{center}
+
+\vspace{\topsep}
+\vspace*{\partopsep}
+% \vspace{1.5ex}
+% \vspace{1ex}
+% \hrule
+% \vspace{1ex}
+
+% \begin{center}
+\leavevmode\kern-1em
+\begin{tabular}{\VR l\VR l\VR l\VR}
+\hline\hline
+\SU\SD\bf Code for \textsf{wiki.sty}&\bf What you get& \bf like \LaTeX-code\\
+\hline\hline
+|''italic''|&\WF ''italic''&|\textit{italic}|\SU\\
+|'''bold'''|&\WF '''bold'''&|\textbf{bold}|%%%\\
+\SD\\
+% |'''''bf+it'''''|&\WF '''''bf+it'''''
+% &|\textbf{\textit{bf+it}}|\SD\\
+% |'''''B+I'''''|&\WF '''''B+I''''' &|\textbf{\textit{B+I}}|\SD\\
+\hline
+\SP{``Italic'' and ``bold'' may be combined, nested, overlap.
+% Automatic italic correction cannot be suppressed by \CS{nocorr}.
+% Implementation uses \LaTeX\ internals; no groups are formed.
+Quotation marks
+% (even German)
+usually are not
+affected.---Turn
+% {\tt '\string{\string}''} may help with
+% apostrophes.---Turn
+font feature on/off by \CS{wikiFonts}\SL\CS{nowikiFonts}; disable feature
+entirely by package option {\tt noFonts}.}\\
+\hline\hline
+|== Level 1 ==|&\Large\bf\HSU 1\quad Level 1&|\section{Level 1}|\SU\\
+|=== Level 2 ===|&\large\bf 1.1\quad Level 2&|\subsection{Level 2}|\SU\\
+|==== Level 3 ====|&\bf 1.1.1\quad Level 3&|\subsubsection{Level 3}|\\
+|===== Level 4 =====|&\bf Level 4 &|\paragraph{Level 4}|\SD\\
+|====== Level 5 ======|&\bf Level 5 &|\subparagraph{Level 5}|\SD\\
+\hline
+\SP{Turn heading feature on/off by \CS{wikiHeadings}\SL\CS{nowikiHeadings};
+disable feature entirely by package option {\tt noHeadings}.}\\
+\hline\hline
+&&|\begin{itemize}|\SU\\
+|* One|&\textbullet\hspace\labelsep One &|\item One|\\[2\parsep]
+|* Two|&\textbullet\hspace\labelsep Two &|\item Two|\\
+&&|\end{itemize}|\SD\\
+\hline
+&&|\begin{enumerate}|\SU\\
+|# One|&1.\hspace\labelsep One &|\item One|\\[2\parsep]
+|# Two|&2.\hspace\labelsep Two &|\item Two|\\
+&&|\end{enumerate}|\SD\\
+\hline
+&&|\begin{description}|\SU\\
+|;[club] explain|&\textbf{club}\hspace\labelsep explain
+ &|\item[club] explain|\\[2\parsep]
+|;[widow] explain|&\textbf{widow}\hspace\labelsep explain
+ &|\item[widow] explain|\\
+&&|\end{description}|\SD\\
+\hline
+ & &|She wrote:|\SU\\
+|She wrote:|&\smash{\raisebox{\topsep}{She wrote:}}&|\begin{quote}|\\
+|:Indeed| &\hspace\leftmargini Indeed&|Indeed|\\
+ & &|\end{quote}|\SD\\
+\hline
+ & &|Type|\SU\\
+|Type| &\smash{\raisebox{\topsep}{Type}}&|\begin{verbatim}|\\
+| \typeout{OK!}| &|\typeout{OK!}|&|\typeout{OK!}|\\
+ & &|\end{verbatim}|\SD\\
+\hline
+\SP{A \CS{begin} is executed when {\tt*} etc.\ is first character of a
+code line; an indent starts {\tt verbatim}.
+\CS{end} is executed at code line without indent and not beginning with
+{\tt*} etc.---Turn this feature on by \CS{wikiEnvironments}; turn off by
+\CS{nowikiEnvironments}, e.g., to get around incompatibilities
+(lists feature is most dangerous).
+Disable feature entirely by package option {\tt noEnvironments}.
+Package option {\tt noVerbatim} instead may usually suffice,
+if you don't want to have any {\tt verbatim}.}\\
+\hline
+\end{tabular}
+\kern-1em
+\end{center}
+
+% \section{Test}\subsection{Sub-Test}\subsubsection{Subsub-Test}
+% \paragraph{Para}\subparagraph{Sub-Para}
+
+\footnotesize
+% \vspace{2ex}
+\sloppy
+\noindent \WE\WF %%% '''Please note:'''
+''Note:''
+% *
+Explicit '''turning on''' by %%% one of
+% \[|\wikiEnvironments|,\quad |\wikiFonts|,\quad |\wikiHeadings|\]
+|\wikiEnvironments| %%% , |\wikiFonts|, |\wikiHeadings|,
+etc.\
+% or by |\wikimarkup| (which executes the former three) is ''required'';
+is '''required''';
+e.g., after %%% |\maketitle| and
+|\tableofcontents|.
+|\wikimarkup| '''activates ''all''''' the features.
+% *
+|\nowikimarkup| %%% executes all of
+% \[|\nowikiEnvironments|,\quad |\nowikiFonts|,\quad |\nowikiHeadings|.\]
+% |\nowikiEnvironments|, |\nowikiFonts|, |\nowikiHeadings|.
+% Use them to get around incompatible code.
+'''''dis''ables all''' of them, e.g., to get around incompatibilities.
+
+\end{document}
+