summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-01-31 23:54:47 +0000
committerKarl Berry <karl@freefriends.org>2011-01-31 23:54:47 +0000
commitdc52eaa9c7d13f6ed9b95c22f4ed1388b0075520 (patch)
treefb0327b827ab8e54f462e9cbc1498f479de22eb8 /Master/texmf-dist/tex/latex
parent48e42e1b03975e2e28043aa45334e2ffc10d627c (diff)
nicetext (30jan11)
git-svn-id: svn://tug.org/texlive/trunk@21245 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/fifinddo.sty266
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/makedoc.cfg40
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/makedoc.sty40
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/mdoccorr.cfg31
-rw-r--r--Master/texmf-dist/tex/latex/nicetext/niceverb.sty30
5 files changed, 334 insertions, 73 deletions
diff --git a/Master/texmf-dist/tex/latex/nicetext/fifinddo.sty b/Master/texmf-dist/tex/latex/nicetext/fifinddo.sty
index 3bdd7c4ff3b..2652ff75ac6 100644
--- a/Master/texmf-dist/tex/latex/nicetext/fifinddo.sty
+++ b/Master/texmf-dist/tex/latex/nicetext/fifinddo.sty
@@ -1,15 +1,15 @@
%% Macro package `fifinddo.sty' for LaTeX2e, %% FIDO, FIND!
-%% copyright (C) 2009 2010 Uwe L\"uck,
+%% copyright (C) 2009-2011 Uwe L\"uck,
%% http://www.contact-ednotes.sty.de.vu
%% -- author-maintained in the sense of LPPL below --
%% for processing tex(t) files
%% (checking, filtering, converting, substituting, expanding, ...)
-\def\fileversion{0.4a} \def\filedate{2010/04/04}
+\def\fileversion{0.42} \def\filedate{2011/01/25}
%% 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.
+%% version 1.3c of the License, or any later version.
%% The latest version of this license is in
%%
%% http://www.latex-project.org/lppl.txt
@@ -57,19 +57,49 @@
%% Therefore neither `\dospecials' nor `\@sanitize' are
%% used. Curly braces remain untouched as default delimiters in setup
%% macros. For matching them, you must use `\MakeOther\{' and
-%% `\MakeOther' in your `\PatternCodes', or |\Delimiters| to introduce
+%% `\MakeOther\}' %% corr. 2010/11/09
+%% in your `\PatternCodes', or |\Delimiters| to introduce
%% new ones at the same time, e.g., `\Delimiters\[\]':
\newcommand*{\Delimiters}[2]{%
- \MakeOther\{\MakeOther\}\catcode`#1=1\catcode`#2=2\relax}
+ \MakeOther\{\MakeOther\}\catcode`#1\@ne \catcode`#2=\tw@}
%%
%% For replacing strings or for defining other strings of ``other"
%% characters by `\edef', you can use some \LaTeX\ constructs---here
%% are copies |\PercentChar| and |\BackslashChar| of them
%% (do you need more?):
\newcommand*{\PercentChar}{} \let\PercentChar\@percentchar
-\newcommand*{\BackslashChar}{} \let\BackslashChar\@backslashcar
+\newcommand*{\BackslashChar}{} \let\BackslashChar\@backslashchar
+%% %% <- corr. typo 2010/11/25
+%%
+%% |\BasicNormalCatcodes| restores Plain~\TeX's
+%% \textbf{macro parsing} and comment character:
+\newcommand*{\BasicNormalCatCodes}{%
+ \catcode`\\\z@ \Delimiters\{\}%
+% \restorecr !?
+ \catcode`\ =10 \catcode`\%=14}
+%% However, reading files \emph{line by line} makes parsing of
+%% macro parameters somewhat difficult
+%% when the parameter code spans code lines.
+%% A line must not end with a curly brace when a macro requires
+%% another parameter; instead, it must contain the curly left
+%% brace for the next parameter.
+%%
+%% |\MakeActiveDef\<char>{<expand-to>}| makes <char> an active
+%% character expanding to <expand-to>
+\newcommand*{\MakeActiveDef}[1]{%
+ \catcode`#1\active
+ \begingroup
+ \lccode`\~`#1\relax \lowercase{\endgroup \def~}}
+%% (cf. `\@sverb'/`\do@noligs' in \LaTeX's 'doc.sty').
+%% This even allows defining active characters with parameters
+%% (suggested by Heiko Oberdiek LATEX-LIST 2010/09/18,
+%% may be nice for UTF-8).
+%% The macro has been used for conversion of text encodings.
+%% %% <- TODO atari.fdf
%%
+%%
%% == File handling ==
+%% \label{sec:files} %% 2010/11/10
\newwrite\result_file %% or write to \@mainaux!?
%% |\ResultFile{<output>}| opens (and empties) a file
%% <output> to be written into.
@@ -88,13 +118,35 @@
\string\ProvidesFile{\result_file_name}%
[\the\year/\two@digits\month/\two@digits\day\space
automatically generated with fifinddo.sty]}}%
-%% |\ProcessFileWith{<input>}{<loop-body>}| opens a file <input>
+%% %% opt arg 2010/04/06:
+%% |\ProcessFileWith[<changes>]{<input>}{<loop-body>}|
+%% opens a file <input>
%% and runs a loop on its lines the main body of which is <loop-body>.
%% When the <loop> starts, a new line of <input> is stored as macro
-%% %% <- the <loop> 2010/03/10
-%% |\fdInputLine|.
-\newcommand*{\ProcessFileWith}[2]{%
- \openin\@inputcheck=#1%
+%% |\fdInputLine|. The optional argument <changes> may change
+%% category codes used in reading <input>. It may be useful to
+%% read macros with arguments and active characters expanding
+%% in writing to the output file. Even these expansions may be
+%% defined here (local to the group like everything else
+%% happening here, unless ...).
+%% Macros |\BasicNormalCatcodes| and |\MakeActiveDef|
+%% have been created for this purpose (see previous section TODO).
+%% (It may be better to store
+%% these <changes> in another macro <macro> and to call
+%% `\ProcessFileWith[<macro>]{<input>}{<loop-body>}').
+%% More possible uses of some usual \TeX\ category codes may be
+%% (some of)
+%% \begin{itemize}
+%% \item avoiding matching substrings of control words,
+%% \item skipping blank spaces as \TeX\ does it usually,
+%% %% <- macro parsing + ...!?
+%% \item catching \emph{balanced} input pieces,
+%% \item ignoring comments,
+%% \item ignoring certain characters.
+%% \end{itemize}
+\newcommand*{\ProcessFileWith}[3][]{%
+ \typeout{`fifinddo' processing `#2'}%% 2010/04/15
+ \openin\@inputcheck=#2%
% \ifeof\@inputcheck %% bad `exists?' test
% \PackageError{fifinddo}{File `#1' not here}%
% {Mistyped?}%
@@ -108,32 +160,76 @@
%% <- cf. TeXbook "extended keyboards" up-/downarrow
%% -> "math specials", cf. "space specials"
\MakeOther\^^I% ASCII horizontal tab -- guessed!? ^^L!?
-%% With v3.1, we support non-ASCII:
+%% With v0.31, we support non-ASCII:
\count@=128
\loop
\ifnum\count@<\@cclvi
\catcode\count@=12
\advance\count@\@ne
\repeat
+ #1%
\loop \ifeof\@inputcheck \else
\read\@inputcheck to \fdInputLine
- \ignorespaces #2%
+ \ignorespaces #3%
+%% v0.42 supports |\IfFDpreviousInputEmpty|,
+%% cf. section \ref{sec:tails}:
+ \expandafter \let
+ \expandafter \IfFDpreviousInputEmpty
+ \ifx\fdInputLine\@empty \@firstoftwo
+ \else \@secondoftwo \fi
\repeat
\endgroup
% \fi
\closein\@inputcheck}
-%% |\CloseResultFile| closes <output>.
-\newcommand*{\CloseResultFile}{\immediate\closeout\result_file}
-%%
%% TODO: write EOF for debugging!?---%% 2010/03/18
%% Peter Wilson's \ctanpkgref{newfile}
%% provides more powerful file handling.
%% % <- TODO relevant? 2009/04/12
%%
-%% %% \pagebreak %% removed 2010/03/24
-%% TODO move theory to fifinddo.tex 2009/04/12
+%% |\CopyFile[<changes>]{<file>}|
+%% is an application of `\ProcessFileWith'
+%% that ``copies" the content of file <file>
+%% into the file specified by `\WriteResult'.
+%% However, optional <changes> allows some
+%% ``modifications" while ``copying"---especially,
+%% conversion of text encodings by active characters
+%% and expanding macros for generating HTML
+%% or other code. The ``starred" variant
+%% |\CopyFile*| copies one empty line only
+%% when one empty line in the input file is followed
+%% by more of them.
+\newcommand*{\CopyFile}{%
+ \@ifstar{\let\FD@copy@style\FD@compress@voids \FD@copyfile}%
+ {\let\FD@copy@style\CopyLine \FD@copyfile}}
+\newcommand*{\FD@copyfile}[2][]{%
+ \ProcessFileWith[#1]{#2}{\FD@copy@style\message{.}}}
+%% % <- message 2010/11/13
+%% |\CopyLine|
+\newcommand*{\CopyLine}{\WriteResult\fdInputLine}
+%% (... added `\space' without success with macro arguments
+%% 2010/04/26 --- `\BlogCodes' has used a better solution
+%% later).
+\newcommand*{\FD@compress@voids}{%
+ \IfFDinputEmpty{\IfFDpreviousInputEmpty\relax\CopyLine}%
+ \CopyLine}
+%% Another difference to some \ctanpkgref{verbatimcopy}
+%% is that `\CopyFile' really was meant to
+%% be used for creating a HTML file from some \emph{number} of
+%% sources, especially for shared head sections (however,
+%% I have used macros for this purpose so far), a navigation column,
+%% the main varying ``blog-like" content, and finally a shared
+%% footer section.
+%% In the meantime, however, I have chosen another variant
+%% for generating HTML that
+%% replaces an empty line by a line consisting of \verb+<p>+.
+%%
+%% |\CloseResultFile| closes <output>.
+\newcommand*{\CloseResultFile}{\immediate\closeout\result_file}
+%%
+%% \pagebreak
%% == Basic handling of substring conditionals ==
%% \label{sec:theory}
+%% %% TODO move theory to fifinddo.tex 2009/04/12
%% === ``Substring Theory" ===
%% \begin{flushright}\it
%% I wished I could study string theory,\\
@@ -161,10 +257,16 @@
%% We can test #1 and #2 on being empty by `\ifx$#1$' and `\ifx$#2$'.
%% If #2 is empty, <pattern> is \emph{not} in <target>.
%% If #1 is empty at the same time, <target> is empty.
-%% If #1 is empty and #2 is not, <pattern> \emph{starts} <target>!
+%% If #1 is empty and #2 is not, <pattern> \emph{starts}
+%% <target>!\footnote{%% 2011/01/25:
+%% This is just as wrong as the next claim.}
%% This can be used to implement
%% Wikipedia-like lists %% TODO 2009/04/11
-%% and to distinguish package code from comments in 'makedoc'.
+%% and to distinguish package code from comments in
+%% 'makedoc'.\footnote{%% 2011/01/25:
+%% Due to the special substrings to test in this
+%% application, this is true although the
+%% surrounding claims are wrong.}
%%
%% If #2 is \emph{not} empty, <pattern> occurs in <target>---or this once
%% was \emph{thought}, some time in developping the present package,
@@ -212,7 +314,8 @@
%% <pattern> has a \emph{period} $p$---less than its length---in the sense of that
%% the $p$th token to the right or left of each token in <pattern>
%% is the \emph{same} token.
-%% `AMSTERDAM' has a period 8, `day after day' 10, `bonbon' 3, `bonobo' 4.
+%% `AMSTERDAM' has a period 7, %% was 8 2011/01/20
+%% `day after day' 10, `bonbon' 3, `bonobo' 4.
%% There is a counterexample <target> of length $p$ iff
%% <pattern> has period $p$, namely the first substring of <pattern>
%% having length $p$. If the length of <pattern> exceeds a multiple
@@ -321,7 +424,19 @@
%% This really is not \LaTeX. We are starting defining a macro
%% `\substr_cond:<id>' in primitive \TeX\ with `\def' in the form
%% \[`\def\substr_cond:<id>#1<pattern>#2&'\]
-%% where `\csname' etc. render \lq`:<id>'\rq\ part of the macro name.
+%% where `\csname' etc. render \lq`:<id>'\rq\ part of the macro
+%% name.\footnote{%% 2010/11/27:
+%% Loosely speaking of ``the parser" <parser> around
+%% here somehow refers to this macro---but rather to
+%% its ``parameter text" only,
+%% according to \TeX book p.~203. Such a macro,
+%% however, won't ``parse" only, but it will also
+%% execute some job on the results of parsing.
+%% Or: a ``mere parsing" macro might be macro that
+%% transforms a ``weird" Plain \TeX\ parameter text
+%% into a ``simple" parameter text of another macro,
+%% consisting of hash marks and digits only. E.g.:
+%% &\def&\Foo#1<pattern>#2&&{&\foo{#1}{#2}}.}
%% The user or programmer macro produces the part of the definition
%% until the delimiter `&' to match the sandbox. You have to add
%% (maybe) #3 etc. and the `{<definition text>}'
@@ -367,7 +482,8 @@
%% `setup_substr_cond' is the name space for macros that build
%% sandboxes and initialize arguments for conditional macros.
\def\setup_substr_cond{setup_substr_cond:}
-%% \[|\MakeSetupSubstringCondition{<id>}[<changes>]{<pattern>}{<more-args>}|\]
+%% |\MakeSetupSubstringCondition{<id>}[<changes>]{<pattern>}{<more-args>}|\\
+%% [\topsep] %% 2010/11/25
%% % <- TODO allow `%' and ` ' for breaking code lines.
%% ---same <id>, <changes>, <pattern> as for
%% `\MakeSubstringConditional' (this is bad, there may be
@@ -419,8 +535,8 @@
\expandafter #1\expandafter {\RemoveDummyPattern #2}}
%% |\RemoveTilde| is used to remove the tilde that separated
%% the dummy pattern from <split1>.
-% %% An alternative policy is to pass
-% %% <target> (as an argument) to the parsing macro.
+%% %% An alternative policy is to pass %% TODO 2011/01/25
+%% %% <target> (as an argument) to the parsing macro.
\newcommand{\RemoveTilde}{} \def\RemoveTilde#1~{#1}
%% |\RemoveTildeArg<macro>{<arg>}| executes `\RemoveTilde'
%% in the next argument:
@@ -428,7 +544,7 @@
\expandafter #1\expandafter {\RemoveTilde #2}}
%%
%% === Calling conditionals ===
-%% |\ProcessStringWith{<target-string>}{<id>}| builds the sandbox
+%% |\ProcessStringWith{<target-string>}{<id>}| \ builds the sandbox
%% to search <target-string> for the <pattern> associated with the
%% parser-conditional that is identified by <id>, the sandbox then
%% calls the parser.
@@ -439,16 +555,20 @@
\newcommand*{\ProcessStringWith}[2]{%
\csname \setup_substr_cond #2\endcsname{#1}}
%% |\ProcessExpandedWith{<string-macro>}{<id>}| does the same but with
-%% a \emph{macro} (like `\fdInputLine' or `\OutputString') in which
-%% the string to be tested is stored.
-%% %% TODO or \the<tok-reg> 2010/03/25
+%% %% changed, intro toks 2010/04/06:
+%% a \emph{macro} <string-macro>
+%% (like `\fdInputLine' or `\OutputString')
+%% that stores the string to be tested.
+%% |\ProcessExpandedWith{\the<toks>}{<id>}| with a token list
+%% parameter or register <toks> may be used as well.
\newcommand*{\ProcessExpandedWith}[2]{%
\csname \setup_substr_cond #2\expandafter \endcsname
\expandafter{#1}}
%% I would have preferred the reversed order of arguments which seems
-%% to be more natural, but the present is more efficient.
+%% to be more natural, but the present one is more efficient.
%% Macros with reversed order are currently stored after `\endinput'
-%% in section~\ref{sec:pondered}, may be they once return.
+%% in section~\ref{sec:pondered}, maybe they once return.
+%% %% <- minor corr.s 2010/11/27
%%
%% Anyway, most desired will be |\ProcessInputWith{<id>}| just
%% applying to `\fdInputLine':
@@ -501,7 +621,7 @@
%% starts a line or the line is empty altogether (this must be
%% decided by another test).
%%
-%% |\IfFDempty{<arg>}{<when-empty>}{<when-not-empty>}|
+%% |\IfFDempty{<arg>}{<when-empty>}{<when-not-empty>}| \
%% is used to test <arg> on emptyness (without expanding it):
\newcommand*{\IfFDempty}[1]{%
\ifx$#1$\expandafter \@firstoftwo \else
@@ -512,7 +632,8 @@
\newcommand*{\IfFDinputEmpty}{%
\ifx\fdInputLine\@empty \expandafter \@firstoftwo \else
\expandafter \@secondoftwo \fi}
-%% |\IfFDdollar{<arg>}{<when-empty>}{<when-not-empty>}|
+%% |\IfFDdollar{<arg>}{<when-dollar>}{<when-not-dollar>}|
+%% %% <- dollar<-empty
%% is another variant, testing <split2> for being `$',
%% main indicator of there is a match anywhere in <target>
%% (as opposed to starting or ending match):
@@ -535,6 +656,21 @@
%% \emph{one} test of emptiness per input line should suffice---it
%% may be left open whether this should be the first of all tests
%% \dots
+%%
+%% |\IfFDpreviousInputEmpty{<when-empty>}{<when-not-empty>}|
+%% (v0.42)
+%% is a companion of `\IfFDpreviousInputEmpty' referring to
+%% `\fdInputLine' as of the \emph{previous} run of the loop
+%% in `\ProcessFileWith', cf. section~\ref{sec:files},
+%% where its choice among its two arguments is determined.
+%% It is initialized as follows:
+\newcommand*{\IfFDpreviousInputEmpty}[2]{#2}
+%% ---which is same as
+\let\IfFDpreviousInputEmpty\@secondoftwo
+%% ... working like `false', somewhat.
+%% Together with `\IfFDinputEmpty', it can be used to compress
+%% multiple adjacent empty lines into a single one
+%% when copying a file.
%%
%% === Line counter ===
%% A \LaTeX\ counter |fdInputLine| may be useful for screen or log
@@ -553,7 +689,7 @@
%% be used to issue commands ``from outside" at a place where
%% executing the command is safe or appropriate.
\newcounter{fdInputLine}
-%% You then must insert |\CountInputLines| in the second argument
+%% You then must insert \ |\CountInputLines| \ in the second argument
%% of `\ProcessFileWith' (or in a macro called from there)
%% so that the counter is stepped. %% TODO!? 2009/04/07
\newcommand*{\CountInputLines}{\global\advance\c@fdInputLine\@ne}
@@ -580,7 +716,7 @@
\csname \setup_substr_cond LEAVE\endcsname \@firstofone
%% I.e., `\ProcessStringWith{<string>}{LEAVE}' expands to <string>
%% ... \ProcessStringWith{(Indeed!)}{LEAVE}
-
+%%
%% == Setup for expandable chains of replacements ==
%% \label{sec:replchain}%% TODO makedoc: provide less visible label/ref 2009/04/11
%% By the following means, you can create macros
@@ -589,7 +725,7 @@
%% the result of applying a chain (sequence) of stringwise replacements
%% to <string>.
%% You can even write a transformed input <string> to a file
-%% without defining anything anything after `\read to'\,.\,.\,.
+%% without defining anything after `\read to'\,.\,.\,. %% corr. 2010/11/24
%% In this case however, you don't get any statistical message
%% about what happened or not. With `\edef\OutputString' you can at
%% least issue some `changed!' or `left!' (maybe `\message{!}' vs.\
@@ -597,6 +733,7 @@
%% There is an application in 'makedoc' for ``typographical upgrading"
%% from plain text to \TeX\ input.
%%
+%% === The backbone macro ===
%% |\repl_all_chain_expandable| will be the backbone of the
%% replacements. It is called by some parsing macro <parser>
%% and receives from the latter <split1>~=~#1 and <split2>~=~#2.
@@ -605,7 +742,8 @@
%% #1, #2 splits, #3 past, #4 substitute,
%% #5 repeat parser, #6 pass to
% \ifx~#2\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
-%% The previous line would be somewhat faster, but let us exemplify
+%% The previous line (or something similar!?) %% add. 2010/11/24
+%% would be somewhat faster, but let us exemplify
%% `\IfFDdollar' from section~\ref{sec:tails} instead:
\IfFDdollar{#2}%
%% If #2 starts with `$'---with category code 3, ``math shift"!,
@@ -636,9 +774,11 @@
%% Finally, #5 and #6 again ``recall" <parser> and the sandbox
%% builder to which to change in case of no other match.
%%
-%% \pagebreak[3] %% 2010/03/22
%% % TODO move following up!? 2009/04/11
-%% \[|\MakeExpandableAllReplacer{<id>}[<chng>]{<find>}{<replace>}{<id-next>}|\]
+%% === The basic setup interface macro ===
+%% |\MakeExpandableAllReplacer{<id>}[<chng>]{<find>}{<replace>}{<id-next>}|\\
+%% [\topsep]
+%% %% \[|\MakeExpandableAllReplacer{<id>}[<chng>]{<find>}{<replace>}{<id-next>}|\]
%% creates sandbox and parser with common identifier <id> and search
%% pattern <find>. Each occurrence of <find> will be replaced by
%% <replace>. When <find> is not found, the sandbox builder for
@@ -676,7 +816,10 @@
\repl_all_chain_expandable{##1}{##2}}}
%% The final command is the one that we explained first. %% TODO 2009/04/11
%%
-%% \[|\PrependExpandableAllReplacer{<id>}[<cat>]{<find>}{<replace>}|\]
+%% === Half-automatic chaining ===
+%% |\PrependExpandableAllReplacer{<id>}[<cat>]{<find>}{<replace>}| %%\\
+%% %% [\topsep]
+%% %% \[|\PrependExpandableAllReplacer{<id>}[<cat>]{<find>}{<replace>}|\]
%% is hoped to be a slight relief in composing replacement chains.
%% It does something like invoking `\MakeExpandableAllReplacer'
%% with <prev-setup-id> for the last <next-id> argument
@@ -690,13 +833,29 @@
%% `\PrependExpandableAllReplacer{<id-2>}{<find-2>}{<subst-2>}'
%% \end{quote}
%% and call <id-2>, it will call <id-1>, and the latter will call
-%% <id-0>. So you can reorder the chain my moving `\Prepend'... lines.
+%% <id-0>. So you can reorder the chain by moving `\Prepend'... lines.
\newcommand*{\PrependExpandableAllReplacer}{%
\let\fdParserId_before\fdParserId
\StartFDsetup\prep_xpdbl_all_repl}
\newcommand*{\prep_xpdbl_all_repl}[2]{%
\mk_setup_xpdbl_all_repl{#1}{#2}{\fdParserId_before}}%
-%%
+%% |\StartPrependingChain| makes `\MakeExpandableReplacer'
+%% superfluous, in the sense that
+%% the above chain setup can be achieved as well like this:
+%% \begin{quote}
+%% `\StartPrependingChain'\\
+%% `\PrependExpandableAllReplacer{<id-0>}{<find-0>}{<subst-0>}'\\
+%% `\PrependExpandableAllReplacer{<id-1>}{<find-1>}{<subst-1>}'\\
+%% `\PrependExpandableAllReplacer{<id-2>}{<find-2>}{<subst-2>}'
+%% \end{quote}
+%% This adds a code line, but this way you can choose
+%% the final ``real" job more easily. So you can think of
+%% `\StartPrependingChain' as ``initializing a chain of
+%% prependments."
+\newcommand*{\StartPrependingChain}{\def\fdParserId{LEAVE}}
+%% Use automatic ids another time ... TODO %% 2010/11/24
+%%
+%% === `CorrectHook' launching the replacement chain ===
%% %% 2010/03/29:
%% |\MakeDocCorrectHook{<string>}| belongs to 'makedoc',
%% but in the meantime ('nicetext' release 0.3)
@@ -802,6 +961,29 @@ v0.4 2010/03/24 removed \pagebreak before "substrings";
<relation> with \HardNVerb;
don't mention \begingroup with
\mk_setup_substr_cond; renamed v0.4
+belonged to nicetext RELEASE 0.4
v0.4a 2010/04/04 copyright 2010
+belonged to nicetext RELEASE 0.41
+
+v0.41 2010/04/06 more on \ProcessExpanded...;
+ \ProcessFile... gets opt arg
+ 2010/04/13 \ProcessFile{<file>}... shows <file>
+used by blog.sty v0.1, v0.2
+v0.42 2010/11/09 typo corr.
+ 2010/11/10 \IfFDpreviousInputEmpty
+ 2010/11/11 \BasicNormalCatcodes from blog.sty,
+ \CopyFile*, \CopyLine; v3. -> v0.3;
+ LPPL v1.3c
+ 2010/11/12 \CatCode replaced (implemented in niceverb only)
+ 2010/11/13 \CopyFile with \message{.}
+ 2010/11/24 reworked doc. of replacement setup;
+ \StartPrependingChain
+ 2010/11/25 corr. typo \@backslash...; doc. changes;
+ \CopyLine indeed, not \fdCopyLine
+ 2010/11/27 footnote on "parser", other doc. corr.s
+ 2011/01/20 corr. "period" AMSTERDAM
+ 2011/01/25 updated (C); footnotes to `substring theory';
+ TODO with \RemoveTilde; some manual line spacings
+ (adding `\ ')
TODO: cleveref 2010/03/18
diff --git a/Master/texmf-dist/tex/latex/nicetext/makedoc.cfg b/Master/texmf-dist/tex/latex/nicetext/makedoc.cfg
new file mode 100644
index 00000000000..43d57ed87cc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/nicetext/makedoc.cfg
@@ -0,0 +1,40 @@
+\ProvidesFile{makedoc.cfg}[2011/01/24 documentation settings]
+
+\author{Uwe L\"uck\thanks{\url{http://contact-ednotes.sty.de.vu}}}
+% \author{Uwe L\"uck---{\tt http://contact-ednotes.sty.de.vu}}
+
+%% hyperref:
+\RequirePackage{ifpdf}
+\usepackage[%
+ \ifpdf
+% bookmarks=false, %% 2010/12/22
+% bookmarksnumbered,
+ bookmarksopen, %% 2011/01/24!?
+ bookmarksopenlevel=2, %% 2011/01/23
+% pdfpagemode=UseNone,
+% pdfstartpage=10,
+% pdfstartview=FitH,
+ citebordercolor={ .6 1 .6},
+ filebordercolor={1 .6 1},
+ linkbordercolor={1 .9 .7},
+ urlbordercolor={ .7 1 1}, %% playing 2011/01/24
+ \else
+ draft
+ \fi
+]{hyperref}
+
+\RequirePackage{niceverb}[2011/01/24]
+\RequirePackage{readprov} %% 2010/12/08
+\RequirePackage{hypertoc} %% 2011/01/23
+\RequirePackage{texlinks} %% 2011/01/24
+\makeatletter
+ \@ifundefined{strong}
+ {\let\strong\textbf} %% 2011/01/24
+ {}
+\makeatother
+
+\errorcontextlines=4
+\pagestyle{headings}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/nicetext/makedoc.sty b/Master/texmf-dist/tex/latex/nicetext/makedoc.sty
index 250d65d1fe1..93e14b8ffdb 100644
--- a/Master/texmf-dist/tex/latex/nicetext/makedoc.sty
+++ b/Master/texmf-dist/tex/latex/nicetext/makedoc.sty
@@ -1,10 +1,10 @@
%% Macro package `makedoc.sty' for LaTeX2e,
-%% copyright (C) 2009 2010 Uwe L\"uck,
+%% copyright (C) 2009-2011 Uwe L\"uck,
%% http://www.contact-ednotes.sty.de.vu
%% -- author-maintained in the sense of LPPL below --
%% for preparing documentations from packages.
-\def\fileversion{0.4} \def\filedate{2010/03/30}
+\def\fileversion{0.41} \def\filedate{2011/01/25}
%% This file can be redistributed and/or modified under
%% the terms of the LaTeX Project Public License; either
@@ -162,16 +162,24 @@
%% and our choice for `\listinglabel' are
%% called at `\begin{document}'---outside the possible group.
\gdef\mdPackageCode{%
- \small
-%% Get rid of 'niceverb' stuff:
- % \MakeOther\`\MakeOther\'%% probably OK with moreverb
- \MakeOther\<\MakeOther\|%
+% \small
+%% 2011/01/19, v0.41: `\small' has affected the `\baselineskip'
+%% above the code. So a `\par' must be executed before `\small'.
+%% But we don't want to have the extra `\partopsep'---forced ...
+ \mdStartPackageCode %% 2011/01/19 v0.41
%% From the next occurrence of the environment onwards,
-%% `listing' must be replaced by `listingcont'. We must
-%% copy the previous code diligently.
- \gdef\mdPackageCode{\small \MakeOther\<\MakeOther\|%
+%% `listing' must be replaced by `listingcont'.
+ \gdef\mdPackageCode{\mdStartPackageCode %% 2011/01/19 v0.41
\listingcont}%
\listing{1}}
+\gdef\mdStartPackageCode{% %% 2011/01/19 v0.41
+%% Smart `\small'---we might once allow `\partopsep'
+%% in `vmode'---not this time:
+ \par \small \partopsep\z@skip
+%% Get rid of 'niceverb' stuff:
+ % \MakeOther\`\MakeOther\'%% probably OK with moreverb
+ \MakeOther\<\MakeOther\|%
+}
\gdef\endmdPackageCode{%
\endlisting
\global\let\endmdPackageCode\endlistingcont}
@@ -184,9 +192,13 @@
%% 'moreverb''s (global!) code line number settings
%% (\emph{first} line number + {\it modulo} for displaying)
%% when combining documentations of \emph{more} than one package
-%% with the present solution for implementing `mdPackageCode':
-\newcommand*{\ResetCodeLineNumbers}{%
- \global\listing@line\@ne \gdef\listing@step{\@ne}}
+%% with the present solution for implementing `mdPackageCode'.
+%% %% 2010/12/20, rm. 2010/12/21:
+%% % (With v0.41, the definition is global, so it can be used
+%% % outside a group in a `.tex' preamble that does the preprocessing.)
+\@ifdefinable\ResetCodeLineNumbers{%% global as above, v0.41
+ \gdef\ResetCodeLineNumbers{%
+ \global\listing@line\@ne \gdef\listing@step{\@ne}}}
%%
%% \subsection{Dealing with comments}
%% |\TreatAsComment{<text>}| writes <text> to the documentation
@@ -572,3 +584,7 @@ v0.4 2010/03/23 "Distinguishing"
2010/03/28 include `% ' commenting style
2010/03/29 \ResetCodeLineNumbers
2010/03/30 use \SetPatternCodes, \ResetPatternCodes
+v0.41 2010/12/20 \ResetCodeLineNumbers defined globally
+ 2010/12/21 ... rather presented as a bug-fix
+ 2011/01/19 \mdStartPackageCode
+ 2011/01/25 updated (C)
diff --git a/Master/texmf-dist/tex/latex/nicetext/mdoccorr.cfg b/Master/texmf-dist/tex/latex/nicetext/mdoccorr.cfg
index 79d3172b34f..6ffa27f1ff2 100644
--- a/Master/texmf-dist/tex/latex/nicetext/mdoccorr.cfg
+++ b/Master/texmf-dist/tex/latex/nicetext/mdoccorr.cfg
@@ -1,6 +1,6 @@
-\ProvidesFile{mdoccorr.cfg}[2010/03/29
+\ProvidesFile{mdoccorr.cfg}[2011/01/12
local typographical corrections
- with `makedoc.sty']
+ with makedoc.sty]
%% ... also demonstrates 'niceverb.sty'---see the typeset
%% documentation of the present file in `makedoc.pdf'.
%%
@@ -8,18 +8,24 @@
%% `\PatternCodes' to be used in parsing and replacing
%% (some ``sanitizing"). %% improved line breaks 2010/03/29
\SetPatternCodes{\MakeOther\\\MakeOther\ }
-%%
-%% |\MakeExpandableAllReplacer{<id>}{<find>}{<subst>}{<id-next>}|%
-%% \footnote{Yes,
-%% &\MakeExpandableAllReplacer{<id>}{<find>}{<subst>}{<id-next>}.}
-\MakeExpandableAllReplacer{etc}{etc. }{etc.\ }{LEAVE}
-%% So you can keep inter-sentence space after `etc.'
-%% by a code line break.
-%%
+%% |\StartPrependingChain| initializes setup of a replacement
+%% chain:
+\StartPrependingChain
%% |\PrependExpandableAllReplacer{<id>}{<find>}{<subst>}|:
+\PrependExpandableAllReplacer{etc}{etc. }{etc.\ }
+%% ... you can keep inter-sentence space after `etc.'
+%% by a code line break.
+\PrependExpandableAllReplacer{Cf}{Cf. }{Cf.\ } %% 2011/01/12
\PrependExpandableAllReplacer{cf}{cf. }{cf.\ } %% corr. 2010/03/23
%% ... but think of `cf.~'. Don't leave `cf.' at code line end!
-\PrependExpandableAllReplacer{dots}{...}{$\dots$}
+\PrependExpandableAllReplacer{rarr}{->}{$\to$} %% 2010/11/06
+\PrependExpandableAllReplacer{larr}{<-}{$\gets$} %% 2010/11/06
+% \PrependExpandableAllReplacer{dots}{...}{$\dots$}
+%% ... 2010/11/24 ``symmetric" variant of `\textellipsis':
+%% allow extra space at line end.
+\newcommand*{\PXAR}{\PrependExpandableAllReplacer}
+\PXAR{dots}{...}{.\kern\fontdimen3\font.\kern\fontdimen3\font.}
+\PXAR{dots }{... }{.\kern\fontdimen3\font.\kern\fontdimen3\font.\ }
%% ... chain starts here, and here |\MakeDocCorrectHook| (silently)
%% enters through a default variant |\SetCorrectHookJobLast|
%% of |\SetCorrectHookJob{<id>}|:
@@ -38,3 +44,6 @@ HISTORY
2010/03/22 try \Prepend...
2010/03/23 corrected `cf'
2010/03/29 use \SetPatternCodes etc.
+2010/11/06 <- and ->
+2010/11/24 `...' ``symmetric variant" of `\textellipsis';
+ \StartPrependingChain, no more \MakeExpandableAllreplacer
diff --git a/Master/texmf-dist/tex/latex/nicetext/niceverb.sty b/Master/texmf-dist/tex/latex/nicetext/niceverb.sty
index a2f7b104f65..4afa3247703 100644
--- a/Master/texmf-dist/tex/latex/nicetext/niceverb.sty
+++ b/Master/texmf-dist/tex/latex/nicetext/niceverb.sty
@@ -1,8 +1,8 @@
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{niceverb}[2010/04/05 v0.41
+\ProvidesPackage{niceverb}[2011/01/26 v0.42
minimize doc markup (UL)]
-%% Copyright (C) 2009, 2010 Uwe Lueck,
+%% Copyright (C) 2009-2011 Uwe Lueck,
%% http://www.contact-ednotes.sty.de.vu
%% -- author-maintained in the sense of LPPL below --
%%
@@ -149,7 +149,9 @@
\let\do\MakeOther \dospecials
%% Turn off 'niceverb' specials:
\MakeOther\|\MakeOther\`\MakeOther\'%
- \if_no_nice_meta_verb_\MakeOther\<\fi
+ \if_no_nice_meta_verb_ \MakeOther\<%
+ \else \MakeActiveLet\<\MetaVar %% 2010/12/31
+ \fi
\MakeActiveLetHere #1\niceverb_egroup
\verb@eol@error %% TODO change message 2009/04/09
}{\string\NVerb \string#1}}
@@ -254,7 +256,8 @@
\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. %% found 2010/03/05
+%% `\DoOrBranch#1'\,...\,`#1' or so. %% found 2010/03/05
+%% %% <- `...' fix 2011/01/19
\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}
@@ -272,7 +275,9 @@
\DeclareRobustCommand*{\BuildCsSyntax}{%
\futurelet\let_token \build_cs_syntax_sp}
\newcommand*{\build_cs_syntax_sp}{%
- \ifx\let_token\@sptoken \else %% TODO ^^M!?
+ \ifx\let_token\@sptoken
+ \@% %% 2010/12/30
+ \else %% TODO ^^M!?
\expandafter \start_build_cs_syntax
\fi}
\newcommand*{\start_build_cs_syntax}[1]{%
@@ -482,8 +487,9 @@
%% get `\sfcode'=1001) because
%% \NVerb+\href{http://ctan.org/pkg/<pkg>}{<pkg>}+ failed.
%% However, what I actually needed was |\ctanpkgref{<pack-name>}|:
-\DeclareRobustCommand*{\ctanpkgref}[1]{%
- \href{http://ctan.org/pkg/#1}{\textsf{#1}}}
+% \DeclareRobustCommand*{\ctanpkgref}[1]{%
+% \href{http://ctan.org/pkg/#1}{\textsf{#1}}}
+%% ... moves to 'texlinks.sty' 2011/01/24.
%%
%% === Command-Highlighting Boxes ===
%% With v0.3, we include one kind of command syntax boxes
@@ -668,7 +674,7 @@
%% With the 'hyper-xr' package creating links into external documents,
%% preceding `\externaldocument{<file>}' with
%% `\MakeActiveLet\&\CmdSyntaxVerb' may be needed.
-%% I do not want to redefine something here right now as I
+%% I do not want to redefine something here right now as %% typo 2010/11/09
%% I have too little experience with this situation.
%%
%% ==== Turning off and on altogether ====
@@ -773,3 +779,11 @@ SENT TO CTAN
v0.41 2010/04/03 v0.33 -> v0.4
2010/04/05 corrected \AutoCmdInput list
+SENT TO CTAN as part of NICETEXT release r0.41
+
+v0.41a 2010/11/09 typo corrected
+v0.42 2010/12/30 corr. `\ ' emulation in auto mode
+ 2010/12/31 \MetaVar in ...maybe_meta...
+ 2011/01/19 `...' fix
+ 2011/01/24 \ctanpkgref moves to texlinks.sty
+ 2011/01/26 update (C)