From cee304b733b97f3e40ce2eba5d01ade4c92fec32 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 13 Jan 2006 00:00:17 +0000 Subject: nag git-svn-id: svn://tug.org/texlive/trunk@1126 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/nag/abort.nag | 36 +++++++ Master/texmf-dist/tex/latex/nag/l2tabu.nag | 94 ++++++++++++++++++ Master/texmf-dist/tex/latex/nag/nag.sty | 153 +++++++++++++++++++++++++++++ 3 files changed, 283 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/nag/abort.nag create mode 100644 Master/texmf-dist/tex/latex/nag/l2tabu.nag create mode 100644 Master/texmf-dist/tex/latex/nag/nag.sty (limited to 'Master/texmf-dist/tex/latex/nag') diff --git a/Master/texmf-dist/tex/latex/nag/abort.nag b/Master/texmf-dist/tex/latex/nag/abort.nag new file mode 100644 index 00000000000..23ad0a8d9e2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/nag/abort.nag @@ -0,0 +1,36 @@ +%% +%% This is file `abort.nag', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% nag.dtx (with options: `abortnag') +%% This is a generated file. +%% +%% This file is part of the `nag' package. +%% The `nag' package has the LPPL maintenance status: maintained. +%% Current Maintainer is Ulrich M. Schwarz, ulmi@users.sarovar.org +%% +%% Copyright (C) 2005 by Ulrich M. Schwarz. +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3a of this license or (at your option) any later +%% version. The latest version of this license is in: +%% http://www.latex-project.org/lppl.txt +%% +\ProvidesFile{abort.nag}[2005/05/08 v0.1 treat complaints as errors (ulmi)] +\renewcommand\nag@warn[1]{% + \addtocounter{nag@sins}{1}% + \PackageError{nag}{#1}{#1}% +} +\renewcommand\nag@warnNoLine[1]{% + \addtocounter{nag@sins}{1}% + \PackageError{nag}{#1}{#1}% +} +%%X Local Variables: +%%X mode: latex +%%X End: +\endinput +%% +%% End of file `abort.nag'. diff --git a/Master/texmf-dist/tex/latex/nag/l2tabu.nag b/Master/texmf-dist/tex/latex/nag/l2tabu.nag new file mode 100644 index 00000000000..5a416a789e8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/nag/l2tabu.nag @@ -0,0 +1,94 @@ +%% +%% This is file `l2tabu.nag', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% nag.dtx (with options: `l2tabunag') +%% This is a generated file. +%% +%% This file is part of the `nag' package. +%% The `nag' package has the LPPL maintenance status: maintained. +%% Current Maintainer is Ulrich M. Schwarz, ulmi@users.sarovar.org +%% +%% Copyright (C) 2005 by Ulrich M. Schwarz. +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3a of this license or (at your option) any later +%% version. The latest version of this license is in: +%% http://www.latex-project.org/lppl.txt +%% +\ProvidesFile{l2tabu.nag}[2005/03/23 v1.7 l2tabu rules for nag.sty (ulmi)] +%% +%% The sins. +%% +%% Section numbers refer to l2tabuen 1.7 revised/enlarged dated 2004OCT24 +%% \S 1.1 +\ObsoletePackage{a4wide}{the \lq a4paper\rq\space class option} +\ObsoletePackage{a4}{the \lq a4paper\rq\space class option} +%% \S 1.2--1.5 cannot reasonably be checked programmatically +%% \S 1.6 is handled by H.Harders' onlyamsmath package +%% \S 1.7 cannot reasonably be checked programmatically +%% \S 1.8 \sloppy is called by parbox, among others, and would +%% give many spurious warnings. +%% \S 2.1.1 +\ObsoleteCS[an old LaTeX 2.09 command]{bf}{\protect\bfseries\space or \protect\textbf} +\ObsoleteCS[an old LaTeX 2.09 command]{it}{\protect\itshape\space or \protect\textit} +\ObsoleteCS[an old LaTeX 2.09 command]{rm}{\protect\rmfamily\space or \protect\textrm} +\ObsoleteCS[an old LaTeX 2.09 command]{sc}{\protect\scshape\space or \protect\textsc} +\ObsoleteCS[an old LaTeX 2.09 command]{sf}{\protect\sffamily\space or \protect\textsf} +\ObsoleteCS[an old LaTeX 2.09 command]{sl}{\protect\slshape\space or \protect\textsl} +\ObsoleteCS[an old LaTeX 2.09 command]{tt}{\protect\ttfamily\space or \protect\texttt} +\ObsoleteCS[an old LaTeX 2.09 command]{cal}{\protect\mathcal}% Hmm, this is not in l2tabu? +%% \S 2.1.2 +\ObsoleteCS[TeX]{over}{\protect\frac} +\ObsoleteCS[TeX]{choose}{\protect\frac\space or amsmath's \protect\binom} +%% \S 2.1.3 +\ObsoleteCS[TeX]{centerline}{\protect\centering\space or center environment} +%% \S 2.2.1 +\ObsoleteClass{scrlettr}{the scrlttr2 package} +%% \S 2.2.2 +\ObsoletePackage{epsf}{the graphicx package} +\ObsoletePackage{psfig}{the graphicx package} +\ObsoletePackage[deprecated]{epsfig}{the graphicx package directly} +%% \S 2.2.3 +\ObsoletePackage{doublespace}{the setspace package} +%% \S 2.2.4 +\ObsoletePackage{fancyheadings}{the fancyhdr or scrpage2 packages} +\ObsoletePackage{scrpage}{the scrpage2 package} +%% \S 2.2.5 +\ObsoletePackage{isolatin}{the inputenc package with option latin1} +\ObsoletePackage{umlaut}{the inputenc package with suitable option + (latin1, utf8 ...)} +\ObsoletePackage{isolatin1}{the inputenc package with option latin1} +%% \S 2.2.6 +\ObsoletePackage{t1enc}{the fontenc package with option T1} +%% \S 2.2.7 we don't check for bst yet. +%% (This is in l2tabu 1.8) +\ObsoletePackage{caption2}{the caption package v3.0 or later} +%% \S 2.3.1-3 +\ObsoletePackage{times}{the mathptmx, helvet (option scaled=.9), courier packages} +\ObsoletePackage{pslatex}{the mathptmx, helvet (option scaled=.9), courier packages} +\ObsoletePackage{mathptm}{the mathptmx package} +%% \S 2.3.4-5 +\ObsoletePackage{palatino}{the mathpazo, helvet (option scaled=.95), courier packages} +\ObsoletePackage{mathpple}{the mathpazo package} +%% \S 2.3.6 can't be checked +%% \S 2.3.7 +\ObsoletePackage{euler}{the eulervm package} +\ObsoletePackage{utopia}{the fourier package} +%% \S 3.1 +\g@addto@macro\nag@floats{,figure,table}% +%% \S 3.2 +\ObsoleteCS[a misuse]{endappendix}{% + \protect\appendix\space as a switch, not an environment.\MessageBreak + \protect\end{appendix} detected} +%% \S 3.3 handled by onlyamsmath. +%% \S 3.4 -- nothing to be done -- +%%X Local Variables: +%%X mode: latex +%%X End: +\endinput +%% +%% End of file `l2tabu.nag'. diff --git a/Master/texmf-dist/tex/latex/nag/nag.sty b/Master/texmf-dist/tex/latex/nag/nag.sty new file mode 100644 index 00000000000..e10680bb690 --- /dev/null +++ b/Master/texmf-dist/tex/latex/nag/nag.sty @@ -0,0 +1,153 @@ +%% +%% This is file `nag.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% nag.dtx (with options: `nag') +%% This is a generated file. +%% +%% This file is part of the `nag' package. +%% The `nag' package has the LPPL maintenance status: maintained. +%% Current Maintainer is Ulrich M. Schwarz, ulmi@users.sarovar.org +%% +%% Copyright (C) 2005 by Ulrich M. Schwarz. +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3a of this license or (at your option) any later +%% version. The latest version of this license is in: +%% http://www.latex-project.org/lppl.txt +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{nag}[2005/07/07 0.3 warning about nag things (ulmi)] +\newcounter{nag@c} +\newcounter{nag@sins} + \newcommand\nag@prepend[2]{% + \expandafter\let + \csname nag@@#1@\the\value{nag@c}\expandafter\endcsname + \csname #1\endcsname + \expandafter\nag@pr@p@nd\csname #1\expandafter\endcsname + \csname nag@@#1@\the\value{nag@c}\endcsname{#2}% + \stepcounter{nag@c}% +} +\newcommand\nag@pr@p@nd[3]{% + \def#1{#3#2}% +} +\newcommand\nag@warn{% + \addtocounter{nag@sins}{1}% + \PackageWarning{nag}% +} +\newcommand\nag@warnNoLine{% + \addtocounter{nag@sins}{1}% + \PackageWarningNoLine{nag}% +} +\newcommand\ObsoleteCS[3][obsolete]{% + \AtBeginDocument{% + \nag@prepend{#2}{% + \nag@warn{% +Command \expandafter\protect\csname #2\endcsname\space is #1. +\MessageBreak +Use #3 instead}% + }% + }% +} +\newcommand\nag@ifcsname[3]{% + \begingroup\@ifundefined{#1}{#3}{#2}\endgroup +} +\nag@ifcsname{ifcsname}{% + \renewcommand*\nag@ifcsname[3]{% + \begingroup + \ifcsname #1\endcsname #2\else #3\fi + \endgroup + }% + \global\let\nag@ifcsname\nag@ifcsname +}{} +\newcommand\ObsoletePackage[3][obsolete]{% + \AtEndDocument{% + \nag@ifcsname{ver@#2.sty}{% + \nag@warnNoLine{% + Package #2 is #1.\MessageBreak + Use #3 instead}% + }{}% + }% +} +\newcommand\ObsoleteClass[3][obsolete]{% + \AtEndDocument{% + \nag@ifcsname{ver@#2.cls}{% + \nag@warnNoLine{% + Class #2 is #1.\MessageBreak + Use #3 instead}% + }{}% + }% +} +\newif\ifnag@haslabel +\newif\ifnag@hascaption +\newcommand\nag@hackfloat[1]{% + \nag@prepend{#1}{% + \nag@prepend{endcenter}{% + \nag@warn% + {\lq center\rq\space environment in #1.\MessageBreak + Maybe you want \protect\centering\space instead} + }% + } + \nag@prepend{#1}{% + \@for\labelprovider:=\nag@labels\do{% + \nag@prepend{\labelprovider}% + {\nag@captioncheck\global\nag@haslabeltrue} + }% + \@for\captionprovider:=\nag@captions\do{% + \nag@prepend{\captionprovider}{\global\nag@hascaptiontrue}% + }% + \global\nag@haslabelfalse\global\nag@hascaptionfalse + }% + \nag@prepend{end#1}{% + \ifnag@hascaption\relax\else + \nag@warn% +{#1 with no \protect\caption}% + \fi + }% +} +\newcommand\nag@captioncheck{% + \ifnag@hascaption\else + \nag@warn{\protect\label\space in float, but not after + \protect\caption}% + \fi +} +\def\nag@floats{nag@dummy} +\def\nag@labels{label} +%% The latter two are used by KOMA-Script. +\def\nag@captions{caption,captionabove,captionbelow} +\newcommand\nag@floatsetup{% + \@for\flo:=\nag@floats\do{% + \expandafter\nag@hackfloat\expandafter{\flo}% + }% +} +\AtBeginDocument{% + \nag@floatsetup +} +\AtBeginDocument{% + \AtEndDocument{% + \ifnum\value{nag@sins}>0% + \PackageWarningNoLine{nag}{\arabic{nag@sins} complaints + in total}% + \else + \typeout{No complaints by nag.}% + \fi + }% +} +\DeclareOption*{% + \InputIfFileExists{\CurrentOption.nag}{% + \typeout{package nag: Loaded \CurrentOption.nag}% + }{% + \PackageWarningNoLine{nag}{Required ruleset + \CurrentOption.nag, and it wasn't there} + }% +} +\ProcessOptions* +%%X Local Variables: +%%X mode: latex +%%X End: +\endinput +%% +%% End of file `nag.sty'. -- cgit v1.2.3