]> git.donarmstrong.com Git - lib.git/commitdiff
add fixme.sty and el
authorDon Armstrong <don@donarmstrong.com>
Sat, 26 Aug 2006 03:11:13 +0000 (03:11 +0000)
committerDon Armstrong <don@donarmstrong.com>
Sat, 26 Aug 2006 03:11:13 +0000 (03:11 +0000)
emacs_el/fixme.el [new file with mode: 0644]
texmf/tex/latex/fixme.sty [new file with mode: 0644]

diff --git a/emacs_el/fixme.el b/emacs_el/fixme.el
new file mode 100644 (file)
index 0000000..2cacb79
--- /dev/null
@@ -0,0 +1,96 @@
+;;; fixme.el --- AUC-TeX style file for FiXme
+
+;; Copyright (C) 2000, 2002, 2004 Didier Verna.
+
+;; Author:        Didier Verna <didier@lrde.epita.fr>
+;; Maintainer:    Didier Verna <didier@lrde.epita.fr>
+;; Created:       Tue Apr 18 14:49:29 2000
+;; Last Revision: Tue Oct 19 18:07:27 2004
+;; Keywords:      tex abbrev data
+
+;; This file is part of FiXme.
+
+;; FiXme may be distributed and/or modified under the
+;; conditions of the LaTeX Project Public License, either version 1.1
+;; 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
+;; and version 1.1 or later is part of all distributions of LaTeX
+;; version 1999/06/01 or later.
+
+;; FiXme consists of all files listed in the file `README'.
+
+
+;;; Commentary:
+
+;; Contents management by FCM version 0.1-b2.
+
+
+;;; Code:
+
+(TeX-add-style-hook "fixme"
+  (function
+   (lambda ()
+     (TeX-add-symbols
+      '("fixmelogo")
+
+      '("listoffixmes")
+      '("listfixmename")
+
+      '("FXInline")
+      '("FXMargin")
+      '("FXFootnote")
+      '("FXUser")
+      '("fixmeindexname")
+      '("FXIndex")
+
+      '("FXNote")
+      '("FXWarning")
+      '("FXError")
+      '("FXFatal")
+
+      '("fixmenoteprefix")
+      '("fixmenoteindexname")
+      '("fixmewarningprefix")
+      '("fixmewarningindexname")
+      '("fixmeerrorprefix")
+      '("fixmeerrorindexname")
+      '("fixmefatalprefix")
+      '("fixmefatalindexname")
+
+      '("thefixmecount")
+      '("thefixmenotecount")
+      '("thefixmewarningcount")
+      '("thefixmeerrorcount")
+      '("thefixmefatalcount")
+
+      '("fxnote" [ "Layout" ] "Note")
+      '("fxwarning" [ "Layout" ] "Warning")
+      '("fxerror" [ "Layout" ] "Error")
+      '("fixme" [ "Layout" ] "FiXme")
+
+      ;; Obsolete stuff:
+      '("FiXmeInline")
+      '("FiXmeMargin")
+      '("FiXmeFootnote")
+      '("FiXmeIndex")
+      '("FiXmeInfo")
+      '("FiXmeWarning")
+      '("FiXmeUser")
+      )
+     (LaTeX-add-environments
+      '("anfxnote")
+      '("anfxwarning")
+      '("anfxerror")
+      '("afixme")
+      )
+     )))
+
+
+\f
+
+;;; Local variables:
+;;; eval: (put 'TeX-add-style-hook 'lisp-indent-function 1)
+;;; End:
+
+;;; fixme.el ends here
diff --git a/texmf/tex/latex/fixme.sty b/texmf/tex/latex/fixme.sty
new file mode 100644 (file)
index 0000000..f7a7271
--- /dev/null
@@ -0,0 +1,453 @@
+%%
+%% This is file `fixme.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx 
+%% 
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Didier Verna
+
+%% This file is part of FiXme.
+
+%% FiXme may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.1
+%% 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
+%% and version 1.1 or later is part of all distributions of LaTeX
+%% version 1999/06/01 or later.
+
+%% FiXme consists of the files listed in the file `README'.
+
+%% \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         \~}
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesPackage{fixme}[2005/01/31 v3.1
+                        Insert fixme notes in your documents]
+
+\RequirePackage{ifthen}
+\RequirePackage{verbatim}
+
+\newcommand*\fixmelogo{\textsf{FiXme}}
+
+\newcommand\listoffixmes{}
+\def\listoffixmes@final{}
+\def\listoffixmes@draft{%
+  \IfFileExists{\jobname .lox}{\@listoffixmes@pretoc}{}%
+  \@starttoc{lox}%
+  \IfFileExists{\jobname .lox}{\@listoffixmes@posttoc}{}%
+  }
+
+\newcommand*\listfixmename{}
+
+\def\@listoffixmes@pretoc@article{%
+  \section*{\listfixmename%
+    \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
+  }
+\def\@listoffixmes@posttoc@article{}
+\def\l@fixme@article{\@dottedtocline{1}{1.5em}{2.3em}}
+
+\def\@listoffixmes@pretoc@report{%
+  \if@twocolumn
+    \@restonecoltrue\onecolumn
+  \else
+    \@restonecolfalse
+  \fi
+  \chapter*{\listfixmename%
+    \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
+  }
+\def\@listoffixmes@posttoc@report{\if@restonecol\twocolumn\fi}
+\def\l@fixme@report{\@dottedtocline{1}{1.5em}{2.3em}}
+
+\def\@listoffixmes@pretoc@book{%
+  \if@twocolumn
+    \@restonecoltrue\onecolumn
+  \else
+    \@restonecolfalse
+  \fi
+  \chapter*{\listfixmename%
+    \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
+  }
+\def\@listoffixmes@posttoc@book{\if@restonecol\twocolumn\fi}
+\def\l@fixme@book{\@dottedtocline{1}{1.5em}{2.3em}}
+
+\def\@listoffixmes@pretoc@scrartcl{%
+  \section*{\listfixmename%
+    \@mkboth{\listfixmename}{\listfixmename}}%
+  }
+\def\@listoffixmes@posttoc@scrartcl{}
+\def\l@fixme@scrartcl{\@dottedtocline{1}{1.5em}{2.3em}}
+
+\def\@listoffixmes@pretoc@scrreprt{%
+  \if@twocolumn
+    \@restonecoltrue\onecolumn
+  \else
+    \@restonecolfalse
+  \fi
+  \chapter*{\listfixmename%
+    \@mkboth{\listfixmename}{\listfixmename}}%
+  }
+\def\@listoffixmes@posttoc@scrreprt{\if@restonecol\twocolumn\fi}
+\def\l@fixme@scrreprt{\@dottedtocline{1}{1.5em}{2.3em}}
+
+\def\@listoffixmes@pretoc@scrbook{%
+  \if@twocolumn
+    \@restonecoltrue\onecolumn
+  \else
+    \@restonecolfalse
+  \fi
+  \chapter*{\listfixmename%
+    \@mkboth{\listfixmename}{\listfixmename}}%
+  }
+\def\@listoffixmes@posttoc@scrbook{\if@restonecol\twocolumn\fi}
+\def\l@fixme@scrbook{\@dottedtocline{1}{1.5em}{2.3em}}
+
+\newcommand\FXInline[2]{%
+  \textbf{#1}: \emph{#2}}
+\newcommand\FXMargin[2]{%
+  \marginpar{\footnotesize\raggedleft\textbf{#1}: \emph{#2}}}
+\newcommand\FXFootnote[2]{%
+  \footnote{\textbf{#1}: \emph{#2}}}
+
+\newcommand*\fixmeindexname{}
+\newcommand\FXIndex[1]{%
+  \index{***@\fixmeindexname:!#1}}
+
+\newcommand*\fixmefatalprefix{}
+\newcommand\FiXmeInline[1]{\FXInline{\fixmefatalprefix}{#1}}
+\newcommand\FiXmeMargin[1]{\FXMargin{\fixmefatalprefix}{#1}}
+\newcommand\FiXmeFootnote[1]{\FXFootnote{\fixmefatalprefix}{#1}}
+\newcommand\FiXmeUser[1]{}
+\let\FiXmeUser\empty
+
+\newcommand\FiXmeIndex[1]{\FXIndex{#1}}
+\newcommand\FiXmeInfo[1]{}
+\newcommand\FiXmeWarning[1]{}
+
+\newif\iffixme@inline
+\newif\iffixme@margin
+\newif\iffixme@footnote
+\newif\iffixme@user
+\newif\iffixme@index
+
+\def\fixme@text#1#2{%
+  \iffixme@inline\FXInline{#1}{#2}\fi%
+  \iffixme@margin\FXMargin{#1}{#2}\fi%
+  \iffixme@footnote\FXFootnote{#1}{#2}\fi%
+  \iffixme@user\FXUser{#1}{#2}\fi}
+
+\DeclareOption{inline}{\fixme@inlinetrue}
+\DeclareOption{noinline}{\fixme@inlinefalse}
+\DeclareOption{margin}{\fixme@margintrue}
+\DeclareOption{nomargin}{\fixme@marginfalse}
+\DeclareOption{footnote}{\fixme@footnotetrue}
+\DeclareOption{nofootnote}{\fixme@footnotefalse}
+\DeclareOption{user}{\fixme@usertrue}
+\DeclareOption{nouser}{\fixme@userfalse}
+\DeclareOption{index}{\fixme@indextrue}
+\DeclareOption{noindex}{\fixme@indexfalse}
+
+\DeclareOption{info}{}
+\DeclareOption{noinfo}{}
+\DeclareOption{warning}{}
+\DeclareOption{nowarning}{}
+
+\newcommand\FXNote[1]{%
+  \GenericInfo{%
+    (FiXme)\@spaces\@spaces\@spaces\@spaces}{%
+    Package FiXme Note: `#1'}}
+\newcommand\FXWarning[1]{%
+  \PackageWarning{FiXme}{`#1'}}
+\newcommand\FXError[1]{%
+  \GenericWarning{%
+    (FiXme)\@spaces\@spaces\@spaces\@spaces}{%
+    Package FiXme Error: `#1'}}
+\newcommand\FXFatal[1]{%
+  \GenericWarning{%
+    (FiXme)\@spaces\@spaces\@spaces\@spaces}{%
+    Package FiXme: `#1'}}
+
+\newif\iffixme@silent
+
+%% Options that control whether to be silent or not:
+\DeclareOption{silent}{\fixme@silenttrue}
+\DeclareOption{nosilent}{\fixme@silentfalse}
+
+\newcounter{fixmecount}
+\newcounter{fixmenotecount}
+\newcounter{fixmewarningcount}
+\newcounter{fixmeerrorcount}
+\newcounter{fixmefatalcount}
+
+\newcommand*\fixmenoteprefix{}
+\newcommand*\fixmenoteindexname{}
+\def\fixme@note@draft#1{%
+  \fixme@text{\fixmenoteprefix}{#1}%
+  \iffixme@index\FXIndex{\fixmenoteindexname\thefixmenotecount: #1}\fi%
+  \iffixme@silent\else\FXNote{#1}\fi%
+  \addcontentsline{lox}{fixme}{\fixmenoteprefix: #1}}
+\def\fixme@note@final#1{%
+  \iffixme@silent\else\FXNote{#1}\fi%
+  \addcontentsline{lox}{fixme}{\fixmenoteprefix: #1}}
+
+\newcommand*\fixmewarningprefix{}
+\newcommand*\fixmewarningindexname{}
+\def\fixme@warning@draft#1{%
+  \fixme@text{\fixmewarningprefix}{#1}%
+  \iffixme@index\FXIndex{\fixmewarningindexname\thefixmewarningcount: #1}\fi%
+  \iffixme@silent\else\FXWarning{#1}\fi%
+  \addcontentsline{lox}{fixme}{\fixmewarningprefix: #1}}
+\def\fixme@warning@final#1{%
+  \iffixme@silent\else\FXWarning{#1}\fi%
+  \addcontentsline{lox}{fixme}{\fixmewarningprefix: #1}}
+
+\newcommand*\fixmeerrorprefix{}
+\newcommand*\fixmeerrorindexname{}
+\def\fixme@error@draft#1{%
+  \fixme@text{\fixmeerrorprefix}{#1}%
+  \iffixme@index\FXIndex{\fixmeerrorindexname\thefixmeerrorcount: #1}\fi%
+  \iffixme@silent\else\FXError{#1}\fi%
+  \addcontentsline{lox}{fixme}{\fixmeerrorprefix: #1}}
+\def\fixme@error@final#1{%
+  \iffixme@silent\else\FXError{#1}\fi%
+  \addcontentsline{lox}{fixme}{\fixmeerrorprefix: #1}}
+
+\newcommand*\fixmefatalindexname{}
+\def\fixme@fatal@draft#1{%
+  \iffixme@inline\FiXmeInline{#1}\fi%
+  \iffixme@margin\FiXmeMargin{#1}\fi%
+  \iffixme@footnote\FiXmeFootnote{#1}\fi%
+  \iffixme@user\FiXmeUser{#1}\fi%
+  \iffixme@index\FiXmeIndex{%
+    \fixmefatalindexname\thefixmefatalcount: #1}\fi%
+  \iffixme@silent\else\FXFatal{#1}\fi%
+  \addcontentsline{lox}{fixme}{\fixmefatalprefix: #1}}
+\def\fixme@fatal@final#1{%
+  \PackageError{FiXme}{`#1' fixme left in final version}{%
+    You are processing your document in final mode,\MessageBreak
+    but you still have some critical FiXme's left behind.\MessageBreak
+    Type X to quit, fix your document, and rerun LaTeX.}}
+
+\def\@@fixme#1#2{%
+  \stepcounter{fixmecount}%
+  \stepcounter{fixme#1count}%
+  \csname fixme@#1\endcsname{#2}}
+\def\@fixme#1[#2]#3{%
+  \bgroup%
+  \fixme@inlinefalse%
+  \fixme@marginfalse%
+  \fixme@footnotefalse%
+  \fixme@userfalse%
+  \fixme@indexfalse%
+  \@for\fixme@option:=#2\do{%
+    \expandafter\ifx\csname fixme@\fixme@option true\endcsname\relax
+      \PackageError{FiXme}{Unknown layout option `\fixme@option'}{%
+        You have given an invalid option to \string\fixme, %
+        or an \string\fx command.\MessageBreak
+        Valid options are `inline', `margin', `footnote' and `index'.%
+        \MessageBreak
+        Type X to quit, fix your document, and rerun LaTeX.}%
+      \else%
+      \csname fixme@\fixme@option true\endcsname%
+    \fi}%
+  \@@fixme{#1}{#3}%
+  \egroup}
+\newcommand\fxnote{\@ifnextchar[%]
+  {\@fixme{note}}{\@@fixme{note}}}
+\newcommand\fxwarning{\@ifnextchar[%]
+  {\@fixme{warning}}{\@@fixme{warning}}}
+\newcommand\fxerror{\@ifnextchar[%]
+  {\@fixme{error}}{\@@fixme{error}}}
+\newcommand\fixme{\@ifnextchar[%]
+  {\@fixme{fatal}}{\@@fixme{fatal}}}
+
+\newcommand\FXEnvBegin{\begin{quotation}}
+\newcommand\FXEnvEnd{\end{quotation}}
+
+\def\@fxenvbegin@draft#1#2{%
+  \FXEnvBegin
+  \edef\fixme@args{inline\iffixme@index,index\fi}%
+  \csname#1\endcsname[\fixme@args]{#2}}
+\def\@fxenvbegin@final#1#2{
+  \edef\fixme@args{inline\iffixme@index,index\fi}%
+  \csname#1\endcsname[\fixme@args]{#2}
+  \comment
+}
+
+\def\@fxenvend@draft{\FXEnvEnd}
+\def\@fxenvend@final{\endcomment}
+
+\newenvironment{anfxnote}[1][]{%
+  \@fxenvbegin{fxnote}{#1}}{%
+  \@fxenvend}
+\newenvironment{anfxwarning}[1][]{%
+  \@fxenvbegin{fxwarning}{#1}}{%
+  \@fxenvend}
+\newenvironment{anfxerror}[1][]{%
+  \@fxenvbegin{fxerror}{#1}}{%
+  \@fxenvend}
+\newenvironment{afixme}[1][]{%
+  \@fxenvbegin{fixme}{#1}}{%
+  \@fxenvend}
+
+\DeclareOption{english}{%
+  \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Note}
+  \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Warning}
+  \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Error}
+  \renewcommand*\fixmefatalprefix{\fixmelogo}
+  \renewcommand*\fixmeindexname{\fixmelogo}
+  \renewcommand*\fixmenoteindexname{**a@Notes:!}
+  \renewcommand*\fixmewarningindexname{**b@Warnings:!}
+  \renewcommand*\fixmeerrorindexname{**c@Errors:!}
+  \renewcommand*\fixmefatalindexname{}
+  \renewcommand*{\listfixmename}{List of Corrections}}
+\DeclareOption{french}{%
+  \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Note}
+  \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Attention}
+  \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Erreur}
+  \renewcommand*\fixmefatalprefix{\fixmelogo}
+  \renewcommand*\fixmeindexname{\fixmelogo}
+  \renewcommand*\fixmenoteindexname{**a@Notes:!}
+  \renewcommand*\fixmewarningindexname{**b@Avertissements:!}
+  \renewcommand*\fixmeerrorindexname{**c@Erreurs:!}
+  \renewcommand*\fixmefatalindexname{}
+  \renewcommand*{\listfixmename}{Liste des Corrections}}
+\DeclareOption{francais}{\ExecuteOptions{french}}
+\DeclareOption{spanish}{%
+  \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Nota}
+  \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Aviso}
+  \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Error}
+  \renewcommand*\fixmefatalprefix{\fixmelogo}
+  \renewcommand*\fixmeindexname{\fixmelogo}
+  \renewcommand*\fixmenoteindexname{**a@Notas:!}
+  \renewcommand*\fixmewarningindexname{**b@Avisos:!}
+  \renewcommand*\fixmeerrorindexname{**c@Errores:!}
+  \renewcommand*\fixmefatalindexname{}
+  \renewcommand*{\listfixmename}{Lista de Correcciones}}
+\DeclareOption{italian}{%
+  \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Nota}
+  \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Avviso}
+  \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Errore}
+  \renewcommand*\fixmefatalprefix{\fixmelogo}
+  \renewcommand*\fixmeindexname{\fixmelogo}
+  \renewcommand*\fixmenoteindexname{**a@Note:!}
+  \renewcommand*\fixmewarningindexname{**b@Avvisi:!}
+  \renewcommand*\fixmeerrorindexname{**c@Errori:!}
+  \renewcommand*\fixmefatalindexname{}
+  \renewcommand*{\listfixmename}{Corrigenda}}
+\DeclareOption{german}{%
+  \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Anm}
+  \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Warnung}
+  \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Fehler}
+  \renewcommand*\fixmefatalprefix{\fixmelogo}
+  \renewcommand*\fixmeindexname{\fixmelogo}
+  \renewcommand*\fixmenoteindexname{**a@Anmerkungen:!}
+  \renewcommand*\fixmewarningindexname{**b@Warnungen:!}
+  \renewcommand*\fixmeerrorindexname{**c@Fehler:!}
+  \renewcommand*\fixmefatalindexname{}
+  \renewcommand*{\listfixmename}{Verzeichnis der Korrekturen}}
+\DeclareOption{ngerman}{%
+  \ExecuteOptions{german}}
+\DeclareOption{danish}{%
+  \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Note}
+  \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Advarsel}
+  \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Fejl}
+  \renewcommand*\fixmefatalprefix{\fixmelogo}
+  \renewcommand*\fixmeindexname{\fixmelogo}
+  \renewcommand*\fixmenoteindexname{**a@Noter:!}
+  \renewcommand*\fixmewarningindexname{**b@Advarsler:!}
+  \renewcommand*\fixmeerrorindexname{**c@Fejl:!}
+  \renewcommand*\fixmefatalindexname{}
+  \renewcommand*{\listfixmename}{Rettelser}}
+
+\DeclareOption{final}{
+  \let\fixme@note\fixme@note@final
+  \let\fixme@warning\fixme@warning@final
+  \let\fixme@error\fixme@error@final
+  \let\fixme@fatal\fixme@fatal@final
+  \let\@fxenvbegin\@fxenvbegin@final
+  \let\@fxenvend\@fxenvend@final
+  \let\listoffixmes\listoffixmes@final
+  }
+
+\DeclareOption{draft}{
+  \let\fixme@note\fixme@note@draft
+  \let\fixme@warning\fixme@warning@draft
+  \let\fixme@error\fixme@error@draft
+  \let\fixme@fatal\fixme@fatal@draft
+  \let\@fxenvbegin\@fxenvbegin@draft
+  \let\@fxenvend\@fxenvend@draft
+  \let\listoffixmes\listoffixmes@draft
+  \@ifclassloaded{article}{
+    \let\@listoffixmes@pretoc\@listoffixmes@pretoc@article
+    \let\@listoffixmes@posttoc\@listoffixmes@posttoc@article
+    \let\l@fixme\l@fixme@article}{
+    \@ifclassloaded{report}{
+      \let\@listoffixmes@pretoc\@listoffixmes@pretoc@report
+      \let\@listoffixmes@posttoc\@listoffixmes@posttoc@report
+      \let\l@fixme\l@fixme@report}{
+      \@ifclassloaded{book}{
+        \let\@listoffixmes@pretoc\@listoffixmes@pretoc@book
+        \let\@listoffixmes@posttoc\@listoffixmes@posttoc@book
+        \let\l@fixme\l@fixme@book}{
+        \@ifclassloaded{scrartcl}{
+          \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrartcl
+          \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrartcl
+          \let\l@fixme\l@fixme@scrartcl}{
+          \@ifclassloaded{scrreprt}{
+            \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrreprt
+            \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrreprt
+            \let\l@fixme\l@fixme@scrreprt}{
+            \@ifclassloaded{scrbook}{
+              \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrbook
+              \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrbook
+              \let\l@fixme\l@fixme@scrbook}{
+              %% Use the article layout by default.
+              \let\@listoffixmes@pretoc\@listoffixmes@pretoc@article
+              \let\@listoffixmes@posttoc\@listoffixmes@posttoc@article
+              \let\l@fixme\l@fixme@article}
+            }
+          }
+        }
+      }
+    }
+  }
+
+\ExecuteOptions{english,final,margin,nosilent}
+\ProcessOptions*
+
+\AtBeginDocument{%
+  \ifx\FiXmeUser\empty
+    \renewcommand\FiXmeUser[1]{\FXUser{\fixmefatalprefix}{#1}}
+  \fi}
+
+\AtEndDocument{%
+  \GenericWarning{%
+    (FiXme)\@spaces\@spaces\@spaces\@spaces
+  }{%
+    Package FiXme Summary: Number of notes: \thefixmenotecount,\MessageBreak%
+    Number of warnings: \thefixmewarningcount,\MessageBreak%
+    Number of errors: \thefixmeerrorcount,\MessageBreak%
+    Number of fatal errors: \thefixmefatalcount,\MessageBreak%
+    Total: \thefixmecount\@gobble%
+  }}
+\endinput
+%%
+%% End of file `fixme.sty'.