summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/gmutils
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-02-05 00:19:57 +0000
committerKarl Berry <karl@freefriends.org>2011-02-05 00:19:57 +0000
commitaca1d102ca518e1c50d8b981087274aa7ba410ef (patch)
tree8ccb5b86e87a9babe98c483f59519e86c1cc4503 /Master/texmf-dist/tex/latex/gmutils
parent9475dd92fbbacb2867d8eff365ced7f92766015e (diff)
gmutils (2feb11)
git-svn-id: svn://tug.org/texlive/trunk@21294 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/gmutils')
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmRCS.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmampulex.sty14
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmbase.sty304
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmcommand.sty387
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmenvir.sty44
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmlogos.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmmeta.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmmw.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmnotonlypream.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmparts.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmrelsize.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmtypos.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmurl.sty7
-rw-r--r--Master/texmf-dist/tex/latex/gmutils/gmutils.sty7
14 files changed, 547 insertions, 272 deletions
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmRCS.sty b/Master/texmf-dist/tex/latex/gmutils/gmRCS.sty
index 814896937b8..0ac760f4d0d 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmRCS.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmRCS.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmRCS.sty” generated with the DocStrip utility.
%%
%%
@@ -63,11 +63,6 @@
\defRCSeDatum{Time}{#5}% |\eRCSVTime|
\defRCSeDatum{Author}{#6}% |\eRCSVAuthor|
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmRCS.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmampulex.sty b/Master/texmf-dist/tex/latex/gmutils/gmampulex.sty
index 432b2ee2201..ba1495c1187 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmampulex.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmampulex.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmampulex.sty” generated with the DocStrip utility.
%%
%%
@@ -162,8 +162,11 @@
#1 Q{\outer\long\global\protected}{} % (1) as |\ampulexlet|
#2 T{\def\edef\gdef\xdef\pdef}{\def} % (2) ad |\ampulexlet|
#3 m % (3) macro to be redefined,
-#4 O{} % (4) as |\ampulexlet|'s |#5|,
-#5 O{} % (5) as |\ampulexlet|'s |#6|,
+#4 O{} % (4) as |\ampulexlet|'s |#5|, i.e., \cs{def}'s parameters string; empty by default,
+#5 O{} % (5) as |\ampulexlet|'s |#6|, i.e., definition body's
+ % parameters to be taken in a~one-step expansion of the redefined
+ % macro; empty by default; the undelimited parameters should be
+ % double-braced here (but not doubled).
#6 m % (6) start token(s),
#7 m % (7) end token(s),
#8 m % (8) the replacement
@@ -207,11 +210,6 @@
\ampulexdef\@starttoc[#1][#1]\makeatletter\@input{\makeatletter\NamedInput}
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmampulex.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmbase.sty b/Master/texmf-dist/tex/latex/gmutils/gmbase.sty
index 9e0bba08753..ecc0542281f 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmbase.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmbase.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmbase.sty” generated with the DocStrip utility.
%%
%%
@@ -44,6 +44,10 @@
\XeTeXinputencoding utf-8 % we use Unicode dashes later in this file.
\fi% and if we are not in \XeTeX, we skip them thanks to \XeTeX-test.
+\unless\ifdefined\strcmp
+ \let\strcmp\pdfstrcmp
+\fi
+
\let\@xa\expandafter
\let\@nx\noexpand
@@ -68,14 +72,14 @@
{\string#1}% if |#1| is active
{%
\@xa\@xa\@xa\ifnum\@xa\@xa\@xa\escapechar
- \@xa\@xa\@xa=\@xa\@xa\@xa`\@xa\gmu@firstandspace
- \string#1\else\string#1\fi
+ \@xa\@xa\@xa=\@xa\@xa\@xa`\@xa\gmu@firstandspace
+ \string#1\@xa\@gobble
+ \else\@xa\@firstofone \fi
+ {\string#1}%
}% if |#1| is not active
}% of if |#1| not empty
}
-
-
\long\def\bslash@or@ac#1{%
\ifcat\@nx~\@nx#1%
\else
@@ -144,6 +148,7 @@
\fi
}
+
\long\def\gmu@if#1#2{%
\ifnum\strcmp{incsname}{\detokenize{#1}}=\z@
\@xa\@xa\@xa\ifincsname
@@ -286,6 +291,10 @@
\long\def\@allbutfirstof#1#2\@nil{#2}
+\long\def\@firstthensecond #1#2{#1#2} % Note this macro strips braces
+ % if present.
+\long\def\@secondthenfirst #1#2{#2#1} % Note as above.
+
\def\longafterfi{%
@@ -347,8 +356,7 @@
\gmu@ifempty{##2}\@secondoftwo\@firstoftwo}%
\gmu@among@#2#1\gmu@among@}
-\newif\ifgmu@ifxquant
-\newtoks\gmu@ifxa@toks
+\newif\ifgmu@ifquant
\long\pdef\gmu@ifxany
#1% a single token to be |\ifx| ed with each of |#2|
@@ -358,14 +366,14 @@
% we wrap the iteration over |#2|'s tokens in |\gmu@ifempty| because
% we expect many empty |#2|'s in |\DeclareCommand|'s |\loop|
% arguments (such as |Q| and |U|)
- \gmu@ifxquantfalse
+ \gmu@ifquantfalse
\let\gmu@ifxa@aasiter\@@gmu@ifxa@aasiter
%
\edef\gmu@ifxa@aas{% edef and unexpanded to protect agains
% |#|\cat6 token(s) in |#1|.
\unexpanded{%
\ifx #1\gmu@ifxa@token
- \gmu@ifxquanttrue
+ \gmu@ifquanttrue
\let\gmu@ifxa@aas\gmu@ifxa@drainer
\else
\ifx \gmu@ifxa@Limit\gmu@ifxa@token
@@ -376,8 +384,8 @@
}%of |\unexpanded|
}% of |\gmu@ifxa@aas|
%
- \gmu@ifxa@aasiter #2\gmu@ifxa@Limit
- \gmu@if {gmu@ifxquant}{}%
+ \gmu@ifxa@aasiter #2\gmu@ifa@PreLimit\gmu@ifxa@Limit
+ \gmu@if {gmu@ifquant}{}%
}% of if |#2| nonempty
}
@@ -388,7 +396,8 @@
\gmu@ifxa@aasiter
}
-\gmu@DefSymbol\gmu@ifxa@Limit
+\gmu@DefSymbol \gmu@ifa@PreLimit
+\gmu@DefSymbol \gmu@ifxa@Limit
\def\@@gmu@ifxa@aasiter{%
\afterassignment\gmu@ifxa@aas
@@ -401,6 +410,7 @@
\gmu@ifxany{#1}{#2}\@secondoftwo\@firstoftwo
}
+
\long\def\gmu@foreach#1\gmu@foreach@delim#2{%
%
\long\def\gmu@forer##1{%
@@ -570,7 +580,6 @@
\gmu@DefSymbol\defNoHash
\gmu@DefSymbol\defHashy
\gmu@DefSymbol\boolean
-\gmu@DefSymbol\edim
\def\gmu@geteschar{%
% A macro that edefines detokenised char of the charcode |\escapechar|
@@ -651,7 +660,7 @@
%
}% of case Boolean
%
- \gmu@CASEstrany #2{\dimexpr \numexpr \glueexpr \edim}%
+ \gmu@CASEstrany #2{\dimexpr \numexpr \glueexpr }%
{% case \eTeX\ expression
\@tempswatrue
\def\gmu@IfIs@resa{% if should be a macro expanding to
@@ -1002,17 +1011,12 @@
\long\def\IfIsExpression
#1% the stuff to be examined
-#2% |\dimexpr|, |\glueexpr|, |\numexpr| or |\muexpr| or |\edim| (added
+#2% |\dimexpr|, |\glueexpr|, |\numexpr| or |\muexpr|
{%
\ifx#2\numexpr\let\next\@tempcnta\fi
\ifx#2\glueexpr\let\next\@tempskipa\fi
\ifx#2\dimexpr\let\next\@tempdima\fi
\ifx#2\muexpr\let\next\@tempmuskipa\fi
- \gmu@if {strings} {#2\edim} % in case of special (not necessarily
- % defined) \CS\ |\edim| we gobble the
- % |=\edim| tokens and put |\dimexpr|
- % before the tested token.
- {\def\next##1##2{\@tempdima=\dimexpr}}{}%
\afterassignment\gmu@testtopenalty
\next=#2#1\penalty
}
@@ -1081,13 +1085,30 @@
\lpdef\addtotoks#1#2{%
#1=\@xa{\the#1#2}}
-\lpdef\prependtotoks#1#2{%
+\newtoks\gmu@prependtoks@aux
+
+\lpdef\gmu@prependtotoks@ambig
+#1% scope
+#2% toks register
+#3% text of prependement
+{%
\iffalse {\fi % hack to balance braces in definition
\@XA{%
- #1=\bgroup#2%
- }\the#1}% actually this brace closes the text opened by |\bgroup|.
+ #1#2=\bgroup#3%
+ }% during execution, this brace closes the |\@XA|'s argument…
+ \the#2}% and this one closes the text opened by |\bgroup|, i.e.,
}
+\lpdef\prependtotoks
+#1% toks register
+#2% text to be prepended
+{\gmu@prependtotoks@ambig {}{#1}{#2}}%
+
+\lpdef\gprependtotoks
+#1% toks register
+#2% text to be prepended
+{\gmu@prependtotoks@ambig \global{#1}{#2}}%
+
\long\def\addto@forlist
#1% a comma-separated list
#2% the element(s) added
@@ -1404,7 +1425,7 @@
}%
}% of if |\futurelet| detected a blank space
%
- \gmu@CASE {condsalt} % if any of the conditions below:
+ \gmu@CASE {AnyClause} % if any of the conditions below:
{{ x {\@let@token\@undefined}
x {\@let@token\relax}}} % it's arg of disjunction
{\gmu@peep@hash{#1}}%
@@ -1475,7 +1496,7 @@
#1% outer macro's tested list of tokens
#2% “if found” branch
#3% “if not found” branch
-{\gmu@notif {condsalt}
+{\gmu@notif {AnyClause}
{{ x {\@let@token\@undefined} x {\@let@token\relax}}}%
{#2}%
%
@@ -1898,6 +1919,8 @@
}
{\def\textbullet{\ensuremath{\bullet}}}
+\def\if@XeTeX {\@ifXeTeX {\iftrue}{\iffalse}}
+
\long\def\detoken@xa#1{\detokenize\@xa{#1}}
@@ -1913,7 +1936,7 @@
\def\gmshowlists{%
\tracingonline=1
- \showboxdepth=1000 \showboxbreadth=1000 \showlists}
+ \showboxdepth=1 \showboxbreadth=1000000 \showlists}
\def\gmshowbox{%
\tracingonline=1
@@ -1922,7 +1945,9 @@
\def\gmtracingoutput{%
\tracingoutput\@ne
\tracingonline=\@ne
- \showboxdepth=10000 \showboxbreadth=10000 }
+ \showboxdepth=1
+ \showboxbreadth=1000000
+}
\newif\ifgmu@debug@msgs
@@ -1940,6 +1965,7 @@
\tracingmacros\m@ne
\tracingassigns=\m@ne
\tracingcommands=\m@ne
+ \tracingoutput=\m@ne
\gmu@debug@msgsfalse
\let\let\let
}
@@ -2541,54 +2567,77 @@
}%
}
-\long\def\condsalt
-#1% a sequence of conditionals' names without »if« followed by the condition
-{%
- \numexpr \condsalt@iter 0 #1 {}{}\gmu@delim %
-}
-\long\def\condsalt@iter
-#1% expression so far
-#2% the name of current conditional (without »if«)
-#3% the condition for |#2|
-#4% tail of switches
+\long\def\gmu@ifQUANT@iter
+#1% the (binary) value that terminates calculation: 0 for AND and 1
+ % for OR (it has to be a single token due to |\expandafter| in line
+ % \ref{@xa-in-QUANT})
+#2% the (binary) value so far;
+#3% the name of current conditional (without »if«)
+#4% the condition for |#2|
+#5% tail of condition(al)s
\gmu@delim
{%
- \gmu@ifempty{#4}%
- {#1\relax}% |\relax| to close the num expression
- {\condsalt@iter
- {#1+\csname if#2\endcsname #3 1\else 0\fi}%
- #4\gmu@delim
+ \gmu@ifempty{#5}%
+ {#2}%
+ {% or else we check whether |#2| is terminating
+ \gmu@if {num}{#2=#1 }% with a space
+ {#1}%
+ {\@xa\gmu@ifQUANT@iter \@xa #1% \label{@xa-in-QUANT}
+ \the\numexpr %^^V 1 * % |\numexpr| is used here to get the full
+ % expansion in one step. No need of superposing with identity.
+ (\gmu@if {#3}{#4 } {1} {0}) +\z@\relax
+ #5\gmu@delim
+ }%
}%
-}
-
-\long\def\ifcondsalt #1{%
- \ifnum \condsalt{#1}>\z@
-}
+}% of |\gmu@ifQUANT@iter|.
-\long\def\condsconj
-#1% a sequence of conditionals' names without »if« followed by the condition
+\long\def \ifAnyClause
+#1{%
+ \ifnum
+ \gmu@ifQUANT@iter
+ 1% for the Existential Quantifier 1 terminates calculation (\emph{an(y)}
+ % example has just been found)
+ 0% To make any calculation sense we assume 0 at the beginning
+ % (i.e., “we haven't found an example yet”)
+ #1
+ {false}{} {false} {}% the sentinel(s)
+ \gmu@delim % the delimiter
+ =\@ne % right side of |\Ѻifnum|
+}
+
+\long\def\gmu@OR
+#1% as above\\
{%
- \numexpr \condsconj@iter 1 #1 {}{}\gmu@delim %
+ \ifAnyClause {#1}%
+ \@xa\@firstoftwo
+ \else
+ \@xa\@secondoftwo
+ \fi
}
-\long\def\condsconj@iter
-#1% expression so far
-#2% the name of current conditional (without »if«)
-#3% the condition for |#2|
-#4% tail of condition(al)s
-\gmu@delim
+\long\def\ifAllClauses
+#1% a sequence of pairs \arg{conditionals' name without »if«}{the
{%
- \gmu@ifempty{#4}%
- {#1\relax}% |\relax| to close the num expression
- {\condsconj@iter
- {#1*\csname if#2\endcsname #3 1\else 0\fi}%
- #4\gmu@delim
- }%
-}
-
-\long\def\ifcondsconj #1{%
- \ifnum \condsconj {#1}>\z@
+ \ifnum
+ \gmu@ifQUANT@iter
+ 0% for the General Quantifier 0 terminates calculation (a
+ % counter-example has just been found)
+ 1% To make any calculation sense we assume 1 at the beginning
+ #1
+ {true}{} {true} {}% the sentinel(s)
+ \gmu@delim % the delimiter
+ =\@ne % right side of |\Ѻifnum|
+}
+
+\long\def\gmu@AND
+#1%
+{%
+ \ifAllClauses {#1}%
+ \@xa\@firstoftwo
+ \else
+ \@xa\@secondoftwo
+ \fi
}
\long\def\sName #1#2 {\@xa#1\csname #2\endcsname}
@@ -2687,7 +2736,7 @@
}%
}
-\do {glue}{11}
+\do {glue}{11} \do{skip}{11}
\do{kern}{12}
\do {penalty}{13}
@@ -2701,24 +2750,131 @@
\relax
}
-\def\falseifdefined #1{%
+\def\MakeFalseIfDefined #1{%
\ifcsname if#1\endcsname
\csn{#1false}%
\fi
}
-\def\trueifdefined #1{%
+\def\MakeTrueIfDefined #1{%
\ifcsname if#1\endcsname
\csn{#1true}%
\fi
}
+\def\gmu@pageremain{\dimexpr
+ \ifdim\pagegoal=\maxdimen \textheight \else \pagegoal \fi
+ -\pagetotal
+ \relax
+}
+
+\def\gmu@GobbleMinus #1{\if-#1\else#1\fi}
+
+\def\gmu@absExpr
+#1% \eTeX's expression primitive, num or dim so far (2010/12/17, 11.46)
+#2% expression of respective kind
+{%
+ \@xa\gmu@GobbleMinus\the #1#2\endexpr
+}
+
+\def\gmu@absdim {\gmu@absExpr \dimexpr }
+\def\gmu@absnum {\gmu@absExpr \numexpr }
+
+\pdef\gmu@SetPagegoal #1{%
+ \gmu@if {dim} {\pagegoal=\maxdimen}%
+ {}% in this case we do nothing, as explained above
+ {\pagegoal = \dimexpr (#1)\relax}%
+}
+
+\pdef\gmu@SetPagegoalGlobal #1{%
+ \gmu@if {dim} {\pagegoal=\maxdimen}%
+ {}% in this case we do nothing, as explained above
+ {\global\pagegoal = \dimexpr (#1)\relax}%
+}
+
+\pdef\gmu@AdvancePagegoal #1{% the arg.\ should be a proper stuff for
+ % a sub-dimexpr (i.a., no spurious |\relax|es are allowed).
+ \gmu@SetPagegoal {\pagegoal +#1}%
+}
+
+\def\pagegoalortextheight{% as in the name:
+ \dimexpr
+ \ifdim \pagegoal=\maxdimen
+ \textheight
+ \else \pagegoal
+ \fi
+ \relax
+}
+
+\def\gmu@totalht #1{% the arg.\ should be a~box register.
+ \dimexpr \ht #1+\dp#1\relax
+}
+
+\def\vbadness@M {%
+ \unless\ifnum\vbadness=\@M
+ \edef\gmu@VeryBadBadness {\the\vbadness }%
+ \vbadness\@M
+ \fi
+}
+
+\def\vbadness@Restore {%
+ \ifdefined \gmu@VeryBadBadness
+ \vbadness \gmu@VeryBadBadness \relax
+ \else
+ \PackageError{gmbase}{You try to gm-restore \vbadness\space where
+ it is not gm-stored}{}%
+ \fi
+}
+
+\relaxen\endexpr
+
+\relaxen\endrule
+
+\def\gmu@ifpageodd {%
+ \ifodd \c@page
+ \@xa\@firstoftwo
+ \else
+ \@xa\@secondoftwo
+ \fi
+}
+
+
+\gmu@DefSymbol\gmu@Fake
+
+\def\gmu@FakeLoaded
+#1% extension
+#2% name
+{\ifcsname ver@#2.#1\endcsname
+ \@xa\ifx\csname ver@#2.#1\endcsname \relax
+ \@xa\@xa\@xa \@firstofone
+ \else
+ \@xa\@xa\@xa \@gobble
+ \fi
+ \else
+ \@xa\@firstofone
+ \fi
+ {\Name\def {ver@#2.#1}{\gmu@Fake }}%
+}
+
+\def\gmu@FakeUnloaded
+#1% extension
+#2% name
+{\ifcsname ver@#2.#1\endcsname
+ \@xa\ifx\csname ver@#2.#1\endcsname\gmu@Fake
+ \Name\let {ver@#2.#1}\@undefined
+ \fi
+ \fi
+}
+
+\pdef\LoadPackagePolski {%
+ \gmu@FakeLoaded \@pkgextension {inputenc}%
+ \RequirePackage {polski}%
+ \gmu@FakeUnloaded \@pkgextension {inputenc}%
+}
+
+\def\hrule@zero{\hrule height\z@ width\z@ depth\z@}
+
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmbase.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmcommand.sty b/Master/texmf-dist/tex/latex/gmutils/gmcommand.sty
index 77ea0839d87..574667d67bf 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmcommand.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmcommand.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmcommand.sty” generated with the DocStrip utility.
%%
%%
@@ -69,6 +69,9 @@
\newif\if@dc@long@
+\newif\if@dc@BareSpace@
+
+
\def\@dc@long@letter{%
\if@dc@long@ P\fi
}
@@ -190,11 +193,13 @@
\let\if@dc@long@ = \if@dc@GroteLang@
% and reset the expandaftering switches
\@dc@falsify@xadefaults
+ \@dc@BareSpace@false
}
\def\@dc@argtypes{%
=\gobblespace \loop \lostwax \SameAs \Scope
- AaBbCcDdGgKkMmOoQqSs*TtUuWw%
+ AaBbCcDdGgKkMmOo% ^^U Ôô
+ QqSs*TtŤťUuǓǔWw%
\drs
}
@@ -232,11 +237,15 @@
{}%
{%
\gmu@ifsbany{#1}{=\gobblespace}{\@dc@ignore@true}{}%
- \gmu@if {@dc@long@} {}
+ \gmu@ifsw {@dc@BareSpace@}%
+ {\@dc@addtoparsed@BareSpace }
+ {}%
+ %
+ \gmu@ifsw {@dc@long@}%
{\@dc@addtospecs@bare{>P}}
{}%
%
- \gmu@if {@dc@ignore@}{}%
+ \gmu@ifsw {@dc@ignore@}%
{\@dc@addtoparsed@Ignore }%
{}%
%
@@ -262,7 +271,7 @@
{\grab@optparam{#1}}%
\@XA{\gmu@CASEsbany{#1}}\@xa{\@dc@drses}%
{\grab@optparam{#1}}%
- \gmu@CASEsbany{#1}{UuWw\lostwax}%
+ \gmu@CASEsbany{#1}{UuǓǔWw\lostwax}%
{\@dc@grab@Loop #1}% putting the specifier's letter as |#1| for the
% grabber suppresses adding it to the parsed specifiers' list.
\gmu@lastCASE
@@ -281,6 +290,11 @@
\advance\c@dc@argnum\@ne
}
+\def\@dc@addtoparsed@BareSpace{%
+ \addtotoks\toks@{\@dc@BareSpaceArg }%
+ \@dc@addtospecs@bare{>\BareSpace }%
+}
+
\def\@dc@process@ms{%
\gmu@if {@dc@Mmode@}{}%
{\gmu@if {num}{\@dc@Ms@initial@listate=\@dc@Ms@listate}%
@@ -309,12 +323,10 @@
\edef\@dc@processms@hash {\the\numexpr#1}%
\edef\@dc@processms@left {\the\numexpr 9-\c@dc@argnum+\@ne}%
%
- \gmu@if {condsconj} {%
- {%
- {num} {\@dc@processms@hash >\z@}
- {num} {\@dc@processms@hash <\numexpr
- \@dc@processms@left+1 \relax }%
- }%
+ \gmu@AND {%
+ {num} {\@dc@processms@hash >\z@}
+ {num} {\@dc@processms@hash <\numexpr
+ \@dc@processms@left+1 \relax }%
}%
{\stepnummacro \@dc@Ms@num \@dc@processms@hash
\edef\@dc@hashgoal {%
@@ -324,8 +336,10 @@
\@dc@addinnerhash
}%
%
- \@dc@ParseNextSpecifier }%
- {\PackageError{gmcommand}{%
+ \@dc@ParseNextSpecifier
+ }% of if all conds.\ satisfied
+ {% some of the conds.\ not satisfied
+ \PackageError{gmcommand}{%
The argument to the M or m specifier, if any, has to be ^^J%
a number between 1 and \@dc@processms@left ^^J%
(there is/are \the\c@dc@argnum\space arg(s) declared
@@ -371,8 +385,12 @@
}
\@dc@DeclareDefault D{0}
+\@dc@DeclareDefault d{0}
-\@dc@DeclareDefault Ď{0}
+\@ifXeTeX {%
+ \@dc@DeclareDefault Ď{0}%
+}
+{}
\@xa\@dc@DeclareDefault \@xa\Scope\@xa{\all@stars}
@@ -447,8 +465,17 @@
\Restore@Macro\@dc@addargum}%
}
+\pdef\@dc@BareSpaceArg{%
+ \let \@dc@Loop@CareOfSpace \@dc@Loop@CareOfSpace@NoBraces
+ \def\@dc@addargum {%
+ \Restore@Macro\@dc@addargum
+ \Restore@Macro\@dc@Loop@CareOfSpace
+ \@dc@addargum
+ }%
+}
+
-\def\grab@prefix@CASE{% jus a shorthand
+\def\grab@prefix@CASE{% just a shorthand
\@xa\gmu@CASEsbany\gmu@forarg
}
@@ -456,7 +483,7 @@
%% \CH{2010/07/26 v0.993 made for-eaching to make it behave as
%% expected, i.e.\ that latter settings prævalent over the former}
%
- \gmu@foreach#1\gmu@foreach@delim{%
+ \gmu@foreach#1\gmu@foreach@delim {%
%
\grab@prefix@CASE
{\long!lL\par Pp}%
@@ -503,7 +530,12 @@
\GroteLStop\GrossLStop}%
{%
\let\if@dc@GroteLang@=\if@dc@alllong@
- \let\if@dc@long@=\if@dc@alllong@}%
+ \let\if@dc@long@=\if@dc@alllong@
+ }%
+ %
+ \grab@prefix@CASE
+ {\BareSpace}
+ {\@dc@BareSpace@true}
%
\gmu@EatCases
{\IgnInfo{gmcommand}{while parsing arg specifiers}{#1}}%
@@ -577,15 +609,17 @@
\@dc@LowerAliases B
-\long\def\ArgumentCatcher@T@ % parsing of a~single \textbf Token continued:
-#1% the list to search |#4| on,
-#2% the default value,
-#3% the tail of args parsers,
-#4% the token we search in |#1| (it's an unbraced
+\long\def\ArgumentCatcher@T@ % parsing of a~single \textbf Token
+ % continued:
+#1% kind of test (|strings| or |StrX| so far (2010/12/28, 7.24))
+#2% the list to search |#4| on,
+#3% the default value,
+#4% the tail of args parsers,
+#5% the token we search in |#1| (it's an unbraced
{%
- \gmu@ifStrXany #4{#1}%
- {\@dc@addargum {{#4}}#3\@dc@arguments}%
- {\@dc@addargum {{#2}}#3\@dc@arguments#4}%
+ #1 #5{#2}%
+ {\@dc@addargum {{#5}}#4\@dc@arguments}%
+ {\@dc@addargum {{#3}}#4\@dc@arguments#5}%
}
\long\def\ArgumentCatcher@T % parsing of a~ single \textbf Token. It's
@@ -595,7 +629,7 @@
\@dc@arguments{%
\@ifnextnotgroup
% \label{dc@S:bgroup}
- {\ArgumentCatcher@T@{#1}{#2}{#3}}%
+ {\ArgumentCatcher@T@ \gmu@ifStrXany {#1}{#2}{#3}}%
{\@dc@addargum {{#2}}#3\@dc@arguments}% if we parse an
% opening or closing brace, then we are sure it's not any expected
% Single.
@@ -603,6 +637,15 @@
\@dc@AliasPLower T
+\long\def\ArgumentCatcher@Ť #1#2#3% as in |›…@T|
+{%
+ \ArgumentCatcher@Loop
+ {StrX}{\any}{#1}{\any}{}{1}{#2}{% empty eacher
+ }{#3}%
+}
+
+\@dc@AliasPLower Ť
+
\edef\ArgumentCatcher@S
#1% default value
@@ -615,27 +658,28 @@
\newif\if@debugacro@
\long\def\ArgumentCatcher@Loop %^^A >>>>>>>loop
-#1% “sign” of match for iteration: |\any| or |\none|
-#2% list of tokens |\@let@token| will be matched against with |#1|
-#3% test for “drainers” (allowed values as for |#1|)
-#4% list of “drainers”: if |\@let@token| satisfies the |#3| test,
-#5% upper bound of number of items (may be empty or negative to turn
-#6% default value (if empty sequence is parsed), |\NoValue| by default.
-#7% an “eacher”—stuff to be put before each token/text added to the
-#8% the tail of args parser
+#1% kind of test (|StrX| or |str| or anything else for what
+#2% “sign” of match for iteration: |\any| or |\none|
+#3% list of tokens |\@let@token| will be matched against with |#1|
+#4% test for “drainers” (allowed values as for |#1|)
+#5% list of “drainers”: if |\@let@token| satisfies the |#3| test,
+#6% upper bound of number of items (may be empty or negative to turn
+#7% default value (if empty sequence is parsed), |\NoValue| by default.
+#8% an “eacher”—stuff to be put before each token/text added to the
+#9% the tail of args parser
\@dc@arguments % delimiter
{%
- \dc@DefParseNext{#8}%
+ \dc@DefParseNext{#9}%
\emptify\@dc@seQuence
- \c@dc@Loop@bound=\numexpr(\gmu@ifempty{#5}{-1}{#5})*1\relax
+ \c@dc@Loop@bound=\numexpr(\gmu@ifempty{#6}{-1}{#6})*1\relax
\gmu@if {num}{\c@dc@Loop@bound<\z@}%
{\c@dc@Loop@bound=-\c@dc@Loop@bound
\let\@dc@Loop@countby\z@
}%
{\let\@dc@Loop@countby\m@ne}%
%
- \gmu@ifempty{#2}%
- {\gmu@if {strings}{\none #1}%
+ \gmu@ifempty{#3}%
+ {\gmu@if {strings}{\none #2}%
{\@dc@Loop@iteralltrue}% it's an additional switch for better
% performance in a special case: when we wish
% only count the items and iterate over anything
@@ -644,16 +688,16 @@
\def\ArgumentCatcher@Loop@defcheck{%
\Restore@Macro\ArgumentCatcher@Loop@defcheck
\ArgumentCatcher@Loop@shipout}%
- }% of if |#1| str-is |\any|
- }% of if |#2| empty
+ }% of if |#2| str-is |\any|
+ }% of if |#3| empty
{\@dc@Loop@iterallfalse}% when |#2| nonempty, we \emph{have} to
% perform matching. \rrthis
%
- \gmu@ifempty{#4}%
- {\gmu@if {strings} {\any #3}%
+ \gmu@ifempty{#5}%
+ {\gmu@if {strings} {\any #4}%
{\@dc@Loop@addallfalse\@dc@Loop@drainalltrue}%
{\@dc@Loop@addalltrue\@dc@Loop@drainallfalse}%
- }% of if |#4| empty
+ }% of if |#5| empty
{\@dc@Loop@addallfalse\@dc@Loop@drainallfalse}% when |#4| nonempty,
% we \emph{have} to perform matching. \rrthis
%
@@ -662,7 +706,7 @@
{\firstoftwo}%
{\unexpanded{%
\@dc@Loop@test
- #1{#2}% if the next token StrX-is/is not on |#2|,
+ {#1}#2{#3}% if the next token StrX-is/is not on |#2|,
% then… \label{h1.@let@token.h2}
}% of |\unexpanded|
}% of if we don't iterate over all (of preparation of iteration test)
@@ -672,8 +716,8 @@
{\@nx \ArgumentCatcher@Loop@drain}%
{\unexpanded{%
\@dc@Loop@test
- #3{#4}% if the next token satisfies |#3|-direction StrX
- % match against |#4|, then we discard it,
+ {#1}#4{#5}% if the next token satisfies |#4|-direction StrX/str
+ % match against |#5|, then we discard it,
% otherwise we add it.
\ArgumentCatcher@Loop@drain
\ArgumentCatcher@Loop@add
@@ -685,10 +729,10 @@
{}%
{\@nx \ArgumentCatcher@Loop@shipout}%
}%
- \unexpanded{{#6}{#7}}%
+ \unexpanded{{#7}{#8}}%
}% of |\ArgumentCatcher@Loop@afterpeep|
%
- \ArgumentCatcher@Loop@defcheck {#6}{#7}%
+ \ArgumentCatcher@Loop@defcheck {#7}{#8}%
\ArgumentCatcher@Loop@check
}% of |\ArgumentCatcher@Loop|
@@ -699,18 +743,25 @@
\newif\if@dc@Loop@drainall
\long\def\@dc@Loop@test
-#1% |\any| or |\none|
-#2% list of tokens to match against
-#3% what if \OK
-#4% what if not \OK.
+#1% kind of test (|StrX| or |str| so far (2010/12/28, 7.51))
+#2% |\any| or |\none|
+#3% list of tokens to match against
+#4% what if \OK
+#5% what if not \OK.
{% remember we are in the argument of |\gmu@peep@next| so we are after
% peep.
\gmu@if {defined}{\@def@token}
- {\csname gmu@ifStrX\strip@bslash #1\@xa\endcsname
+ {\csname gmu@if#1\strip@bslash #2\@xa\endcsname
\@def@token }%
- {\csname gmu@ifx\strip@bslash #1\endcsname
+ {\csname
+ gmu@if%
+ \gmu@ifdetokens {#1}{str}%
+ {NX}%
+ {x}%
+ \strip@bslash #2%
+ \endcsname
\@let@token }%
- {#2}{#3}{#4}%
+ {#3}{#4}{#5}%
}
\@dc@AliasCatcher {PLoop} {Loop}
@@ -740,6 +791,21 @@
% its way.
}
+\StoreMacro@nocat\@dc@Loop@CareOfSpace
+
+\lpdef\@dc@Loop@CareOfSpace@NoBraces
+#1% a macro with all the arguments except last
+{%
+\gmu@ifpeeped x \gmu@letspace
+ {\edef\@dc@Loop@careofspace@aas{%
+ \unexpanded{#1 }% note the space
+ }% edef unexpanded to allow |#| tokens in |#1|
+ \afterassignment\@dc@Loop@careofspace@aas
+ \let\gmu@drain= }% after |=| is a space.
+ {#1}% next not space, so just |#1| and let it process the next token
+ % its way.
+}
+
\lpdef\@dc@Loop@CareOfSpaceAndGroup
#1% as in the previous macro
@@ -790,9 +856,10 @@
\long\def\ArgumentCatcher@Q
#1% list
-#2% default (|\NoValue| by default, as in previous versions.
+#2% default (|\NoValue| by default, as in previous versions).
{%
\ArgumentCatcher@Loop
+ {StrX}%
\any
{ #1}% note the space before |#1|—settheory sum of |#1| and drainers.
\any
@@ -805,6 +872,7 @@
\@dc@AliasPLower Q
+
\def\ArgumentCatcher@D{% decimal argument (useful for dates e.g.)
\ArgumentCatcher@Q
{-+0123456789}%
@@ -819,6 +887,7 @@
#1% default value, 0 by default
{% decimal argument
\ArgumentCatcher@Loop
+ {StrX}%
\any
{-+0123456789}%
\none
@@ -827,20 +896,22 @@
{#1}%
{}%
}%
-}
-{}%
\@dc@AliasPLower Ď
-\@dc@AliasCatcher U {Loop}
+}{}% of if \XeTeX
+
+\def\ArgumentCatcher@U {%
+ \ArgumentCatcher@Loop {StrX}%
+}
\@dc@AliasPLower U
-\@dc@AliasCatcher W {Loop}
+\@dc@AliasCatcher W {U}
\@dc@AliasPLower W
-\@dc@AliasCatcher {lostwax} U
+\@dc@AliasCatcher {lostwax} U % ^^A Catcher@lostwax
\long\def\ArgumentCatcher@item
#1% “sign” of matching
@@ -849,6 +920,7 @@
#4% eacher (which in this case will be applied to \emph{the} (one)
{%
\ArgumentCatcher@Loop
+ {StrX}%
#1%
{#2}%
\none {}% we add all that matches
@@ -857,6 +929,17 @@
{#4}%
}
+\if@XeTeX
+
+ \def\ArgumentCatcher@Ǔ{%
+ \@dc@BareSpaceArg
+ \ArgumentCatcher@Loop {StrX}%
+ }
+
+ \@dc@AliasPLower Ǔ
+
+\fi
+
\long\def\ArgumentCatcher@genM
#1% the letter »P« (for long catcher) or nothing (for the short version)
@@ -1125,6 +1208,10 @@
\bslash
}%
+\long\def\@dc@InnerEndName #1{% version for the end-macros of environments
+ \bslash end\strip@bslash{#1}%
+}%
+
%% \CH{2010/07/26 v0.993 This strikingly simple idea of storing the
%% specifiers' sequence in a macro came to my head only after some
%% three years of developing \cmd\DeclareCommand}
@@ -1291,7 +1378,7 @@
\@XA{\DeclareCommand\DeclareCommand % This is the final version by now.\
{
- #1 >Pm % command to be defined (may be \incs{par} if you
+ #1 >Pm % command to be defined (may be even \incs{par} if you
#2 >\@xa Q{\@dc@DCprefixQlist}{} %\
#3 >Pm % arguments specification (may contain \incmd\par),
#4 >Pm % the definition body; may contain nearly anything including
@@ -1359,7 +1446,7 @@
}% of |\@dc@define@K|
\DeclareCommand\@dc@grab@Loop \long {%
- #1 T{\any \none Uu\U \u Ww\W \w \lostwax} % the “sign” of matching for adding; use of
+ #1 T{\any \none Uu\U \u Ǔǔ\Ǔ \ǔ Ww\W \w \lostwax} % the “sign” of matching for adding; use of
% the letters suppresses adding them to the
% parsed specifiers' list, which is crucial for
% |\SameAs| copying of specifiers: the “until” and “while” loops
@@ -1476,7 +1563,7 @@
\gmu@CASE {strings} {{#1}\none}
{\@dc@addtoParsed@bare {\none }}%
%
- \gmu@CASEsbany {#1} {Uu\lostwax }
+ \gmu@CASEsbany {#1} {UuǓǔ\lostwax }
{\@dc@addtotoks@bare {\none }}%
%
\gmu@lastCASE
@@ -1570,7 +1657,9 @@
}%
}% of |\@dc@SameAs|
-\DeclareCommand\DCUse{>Pm}{% ^^A with star we automatically pass the
+\DeclareCommand\DCUse{
+ #1 >Pm % the command
+}{% ^^A with star we automatically pass the
\gmu@ifDeclared{#1}%
{%
\@dc@arguments\@xa{\@xa
@@ -1582,12 +1671,32 @@
\csname \@dc@SpecsArName{#1}\endcsname % of arity carrier
\endcsname % of the catcher
}%
- {\PackageError{gmcommand}{%
- Command \@nx#1 ^^J%
- is not declared with \DeclareCommand. ^^J%
- Therefore I can't use its inner macro (because of its nonexistence).^^J}%
- {}%
+ {\DC@EndNotDeclaredErr{#1}}%
+}%
+
+\pdef \DC@EndNotDeclaredErr #1{%
+ \PackageError{gmcommand}{%
+ Command \bslash end\strip@bslash{#1} ^^J%
+ is not declared with \DeclareCommand. ^^J%
+ Therefore I can't use its DC-inner macro (because of its nonexistence).^^J}%
+ {}%
+}
+
+\DeclareCommand\DCUseEnd{
+ #1 >Pm % the command (without “end”)
+}{%
+ \gmu@ifDeclared{end\strip@bslash{#1}}%
+ {%
+ \@dc@arguments\@xa{\@xa
+ \csname \@dc@InnerEndName{#1}\endcsname
+ }%
+ %
+ \csname ArgumentCatcher@Pm@\romannumeral
+ \@xa \@xa \@xa \@thirdofthree
+ \csname \@dc@SpecsArName{#1}\endcsname % of arity carrier
+ \endcsname % of the catcher
}%
+ {\DC@EndNotDeclaredErr{#1}}%
}%
@@ -1597,7 +1706,7 @@
% We repeat the specifiers, but the role of |#4| is slightly
% different here: here it's the |\begin| part definition.
%
- m % (5) the end definition; it \emph{can} contain any
+ #5 m % the end definition; it \emph{can} contain any
% \inverb|#|\<n>---the arguments of the environment are passed
% to it, too.
}{%
@@ -1787,16 +1896,27 @@
% optional default \<nothing> and \cmd\newpage resp.}
% \chgs{2009/10/21 v0.98 \cmd\par\ removed since to let it be used
% for \cmd\pagebreak\ inside a paragraph}
- \gmu@if {num} {%
- \gmu@if {dim}{%
- \dimexpr\pagegoal-\pagetotal<\dimexpr
- (\IfValueTF{#1}{#1\baselineskip}{#2})*1\relax
- }
- 10%
- \gmu@if {dim} {\pagegoal<\pagetotal}
- 10%
- >\z@
- }
+ \gmu@if {num}
+ {\numexpr
+ \ifdim
+ % if the space left is less than we wish then 1, otherwise 0.
+ \gmu@pageremain
+ <%
+ \dimexpr
+ (\IfValueTF{#1}{#1\baselineskip}{#2})*1%
+ \endexpr
+ %
+ % \CH{2010/06/28 v0.993 I added |(›…)*1| to assure that |\relax|
+ % really delimits the dimexpr}
+ %
+ 1\else 0%
+ \fi
+ *%
+ \ifdim \gmu@pageremain >-1sp
+ 1\else 0%
+ \fi
+ >\z@
+ }% of condition
{\typeout{@@@@@ not enough page \on@line}%
#4%
}%
@@ -1918,9 +2038,10 @@
}
\DeclareCommand\@StoreCommand
-{T{+-}% grouplevel shift indicator
- d % group level or shift
- >Pm% name or \CS
+{%
+ #1 T{+-}% grouplevel shift indicator
+ #2 d % group level or shift (the latter relative to the current g.l.)
+ #3 >Pm% name or \CS
}{%
\endgroup %we close the group opened in line \ref{SC begr}.
\gmu@SC@setgrouplevel{#1}{#2}%
@@ -1966,12 +2087,11 @@
\DeclareCommand\@UseStored \long{%
- T{+-}% (1) indicator of grouplevel shift (in distiction from an absolute
- % group level)
- d % (2) optional grouplevel/shift (0 by default)
- O{\@gobble}% (3) stuff to be put before the pair of \CS es, an
- % assignment e.g.
- m % (4) a \CS or csname
+ #1 T{+-}% (1) indicator of grouplevel shift (in distiction from an absolute
+ % group level)
+ #2 d % (2) optional grouplevel or shift (0 by default)
+ #3 O{\@gobble}% (3) stuff to be put before the |#4| \CS, e.g., an
+ #4 m % (4) a \CS or csname to be taken from the storage liquid
}{% \chgs{2010/06/23 v0.993 added}
\endgroup
\gmu@SC@setgrouplevel{#1}{#2}%
@@ -1992,7 +2112,7 @@
% and the csname remains not defined.
\unless\ifcsname \gmu@SC@currname \endcsname 1\else 0\fi
=11
- \repeat
+ \repeat
\gmu@if{csname}{\gmu@SC@currname\endcsname}%
{%
% ^^A \s how\ExecutingTrueBranch
@@ -2006,6 +2126,7 @@
\UseStored #2[\CommandLet #1*]%
}
+
\newbox\gmu@smashbox
\DeclareCommand\set@smashbox{%
@@ -2016,7 +2137,8 @@
\def\smash@box{\smash{\box\gmu@smashbox}}
-\newbox\gmu@boxa
+\newbox\gmu@boxA
+\newbox\gmu@boxB
\newdimen\gmu@dima
\newdimen\gmu@dimb
@@ -2037,11 +2159,11 @@
}%
%
\long \def\gmu@dimextreme@step ##1{%
- \setbox\gmu@boxa=\hbox{##1}%
+ \setbox\gmu@boxA=\hbox{##1}%
%
\gmu@dima= \gmu@if x {\totalheight#3}
- {\dimexpr \ht\gmu@boxa +\dp\gmu@boxa\relax}
- {#3\gmu@boxa}%
+ {\dimexpr \ht\gmu@boxA +\dp\gmu@boxA\relax}
+ {#3\gmu@boxA}%
\relax
%
\gmu@if {dim}
@@ -2060,6 +2182,37 @@
{#5\edef #1{\the\gmu@dimb }}%
}%
+\pdef\gmu@getht
+#1% box register
+#2% dimen (or glue) register to assign the (substitute) height to
+{%
+ \setbox\gmu@boxA=\copy#1\relax
+ \ifvbox\gmu@boxA
+ \vbadness@M
+ \setbox\gmu@boxB=\vsplit\gmu@boxA to \maxdimen
+ \vbadness@Restore
+ %
+ % chcemy rzeczywiście pomierzyć, a nie być może odrzucić odstępy,
+ % kerny i grzywny.
+ \setbox\gmu@boxB=\vbox{\splitdiscards }%
+ \ifdim \ht\gmu@boxB >\z@
+ \setbox \gmu@boxA=\vbox{
+ \unvbox\gmu@boxB
+ \unvbox\gmu@boxA
+ }%
+ \fi
+ \else
+ \setbox\gmu@boxA=\box\voidb@x
+ \fi
+ %
+ \ifvoid\gmu@boxA
+ #2=\ht#1\relax
+ \else
+ #2=\maxdimen
+ \fi
+}% of |\gmu@getht|
+
+
\DeclareCommand\enlargefsize{
#1 m % enlargement (dim(expr)) for font size
@@ -2130,11 +2283,20 @@
\relaxen\gmu@bihyphen@corr
-\DeclareCommand\gmshowlists {
- >iT{\depth}
- Ď{1}%
- >iT{\breadth}
- Ď{10000000}
+\@ifXeTeX{%
+ \DeclareCommand\gmshowlists {
+ >iT{\depth}
+ Ď{1}%
+ >iT{\breadth}
+ Ď{10000000}
+ }%
+}{% not in \XeTeX\ we use legacy |D| arg.\ specifiers:
+ \DeclareCommand\gmshowlists {
+ >iT{\depth}
+ Ď{1}%
+ >iT{\breadth}
+ Ď{10000000}
+ }%
}
{\tracingonline=\@ne
\showboxdepth=#1\relax % how many levels of
@@ -2147,18 +2309,31 @@
\SameAs\gmshowlists
}
{\tracingonline=\@ne
+ \tracingoutput=\@ne
\showboxdepth=#1\relax % how many levels of
% box nesting should be shown
\showboxbreadth=#2\relax % after how many elements »etc.« will be put
- \tracingoutput=\@ne
}
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
+\newcount\c@FiBreakPenalty
+
+\DeclareCommand \AllowFiBreak {%
+ % The defaults are as in DEK's |\filbreak|.
+ Q{l}{l}
+ = {\c@FiBreakPenalty }
+}
+{%
+ \penalty\@M
+ \csname vfi#1\endcsname
+ \penalty \c@FiBreakPenalty
+ \csname vfi#1neg\endcsname
+}
+
+
+\DeclareCommand \IgnorePars {m Q{\par}} {#1}
+
+
\endinput
%%
%% End of file `gmcommand.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmenvir.sty b/Master/texmf-dist/tex/latex/gmutils/gmenvir.sty
index 3348e8b0005..a5d1759ab40 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmenvir.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmenvir.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmenvir.sty” generated with the DocStrip utility.
%%
%%
@@ -93,26 +93,10 @@
\long\def\@fourthofmany#1#2#3#4#5\@nil{#4}%
\lpdef\@ifprevenvir#1{%\label{@ifenvir}\
- % \begin{enumargs}
- % \mand enquired environment name which will be confronted with
- % \incs{@prevenvir}
- % \mand what if true (if the names are
- % equivalent\qfootnote{The names are checked whether they produce
- % the same \cmd\csname. They don't have to have the same
- % catcodes.})
- % \mand what if false
- % \end{enumargs}
- %
- % \changes{v0.92}{2009/09/04}{added}
- % \chgs{2010/06/09 v0.993 made use \cmd\@envirstack}
- %
- % % \CH{2010/09/23 v0.993 to be precise, it's not a change but
- % % rather a staus quo action: \cmd\gmu@ifedetokens suddenly turned
- % % to be expandable and un\cmd\protected so we make \emph{this}
- % % macro \cmd\protected}
\gmu@ifedetokens
{\@xa\@fourthofmany\@envirstack\relax\relax\relax\relax\@nil}%
- {#1}}
+ {#1}%
+}
\def\@checkend#1{%
@@ -130,12 +114,24 @@
\pdef\@endifprev#1{\@ifprevenvir{#1}{\end{#1}}{}}
+\newcount\c@EnvirInterruption
+
+\lpdef\gmu@InterruptEnvir
+#1% the contents of interruption.
+{%
+ \global \advance\c@EnvirInterruption\@ne
+ \Name \@popenvir
+ {gmu@InterruptCurrenv \the\c@EnvirInterruption}\gmu@drain\gmu@drain
+ \endgroup
+ #1%
+ \begingroup
+ \@XA {\let\@currenvir}%
+ \csname gmu@InterruptCurrenv \the\c@EnvirInterruption \endcsname
+ \@pushenvir
+ \global \advance\c@EnvirInterruption\m@ne
+}
+
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmenvir.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmlogos.sty b/Master/texmf-dist/tex/latex/gmutils/gmlogos.sty
index f27a97c8150..40034f4fe0d 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmlogos.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmlogos.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmlogos.sty” generated with the DocStrip utility.
%%
%%
@@ -211,11 +211,6 @@
}
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmlogos.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmmeta.sty b/Master/texmf-dist/tex/latex/gmutils/gmmeta.sty
index b6bc0b2207b..e75e15e1fa8 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmmeta.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmmeta.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmmeta.sty” generated with the DocStrip utility.
%%
%%
@@ -285,11 +285,6 @@
\pdef\CSes{\CS{}es\@ifnextcat a{ }{}}% for pluralis.
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmmeta.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmmw.sty b/Master/texmf-dist/tex/latex/gmutils/gmmw.sty
index 78adfffac76..809276b3470 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmmw.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmmw.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmmw.sty” generated with the DocStrip utility.
%%
%%
@@ -358,11 +358,6 @@
\do{part}\do{chapter}\do{section}\do{subsection}\do{subsubsection}
\@ifnotmw{}{\do{paragraph}}% this `straightening' of
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmmw.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmnotonlypream.sty b/Master/texmf-dist/tex/latex/gmutils/gmnotonlypream.sty
index bb17a9e0eb3..4db60627e98 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmnotonlypream.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmnotonlypream.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmnotonlypream.sty” generated with the DocStrip utility.
%%
%%
@@ -83,11 +83,6 @@
\AtBeginDocument{\gmu@nocite@ampulex}%
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmnotonlypream.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmparts.sty b/Master/texmf-dist/tex/latex/gmutils/gmparts.sty
index 1133a9a23d5..004bbb15db0 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmparts.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmparts.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmparts.sty” generated with the DocStrip utility.
%%
%%
@@ -159,11 +159,6 @@
\pdef\providecounter#1{%
\unless\ifcsname c@#1\endcsname\newcounter{#1}\fi}
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmparts.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmrelsize.sty b/Master/texmf-dist/tex/latex/gmutils/gmrelsize.sty
index b32a63c38f4..19aabf2d0aa 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmrelsize.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmrelsize.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmrelsize.sty” generated with the DocStrip utility.
%%
%%
@@ -74,11 +74,6 @@
\protected\def\smallerr{\relsize{-2}}
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmrelsize.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmtypos.sty b/Master/texmf-dist/tex/latex/gmutils/gmtypos.sty
index 3992e1af62b..72f5e1e28a7 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmtypos.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmtypos.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmtypos.sty” generated with the DocStrip utility.
%%
%%
@@ -2017,11 +2017,6 @@
\fi}
\@namedef{enditemize*}{\endlist}
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmtypos.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmurl.sty b/Master/texmf-dist/tex/latex/gmutils/gmurl.sty
index fa5dd76af8a..74349d6c97b 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmurl.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmurl.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmurl.sty” generated with the DocStrip utility.
%%
%%
@@ -296,11 +296,6 @@
}% of if not XeTeX
}% of |\foolc|
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmurl.sty'.
diff --git a/Master/texmf-dist/tex/latex/gmutils/gmutils.sty b/Master/texmf-dist/tex/latex/gmutils/gmutils.sty
index 52afda5be49..9dfdfd9f53e 100644
--- a/Master/texmf-dist/tex/latex/gmutils/gmutils.sty
+++ b/Master/texmf-dist/tex/latex/gmutils/gmutils.sty
@@ -2,7 +2,7 @@
%% \iffalse ^^A we skip the debug setting
\IfFileExists{\string~/bin/gen_and_xela}{\errorcontextlines=1000 }{}
%% \fi
-%% ^^A $Id: TheUltimateMaster.gmd,v 0.250 2010/10/24 14:42:35 natror Exp natror $
+%% ^^A $Id: TheUltimateMaster.gmd,v 0.297 2011/02/02 18:13:11 natror Exp natror $
%% This is file “gmutils.sty” generated with the DocStrip utility.
%%
%%
@@ -131,11 +131,6 @@
\def\HimHer{Them}
\def\HisHers{Theirs}
-%%% (For my GNU Emacs:)
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% End:
\endinput
%%
%% End of file `gmutils.sty'.