From 8f7baaf124c4913de1442cf0536aa61716a39b50 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 8 Oct 2008 00:31:24 +0000 Subject: gmdoc update (7oct08) git-svn-id: svn://tug.org/texlive/trunk@10883 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/gmdoc/gmdoc.sty | 78 ++++++++++++++++++++++------ Master/texmf-dist/tex/latex/gmdoc/gmdocc.cls | 8 ++- 2 files changed, 69 insertions(+), 17 deletions(-) (limited to 'Master/texmf-dist/tex/latex/gmdoc') 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}\ with the meaning \ and every \env{oldmc} and, when +% stuff> which is put at the end of \env{macrocode} and \env{oldmc} +% 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}} diff --git a/Master/texmf-dist/tex/latex/gmdoc/gmdocc.cls b/Master/texmf-dist/tex/latex/gmdoc/gmdocc.cls index df9afaea60a..d9b689a0aff 100644 --- a/Master/texmf-dist/tex/latex/gmdoc/gmdocc.cls +++ b/Master/texmf-dist/tex/latex/gmdoc/gmdocc.cls @@ -236,6 +236,7 @@ % the default \pk{gmdoc}'s definition of marginpar typewriter and % letting the user to redefine it \himher self seemed to me most natural. + \def\gmcc@setfont#1{% \gmcc@oldfontsfalse% note that if we are not in \XeTeX, this switch % will be turned true in line \ref{ofstrue} @@ -258,6 +259,7 @@ \gm@DOX{fontspec}{\PassOptionsToPackage{#1}{fontspec}} % \changes{v0.80}{2008/08/30}{added} + \gm@EOX{class=mwart}% \label{EOXmwart}We set the default basic class to % be \pk{mwart}. @@ -274,10 +276,11 @@ % ^^A switch and therefore it counts the fis properly. % \iffalse It's for cooperation with my another class. (Feature under % construction.) -\@ifundefined{ifSecondClass}{% +\XKV@ifundefined{ifSecondClass}{% \newif\ifSecondClass}{} %\fi\fi + % \skiplines \ifSecondClass\else % \endskiplines @@ -303,6 +306,7 @@ \RequirePackage{gmutils}[2008/08/30]% we load it early to provide |\@ifXeTeX|. + \ifgmcc@mwcls\afterfi\ParanoidPostsec\fi \@ifXeTeX{}{\gmcc@oldfontstrue} @@ -340,7 +344,7 @@ \do\Finv\do\Game\do\beth\do\gimel\do\daleth% these five caused the % `already defined' error. \let\@zf@euenctrue\zf@euencfalse - \XeTeXthree% + \XeTeXthree% %^^A \setromanfont{LMRoman12}% Regular %^^A \setsansfont{LMSans10}% Regular %^^A \setmonofont{LMTypewriter10}% Regular -- cgit v1.2.3