summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-10-08 00:31:24 +0000
committerKarl Berry <karl@freefriends.org>2008-10-08 00:31:24 +0000
commit8f7baaf124c4913de1442cf0536aa61716a39b50 (patch)
tree1c713c6109accaf5db078ae34c03dae7985a94e1 /Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty
parented627af9ac01852762186267a2a6e6c945b2d810 (diff)
gmdoc update (7oct08)
git-svn-id: svn://tug.org/texlive/trunk@10883 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty')
-rw-r--r--Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty78
1 files changed, 63 insertions, 15 deletions
diff --git a/Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty b/Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty
index 819157962f4..10a8e6eaeb3 100644
--- a/Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty
+++ b/Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty
@@ -62,6 +62,7 @@
% \chschange{v0.99m}{2008/8/13}{5354}
% \chschange{v0.99n}{2008/8/22}{5409}
% \chschange{v0.99n}{2008/8/30}{5547}
+% \chschange{v0.99p}{2008/10/4}{5607}
%
%
\ifnum\catcode`\@=11 % Why this test here---will come out in chapter
@@ -69,7 +70,7 @@
% ^^A and about coming out already! ;-)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{gmdoc}
- [2008/08/30 v0.99n a documenting package (GM)]
+ [2008/10/04 v0.99p a documenting package (GM)]
\fi
%
%
@@ -766,6 +767,7 @@
% |\DeclareRobustCommand(*)|,
% |\DeclareTextCommand(*)|,\\
% |\DeclareTextCommandDefault(*)|,
+% |\DeclareDocumentCommand|,
%
% \item
% |\newenvironment(*)|,
@@ -1721,13 +1723,28 @@
% If you like |&| as the code delimiter (as I~did twice), you may write
% \TextUsage\CDAnd\ instead of |\CodeDelim\&|.
%
-% \stanza to get `\CS' which is `CS' in small caps (in |\acro| to be
+% \stanza To get `\CS' which is `CS' in small caps (in |\acro| to be
% precise), you can write \TextUsage\CS. This macro is |\protected| so
% you can use it safely in |\changes| e.g. Moreover, it checks
% whether the next token is a~letter and puts a~space if so so you
% don't have to bother about \verb*|\CS\ |.
%
% \stanza
+% To enumerate the list of command's arguments or macro's parameters
+% there is the \TextUsage*{enumargs} environment which is a~version of
+% \env{enumerate} with labels like |#7|. You can use |\item| or, at
+% your option, \TextUsage\mand\ which is just an alias for the
+% former. For an optional arguments use \TextUsage\opt\ which wraps
+% the item label in square brackets. Moreover, to align optional and
+% mandatory arguments digit under digit, use
+% the \TextUsage*{enumargs*} environment.
+%
+% Both environments take an optional argument which is the number of
+% |#|s. It's 1 by default, but also can be 2 or 4 (other numbers will
+% typeset numbers without a~|#|). Please feel free to notify me if you
+% really need more hashes in that environment.
+%
+% \stanza
% For an example driver file see chapter \gmiflink{The driver}.
%
%
@@ -1756,7 +1773,8 @@
%
% \TextUsage\AfterMacrocode\arg{mc number}\arg{the stuff} defines
% control sequence \cs{gmd@mchook}\<mc number> with the meaning \<the\
-% stuff> and every \env{oldmc} and, when
+% stuff> which is put at the end of \env{macrocode} and \env{oldmc}
+% number \<mc number> (after the group).
%
% The \docfm\ commands most important in my opinion are supported by
% \gmdoc. Some commands, mostly the obsolete in my opinion, are not
@@ -1868,7 +1886,9 @@ pagella, fontspec=quiet]{gmdocc}
\title{The \pk{gmdoc} Package\\ i.e., \pk{gmdoc.sty} and
\pk{gmdocc.cls}}
\author{Grzegorz `Natror' Murzynowski}
-\date{August 2008}
+\date{\ifcase\month\relax\or January\or February\or March\or April\or May\or
+ June\or July\or August\or September\or October\or November\or
+ December\fi\ 2008}
%|%\includeonly{gmoldcomm}|
%^^A\includeonly{gmeometric,gmoldcomm}
@@ -2360,7 +2380,7 @@ pagella, fontspec=quiet]{gmdocc}
% \Define*{^^M}
\QueerEOL% \changes{v0.99m}{2008/08/09}{there was
% \cs{let}\hathat{M} but \cs{QueerEOL} is better: it also
- % redefines \bslash\hathat M} It has to be before the
+ % redefines \cs{}\hathat M} It has to be before the
% begin-input-hook to allow change by that hook.
% \CodeUsgIndex\@beginputhook
\@beginputhook% my first use of it is to redefine |\maketitle|
@@ -2696,7 +2716,7 @@ pagella, fontspec=quiet]{gmdocc}
% of giving the user a~|\toks| list to insert at the beginning of
% every code line, but what for?
% \Define*{^^M}^^A
- \def^^M{%
+ \def^^M{% \TeX\ code \acro{EOL}
\@newlinegtrue% to |\refstep| the counter in proper place.
\@dsdirgtrue% to handle the \ds\ directives.
\global\gmd@closingspacewd=\z@% \label{noclosingspace}we
@@ -3197,7 +3217,8 @@ pagella, fontspec=quiet]{gmdocc}
% is left equal the code leftskip. (It happens when there're
% subsequent code lines after an inline comment not ended with
% an explicit |\par|.) Before v0.99n it was just after line \ref{codeskip5}.
- \@aftercodegfalse
+ \@aftercodegfalse\@nostanzagtrue
+ % \changes{v0.99o}{2008/09/04}{a~bug fix: added \cs{@nostanzagtrue}}
}
% But we play with |\everypar| for other reasons too, and while restoring it,
@@ -3383,7 +3404,7 @@ pagella, fontspec=quiet]{gmdocc}
% \changes{v0.99c}{2007/03/30}{a~bug fix: redefinition of it left
% solely to \cs{QueerEOL}}
% \changes{v0.99m}{2008/08/09}{also \cs{StraightEOL} with
-% \env{countalllines} package option lets \bslash\hathat{M} to it}
+% \env{countalllines} package option lets \cs{}\hathat{M} to it}
%
% The |\QueerEOL| declaration will |\let| it to |\^^M| to make
% |\^^M| behave properly. If this definition was ommitted, |\^^M|
@@ -3667,6 +3688,7 @@ pagella, fontspec=quiet]{gmdocc}
\newif\ifgmd@glosscs% we use this switch to keep the information
% whether a~history entry is a~\CS or not.
+
\newcommand*\finish@macroscan{%\label{506}\par
% First we check if the current \CS is not just being defined. The
% switch may be set true in line \ref{519}
@@ -4013,17 +4035,18 @@ pagella, fontspec=quiet]{gmdocc}
% is already touched by |\futurelet| (of \CSs scanning macro's
% \cs{@ifnextcat}), therefore we need a~`future' test.
\def\gmd@adef@checklbracket{%
- \@ifnextchar[{\gmd@adef@scanKVpref}\gmd@charbychar}% note that
+ \@ifnextchar[%^^A]
+ \gmd@adef@scanKVpref\gmd@charbychar}% note that
% the prefix scanning macro gobbles its first argument (undelimited)
% which in this case is |[|.\ilrr
-%^^A]]}
+%^^A]
% After a~|\DeclareOptionX|-like defining command not only the prefix
% in square brackets may occur but also the family in
% seargants. Therefore we have to test presence of both of them.
\def\gmd@adef@checkDOXopts{%
- \@ifnextchar[{\gmd@adef@scanKVpref}%^^A}]
- {\@ifnextchar<{\gmd@adef@scanDOXfam}\gmd@charbychar}}
+ \@ifnextchar[\gmd@adef@scanKVpref%^^A]
+ {\@ifnextchar<\gmd@adef@scanDOXfam\gmd@charbychar}}
%^^A[
@@ -4237,6 +4260,9 @@ pagella, fontspec=quiet]{gmdocc}
\DeclareDefining[star=false]\newread
\DeclareDefining[star=false]\newwrite
\DeclareDefining[star=false]\newlength
+\DeclareDefining[star=false]\DeclareDocumentCommand
+% \changes{v0.99p}{2008/10/04}{added}
+
\DeclareDefining\newcommand
\DeclareDefining\renewcommand
@@ -7162,9 +7188,12 @@ pagella, fontspec=quiet]{gmdocc}
%
% An environment to display the meaning of macro parameters: its
% items are automatically numbered as |#1|, |#2| etc.
-\newenvironment*{enumargs}
+\newenvironment*{enumargs}[1][1]%
% \changes{v0.99n}{2008/08/21}{developed for the case of inline
% comment}
+% \changes{v0.99o}{2008/09/04}{added the optional argument which is
+% the number of hashes (1 by default or 2 or 4)}
+% \changes{v0.99p}{2008/10/4}{added optional arguments' handling}
{\if@aftercode\edef\gmu@tempa{\the\leftskip}%
\edef\gmu@tempb{\the\hangindent}\fi
\enumerate
@@ -7172,10 +7201,29 @@ pagella, fontspec=quiet]{gmdocc}
\leftskip=\glueexpr\gmu@tempa+\gmu@tempb\relax
\fi
\@namedef{label\@enumctr}{%
- \cs[]{\if@aftercode\code@delim\space\fi
- \#\csname the\@enumctr\endcsname }}}
+ \env{\if@aftercode\code@delim\space\fi
+ \gmd@ea@bwrap
+ \#\ifcase#1\relax\or\or\#\or\or\#\#\#\fi
+ \csname the\@enumctr\endcsname
+ \gmd@ea@ewrap}}%
+ \let\mand\item
+ \provide\gmd@ea@wraps{%
+ \emptify\gmd@ea@ewrap
+ \emptify\gmd@ea@bwrap}%
+ \gmd@ea@wraps
+ \def\opt{%
+ \def\gmd@ea@bwrap{[}\def\gmd@ea@ewrap{]}%
+ \item
+ \gmd@ea@wraps}%
+}
{\endenumerate}
+% The starred version is intended for lists of arguments some of which
+% are optional: to align them in line.
+\newenvironment*{enumargs*}{%
+ \def\gmd@ea@wraps{%
+ \def\gmd@ea@bwrap{ }\def\gmd@ea@ewrap{ }}%
+ \enumargs}{\endenumargs}
%
% \subdivision[\docfm-compatibility]{\gmhypertarget[doccompa]{\docfm-compatibility}}