diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:58:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:58:01 +0000 |
commit | 8888f7c6495aaf0b8868827f1acc6aa728d2a9be (patch) | |
tree | e27a76c22f84859d770057df2dbc6c28aaef31d9 /Master/texmf-dist | |
parent | 0daeff73d32aacd49e6140586dd0f12601f2382f (diff) |
trunk/Master/texmf-dist/source/latex/stdclsdv
git-svn-id: svn://tug.org/texlive/trunk@528 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/source/latex/stdclsdv/stdclsdv.dtx | 372 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/stdclsdv/stdclsdv.ins | 60 |
2 files changed, 432 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stdclsdv/stdclsdv.dtx b/Master/texmf-dist/source/latex/stdclsdv/stdclsdv.dtx new file mode 100644 index 00000000000..819a644394c --- /dev/null +++ b/Master/texmf-dist/source/latex/stdclsdv/stdclsdv.dtx @@ -0,0 +1,372 @@ +% \iffalse meta-comment +% +% stdclsdv.dtx +% Copyright 1999 Peter R. Wilson +% +% This program is provided under the terms of the +% LaTeX Project Public License distributed from CTAN +% archives in directory macros/latex/base/lppl.txt. +% +% Author: Peter Wilson (CUA and NIST) (now at: peter.r.wilson@boeing.com) +% +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\CodelineIndex +%%\OnlyDescription +\setcounter{StandardModuleDepth}{1} +\begin{document} + \DocInput{stdclsdv.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{130} +% +% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} +% \DoNotIndex{\@centercr,\@cite} +% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} +% \DoNotIndex{\@input,\@ixpt,\@m} +% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} +% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} +% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} +% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} +% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} +% \DoNotIndex{\advance,\Alph,\alph} +% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} +% \DoNotIndex{\bullet} +% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} +% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} +% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} +% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} +% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} +% \DoNotIndex{\fbox} +% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} +% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} +% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} +% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} +% \DoNotIndex{\input} +% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} +% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} +% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} +% \DoNotIndex{\NeedsTeXFormat,\newdimen} +% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} +% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} +% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} +% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} +% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} +% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font} +% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman} +% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength} +% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} +% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} +% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} +% \DoNotIndex{\viipt,\vipt,\vskip,\vspace} +% \DoNotIndex{\wd,\xiipt,\year,\z@} +% +% \changes{v1.0}{1999/01/17}{First public release} +% \changes{v1.1}{2000/07/16}{Added koma classes} +% +% ^^A \def\fileversion{v1.0} +% ^^A \def\filedate{1999/01/17} +% \def\fileversion{v1.1} +% \def\filedate{2000/07/16} +% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package +% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option +% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file +% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter +% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle +% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment +% +% \title{The \Lpack{stdclsdv} package\thanks{This +% file has version number \fileversion, last revised +% \filedate.}} +% +% \author{% +% Peter Wilson\\ +% Catholic University of America\thanks{This work was originally +% performed as +% a Guest Researcher at the National Institute of Standards and Technology.} \\ +% Now at \texttt{peter.r.wilson@boeing.com} +% } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{stdclsdv} package is intended to be used by the authors +% of \LaTeX{} packages that need to know about the sectional divisions +% provided by the document class. +% \end{abstract} +% \tableofcontents +% +% +% +% \section{Introduction} +% +% Several packages need to know the kind of sectional divisions +% provided by the document class. +% +% The \Lpack{stdclsdv} package provides a solution for +% for the case when the document class is one of the \LaTeX{} standard +% classes (i.e., \Lpack{book}, \Lpack{report}, \Lpack{article}, +% \Lpack{letter}, \Lpack{slides}, and classes derived from the +% \Lpack{article} class, namely \Lpack{ltxdoc} and \Lpack{proc}). +% It also handles the \Lpack{koma} classes.\footnote{Courtesy of +% Joerg Jaspert \texttt{Joerg.Jaspert@informatik.fh-fulda.de}.} +% +% This manual is typeset according to the conventions of the +% \LaTeX{} \textsc{docstrip} utility which enables the automatic +% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}. +% +% Section~\ref{sec:usc} describes the usage of the package. +% Commented source code for the package is in Section~\ref{sec:code}. +% +% \section{The \Lpack{stdclsdv} package} \label{sec:usc} +% +% The \Lpack{stdclsdv} package provides several |\if...| macros +% which can be used to determine the kinds of sectional divisions +% supported by the current (standard) |\documentclass|. +% +% The package is designed to work with the standard \LaTeX{} +% document classes \Lpack{book}, \Lpack{report}, \Lpack{article}, \Lpack{proc} +% and \Lpack{ltxdoc} class (which is based to a large extent on +% the \Lpack{article} class). +% +% \DescribeMacro{\ifSCDknownclass} +% |\ifSCDknownclass| is TRUE iff the document class is one of: +% \Lpack{book}, \Lpack{report}, \Lpack{article}, \Lpack{letter}, +% \Lpack{slides}, \Lpack{proc}, \Lpack{ltxdoc}, +% \Lpack{scrbook}, \Lpack{scrreprt}, \Lpack{scrartcl} or \Lpack{scrlettr}. +% Otherwise it is FALSE. +% +% \DescribeMacro{\ifSCDchapter} +% |\ifSCDchapter| is TRUE iff the document class defines a |\chapter| +% sectional division, otherwise it is FALSE. +% +% \DescribeMacro{\ifSCDpart} +% |\ifSCDpart| is TRUE iff the document class defines a |\part| +% sectional division, otherwise it is FALSE. +% +% \DescribeMacro{\ifSCDsection} +% |\ifSCDsection| is TRUE iff the document class defines a |\section| +% sectional division, otherwise it is FALSE. +% +% \DescribeMacro{\ifSCDnodivs} +% |\ifSCDnodivs| is TRUE iff the document class has neither |\part| +% nor |\chapter| +% nor |\section| divisions, otherwise it is FALSE. +% +% \DescribeMacro{\SCDquit} +% If the document class or divisioning is not handled by a package, it +% can be useful to skip all futher package code. This could be done using: +% \begin{verbatim} +% ... +% \ifSCDknownclass +% % normal processing +% \else % just before end of package file +% % error/warning message about unknown class +% \fi +% \endinput +% \end{verbatim} +% Alternatively, using the |\SCDQuit| command provides a clearer means +% of accomplishing this. The |\SCDquit| macro is defined to do nothing. +% It is intended to +% be used for prematurely ending a package file in the following manner: +% \begin{verbatim} +% \ifSCDknownclass\else +% \renewcommand{\SCDquit}{\endinput} +% % error/warning message about unknown class +% \fi +% \SCDquit % ends the file iff the class is unknown +% % normal processing +% ... +% \endinput +% \end{verbatim} +% +% \DescribeMacro{\SCDCheckCommand} +% \DescribeMacro{\ifSCDSameDefinition} +% |\SCDCheckCommand| takes the same arguments as |\newcommand|, that is:\\ +% |\SCDCheckCommand{|\meta{command}|}[|\meta{nargs}|][|\meta{defarg}|]{|\meta{definition}|}| \\ +% |\SCDCheckCommand| is +% identical to the kernel |\CheckCommand| (see \file{ltdefns.dtx}) except +% that it sets |\ifSCDSameDefinition| to TRUE iff the definition given +% in |\SCDCheckCommand| is the same as the current definition, otherwise +% |\ifSCDSameDefinition| is set to FALSE. +% (|\CheckCommand| issues a warning if the definitions are different). +% +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \begin{thebibliography}{GMS94} +% \bibitem[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock {\em The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% \end{thebibliography} +% } +% +% +% \section{The package code} \label{sec:code} +% +% Announce the name and version of the package, which requires +% \LaTeXe. +% \begin{macrocode} +%<*usc> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{stdclsdv}[2000/07/16 v1.1 Sectional divisions] +% \end{macrocode} +% +% In order to try and avoid name clashes with other packages, each macro +% name includes the character string |SCD| (Standard Class Division). +% +% \begin{macro}{\ifSCDknownclass} +% \begin{macro}{\ifSCDpart} +% \begin{macro}{\ifSCDchapter} +% \begin{macro}{\ifSCDsection} +% \begin{macro}{\ifSCDnodivs} +% These are used when we need to decide what sectional +% divisions are supported by the document's class. +% We will assume assume an unknown class that has |\part| and |\section| +% but not +% |\chapter| divisions. +% \begin{macrocode} +\newif\ifSCDknownclass\SCDknownclassfalse +\newif\ifSCDpart\SCDparttrue +\newif\ifSCDchapter\SCDchapterfalse +\newif\ifSCDsection\SCDsectiontrue +\newif\ifSCDnodivs\SCDnodivsfalse +% \end{macrocode} +% Check the actual class.\footnote{Thanks to David Carlisle for +% information on how to check on the class.} +% \begin{macrocode} +\@ifclassloaded{book}{\SCDknownclasstrue\SCDchaptertrue}{} +\@ifclassloaded{report}{\SCDknownclasstrue\SCDchaptertrue}{} +\@ifclassloaded{article}{\SCDknownclasstrue}{} +\@ifclassloaded{proc}{\SCDknownclasstrue}{} +\@ifclassloaded{ltxdoc}{\SCDknownclasstrue}{} +\@ifclassloaded{slides}{\SCDknownclasstrue + \SCDnodivstrue\SCDpartfalse\SCDsectionfalse}{} +\@ifclassloaded{letter}{\SCDknownclasstrue + \SCDnodivstrue\SCDpartfalse\SCDsectionfalse}{} +% \end{macrocode} +% Joerg Jaspert supplied, via Email on 2000/07/16, the following code +% for the \Lpack{koma} classes. +% \changes{v1.1}{2000/07/16}{Added checks for koma classes} +% \begin{macrocode} +\@ifclassloaded{scrbook}{\SCDknownclasstrue\SCDchaptertrue}{} +\@ifclassloaded{scrreprt}{\SCDknownclasstrue\SCDchaptertrue}{} +\@ifclassloaded{scrartcl}{\SCDknownclasstrue}{} +\@ifclassloaded{scrlettr}{\SCDknownclasstrue + \SCDnodivstrue\SCDpartfalse\SCDsectionfalse}{} +% \end{macrocode} +% +% If the class is not one of the standard classes, check if |\part| or +% |\chapter| or |\section| headings are provided. +% \begin{macrocode} +\ifSCDknownclass\else + \SCDnodivstrue + \ifx\part\undefined + \SCDpartfalse + \else + \SCDnodivsfalse + \fi + \ifx\chapter\undefined\else + \SCDchaptertrue \SCDnodivsfalse + \fi + \ifx\section\undefined + \SCDsectionfalse + \else + \SCDnodivsfalse + \fi +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SCDquit} +% A macro that does nothing (see \S\ref{sec:usc} for its intended usage). +% \begin{macrocode} +\newcommand{\SCDquit}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifSCDSameDefinition} +% Used to store the result of |\SCDCheckCommand|. TRUE iff the command +% has the given definition. +% \begin{macrocode} +\newif\ifSCDSameDefinition +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SCDCheckCommand} +% This is identical to the kernal |\CheckCommand| except that it sets +% the |\ifSCDSameCommand| flag rather than issuing a warning. See +% \file{ltdefns.dtx} for the coding for |\CheckCommand|. +% \begin{macrocode} +\def\SCDCheckCommand{\@star@or@long% + \SCDSameDefinitiontrue% changed from CheckCommand + \@SCD@check@command} + \@onlypreamble\SCDCheckCommand +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@SCD@check@command} +% \begin{macrocode} +\def\@SCD@check@command#1#2#{\@SCD@check@c#1{#2}} + \@onlypreamble\@SCD@check@command +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@SCD@check@c} +% \begin{macrocode} +\long\def\@SCD@check@c#1#2#3{% + \expandafter\let\csname\string\reserved@a\endcsname\relax + \renew@command\reserved@a#2{#3}% + \@ifundefined{\string\reserved@a}% + {\@SCD@check@eq#1\reserved@a}% + {\expandafter\@SCD@check@eq + \csname\string#1\expandafter\endcsname + \csname\string\reserved@a\endcsname}} + \@onlypreamble\@SCD@check@c +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@SCD@check@eq} +% \begin{macrocode} +\def\@SCD@check@eq#1#2{% + \ifx#1#2\else + \SCDSameDefinitionfalse % changed from CheckCommand + \fi} + \@onlypreamble\@SCD@check@eq +% \end{macrocode} +% \end{macro} +% +% The end of this package. +% \begin{macrocode} +%</usc> +% \end{macrocode} +% +% +% +% \Finale +% \PrintIndex +% +\endinput + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} + + diff --git a/Master/texmf-dist/source/latex/stdclsdv/stdclsdv.ins b/Master/texmf-dist/source/latex/stdclsdv/stdclsdv.ins new file mode 100644 index 00000000000..22b84633417 --- /dev/null +++ b/Master/texmf-dist/source/latex/stdclsdv/stdclsdv.ins @@ -0,0 +1,60 @@ +%% stdclsdv.ins +%% Copyright 1999 Peter R. Wilson +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Peter Wilson (CUA and NIST) +%% now at: peter.r.wilson@boeing.com +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\batchfile{stdclsdv.ins} +\input docstrip.tex +\preamble + + Copyright 1999 Peter R. Wilson + + This program is provided under the terms of the + LaTeX Project Public License distributed from CTAN + archives in directory macros/latex/base/lppl.txt. + +Author: Peter Wilson (CUA and NIST) + now at: peter.r.wilson@boeing.com + +\endpreamble + +\keepsilent + +%%% \Msg{*** Generating the driver file ***} +%%% \generateFile{stdclsdv.drv}{t}{\from{stdclsdv.dtx}{driver}} + +\Msg{*** Generating the LaTeX2e package files ***} + +\generateFile{stdclsdv.sty}{t}{\from{stdclsdv.dtx}{usc}} + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file(s) into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space stdclsdv.sty} +\Msg{*} +\Msg{*} +\Msg{* To produce the documentation run the files ending with} +\Msg{* `.dtx' through LaTeX.} +\Msg{* Process any name.idx file by:} +\Msg{* \space\space\space\space makeindex -s gind.ist name} +\Msg{* Process any name.glo file by:} +\Msg{* \space\space\space\space makeindex -s gglo.ist -o name.gls name.glo} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} + +\endinput |