%% %% This is file `nag-l2tabu.cfg', %% 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@absatzen.de %% %% Copyright (C) 2005-8 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{nag-l2tabu.cfg} [2010/05/17 v2.11 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 \def\nag@doubledollar{$$}%$$ \def\nag@singledollar{$}%$ \def\nag@expanding@voodoo#1#2#3{\relax\relax\nag@singledollar} \def\nag@maybedispmath{% \texorpdfstring{% %% in TeX context, do tricky stuff. \ifinner\expandafter\@firstoftwo \else\expandafter\@secondoftwo\fi {%% in inner mode, $$ is an empty formula, so no testing wanted. \nag@singledollar}% {%% \ifx\protect\@typeset@protect\expandafter\@firstoftwo \else\expandafter\@secondoftwo\fi {%% normal case: looks like typesetting %% protect against strictly expanding context %% like TeX' \message: the first expanding voodoo will expand, %% removing the rest, inserting \relax\relax$ instead. This is %% not totally transparent, but \let\relax\relax is as close %% to a no-op as we can get. \let\nag@expanding@voodoo\nag@expanding@voodoo \protect\nag@maybe@dispmath}% {%% some other case, hide ourselves \nag@singledollar}% }% }{% %% in pdf context, just be a math shift. This creates the "math %% shift not allowed" warnings we all love. \nag@singledollar }% } \AtBeginDocument{\providecommand\texorpdfstring{\@firstoftwo}} \AtBeginDocument{\catcode`$\active}%$ \AtEndDocument{\catcode`$=3\relax} \def\nag@quark{\nag@quark} \bgroup \catcode`$\active%$ \gdef\nag@maybe@dispmath{% \bgroup \let\@sptoken\nag@quark% prevent skipping of spaces \@ifnextchar${%$% \ifmmode % we already warned upon entering. \else \nag@warn{% \nag@doubledollar...\nag@doubledollar\space is obsolete.\MessageBreak Use \string\[...\string\] et al. instead}% \fi \egroup\expandafter\nag@doubledollar\@gobble }{% \egroup\nag@singledollar }% } % we do the assignment here, which means any package that redefines % \$ as well will silently disable us. This is a feature. \global\let$\nag@maybedispmath%$ \egroup %% new in 2.1alpha1: more compat testing. Version control keywords are dollar-delimited. %% all five implementations get it wrong. \AtBeginDocument{% \@ifpackageloaded{rcs}{% % this redefinition is functionally equivalent, % but does not share actual code. \renewcommand\RCS{\bgroup% \catcode`\_ =\active \catcode`\$=3 % this line added for compatibility. \csname RCS_get_argument\endcsname } \PackageInfo{nag}{rcs.sty hack applied}% }{}% \@ifpackageloaded{svninfo}{% \g@addto@macro\@svnBeginRead{\catcode`\$ 3 }% \PackageInfo{nag}{svninfo.sty hack applied}% }{}% \@ifpackageloaded{svn}{% \PackageInfo{nag}{svn.sty is broken: disabling dollar check}% \catcode`\$ 3 }{}% \@ifpackageloaded{rcsinfo}{% \PackageInfo{nag}{rcsinfo.sty is broken: disabling dollar check}% \catcode`\$ 3 }{}% \@ifpackageloaded{pgf}{% \PackageInfo{nag}{pgf.sty is broken: disabling dollar check}% \catcode`\$ 3 }{}% } %% \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 %% Gone with 1.8 because this never worked for the kernel \frac anyway. %% \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 \NagDeclareFloat{figure}\NagDeclareFloat{table}% \g@addto@macro\nag@labels{,label,caption@xlabel}% \nag@prepend{endcenter}{% \ifx\@captype\@undefined\else \nag@warn{\lq center\rq\space environment in \@captype.\MessageBreak Maybe you want \protect\centering\space instead}% \fi }% %% The latter two are used by KOMA-Script, the last by hypcap. \g@addto@macro\nag@captions{,caption,captionabove,captionbelow,hc@caption,topcaption}% %% \S 3.2 \NotAnEnvironment{appendix}% %% In the same vein: \@for\sectioning:=frontmatter,mainmatter,backmatter\do{% \expandafter\NotAnEnvironment\expandafter{\sectioning}% } %% \S 3.3 %% It's more trouble than it's worth to have another warning for %% align*, since it passes through align. \ObsoleteEnv{eqnarray}{amsmath's align} %% \S 3.4 -- nothing to be done -- %%X Local Variables: %%X mode: latex %%X End: \endinput %% %% End of file `nag-l2tabu.cfg'.