diff options
author | Karl Berry <karl@freefriends.org> | 2011-01-31 23:54:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-01-31 23:54:47 +0000 |
commit | dc52eaa9c7d13f6ed9b95c22f4ed1388b0075520 (patch) | |
tree | fb0327b827ab8e54f462e9cbc1498f479de22eb8 /Master/texmf-dist/tex/latex | |
parent | 48e42e1b03975e2e28043aa45334e2ffc10d627c (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.sty | 266 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nicetext/makedoc.cfg | 40 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nicetext/makedoc.sty | 40 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nicetext/mdoccorr.cfg | 31 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nicetext/niceverb.sty | 30 |
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) |