summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-02-26 00:51:49 +0000
committerKarl Berry <karl@freefriends.org>2009-02-26 00:51:49 +0000
commitb3fd7332ea18e6172db25318716832397b625ddd (patch)
tree27ded3c17ec00519723a3a8b29e84680e60bedd4 /Master/texmf-dist
parent951ab8ce2fe8420509db19af0937bdddb314b1de (diff)
new latex package nicetext (24feb09)
git-svn-id: svn://tug.org/texlive/trunk@12236 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/nicetext/README59
l---------Master/texmf-dist/doc/latex/nicetext/README.txt1
-rw-r--r--Master/texmf-dist/doc/latex/nicetext/docsrc/WIKICHEA.TEX148
-rw-r--r--Master/texmf-dist/doc/latex/nicetext/docsrc/makedoc.tex82
-rw-r--r--Master/texmf-dist/doc/latex/nicetext/docsrc/niceverb.tex261
-rw-r--r--Master/texmf-dist/doc/latex/nicetext/niceverb.pdfbin0 -> 138688 bytes
-rw-r--r--Master/texmf-dist/doc/latex/nicetext/wikicheat.pdfbin0 -> 78545 bytes
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/niceverb.sty210
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/wiki.sty376
9 files changed, 1137 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/nicetext/README b/Master/texmf-dist/doc/latex/nicetext/README
new file mode 100644
index 00000000000..171fd1d339f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/README
@@ -0,0 +1,59 @@
+ The NICETEXT bundle
+
+ (c) 2009 Uwe Lueck http://contact-ednotes.sty.de.vu
+
+ == General Idea ==
+
+The NICETEXT bundle offers ``minimal'' markup syntax for rather
+simple kinds of text. The code you type should show little more
+characters than are printed, though you get LaTeX quality. We try
+to do away with backslashes, technical terms, and curly braces
+(which also are so clumsy to type on PC keyboards).
+
+ == Packages ==
+
+'wiki.sty' addresses general kinds of texts. 'niceverb.sty' is
+made for documenting LaTeX packages. 'niceverb.sty' especially
+offers [almost-]WYSIWIG for meta-variables (macro arguments) and
+for referring to commands (and their syntax) in footnotes,
+section titles etc. E.g., to get the syntax description
+
+ \foo[<opt-arg>]{<mand-arg>}
+you just type
+ \foo[<opt-arg>]{<mand-arg>}
+!-)
+
+ == Comparison ==
+
+One source of inspiration is the markup syntax that is used in
+editing Wikipedia pages. The package 'wiki.sty' of the bundle
+offers a very similar syntax as a LaTeX front-end. It suffices for
+italics, boldface, sectioning, and certain list-like environments.
+This is also similar to 'easylatex',
+
+ http.//www.ctan.org/pkg/easylatex
+
+which is more powerful and uses Perl. 'wiki.sty', by contrast, is
+just a LaTeX package, working on any TeX installation.
+
+ == Documentation ==
+
+'wikicheat.pdf' is a one-page manual of 'wiki.sty'. The file
+'wiki.sty' contains additional documentation as ASCII text.
+'niceverb.pdf' describes 'niceverb.sty'. Note that certain
+features must be activated by commands in the document environment.
+
+ == What is missing ==
+
+1. 'niceverb' should extend 'wiki', yet their font switchings are
+incompatible at present. 2. 'niceverb' should typeset the ASCII
+documentation of 'wiki.sty' ... This upload is for reference and
+for proving that I am not just dreaming. I think repairing needs
+only few hours, yet I must do something different right now. See
+more on what's missing in 'niceverb.pdf'.
+
+3. I have a package 'nicedots' for controlling horizontal spacing
+with ellipses which may go here.
+
+ ________________________________
+ [This file 2009/02/23 Uwe Lueck]
diff --git a/Master/texmf-dist/doc/latex/nicetext/README.txt b/Master/texmf-dist/doc/latex/nicetext/README.txt
new file mode 120000
index 00000000000..100b93820ad
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/README.txt
@@ -0,0 +1 @@
+README \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/nicetext/docsrc/WIKICHEA.TEX b/Master/texmf-dist/doc/latex/nicetext/docsrc/WIKICHEA.TEX
new file mode 100644
index 00000000000..e56bff99120
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/docsrc/WIKICHEA.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}
+
diff --git a/Master/texmf-dist/doc/latex/nicetext/docsrc/makedoc.tex b/Master/texmf-dist/doc/latex/nicetext/docsrc/makedoc.tex
new file mode 100644
index 00000000000..65beb83f9f1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/docsrc/makedoc.tex
@@ -0,0 +1,82 @@
+\ProvidesPackage{makedoc.tex}[2009/02/21 (UL)]
+%% make packagecode environments and remove percents starting lines
+
+\makeatletter \catcode`\_=11
+
+\openin\@inputcheck=niceverb.sty %% JUST HERE
+\newwrite\result_file
+ \immediate\openout \result_file=niceverb.doc %% JUST HERE
+
+\newif\if_package_code_ \_package_code_false
+% \newif\if_empty_code_lines_ \_empty_code_lines_false
+ %% <- FAILED SO FAR
+% \let\maybe_result_empty_line\empty
+% \def\result_empty_line{^^J}
+
+\def\write_result{\immediate\write\result_file}
+
+\def\process_file{%
+ %% This macro here to avoid category changes
+ %% affecting the present code
+ \begingroup
+ \let\do\@makeother \dospecials
+ %% from docstrip.tex:
+ \@makeother\^^A\@makeother\^^K\endlinechar\m@ne
+ %% <- cf. TeXbook "extended keyboards" up-/downarrow
+ %% -> "math specials", cf. "space specials"
+ \@makeother\^^I% ASCII horizontal tab -- guessed!? ^^L!?
+% \tracingmacros=1
+ \loop \ifeof\@inputcheck \else
+ \read\@inputcheck to \InputLine
+ \expandafter \process_line \InputLine ======&%% primitive version
+ \repeat
+ \endgroup}
+
+\def\process_line#1===#2===#3&{%% may be preferable to wiki.sty
+ \ifx$#2$%
+ \ifx$#1$%
+% \show\InputLine
+ \if_package_code_
+% \if_empty_code_lines_
+% \write_result{}\_empty_code_lines_false
+% \fi
+ \else
+ \write_result{}%
+% \let\maybe_result_empty_line\result_empty_line
+ \fi
+ \else
+% \show\InputLine
+ \if_package_code_
+% \_empty_code_lines_true
+ \else
+ \write_result{\string\begin{packagecode}}%
+ \_package_code_true
+ \fi
+ \write_result{#1}%
+% \write_result{\maybe_result_empty_line #1}%
+% \let\maybe_result_empty_line\empty
+ \fi
+ \else
+ \write_result{%
+ \string\end{packagecode}^^J^^J%
+ \string\subsection{\ignorespaces#2\unskip}^^J}%
+ \_package_code_false
+% \_empty_code_lines_false
+ \fi}
+
+\process_file
+
+\write_result{\string\end{packagecode}}
+\closein\@inputcheck \immediate\closeout\result_file
+
+\endinput
+
+\stop
+ %% TODO or \ThankYou; which NICEVERB.TEX may redefine into \endinput
+ %% or \ThankYou issues \endinput if jobname ...
+ %% the whole file may be enclosed in \begingroup ... \endgroup
+ %% ... this is a "driver file"!?
+
+TODO make own listing environment like this -- own linewise processing,
+ without verbatim.sty
+
diff --git a/Master/texmf-dist/doc/latex/nicetext/docsrc/niceverb.tex b/Master/texmf-dist/doc/latex/nicetext/docsrc/niceverb.tex
new file mode 100644
index 00000000000..be4c19e3e43
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/docsrc/niceverb.tex
@@ -0,0 +1,261 @@
+\ProvidesFile{niceverb.tex}[2009/02/23 documenting niceverb.sty]
+\title{\textsf{niceverb.sty}\\---\\Minimizing
+ Markup\\for Documenting \LaTeX\ packages\thanks{This
+ manual describes package version
+ version 0.1 as of February 23, 2009%%%\fileversion\ as of \filedate\
+ .}}%%%of the package.}}
+\author{Uwe L\"uck\\{\tt http://contact-ednotes.sty.de.vu}}
+\input{makedoc}
+\documentclass[12pt,a4paper]{article}
+\usepackage{niceverb}
+\usepackage{moreverb}
+% \usepackage{verbatim}
+\newenvironment{packagecode}
+ {\PackageCode}
+ {\endPackageCode}
+ \gdef\PackageCode{\listing[5]{1}}
+ \gdef\endPackageCode{%
+ \endlisting
+ \global\let\PackageCode\listingcont
+ \global\let\endPackageCode\endlistingcont}
+\begin{document}
+\maketitle
+
+\tableofcontents
+
+\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}
+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.
+
+The package 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' may also help to generate without much effort documentations
+of nowadays commonly expected typographical quality for packages that
+so far only had ASCII 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.''
+
+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 replacing &\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---containing 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{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 with
+parentheses. (You can correct spacing by \lq`\ '\rq.)
+\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\ should be active and provide a
+version of the `decl' environment of 'ltxguide.cls'.
+\end{enumerate}
+
+\section{Implementation of the Markup Syntax}
+% \verbatiminput{niceverb.sty}
+% \listinginput[5]{1}{niceverb.sty}
+\input{niceverb.doc}
+
+\section{Code Preparing Source for Typesetting}
+This is at present in a file `makedoc.tex'.
+\listinginput[5]{1}{makedoc}
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/nicetext/niceverb.pdf b/Master/texmf-dist/doc/latex/nicetext/niceverb.pdf
new file mode 100644
index 00000000000..51bd438d453
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/niceverb.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/nicetext/wikicheat.pdf b/Master/texmf-dist/doc/latex/nicetext/wikicheat.pdf
new file mode 100644
index 00000000000..481c7e314d4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nicetext/wikicheat.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/nicetext/niceverb.sty b/Master/texmf-dist/tex/latex/nicetext/niceverb.sty
new file mode 100644
index 00000000000..c82ae3deaa0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/nicetext/niceverb.sty
@@ -0,0 +1,210 @@
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{niceverb}[2009/02/21
+ minimize \string\verb\space code (UL)]
+
+%% Copyright (C) 2009 Uwe Lueck,
+%% http://www.contact-ednotes.sty.de.vu
+%% -- author-maintained in the sense of LPPL below --
+%%
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
+%% version 1.3a of the License, or any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% We did our best to help you, but there is NO WARRANTY.
+%%
+%% Please report bugs, problems, and suggestions via
+%%
+%% http://www.contact-ednotes.sty.de.vu
+%%
+%% === Switching category codes ===
+\providecommand{\CatCode}{\catcode`}
+% \providecommand*{\MakeActive}[1]{\CatCode#1\active}
+\providecommand*{\MakeAlign} [1]{\CatCode#14\relax}
+\providecommand*{\MakeLetter}[1]{\CatCode#111\relax}
+\providecommand*{\MakeOther} [1]{\CatCode#112\relax}
+\providecommand*{\MakeSub} [1]{\CatCode#18\relax}
+
+\newcommand*{\MakeActiveLet}[2]{%% cf. \@sverb & \do@noligs
+ \CatCode#1\active
+ \begingroup
+ \lccode`\~`#1\relax \lowercase{\endgroup \let~#2}}
+
+\MakeLetter\_
+
+\newcommand*{\make_iii_other}{\MakeOther\\\MakeOther\{\MakeOther\}}
+
+%% === Parsimonious version of &\verb ===
+\newcommand*{\begin_min_verb}{%
+ \relax \ifmmode \hbox \else \leavevmode\null \fi
+ %% standard, for $$...$$
+ \bgroup \tt %%%\let\do\MakeOther \dospecials
+ \MakeLetter\_\MakeLetter\@}
+\newcommand*{\SimpleVerb}[1]{%
+ %% mainly avoid \verb's noligs list which overrides definitions
+ %% of some active characters, while cmtt doesn't have any
+ %% ligatures anyway.
+ \ifx\protect\@typeset@protect
+ \begin_min_verb \make_iii_other \MakeActiveLet#1\egroup
+ \else \string\SimpleVerb \string#1\fi}
+
+%% === Single quotes make code ===
+\newcommand*{\lq_verb}{%
+ \ifx\protect\@typeset@protect
+ \expandafter \lq_double_test
+ \else \lq \fi}
+% \ifcat\noexpand'\noexpand~%
+% \expandafter\expandafter\expandafter
+% \protect_corresp_quotes
+% \else
+% \RqVerb
+% \fi
+% \fi}
+\newcommand*{\lq_double_test}{%
+ %% test settles next catcode, better switch to ``other''
+ %% in advance:
+ \begingroup \let\do\MakeOther \dospecials
+ \futurelet\let_token \lq_double_decide}
+\newcommand*{\lq_double_decide}{%
+ \ifx\let_token\lq_verb
+ \endgroup
+ \lq\lq \expandafter \@gobble
+ %% corresponding right quotes will become ``other'' due to
+ %% having no space at the left. TODO to be changed with
+ %% wiki.sty
+ \else
+ \endgroup
+% \expandafter \rq_verb
+ \expandafter \SimpleVerb \expandafter \'%
+ \fi}
+% \newcommand*{\rq_verb}{\SimpleVerb\'}
+% \AtBeginDocument{\MakeActiveLet\`\RqVerb}
+\AtBeginDocument{\MakeActiveLet\`\lq_verb}
+ %% Strings referred to will be code
+ %% TODO to be changed with wiki.sty
+
+%% === Single mark for reference to commands ===
+\newcommand*{\CmdSyntaxVerb}{%
+ \ifx\protect\@typeset@protect
+ \expandafter \cmd_syntax_verb
+ \else %% thinking of .aux only
+ \string\CmdSyntaxVerb \expandafter \string
+ \fi}
+\newcommand*{\cmd_syntax_verb}[1]{%
+ \begin_min_verb \string#1\futurelet\let_token \after_cs}
+
+\AtBeginDocument{\MakeActiveLet\&\CmdSyntaxVerb}
+ %% not needed with \Auto... OTHERWISE useful in args!
+ %% TODO \MakeAmpCmdSyntax
+ %% TODO \let\endcell& (wie \endline, \endgraf) \MakeEndCell
+\newcommand*{\after_cs}{%
+ \ifcat\noexpand\let_token a\egroup \space
+ \else \expandafter \decide_verb \fi}
+\newcommand*{\test_more_verb}{\futurelet\let_token \decide_verb}
+\newcommand*{\decide_verb}{%
+% \show\let_token
+ \jumpteg_on_with\bgroup\braces_verb
+ \jumpteg_on_with[\brackets_verb
+ \jumpteg_on_with*\star_verb
+ \egroup}
+ %% CAUTION/TODO wrong before (... if cmd without arg
+ %% use \ then or choose usual verb...
+ %% or \MakeLetter\( etc. ... or \xspace
+\newcommand*{\jumpteg_on_with}[2]{%
+ \ifx\let_token#1\do_jumpteg_with#2\fi}
+ %% TODO cf. xfor, xspace (break@loop);
+ %% \DoOrBranch#1...#1 or so
+\def\do_jumpteg_with#1#2\egroup{\fi#1}
+\def\braces_verb#1{\string{#1\string}\test_more_verb}
+\def\brackets_verb[#1]{[#1]\test_more_verb}
+\def\star_verb*{*\test_more_verb}
+
+
+\makeatletter
+
+%% === Escape makes meta-code ===
+\DeclareRobustCommand*{\BuildCsSyntax}{%
+ \futurelet\let_token \build_cs_syntax_sp}
+\newcommand*{\build_cs_syntax_sp}{%
+ \ifx\let_token\@sptoken \else %% TODO ^^M!?
+ \expandafter \start_build_cs_syntax
+ \fi}
+\newcommand*{\start_build_cs_syntax}[1]{%
+ \edef\string_built{\string#1}%% #1 may be active
+ \MakeLetter\_\MakeLetter\@%% CAUTION, cf. ...
+ \test_more_cs}
+\newcommand*{\test_more_cs}{%
+ \futurelet\let_token \decide_more_cs}
+\newcommand*{\decide_more_cs}{%
+ \ifcat\noexpand\let_token a\expandafter \add_to_cs
+ \else
+ \MakeSub\_\MakeOther\@%
+ \expandafter \in@ \expandafter
+ {\csname \string_built \expandafter \endcsname
+ \expandafter}\expandafter{\niceverbNoVerbList}%
+ \ifin@
+ \csname \string_built
+ \expandafter\expandafter\expandafter \endcsname
+ \else
+ \begin_min_verb \@backslashchar\string_built
+ \expandafter\expandafter\expandafter \test_more_verb
+ \fi
+ \fi}
+ %% TODO such \if nestings with ifthen!?
+ %% cf.:
+% \let\let_token,\typeout{\meaning\let_token}
+ %% TEST TODO fuer xspace!? (\ifin@)
+\newcommand*{\add_to_cs}[1]{%
+ \edef\string_built{\string_built#1}\test_more_cs}
+\newcommand*{\AutoCmdSyntaxVerb}{\MakeActiveLet\\\BuildCsSyntax}
+ %% TODO or \niceverbswitch...
+
+\newcommand*{\EndAutoCmdSyntaxVerb}{\CatCode\\\z@}
+\newcommand*{\NormalCommand}{} \let\NormalCommand\@nameuse
+%% Were tests:
+% \futurelet\LetToken\relax \relax
+% \show\LetToken \typeout{\ifcat\noexpand\LetToken aa\else x\fi}
+
+\newcommand*{\niceverbNoVerbList}{%
+ \begin\end\item\verb\EndAutoCmdSyntaxVerb\NormalCommand
+ \section\subsection}%% TODO!?
+
+%% === Meta-variables ===
+\def\niceverb_meta#1>{%
+ \mbox{\normalfont\itshape $\langle$#1\/$\rangle$}}
+ %% TODO offer without angles as well
+\AtBeginDocument{\MakeActiveLet\<\niceverb_meta}
+ %% difference to ltxguide.cls: also outside verbatim
+
+%% === Hash mark must be code ===
+\newcommand*{\param_verb}[1]{{\tt\##1}}
+\AtBeginDocument{\MakeActiveLet\#\param_verb}
+
+%% === Single right quote for &\sf ===
+%% TODO fails in parentheses due to preserving apostrophes
+\newcommand*{\niceverb_rq_sf}{%
+ \ifx\protect\@typeset@protect
+ \expandafter \niceverb_rq_sf_test
+ \else \rq \fi}
+ %% introduced another macro just to avoid more sequences
+ %% of \expandafter ...
+\newcommand*{\niceverb_rq_sf_test}{%
+ \ifhmode \ifdim\lastskip>\z@
+ \expandafter\expandafter\expandafter \niceverb_rq_sf_exec
+ %% TODO but after `('!? make \( active, also for \after_cs!?
+ \else \rq \fi
+ \else \ifvmode
+ \expandafter\expandafter\expandafter \niceverb_rq_sf_exec
+ \else \rq \fi
+ \fi}
+{\CatCode\'\active \gdef\niceverb_rq_sf_exec#1'{\textsf{#1}}}
+%% TODO to be changed with wiki.sty:
+\AtBeginDocument{\MakeActiveLet\'\niceverb_rq_sf}
+
+%% TODO \niceverbswitch{<mode>}{<on/off>} (bzw. Doku ohne {})
+
+%% === Leave package mode ===
+\makeatother
+\MakeSub\_
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/nicetext/wiki.sty b/Master/texmf-dist/tex/latex/nicetext/wiki.sty
new file mode 100644
index 00000000000..6fe7b4e4b46
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/nicetext/wiki.sty
@@ -0,0 +1,376 @@
+\ProvidesPackage{wiki}[2008/07/02 v0.2 LaTeX through Wiki markup]
+%% <- vorige Aenderungen gg. 2008/06/25 verworfen
+%%
+%% == Legal ==
+%% (C) 2008 Uwe Lueck http://contact-ednotes.sty.de.vu
+%% License: http://www.latex-project.org/lppl/
+%% -- AUTHOR-MAINTAINED, NO WARRANTY!
+%%
+%% == Features ==
+%%
+%% The `wiki' package enables LaTeX users to use some of the
+%% markup used in editing Wikipedia pages, cf.
+%%
+%% http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet
+%%
+%% or German:
+%%
+%% http://de.wikipedia.org/wiki/Hilfe:Bearbeitungshilfe
+%% http://de.wikipedia.org/wiki/Hilfe:Textgestaltung
+%%
+%% Advantages of such a kind of markup are:
+%%
+%% 1. easier and faster to type than LaTeX code;
+%%
+%% 2. intuitive, understandable at a glance;
+%%
+%% 3. in reading the source code of the document,
+%% the markup doesn't much distract from the ''text''
+%% to be printed.
+%%
+%% There is a binary `easylatex' available on CTAN which is more
+%% powerful than the `wiki' package; the idea here is that a ''macro
+%% package'' doing something similar is easier to use and to customize.
+%%
+%%
+%% === What the Package Supports ===
+%%
+%% 1. ''Italics'' are marked up by surrounding pairs of apostrophes,
+%% '''boldface''' needs one apostrophe more on each side.
+%% Boldface and italics may be nested or overlap.
+%% (This endangers quoting, but I have dealt with it.)
+%%
+%% 2. Surrounding ``equals'' symbols (`=') mark up section headings
+%% etc.: `== Section ==', `=== Subsection ===', down to
+%% `===== Subparagraph ====='.
+%%
+%% 3. If a line starts with `*', it becomes an item in an
+%% `itemize' environment. Likewise, `#' creates an `enumerate'
+%% environment, and `;' makes an item in a `discription'
+%% environment (differs from Wiki! -- since I don't understand
+%% what the Wiki version is good for). `:' makes a `quote' --
+%% while on Wikipedia instead is used for comments on talk
+%% pages. But it is also used for indented math displays,
+%% so it may be combined with $...$ here.
+%% An indented line is typeset ''verbatim''. Each of these
+%% environments is ended by a code line without leading blank
+%% spaces.
+%%
+%%
+%% === Limitations ===
+%%
+%% 1. The markup ``language'' provided here replaces a few most
+%% common LaTeX commands only in their most simple versions.
+%% (Yet I think that already this makes the code more readable;
+%% the more special cases are very rare.) E.g., it's not
+%% possible to suppress the italic correction as with
+%% `\textit{...\nocorr}'. However, in ``normal'' cases it
+%% should be possible to use the more powerful LaTeX markup
+%% mixed with ``Wiki'' markup.
+%%
+%% 2. The parsing algorithms employed here differ in outcome to
+%% those of Wikipedia in difficult cases.
+%%
+%% 3. Tables, nesting lists, links, Wiki templates and tags
+%% are not supported -- and I don't expect that I can afford
+%% improving this soon!
+%%
+%% 4. I still have encountered problems that I didn't understand ...
+%%
+%% == Package Options and User Commands ==
+%%
+%% \usepackage[<options>]{wiki}, of course. There are <options>
+%% `noEnvironments', `noFonts', `noHeadings' giving up
+%% functionality for lists etc., for italics and boldface,
+%% for section headings etc., respectively.
+%%
+%% There are commands \wikimarkup, \wikiEnvironments,
+%% \wikiFonts, \wikiHeadings to turn respective functionality on
+%% (unless disabled by package option). \nowikimarkup,
+%% \nowikiEnvironments, \nowikiFonts, \nowikiHeadings turn them
+%% off.
+%%
+%% '''Vital:''' The package does ''not'' execute \wikimarkup
+%% because this would have strange effects, e.g., packages
+%% loaded later may break. The user must put activating
+%% commands into the `document' environment, maybe just preceding
+%% the first heading.
+%%
+%% Dangers to be avoided by \nowiki... are:
+%% * \wikiHeadings (which also is executed by \wikimarkup)
+%% disables TeX assignments using `='.
+%% * \wikiEnvironments (executed by \wikimarkup) executes macros
+%% at every end of a code line (containing no comment marke),
+%% and it tries to typeset a following line verbatim if it is
+%% indented.
+%%
+%%
+%% == Implementation and Further Remarks ==
+
+%% === Commands for Category Codes ===
+% \RequirePackage{fdcodes}
+ %% <- TODO -- or do away ... ->
+\providecommand*\AssignCatCode[2]{\catcode`#1=#2\relax}
+\providecommand*\MakeActive[1]{\catcode`#1=\active}
+% \providecommand*\MakeLetter[1]{\catcode`#1=11\relax}
+ %% <- Declaring characters usable in command strings
+ %% Todo: print arrow indicators like ``->'' as real arrows
+\providecommand*\MakeOther [1]{\catcode`#1=12\relax}
+
+\AssignCatCode{\_}{11}
+% \MakeLetter\_ %% own macros somewhat LaTeX3-style
+%% Todo \newcommand <-> \def !?
+
+%% === Package Options ===
+\DeclareOption{noFonts} {\let\wikiFonts \empty
+ \let\nowikiFonts \relax}
+\DeclareOption{noHeadings} {\let\wikiHeadings \empty
+ \let\nowikiHeadings \relax}
+\DeclareOption{noEnvironments}{\let\wikiEnvironments \empty
+ \let\nowikiEnvironments\relax}
+\DeclareOption{noVerbatim}{%
+ \def\W_active_return{ \futurelet\@let@token\W_on_firsttoken}}
+ %% \[no]wikiVerbatim must wait, too complex 2008/07/01
+\ProcessOptions
+
+%% === Auxiliaries for both Fonts and Headings ===
+
+ \@tempswafalse
+ \ifx\wikiFonts \empty \else \@tempswatrue \fi
+ \ifx\wikiHeadings\empty \else \@tempswatrue \fi
+ \if@tempswa
+\def\W_start_samecnt{\futurelet\@let@token\W_process_samecnt}
+\def\W_init_samecnt#1#2#3{%
+ \let\W_samesymb =#1%% repeated symbol
+ \def\W_repllist {#2}% replacing strings
+ \def\W_incase_all{#3}% final replacement
+ \def\W_next##1{\W_start_samecnt}}
+\def\W_process_samecnt{%
+ \expandafter \W_splitlist \W_repllist \@nil
+ \W_next}
+\def\W_splitlist#1#2\@nil{%
+ \def\W_repllist{#2}%
+ \ifx\@let@token\W_samesymb
+ \ifx\W_repllist\empty \def\W_next##1{\W_incase_all}\fi
+ \else
+ \def\W_next{#1}%
+ \fi}
+ \fi
+
+%% === Italics and Boldface ===
+
+%% ==== Code ====
+ \ifx\wikiFonts\empty \else
+\def\W_toggle#1#2#3{\def#1{\W_toggle#1{#3}{#2}}#2}
+%% Cf. LaTeX's `\DeclareTextFontCommand':
+\def\W_bf_toggle{%
+ \W_toggle\W_bf_toggle{\bfseries\W_maybe@ic}{\mdseries\W_maybe@ic}}
+\def\W_maybe@ic{\futurelet\@let@token\W_maybe_maybe@ic}
+\def\W_maybe_maybe@ic{%
+ \ifx\@let@token\W_rq_robust \else \expandafter \maybe@ic \fi}
+\def\W_it_toggle{%
+ \W_toggle\W_it_toggle{\itshape\maybe@ic}{\upshape\maybe@ic}}
+%% <- Doesn't support \nocorr.
+
+\def\W_rq_robust{%% will become meaning of single right quote.
+ \ifx\protect\@typeset@protect
+ \ifmmode \rq \else
+ \W_init_samecnt{\W_rq_robust}%
+ {\rq\W_it_toggle}%
+ {\W_bf_toggle}%
+ \expandafter\expandafter\expandafter \W_start_samecnt
+ \fi
+ \else \rq \fi}
+%% Remark:
+%% LaTeX's \rq expands to ``other'' apostrophe:
+\CheckCommand*\rq{'} %% Must be before `\catcode`\'
+%% \wikiFonts -- restoring `...' and ``...'' -- + \nowikiFonts:
+%% requiring single left quote \active as well:
+\CheckCommand*{\lq}{`}
+\MakeActive\`\MakeActive\'
+\def\wikiFonts{%
+ \MakeActive\`\MakeActive\'%
+ \def`##1'{\lq ##1\rq}%
+ \let'\W_rq_robust}
+\def\nowikiFonts{\MakeOther`\MakeOther\'}
+\MakeOther\` \MakeOther\'
+ \fi
+
+%% ==== Remarks ====
+%% Wiki: a''b'''cd typesets `b' in italic with an apostrophe,
+%% a''b'''c'''d typsets all after `a' in italic with bold `b'.
+%% One might use make a difference depending on \lastskip.
+%% Wikimedia seems to read more ahead, maybe entire paragraphs.
+%% %% <- Todo: try here!? (Test!)
+%%
+%% Todo: Variants using \textit and \textbf (option, switching
+%% command)
+%%
+%% german.sty's "` and "' are not affected.
+%%
+%% Merit: ``...'' resembles ''...''; indeed Wikipedia Guidelines
+%% demand to think which of both is appropriate in a
+%% certain situation.
+
+%% A test about \ifx with active characters:
+%\catcode`\`=\active \let`\rq \let'\rq
+%\ifx`'\typeout{OHHH}\else \typeout{OCH}\fi %% OHHH
+%% <- how typeset code commented out!? (^!? diff. comment char.!?)
+%% indent %! TODO or no space after %!! TODO!!
+%% xEDIT: dann Alt C/D fuer Kommentar/Dok./auskomm. (!?) !!
+
+%% === Section Headings ===
+
+ \ifx\wikiHeadings\empty \else
+\providecommand*{\normalequals}{=}
+\MakeActive\=
+\def\wikiHeadings{\MakeActive\=\let=\W_eq_robust}
+\def\nowikiHeadings{\MakeOther\=}
+\def\W_eq_robust{%
+ \ifx\protect\@typeset@protect
+ %% in case without math mode in heading
+ \ifmmode \normalequals \else
+ \W_init_samecnt{\W_eq_robust}%
+ {\normalequals\W_sec\W_subsec\W_subsubsec
+ \W_para\W_subpara}%
+ {\W_bf_toggle}%
+ \expandafter\expandafter\expandafter \W_start_samecnt
+ \fi
+ \else \normalequals \fi}
+
+\def\W_sec #1=={\section{#1}}
+\def\W_subsec #1==={\subsection{#1}}
+\def\W_subsubsec #1===={\subsubsection{#1}}
+\def\W_para #1====={\paragraph{#1}}
+\def\W_subpara #1======{\subparagraph{#1}}
+
+\MakeOther\=
+ \fi
+
+%% Todo: think of reimplementation by the start-line
+%% mechanism which is going to be used for lists.
+
+%% === Environments ===
+%%
+ \ifx\wikiEnvironments\empty \else
+
+%% ==== Prepare Dealing with Indents ====
+
+\MakeActive{\^^M}%
+\def\wikiEnvironments{\MakeActive{\^^M}\let^^M\W_active_return}%
+\def\nowikiEnvironments{\AssignCatCode{\^^M}{5}}%
+\nowikiEnvironments%% TeX <return> restored
+
+\MakeActive{\ }%
+\@ifundefined{W_active_return}{%
+\expandafter\def\expandafter\W_active_return\expandafter{%
+\space\catcode`\ \active\let \W_indent%
+%% <- \W_indent will start verbatim
+\futurelet\@let@token\W_on_firsttoken}%
+}{}%% end of \@ifundefined which is true without noVerbatim
+%% Much doubling for saving time (!??):
+\expandafter\def\expandafter\W_list_activereturn\expandafter{%
+\space\catcode`\ \active\let \W_restore_space%
+%% <- \W_indent will start verbatim
+\futurelet\@let@token\W_maybe_newitem}%
+% \def\W_restore_space{\catcode`\ 10\relax}%
+ %% <- was vital for a math display in a list ->
+\def\W_restore_space{\catcode`\ 10\ignorespaces}%
+\W_restore_space%% TeX blank space restored
+
+%% ==== Start and End List-Like Environments ====
+
+%% \W_on_firsttoken may be edited (preamble or .cfg):
+\def\W_on_firsttoken{%
+ % \show\@let@token
+ \W_restore_space
+ \let\W_next\relax %% must be before \W_skip... works
+ \ifx\@let@token\W_active_return \expandafter \W_par \fi
+ %% <- found by guessing/with \show\@let@token
+ \let\W_item\item
+ \W_on_startenv{*}{itemize}%
+ \W_on_startenv{\W_hash}{enumerate}%
+ \W_on_startenv{;}{description}%
+ \let\W_item\relax %% must precede `quote'
+ \W_on_startenv{:}{quote}%% instead of quotation 2008/07/01
+ \W_next}
+\let\W_hash=#
+\def\W_par#1\W_next{\par}
+\def\W_skiprest_item#1\W_next#2{\W_item}
+
+\MakeActive{\^^M}%
+\def\W_on_startenv#1#2{%
+ \ifx#1\@let@token%
+ \begin{#2}%
+ \let\W_itemsymbol#1%
+ \let^^M\W_list_activereturn%
+ \expandafter \W_skiprest_item%
+ \fi}%
+\nowikiEnvironments%
+
+\def\W_maybe_newitem{%
+ \W_restore_space
+ \ifx\@let@token\W_itemsymbol
+ \expandafter \W_gobbling_item
+ \else
+ \ifx\@let@token\W_restore_space
+ \else
+ \ifx\@let@token\W_list_activereturn
+ \par
+ \else
+ \edef\W_next{\noexpand\end{\@currenvir}}%
+ \W_next
+ \fi
+ \fi
+ \fi}
+\def\W_gobbling_item#1{\item}
+
+%% ==== Verbatim Environment ====
+
+\def\W_indent{\begin{W_verbatim}}
+\def\W_verbatim{%
+ \let\obeylines\W_obeylines
+ \@verbatim \frenchspacing\@vobeyspaces}
+\let\endW_verbatim\endverbatim
+
+\MakeActive{\^^M}
+\def\W_obeylines{%
+ \catcode`\^^M\active%
+ \def^^M{\par\futurelet\@let@token\W_check_verbcont}}%
+\nowikiEnvironments%
+
+\def\W_check_verbcont{%
+ \ifx\@let@token\@xobeysp
+ \expandafter \@gobble %% gobble one space
+ \else
+ \def\W_next{\end{W_verbatim}}%
+ \expandafter \W_next
+ \fi}
+
+%% TODO: enable user to switch between environment ``encodings''
+%% or to disable some of them (edit \W_on_firsttoken)
+
+ \fi %% from \ifx\wikiEnvironments \else
+
+
+%% === Turning Wiki Markup On and Off ===
+
+\def\wikimarkup{\wikiFonts\wikiHeadings\wikiEnvironments}
+\def\nowikimarkup{%
+ \MakeOther\`\MakeOther\'\MakeOther\=\AssignCatCode{\^^M}{5}}
+
+% \wikimarkup %% strange effects here, to be put into document
+
+\AssignCatCode\_{8}
+\endinput
+
+%% todo: tables, links, templates, (pseudo-)html-tags ...
+%% TODO: credits: easylatex etc.
+%% TODO: useful for: ... intuitive markup, ``poor man's WYSIWYG'',
+%% ASCII-WYSIWYG.
+%% Todo: improve Wiki markup: ``tab'' indents instead of `:'
+%% as in testing for end of list: after finding one
+%% leading space, test for another.
+
+
+