summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/fixme/fixme.dtx
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2007-11-29 14:21:35 +0000
committerNorbert Preining <preining@logic.at>2007-11-29 14:21:35 +0000
commitf568342029caeef0c42a6dc1448feeaa66a350e0 (patch)
tree8f22b6d019cf59c4aca8d43200267a7792add70e /Master/texmf-dist/source/latex/fixme/fixme.dtx
parent7674fdfd8ff8e191c3ca661562a72f8f15049e00 (diff)
fixme update from ctan
git-svn-id: svn://tug.org/texlive/trunk@5646 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/fixme/fixme.dtx')
-rw-r--r--Master/texmf-dist/source/latex/fixme/fixme.dtx241
1 files changed, 143 insertions, 98 deletions
diff --git a/Master/texmf-dist/source/latex/fixme/fixme.dtx b/Master/texmf-dist/source/latex/fixme/fixme.dtx
index b9d69eccdec..d14deca14f1 100644
--- a/Master/texmf-dist/source/latex/fixme/fixme.dtx
+++ b/Master/texmf-dist/source/latex/fixme/fixme.dtx
@@ -3,13 +3,12 @@
% fixme.dtx --- Doc file for the FiXme package (code and documentation)
%
% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna.
-%
-% PRCS: $Id: fixme.dtx 1.72 Wed, 12 Apr 2006 15:15:39 +0200 didier $
+% Copyright (C) 2007 Didier Verna.
%
% Author: Didier Verna <didier@lrde.epita.fr>
% Maintainer: Didier Verna <didier@lrde.epita.fr>
% Created: Thu Dec 10 16:04:01 1998
-% Last Revision: Wed Dec 22 14:44:26 2004
+% Last Revision: Wed Nov 14 17:52:06 2007
%
% This file is part of FiXme.
%
@@ -44,7 +43,7 @@
% \fi
%
% \catcode`\¡=14
-% \CheckSum{860}
+% \CheckSum{881}
%% \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
@@ -61,34 +60,31 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%
-% ^^A $Format: "% \\newcommand\\version{v$Version$}"$
-% \newcommand\version{v3.2}
-% ^^A $Format: "% \\newcommand\\releasedate{$ReleaseDate$}"$
-% \newcommand\releasedate{2006/04/12}
-% ^^A $Format: "% \\newcommand\\packagecopyright{$LaTeXCopyright$}"$
-% \newcommand\packagecopyright{Copyright \copyright{} 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna}
+% \newcommand\version{3.3}
+% \newcommand\releasedate{2007/11/28}
+% \newcommand\packagecopyright{Copyright \copyright{} 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007 Didier Verna}
% \newcommand\fixme{\textsf{FiXme}}
% \newcommand\auctex{AUC-\TeX}
% \MakeShortVerb{\|}
% \date\today
% \title{\fixme{} -- a \LaTeXe{} package for inserting fixme notes
-% in your documents \thanks{This document describes \fixme{}
-% \version, release date \releasedate.}}
+% in your documents\thanks{This document describes \fixme{} \version,
+% release date \releasedate.}}
% \author{Didier Verna\\
-% \texttt{mailto:didier@lrde.epita.fr}\\
-% \texttt{http://www.lrde.epita.fr/\~{}didier/}}
+% \texttt{mailto:didier@lrde.epita.fr}\\
+% \texttt{http://www.lrde.epita.fr/\~{}didier/}}
% \maketitle
%
%
% \begin{abstract}
-% In the process of writing a long document, it is a common practice to leave
-% some parts unwritten or uncomplete, and come back to them later. In such
-% cases, you probably want to stick clues about which parts need to be
-% ``fixed'', where they are located, and what needs to be done. This is what I
-% call ``fixme notes''. The purpose of this package is to provide you with
-% convenient ways to insert \fixme{} notes in your documents.\par
-% The \fixme{} package is \packagecopyright{}, and distributed under the terms
-% of the LPPL license.
+% In the process of writing a long document, it is a common practice to
+% leave some parts unwritten or uncomplete, and come back to them later. In
+% such cases, you probably want to stick clues about which parts need to be
+% ``fixed'', where they are located, and what needs to be done. This is what
+% I call ``fixme notes''. The purpose of this package is to provide you with
+% convenient ways to insert \fixme{} notes in your documents.\par
+% The \fixme{} package is \packagecopyright{}, and distributed under the
+% terms of the LPPL license.
% \end{abstract}
%
%
@@ -160,10 +156,11 @@
% appear in the text as specified by the layout settings (see section
% \ref{sec:layout}). Additionally, warnings, errors and fatal errors are also
% displayed on the terminal.\par
-% In final mode, non fatal notes (those generated by the |\fx*| commands) are
-% still logged, but they're removed from the document's body. On the other
-% hand, any remaining fatal note (generated by |\fixme|) will abort
-% compilation with an informative message. This will help you track down
+% In final mode, non fatal notes (those generated by the |\fx*| commands or by
+% the |anfx*| environments) are still logged, but they're not typeset. On the
+% other hand, any remaining fatal note (generated by the |\fixme| command or
+% the |afixme| environment) will throw a \LaTeX{} error and thus interrupt or
+% abort compilation with an informative message. This will help you track down
% forgotten important caveats in your document. Let me say it again: final
% documents can only have notes, warnings, and (non critical) errors left.
% Well, if, for some reason, you really want to compile in \texttt{final}
@@ -191,7 +188,7 @@
% don't want marginal notes, use the \texttt{nomargin} option.\par
% Finally, note that \fixme{} environments behave in a special way: they are
% always typeset \texttt{inline}, regardless of your layout settings (they
-% respect your whish for index and marginal clues though).\par
+% respect your wish for index and marginal clues though).\par
%
% \subsubsection{Marginal Clues}
% Sometimes, marginal notes are too narrow for what you want to put in them,
@@ -202,7 +199,7 @@
% note's contents, but only an indication that there is a note at that place.
% So you have to use another layout form (typically inline or footnote) in
% order to get the actual contents.\par
-% Obvisouly, \texttt{margin} and \texttt{marginclue} are mutually exclusive.
+% Obviously, \texttt{margin} and \texttt{marginclue} are mutually exclusive.
% If you try to activate both, only the most recently activated form will be
% enabled (and you'll get a notice in the compilation log).
%
@@ -225,6 +222,13 @@
% inline the note, which can be done with something like
% |\fixme[inline]{blah}|.\par
%
+% \subsubsection{Class compatibility}
+% By default, \fixme{} is set to use marginal notes. You should know that this
+% is known to cause problems with at least the ACM SIG classes:
+% \texttt{acm\_proc\_article-sp} and \texttt{sig-alternate}. These classes
+% forbid the use of |\marginpar|, so if you use them, you should choose
+% another layout for \fixme{}, and also avoid using marginal clues\ldots
+%
% \subsection{Controlling the notes logging}
% \DescribeEnv{silent}
% \DescribeEnv{nosilent}
@@ -260,7 +264,7 @@
% \DescribeMacro{\FXMargin}
% \DescribeMacro{\FXFootnote}
% These layouts are implemented thanks to the corresponding |\FX*| macros that
-% you can redefine if you whish. Each such macro takes two mandatory
+% you can redefine if you wish. Each such macro takes two mandatory
% arguments: the prefix and the note, in that order.\par
% \DescribeMacro{\FXMarginCLue}
% The special \texttt{marginclue} layout only outputs the prefix mentioned
@@ -368,11 +372,22 @@
%
% \section{Changes}
% \begin{itemize}
+% \item[v3.3] Document incompatibility between marginal layout and the ACM
+% SIG classes, reported by Jochen Wuttke.\\
+% Honor \texttt{twoside} option in marginal layout, suggested by Jens
+% Remus.\\
+% Support for KOMA-Script classes version 2006/07/30 v2.95b,
+% suggested by Jens Remus.\\
+% Documentation improvements suggested by Brian van den Broek.\\
+% Fix incompatibility with \texttt{amsart} reported by Lars Madsen:
+% \cs{@starttoc} takes two arguments.\\
+% Fix bug reported by Stefan Mann: a typo in the |\fixme@footnotetrue| macro
+% name.
% \item[v3.2] Added the marginclue layout option which only signals a fixme in
% the margin, withtout the actual contents.\\
+% Support for Croatian thanks to Marcel Maretic |<marcel@fsb.hr>|.\\
% Fix incompatibility with \texttt{amsbook} reported by Claude
% Lacoursi\`ere: \cs{@starttoc} takes two arguments.\\
-% Support for Croatian thanks to Marcel Maretic |<marcel@fsb.hr>|.\\
% Fix incompatibility with Beamer reported by Akim Demaille: protect
% contents of lox file.
% \item[v3.1] Fix bug reported by Arnold Beckmann: the environments were
@@ -397,9 +412,9 @@
% Fix bug reported by Ulf Jaenicke-Roessler: the |\listoffixmes| command
% didn't work when called before the first \fixme{} note.
% \item[v1.3] Support for Italian thanks to Riccardo Murri
-% |<murri@phc.unipi.it>|.
+% |<murri@phc.unipi.it>|.
% \item[v1.2] Support for German thanks to Harald Harders
-% |<h.harders@tu-bs.de>|.
+% |<h.harders@tu-bs.de>|.
% \end{itemize}
%
% \StopEventually{\par Well, I think that's it. Enjoy using \fixme{}!
@@ -411,9 +426,8 @@
% \end{macro}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-¡$Format: "\\ProvidesPackage{fixme}[$ReleaseDate: 2004/10/19$ v$Version: 2.3$"$
-\ProvidesPackage{fixme}[2006/04/12 v3.2
- Insert fixme notes in your documents]
+\ProvidesPackage{fixme}[2007/11/28 v3.3
+ Insert fixme notes in your documents]
\RequirePackage{ifthen}
\RequirePackage{verbatim}
@@ -430,14 +444,14 @@
% class dependant fashion. Classes currently recognized are article,
% report, book and their koma-script replacements.
%
-% In order to prevent the List of Fixme's chapter heading from being
-% generated when there are no fixmes, a test on the existence of the lox
-% file is performed. There's a slight bug left however: after removing
-% the last fixme, one ends up with an empty lox file, so the heading
-% still appear. Previously, this was done by checking if some fixmes
-% were given, but that was buggy: the list of fixme's could not appear
-% before the first fixme note\ldots I should try to detect whether the
-% file is empty.
+% In order to prevent the List of Fixme's heading from being generated
+% when there are no fixmes, a test on the existence of the lox file is
+% performed. There's a slight bug left however: after removing the last
+% fixme, one ends up with an empty lox file, so the heading still
+% appear. Previously, this was done by checking if some fixmes were
+% given, but that was buggy: the list of fixme's could not appear before
+% the first fixme note\ldots I should try to detect whether the file is
+% empty.
% \end{macro}
% \end{macro}
% \end{macro}
@@ -452,11 +466,11 @@
}
% \end{macrocode}
-% The \texttt{amsbook} class has the very ugly idea of redefining the
-% \cs{@starttoc} command to take two arguments. Therefore, I need to provide a
-% specific version of the \cs{listoffixmes} macro:
+% The \texttt{amsbook} and \texttt{amsart} classes have the very ugly idea of
+% redefining the \cs{@starttoc} command to take two arguments. Therefore, I
+% need to provide a specific version of the \cs{listoffixmes} macro:
% \begin{macrocode}
-\def\listoffixmes@draft@amsbook{\@starttoc{lox}\listfixmename}
+\def\listoffixmes@draft@ams{\@starttoc{lox}\listfixmename}
% \end{macrocode}
% \begin{macro}{\listfixmename}
@@ -522,6 +536,14 @@
% \end{macrocode}
%
% \subsubsection{koma-script classes}
+% The code below (version 3.3) mimics KOMA-Script version 2006/07/30 v2.95b.
+% Older versions (using chapter*) are no longer supported because it is
+% simpler that way, but if some people complain, I'll have to conditionalize
+% on the KOMA-Script version, which would be a PITA.
+% \begin{macrocode}
+\newcommand*\lox@heading{\float@listhead{\listfixmename}}
+
+% \end{macrocode}
% \begin{macro}{\listoffixmes@pretoc@scrartcl}
% \begin{macro}{\listoffixmes@posttoc@scrartcl}
% Let's start with the scrartcl version:
@@ -529,10 +551,13 @@
% \end{macro}
% \begin{macrocode}
\def\@listoffixmes@pretoc@scrartcl{%
- \section*{\listfixmename%
- \@mkboth{\listfixmename}{\listfixmename}}%
+ \begingroup%
+ \lox@heading%
+ \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative
+ }
+\def\@listoffixmes@posttoc@scrartcl{%
+ \endgroup
}
-\def\@listoffixmes@posttoc@scrartcl{}
% \end{macrocode}
% \begin{macro}{\listoffixmes@pretoc@scrreprt}
@@ -542,15 +567,19 @@
% \end{macro}
% \begin{macrocode}
\def\@listoffixmes@pretoc@scrreprt{%
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi
- \chapter*{\listfixmename%
- \@mkboth{\listfixmename}{\listfixmename}}%
+ \begingroup%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \lox@heading%
+ \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative
+ }
+\def\@listoffixmes@posttoc@scrreprt{%
+ \if@restonecol\twocolumn\fi
+ \endgroup
}
-\def\@listoffixmes@posttoc@scrreprt{\if@restonecol\twocolumn\fi}
% \end{macrocode}
% \begin{macro}{\listoffixmes@pretoc@scrbook}
@@ -560,15 +589,19 @@
% \end{macro}
% \begin{macrocode}
\def\@listoffixmes@pretoc@scrbook{%
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi
- \chapter*{\listfixmename%
- \@mkboth{\listfixmename}{\listfixmename}}%
- }
-\def\@listoffixmes@posttoc@scrbook{\if@restonecol\twocolumn\fi}
+ \begingroup%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \lox@heading%
+ \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative
+}
+\def\@listoffixmes@posttoc@scrbook{%
+ \if@restonecol\twocolumn\fi
+ \endgroup
+}
% \end{macrocode}
%
@@ -586,9 +619,11 @@
\newcommand\FXInline[2]{%
\textbf{#1}: \emph{#2}}
\newcommand\FXMargin[2]{%
- \marginpar{\footnotesize\raggedleft\textbf{#1}: \emph{#2}}}
+ \marginpar[\footnotesize\raggedleft\textbf{#1}: \emph{#2}]{%
+ \footnotesize\raggedright\textbf{#1}: \emph{#2}}}
\newcommand\FXMarginClue[1]{%
- \marginpar{\footnotesize\raggedleft\textbf{#1}~!}}
+ \marginpar[\footnotesize\raggedleft\textbf{#1}~!]{%
+ \footnotesize\raggedright\textbf{#1}~!}}
\newcommand\FXFootnote[2]{%
\footnote{\textbf{#1}: \emph{#2}}}
@@ -653,18 +688,18 @@
\def\fixme@setmargin{%
\iffixme@marginclue%
\PackageWarning{FiXme}{%
- Marginal notes requested; tunrning marginal clues off}%
+ Marginal notes requested; turning marginal clues off}%
\fixme@margincluefalse%
\fi%
\fixme@margintrue}
\def\fixme@setmarginclue{%
\iffixme@margin%
\PackageWarning{FiXme}{%
- Marginal clues requested; tunrning marginal notes off}%
+ Marginal clues requested; turning marginal notes off}%
\fixme@marginfalse%
\fi%
\fixme@margincluetrue}
-\let\fixme@setfootnote\fixme@fottnotetrue
+\let\fixme@setfootnote\fixme@footnotetrue
\let\fixme@setuser\fixme@usertrue
\let\fixme@setindex\fixme@indextrue
@@ -884,12 +919,12 @@
\@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', `marginclue', `footnote', %
- `user',\MessageBreak
- and `index'.\MessageBreak
- Type X to quit, fix your document, and rerun LaTeX.}%
+ You have given an invalid option to \string\fixme, or an \string\fx %
+ command.\MessageBreak
+ Valid options are `inline', `margin', `marginclue', `footnote', %
+ `user',\MessageBreak
+ and `index'.\MessageBreak
+ Type X to quit, fix your document, and rerun LaTeX.}%
\else%
\csname fixme@set\fixme@option\endcsname%
\fi}%
@@ -1060,25 +1095,28 @@
\let\@listoffixmes@pretoc\@listoffixmes@pretoc@report
\let\@listoffixmes@posttoc\@listoffixmes@posttoc@report}{
\@ifclassloaded{book}{
- \let\@listoffixmes@pretoc\@listoffixmes@pretoc@book
- \let\@listoffixmes@posttoc\@listoffixmes@posttoc@book}{
- \@ifclassloaded{scrartcl}{
- \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrartcl
- \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrartcl}{
- \@ifclassloaded{scrreprt}{
- \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrreprt
- \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrreprt}{
- \@ifclassloaded{scrbook}{
- \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrbook
- \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrbook}{
- \@ifclassloaded{amsbook}{
- \let\listoffixmes@draft\listoffixmes@draft@amsbook}{
- %% Use the article layout by default.
- \let\@listoffixmes@pretoc\@listoffixmes@pretoc@article
- \let\@listoffixmes@posttoc\@listoffixmes@posttoc@article}
- }
- }
- }
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@book
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@book}{
+ \@ifclassloaded{scrartcl}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrartcl
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrartcl}{
+ \@ifclassloaded{scrreprt}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrreprt
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrreprt}{
+ \@ifclassloaded{scrbook}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrbook
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrbook}{
+ \@ifclassloaded{amsbook}{
+ \let\listoffixmes@draft\listoffixmes@draft@ams}{
+ \@ifclassloaded{amsart}{
+ \let\listoffixmes@draft\listoffixmes@draft@ams}{
+ %% Use the article layout by default.
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@article
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@article}
+ }
+ }
+ }
+ }
}
}
}
@@ -1093,7 +1131,14 @@
% \end{macrocode}
% Put us in \texttt{english} and \texttt{final} mode, and enable the marginal
-% notes.
+% notes. Note that as documented, marginal notes are incompatible with the ACM
+% SIG classes. Initially, I thought I would detect these classes and issue
+% an error if marginal layout (or clue) is active. However, I changed my mind,
+% because nothing prevents somebody to write a new class on top of these ones
+% and authorize |\marginpar| back again. Normally these classes issue an error
+% if |\marginpar| is used. However, the 2.3 / June 2007 versions are buggy and
+% the error actually triggers a stack overflow in \LaTeX\ldots Patch on its
+% way. Oh boy, these classes are a mess.
% \begin{macrocode}
\ExecuteOptions{english,final,margin,nosilent}
\ProcessOptions*