summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fixme
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-21 22:54:55 +0000
committerKarl Berry <karl@freefriends.org>2009-09-21 22:54:55 +0000
commitbd8c84d3086241f36de1b38eec9ca56b3672af31 (patch)
tree749a0981295e41ab909e6e5e5d3bfd08ae4aa96b /Master/texmf-dist/tex/latex/fixme
parentbfbf89c340b5f574bf4a53d2334d5018bb2402ab (diff)
fixme 4.0 (21sep09)
git-svn-id: svn://tug.org/texlive/trunk@15411 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fixme')
-rw-r--r--Master/texmf-dist/tex/latex/fixme/fixme.sty1067
-rw-r--r--Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolor.sty63
-rw-r--r--Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolorsig.sty64
-rw-r--r--Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutchangebar.sty52
-rw-r--r--Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolor.sty58
-rw-r--r--Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolorcb.sty55
-rw-r--r--Master/texmf-dist/tex/latex/fixme/themes/fxthemecolor.sty88
-rw-r--r--Master/texmf-dist/tex/latex/fixme/themes/fxthemecolorsig.sty89
-rw-r--r--Master/texmf-dist/tex/latex/fixme/themes/fxthemesignature.sty84
9 files changed, 1209 insertions, 411 deletions
diff --git a/Master/texmf-dist/tex/latex/fixme/fixme.sty b/Master/texmf-dist/tex/latex/fixme/fixme.sty
index 3b1f4677662..91683fa26bc 100644
--- a/Master/texmf-dist/tex/latex/fixme/fixme.sty
+++ b/Master/texmf-dist/tex/latex/fixme/fixme.sty
@@ -4,7 +4,7 @@
%%
%% The original source files were:
%%
-%% fixme.dtx
+%% fixme.dtx (with options: `header,fixme')
%%
@@ -39,68 +39,104 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fixme}[2009/07/16 v3.4
-Insert fixme notes in your documents]
+\ProvidesPackage{fixme}[2009/09/21 v4.0 Insert fixme notes in your documents]
\RequirePackage{ifthen}
\RequirePackage{verbatim}
-
-\newcommand*\fixmelogo{\textsf{FiXme}}
-
+\RequirePackage{xkeyval}[2006/11/18]
+
+\newcommand\fixmelogo{\textsf{FiXme}}
+
+\newcommand\@fxpkginfo{\PackageInfo{FiXme}}
+\newcommand\@fxpkgwarning{\PackageWarning{FiXme}}
+\newcommand\@fxpkgerror{\PackageError{FiXme}}
+
+\newcommand\@fxkeyifundefined{\key@ifundefined[fx]}
+\newcommand\@fxdefinekey{\define@key[fx]}
+\newcommand*\@fxvoidkeyerror[2]{%
+ \@fxpkgerror{misuse of key '#1'}{%
+ You have given the key '#1' the argument '#2' but it takes
+ none.\MessageBreak
+ Type X to quit, fix that key and re-run LaTeX.\MessageBreak}}
+\newcommand*\@fxdefinevoidkey[3]{%
+ \define@key[fx]{#1}{#2}[]{%
+ \ifthenelse{\equal{##1}{}}{%
+ #3}{%
+ \@fxvoidkeyerror{#2}{##1}}}}
+
+\newcommand*\@fxdefineboolkey[3][]{%
+ \define@boolkey[fx]{#2}{#3}[true]{#1}
+ \@fxdefinevoidkey{#2}{no#3}{\@nameuse{fx@#2@#3}{false}}}
+
+\newcommand\@fxdefinecmdkey{\define@cmdkey[fx]}
+
+\newcommand\@fxdefinechoicekey{\define@choicekey[fx]}
+
+\newcommand\@fxsetkeys{\setkeys[fx]}
+%% Note: currently unused
+%% \newcommand\@fxpresetkeys{\presetkeys[fx]}
\let\l@fixme\l@figure
-\newcommand\listoffixmes{}
-\def\listoffixmes@final{}
-\def\listoffixmes@draft{%
- \IfFileExists{\jobname .lox}{%
- \@listoffixmes@pretoc%
- \@starttoc{lox}%
- \@listoffixmes@posttoc}{%
- \@starttoc{lox}}}
-
-\def\listoffixmes@draft@ams{\@starttoc{lox}\listfixmename}
+\newcommand*\@fxdottedtocline[5]{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip \z@ \@plus.2\p@
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ {#4}\nobreak
+ \leaders\hbox{$\m@th
+\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+mu$}\hfill
+ \nobreak
+ #5\par}%
+ \fi}
+\newcommand*\fxcontentsline[2]{%
+ \begingroup%
+ \let\@dottedtocline\@fxdottedtocline%
+ \l@fixme{#1}{#2}%
+ \endgroup}
-\newcommand*\listfixmename{}
+\newcommand*\fxaddcontentsline[1]{%
+ \ifthenelse{\equal{\cmdfx@note@target}{thepage}}{%
+ \addcontentsline{lox}{fixme}{#1}}{%
+ \addtocontents{lox}{\protect\fxcontentsline{#1}{\cmdfx@note@target}}}}
-\def\@listoffixmes@pretoc@article{%
- \section*{\listfixmename%
- \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
- }
-\def\@listoffixmes@posttoc@article{}
+\newcommand\@lox@prtc@article{%
+ \section*{\@fxlistfixmename%
+ \@mkboth{\MakeUppercase\@fxlistfixmename}{\MakeUppercase\@fxlistfixmename}}}
+\let\@lox@psttc@article\relax
-\def\@listoffixmes@pretoc@report{%
+\newcommand\@lox@prtc@report{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
- \chapter*{\listfixmename%
- \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
- }
-\def\@listoffixmes@posttoc@report{\if@restonecol\twocolumn\fi}
+ \chapter*{\@fxlistfixmename%
+ \@mkboth{\MakeUppercase\@fxlistfixmename}{\MakeUppercase\@fxlistfixmename}}}
+\newcommand\@lox@psttc@report{\if@restonecol\twocolumn\fi}
-\def\@listoffixmes@pretoc@book{%
+\newcommand\@lox@prtc@book{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
- \chapter*{\listfixmename%
- \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
- }
-\def\@listoffixmes@posttoc@book{\if@restonecol\twocolumn\fi}
+ \chapter*{\@fxlistfixmename%
+ \@mkboth{\MakeUppercase\@fxlistfixmename}{\MakeUppercase\@fxlistfixmename}}}
+\newcommand\@lox@psttc@book{\if@restonecol\twocolumn\fi}
-\newcommand*\lox@heading{\float@listhead{\listfixmename}}
+\newcommand\lox@heading{\float@listhead{\@fxlistfixmename}}
-\def\@listoffixmes@pretoc@scrartcl{%
+\newcommand\@lox@prtc@scrartcl{%
\begingroup%
\lox@heading%
- \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative
- }
-\def\@listoffixmes@posttoc@scrartcl{%
- \endgroup
- }
+ \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative}
+\let\@lox@psttc@scrartcl\endgroup
-\def\@listoffixmes@pretoc@scrreprt{%
+\newcommand\@lox@prtc@scrreprt{%
\begingroup%
\if@twocolumn
\@restonecoltrue\onecolumn
@@ -108,14 +144,12 @@ Insert fixme notes in your documents]
\@restonecolfalse
\fi
\lox@heading%
- \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative
- }
-\def\@listoffixmes@posttoc@scrreprt{%
+ \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative}
+\newcommand\@lox@psttc@scrreprt{%
\if@restonecol\twocolumn\fi
- \endgroup
- }
+ \endgroup}
-\def\@listoffixmes@pretoc@scrbook{%
+\newcommand\@lox@prtc@scrbook{%
\begingroup%
\if@twocolumn
\@restonecoltrue\onecolumn
@@ -123,386 +157,597 @@ Insert fixme notes in your documents]
\@restonecolfalse
\fi
\lox@heading%
- \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative
-}
-\def\@listoffixmes@posttoc@scrbook{%
+ \setparsizes{0}{0}{\z@\@plus 1fil}\par@updaterelative}
+\newcommand\@lox@psttc@scrbook{%
\if@restonecol\twocolumn\fi
+ \endgroup}
+
+\let\lox@final\relax
+\newcommand\lox@draft{%
+ \IfFileExists{\jobname .lox}{%
+ \@lox@prtc%
+ \@starttoc{lox}%
+ \@lox@psttc}{%
+ \@starttoc{lox}}}
+\newcommand\lox@draft@ams{\@starttoc{lox}\@fxlistfixmename}
+
+\newcommand*\fxsetface[2]{\@fxsetkeys{face}{#1face=#2}}
+\newcommand*\@fxnewface[2][]{%
+ \@fxdefinecmdkey{face}{#2face}{}%
+ \fxsetface{#2}{#1}}
+\newcommand*\@fxuseface[1]{\@nameuse{cmdfx@face@#1face}}
+
+\@fxdefineboolkey[%
+ \ifthenelse{\equal{#1}{true}}{%
+ \fx@mode@singleuserfalse}{%
+ \fx@mode@singleusertrue}]{%
+ mode}{multiuser}
+\@fxdefineboolkey[%
+ \ifthenelse{\equal{#1}{true}}{%
+ \fx@mode@multiuserfalse}{%
+ \fx@mode@multiusertrue}]{%
+ mode}{singleuser}
+\@fxdefinechoicekey{mode}{mode}{multiuser,singleuser}{\@fxsetkeys{mode}{#1}}
+
+\let\@fxearlylayouts\empty
+\let\@fxlatelayouts\empty
+\newcommand*\FXProvidesLayout[1]{\ProvidesPackage{fxlayout#1}}
+\def\@FXRegisterLayout#1[#2]#3#4{%
+ \@fxkeyifundefined{layout}{#3}{%
+ \@fxdefineboolkey[#2]{layout}{#3}%
+ \expandafter\def\csname @fxlayout@#3\endcsname{#4}%
+ \expandafter\ifx\csname @fx#1layouts\endcsname\empty%
+ \expandafter\g@addto@macro\csname @fx#1layouts\endcsname{#3}%
+ \else%
+ \expandafter\g@addto@macro\csname @fx#1layouts\endcsname{,#3}%
+ \fi}{%
+ \@fxpkgerror{layout '#3' already registered}{%
+ You have called \string\FXRegisterLayout\space with a name already
+ in use.\MessageBreak
+ If you want to modify an existing layout, renew its
+ command.\MessageBreak
+ Otherwise, you must choose a different name.}}}
+\newcommand\FXRegisterLayout{%
+ \@ifstar{%
+ \@ifnextchar[%]
+ {\@FXRegisterLayout{early}}{\@FXRegisterLayout{early}[]}}{%
+ \@ifnextchar[%]
+ {\@FXRegisterLayout{late}}{\@FXRegisterLayout{late}[]}}}
+
+\@fxnewface{margin}
+\newcommand*\FXLayoutMargin[3]{%
+ \marginpar[%
+ \raggedleft\@fxuseface{margin}\ignorespaces#3 \fxnotename{#1}: #2]{%
+ \raggedright\@fxuseface{margin}\ignorespaces#3 \fxnotename{#1}: #2}}
+\FXRegisterLayout*[%
+ \ifthenelse{\boolean{fx@layout@margin}\and\boolean{fx@layout@marginclue}}{%
+ \@fxpkgwarning{%
+ marginal notes requested;\MessageBreak
+ turning marginal clues off}%
+ \fx@layout@marginclue{false}}]{%
+ margin}{\FXLayoutMargin}
+\newcommand*\FXLayoutMarginClue[3]{%
+ \marginpar[%
+ \raggedleft\@fxuseface{margin}\ignorespaces#3 \fxnotename{#1}!]{%
+ \raggedright\@fxuseface{margin}\ignorespaces#3 \fxnotename{#1}!}}
+\FXRegisterLayout*[%
+ \ifthenelse{\boolean{fx@layout@marginclue}\and\boolean{fx@layout@margin}}{%
+ \@fxpkgwarning{%
+ marginal clues requested;\MessageBreak
+ turning marginal notes off}%
+ \fx@layout@margin{false}}]{%
+ marginclue}{\FXLayoutMarginClue}
+\newcommand*\FXLayoutFootnote[3]{%
+ \footnote{\ignorespaces#3 \fxnotename{#1}: #2}}
+\FXRegisterLayout{footnote}{\FXLayoutFootnote}
+\@fxnewface{inline}
+\newcommand*\FXLayoutInline[3]{%
+ {\@fxuseface{inline}\ignorespaces#3 \fxnotename{#1}: #2}}
+\FXRegisterLayout{inline}{\FXLayoutInline}
+\newcommand\fixmeindexname{\fixmelogo}
+\def\@wrindex#1{%
+ \ifthenelse{\equal{\cmdfx@note@target}{thepage}}{%
+ \protected@write\@indexfile{}{\string\indexentry{#1}{\thepage}}}{%
+ \protected@write\@indexfile{}{\string\indexentry{#1}{\cmdfx@note@target}}}
\endgroup
-}
-
-\newcommand\FXInline[2]{%
- \textbf{#1}: \emph{#2}}
-\newcommand\FXMargin[2]{%
- \marginpar[\footnotesize\raggedleft\textbf{#1}: \emph{#2}]{%
- \footnotesize\raggedright\textbf{#1}: \emph{#2}}}
-\newcommand\FXMarginClue[1]{%
- \marginpar[\footnotesize\raggedleft\textbf{#1}~!]{%
- \footnotesize\raggedright\textbf{#1}~!}}
-\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@marginclue
-\newif\iffixme@footnote
-\newif\iffixme@user
-\newif\iffixme@index
-
-\let\fixme@setinline\fixme@inlinetrue
-\def\fixme@setmargin{%
- \iffixme@marginclue%
- \PackageWarning{FiXme}{%
- Marginal notes requested; turning marginal clues off}%
- \fixme@margincluefalse%
- \fi%
- \fixme@margintrue}
-\def\fixme@setmarginclue{%
- \iffixme@margin%
- \PackageWarning{FiXme}{%
- Marginal clues requested; turning marginal notes off}%
- \fixme@marginfalse%
- \fi%
- \fixme@margincluetrue}
-\let\fixme@setfootnote\fixme@footnotetrue
-\let\fixme@setuser\fixme@usertrue
-\let\fixme@setindex\fixme@indextrue
-
-\def\fixme@text#1#2{%
- \iffixme@inline\FXInline{#1}{#2}\fi%
- \iffixme@margin\FXMargin{#1}{#2}\fi%
- \iffixme@marginclue\FXMarginClue{#1}\fi%
- \iffixme@footnote\FXFootnote{#1}{#2}\fi%
- \iffixme@user\FXUser{#1}{#2}\fi}
-
-\DeclareOption{inline}{\fixme@setinline}
-\DeclareOption{noinline}{\fixme@inlinefalse}
-\DeclareOption{margin}{\fixme@setmargin}
-\DeclareOption{nomargin}{\fixme@marginfalse}
-\DeclareOption{marginclue}{\fixme@setmarginclue}
-\DeclareOption{nomarginclue}{\fixme@margincluefalse}
-\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]{%
+ \@esphack}
+\newcommand\@fxnotekey{***a}
+\newcommand\@fxwarningkey{***b}
+\newcommand\@fxerrorkey{***c}
+\newcommand\@fxfatalkey{***d}
+\newcommand*\FXLayoutIndex[3]{%
+ \iffx@mode@multiuser%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !\@nameuse{thefx#1count}: #3: #2}%
+ \index{***#3@\fixmeindexname{} (#3):%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !\@nameuse{thefx#1count}: #2}%
+ \else%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !\@nameuse{thefx#1count}: #2}%
+ \fi}
+\FXRegisterLayout{index}{\FXLayoutIndex}
+\newcommand*\FXLayoutContentsLine[3]{%
+ \iffx@mode@multiuser%
+ \fxaddcontentsline{\ignorespaces#3 \fxnotename{#1}: #2}%
+ \else%
+ \fxaddcontentsline{\fxnotename{#1}: #2}%
+ \fi}
+
+\newcommand*\fxloadlayouts[1]{%
+ \edef\@fxlts{\zap@space#1 \@empty}%
+ \@for\@fxlt:=\@fxlts\do{\usepackage{fxlayout#1}}}
+
+\def\@fxparselayout#1#2#3\relax{\def\@fxltprefix{#1#2}\def\@fxltrest{#3}}
+\newcommand*\fxuselayouts[1]{%
+ \edef\@fxlts{\zap@space#1 \@empty}%
+ \@for\@fxlt:=\@fxlts\do{%
+ \expandafter\@fxparselayout\@fxlt\relax%
+ \ifthenelse{\equal{\@fxltprefix}{no}}{%
+ \let\@fxltname\@fxltrest}{%
+ \let\@fxltname\@fxlt}%
+ \@fxkeyifundefined{layout}{\@fxltname}{\fxloadlayouts{\@fxltname}}{}}%
+ \@fxsetkeys{layout}{#1}}
+\let\FXRequireLayouts\fxuselayouts
+
+\@fxdefinecmdkey{layout}{innerlayout}{}
+\@fxdefinekey{layout}{morelayout}{\fxuselayouts{#1}}
+\@fxdefinekey{layout}{layout}{%
+ \edef\@fxlayouts{\@fxearlylayouts,\@fxlatelayouts}%
+ \@for\@fxlt:=\@fxlayouts\do{%
+ \@nameuse{fx@layout@\@fxlt}{false}}%
+ \fxuselayouts{#1}}
+
+\newcommand*\FXProvidesEnvLayout[1]{\ProvidesPackage{fxenvlayout#1}}
+\newcommand*\FXRegisterEnvLayout[3]{%
+ \@ifundefined{@fxenvlayout@#1@begin}{%
+ \expandafter\def\csname @fxenvlayout@#1@begin\endcsname{#2}%
+ \expandafter\def\csname @fxenvlayout@#1@end\endcsname{#3}}{%
+ \@fxpkgerror{environment layout '#2' already registered}{%
+ You have called \string\FXRegisterEnvLayout\space with a name already in
+ use.\MessageBreak
+ If you want to modify an existing environment layout, renew its
+ commands.\MessageBreak
+ Otherwise, you must choose a different name.}}}
+
+\@fxnewface{env}
+\newcommand*\FXEnvLayoutPlainBegin[2]{%
+ \@fxuseface{env}\ignorespaces#2 \fxnotename{#1}: \ignorespaces}
+\newcommand*\FXEnvLayoutPlainEnd[2]{}
+\FXRegisterEnvLayout{plain}{\FXEnvLayoutPlainBegin}{\FXEnvLayoutPlainEnd}
+
+\@fxnewface[\itshape]{signature}
+\newcommand*\@fxdosig[1]{%
+ \ifthenelse{\equal{#1}{}}{\def\@fxsignature{}}{%
+ \def\@fxsignature{ -- {\@fxuseface{signature}#1}}}}
+\newcommand*\FXEnvLayoutSignatureBegin[2]{%
+ \@fxuseface{env}\fxnotename{#1}: \ignorespaces}
+\newcommand*\FXEnvLayoutSignatureEnd[2]{\@fxdosig{#2}\@fxsignature}
+\FXRegisterEnvLayout{signature}{%
+ \FXEnvLayoutSignatureBegin}{\FXEnvLayoutSignatureEnd}
+
+\newcommand*\@fxselectenvlayout[1]{%
+ \expandafter\let\expandafter\@fxenvlayout@begin%
+ \csname @fxenvlayout@#1@begin\endcsname%
+ \expandafter\let\expandafter\@fxenvlayout@end%
+ \csname @fxenvlayout@#1@end\endcsname}
+
+\newcommand*\fxloadenvlayouts[1]{%
+ \edef\@fxlts{\zap@space#1 \@empty}%
+ \@for\@fxlt:=\@fxlts\do{\usepackage{fxenvlayout#1}}}
+
+\newcommand*\fxuseenvlayout[1]{%
+ \@ifundefined{@fxenvlayout@#1@begin}{\fxloadenvlayouts{#1}}{}%
+ \@fxselectenvlayout{#1}}
+\let\FXRequireEnvLayout\fxuseenvlayout
+\@fxdefinekey{envlayout}{envlayout}{\fxuseenvlayout{#1}}
+
+\newcommand*\FXProvidesTargetLayout[1]{\ProvidesPackage{fxtargetlayout#1}}
+\newcommand*\FXRegisterTargetLayout[2]{%
+ \@ifundefined{@fxtargetlayout@#1}{%
+ \expandafter\def\csname @fxtargetlayout@#1\endcsname{#2}}{%
+ \@fxpkgerror{target layout '#1' already registered}{%
+ You have called \string\FXRegisterTargetLayout\space with a name
+ already in use.\MessageBreak
+ If you want to modify an existing target layout, renew its
+ command.\MessageBreak
+ Otherwise, you must choose another name.}}}
+
+\@fxnewface{target}
+\newcommand\FXTargetLayoutPlain[2]{\@fxuseface{target}#2}
+\FXRegisterTargetLayout{plain}{\FXTargetLayoutPlain}
+
+\newcommand*\@fxselecttargetlayout[1]{%
+ \expandafter\let\expandafter\@@fxtargetlayout%
+ \csname @fxtargetlayout@#1\endcsname}
+
+\newcommand*\fxloadtargetlayouts[1]{%
+ \edef\@fxlts{\zap@space#1 \@empty}%
+ \@for\@fxlt:=\@fxlts\do{\usepackage{fxtargetlayout#1}}}
+
+\newcommand*\fxusetargetlayout[1]{%
+ \@ifundefined{@fxtargetlayout@#1}{\fxloadtargetlayouts{#1}}{}%
+ \@fxselecttargetlayout{#1}}
+\let\FXRequireTargetLayout\fxusetargetlayout
+\@fxdefinekey{targetlayout}{targetlayout}{\fxusetargetlayout{#1}}
+
+\newcommand\@fxtargetlayout@final[2]{#2}
+\newcommand\@fxtargetlayout@draft[2]{%
+ \begingroup\@@fxtargetlayout{#1}{#2}\endgroup}
+
+\newcommand*\FXLogNote[1]{%
\GenericInfo{%
(FiXme)\@spaces\@spaces\@spaces\@spaces}{%
- Package FiXme Note: `#1'}}
-\newcommand\FXWarning[1]{%
- \PackageWarning{FiXme}{`#1'}}
-\newcommand\FXError[1]{%
+ FiXme Note: '#1'}}
+\newcommand*\FXLogWarning[1]{%
\GenericWarning{%
(FiXme)\@spaces\@spaces\@spaces\@spaces}{%
- Package FiXme Error: `#1'}}
-\newcommand\FXFatal[1]{%
+ FiXme Warning: '#1'}}
+\newcommand*\FXLogError[1]{%
\GenericWarning{%
(FiXme)\@spaces\@spaces\@spaces\@spaces}{%
- Package FiXme: `#1'}}
+ FiXme Error: '#1'}}
+\newcommand*\FXLogFatal[1]{%
+ \GenericWarning{%
+ (FiXme)\@spaces\@spaces\@spaces\@spaces}{%
+ FiXme Fatal Error: '#1'}}
-\newif\iffixme@silent
+\def\@fxlog@note{\FXLogNote}
+\def\@fxlog@warning{\FXLogWarning}
+\def\@fxlog@error{\FXLogError}
+\def\@fxlog@fatal{\FXLogFatal}
-%% Options that control whether to be silent or not:
-\DeclareOption{silent}{\fixme@silenttrue}
-\DeclareOption{nosilent}{\fixme@silentfalse}
+\@fxdefineboolkey{log}{silent}
\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}{\protect\fixmenoteprefix: #1}}
-\def\fixme@note@final#1{%
- \iffixme@silent\else\FXNote{#1}\fi%
- \addcontentsline{lox}{fixme}{\protect\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}{\protect\fixmewarningprefix: #1}}
-\def\fixme@warning@final#1{%
- \iffixme@silent\else\FXWarning{#1}\fi%
- \addcontentsline{lox}{fixme}{\protect\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}{\protect\fixmeerrorprefix: #1}}
-\def\fixme@error@final#1{%
- \iffixme@silent\else\FXError{#1}\fi%
- \addcontentsline{lox}{fixme}{\protect\fixmeerrorprefix: #1}}
-
-\newcommand*\fixmefatalindexname{}
-\def\fixme@fatal@draft#1{%
- \iffixme@inline\FiXmeInline{#1}\fi%
- \iffixme@margin\FiXmeMargin{#1}\fi%
- \iffixme@marginclue\FXMarginClue{\fixmefatalprefix}\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}{\protect\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@margincluefalse%
- \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', `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}%
- \@@fixme{#1}{#3}%
- \egroup}
-\DeclareRobustCommand\fxnote{\@ifnextchar[%]
- {\@fixme{note}}{\@@fixme{note}}}
-\DeclareRobustCommand\fxwarning{\@ifnextchar[%]
- {\@fixme{warning}}{\@@fixme{warning}}}
-\DeclareRobustCommand\fxerror{\@ifnextchar[%]
- {\@fixme{error}}{\@@fixme{error}}}
-\DeclareRobustCommand\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%
- \iffixme@marginclue,marginclue\fi}%
- \csname#1\endcsname[\fixme@args]{#2}}
-\def\@fxenvbegin@final#1#2{
- \edef\fixme@args{inline%
- \iffixme@index,index\fi%
- \iffixme@marginclue,marginclue\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{croatian}{%
- \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Poruka}
- \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Upozorenje}
- \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Gre\v ska}
- \renewcommand*\fixmefatalprefix{\fixmelogo}
- \renewcommand*\fixmeindexname{\fixmelogo}
- \renewcommand*\fixmenoteindexname{**a@Poruke:!}
- \renewcommand*\fixmewarningindexname{**b@Upozorenja:!}
- \renewcommand*\fixmeerrorindexname{**c@Greske:!}
- \renewcommand*\fixmefatalindexname{}
- \renewcommand*{\listfixmename}{Popis korekcija}}
-
-\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}{
- \@ifclassloaded{article}{
- \let\@listoffixmes@pretoc\@listoffixmes@pretoc@article
- \let\@listoffixmes@posttoc\@listoffixmes@posttoc@article}{
- \@ifclassloaded{report}{
- \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@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}
- }
- }
- }
-}
- }
- }
- }
- \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
-}
-
-\ExecuteOptions{english,final,margin,nosilent}
-\ProcessOptions*
-
-\AtBeginDocument{%
- \ifx\FiXmeUser\empty
- \renewcommand\FiXmeUser[1]{\FXUser{\fixmefatalprefix}{#1}}
+\newcounter{fxnotecount}
+\newcounter{fxwarningcount}
+\newcounter{fxerrorcount}
+\newcounter{fxfatalcount}
+
+\@fxdefinecmdkey{note}{author}{}
+\@fxdefinecmdkey{note}{target}{}
+\newcommand\@fxhandleinnermode{%
+ \ifinner%
+ \ifthenelse{\boolean{fx@layout@margin}}{%
+ \@fxpkginfo{%
+inner mode detected;\MessageBreak
+turning margin layout form off}}{%
+ \ifthenelse{\boolean{fx@layout@marginclue}}{%
+\@fxpkginfo{%
+ inner mode detected;\MessageBreak
+ turning marginclue layout form off}}{}}%
+ \expandafter\fxuselayouts\expandafter{%
+ \cmdfx@layout@innerlayout,nomargin,nomarginclue}%
+ \fi}
+\newcommand*\@fxissueearlydraftlayouts[2]{%
+ \@fxhandleinnermode%
+ \@for\@fxlt:=\@fxearlylayouts\do{%
+ \@nameuse{iffx@layout@\@fxlt}%
+ \@nameuse{@fxlayout@\@fxlt}{#1}{#2}{\cmdfx@note@author}%
+ \fi}}
+\newcommand*\@fxissuelatedraftlayouts[2]{%
+ \@for\@fxlt:=\@fxlatelayouts\do{%
+ \@nameuse{iffx@layout@\@fxlt}%
+ \@nameuse{@fxlayout@\@fxlt}{#1}{#2}{\cmdfx@note@author}%
+ \fi}}
+\newcommand*\@fxissuecommonlayouts[2]{%
+ \FXLayoutContentsLine{#1}{#2}{\cmdfx@note@author}%
+ \iffx@log@silent\else\@nameuse{@fxlog@#1}{#2}\fi}
+
+\newcommand*\@@@fxnote@early@final[2]{%
+ \ifthenelse{\equal{#1}{fatal}}{%
+ \@fxpkgerror{'#2' fatal error left in final version}{%
+ You are currently processing in final mode,\MessageBreak
+ but you still have some FiXme fatal errors left behind.\MessageBreak
+ Type X to quit, fix your document (or switch back to draft
+ mode),\MessageBreak
+ and rerun LaTeX.}}{}}
+\newcommand*\@@@fxnote@late@final[2]{\@fxissuecommonlayouts{#1}{#2}}
+\newcommand*\@@@fxnote@early@draft[2]{%
+ \@fxissueearlydraftlayouts{#1}{#2}}
+\newcommand*\@@@fxnote@late@draft[2]{%
+ \@fxissuelatedraftlayouts{#1}{#2}%
+ \@fxissuecommonlayouts{#1}{#2}}
+
+\newcommand*\@fxpostconfigure{%
+ \ifthenelse{\equal{\cmdfx@note@author}{fixme}}{%
+ \@fxsetkeys{note}{author=\fixmelogo}}{}%
+ \iffx@lang@langtrack%
+ \@fxkeyifundefined{lang}{\languagename}{%
+ \@fxpkgwarning{unknown language '\languagename';\MessageBreak
+ falling back to \@fxdefaultlang}%
+ \@fxsetkeys{lang}{\@fxdefaultlang}}{%
+ \@fxsetkeys{lang}{\languagename}}
\fi}
+\let\@fxendgroup\endgroup
+\def\@@fxnote@early#1#2{%
+ \@fxpostconfigure%
+ \stepcounter{fixmecount}%
+ \stepcounter{fx#1count}%
+ \@@@fxnote@early{#1}{#2}}
+\def\@@fxnote@late#1#2{%
+ \@@@fxnote@late{#1}{#2}%
+ \@fxendgroup}
+\def\@@fxnote#1#2{%
+ \@@fxnote@early{#1}{#2}%
+ \@@fxnote@late{#1}{#2}}
+\def\@fxnote#1[#2]#3{%
+ \@fxsetkeys{mode,status,lang,log,note,face,layout}{#2}%
+ \@@fxnote{#1}{#3}}
+
+\long\def\@@fxsnote#1#2#3{%
+ \@fxpostconfigure\let\@fxpostconfigure\relax%
+ \@@fxnote@early{#1}{#2}\@fxtargetlayout{#1}{#3}\@@fxnote@late{#1}{#2}}
+\long\def\@fxsnote#1[#2]#3#4{%
+ \@fxsetkeys{mode,status,lang,log,note,face,layout,targetlayout}{#2}%
+ \@@fxsnote{#1}{#3}{#4}}
+
+\newcommand*\@fxpreconfigure[1]{%
+ \ifthenelse{\equal{#1}{fixme}}{}{\@fxsetkeys{note}{author=#1}}}
+\newcommand*\@fxnewnotemacro[3]{%
+ \expandafter\DeclareRobustCommand\csname #1#2\endcsname{%
+ \begingroup%
+ \@fxpreconfigure{#3}%
+ \@ifstar{%
+ \@ifnextchar[%]
+ {\@fxsnote{#2}}{\@@fxsnote{#2}}}{%
+ \@ifnextchar[%]
+ {\@fxnote{#2}}{\@@fxnote{#2}}}}}
+\def\@@@@fxbeginenv@final#1{\comment}
+\def\@@@@fxbeginenv@draft#1{\@fxenvlayout@begin{#1}{\cmdfx@note@author}}
+\def\@fxendenv@final#1{\endcomment}
+\def\@fxendenv@draft#1{\@fxenvlayout@end{#1}{\cmdfx@note@author}}
+
+\def\@@@fxbeginenv#1#2{%
+ \@fxpostconfigure\let\@fxpostconfigure\relax%
+ \@@fxnote{#1}{#2}%
+ \@@@@fxbeginenv{#1}}
+\def\@@fxbeginenv#1#2{%
+ \@fxsetkeys{layout}{noinline}%
+ \@@@fxbeginenv{#1}{#2}}
+\def\@fxbeginenv#1[#2]#3{%
+ \@fxsetkeys{mode,status,lang,log,note,face,layout,envlayout}{#2,noinline}%
+ \@@@fxbeginenv{#1}{#3}}
+
+\long\def\@@@fxbeginsenv#1#2#3{%
+ \@fxpostconfigure\let\@fxpostconfigure\relax%
+ \@@fxsnote{#1}{#2}{#3}%
+ \@@@@fxbeginenv{#1}}
+\long\def\@@fxbeginsenv#1#2#3{%
+ \@fxsetkeys{layout}{noinline}%
+ \@@@fxbeginsenv{#1}{#2}{#3}}
+\long\def\@fxbeginsenv#1[#2]#3#4{%
+ \@fxsetkeys{mode,status,lang,log,note,face,layout,envlayout,targetlayout}{%
+ #2,noinline}%
+ \@@@fxbeginsenv{#1}{#3}{#4}}
+
+\newcommand*\@fxnewnoteenvs[3]{%
+ \expandafter\def\csname #1#2\endcsname{%
+ \begingroup%
+ \let\@fxendgroup\relax%
+ \@fxpreconfigure{#3}%
+ \@ifnextchar[%]
+ {\@fxbeginenv{#2}}{\@@fxbeginenv{#2}}}
+ \expandafter\def\csname end#1#2\endcsname{%
+ \@fxendenv{#2}%
+ \endgroup}%
+ \expandafter\long\expandafter\def\csname #1#2*\endcsname{%
+ \begingroup%
+ \let\@fxendgroup\relax%
+ \@fxpreconfigure{#3}%
+ \@ifnextchar[%]
+ {\@fxbeginsenv{#2}}{\@@fxbeginsenv{#2}}}
+ \expandafter\def\csname end#1#2*\endcsname{%
+ \@fxendenv{#2}%
+ \endgroup}}
+
+\newcommand*\FXRegisterAuthor[3]{%
+ \@ifundefined{#1note}{}{%
+ \@fxpkgerror{command prefix '#1' already in use}{%
+ You have called \string\FXRegisterAuthor\space with a command prefix
+ already in use.\MessageBreak
+ Please choose another one.}}%
+ \@ifundefined{#2note}{}{%
+ \@fxpkgerror{environment prefix '#2' already in use}{%
+ You have called \string\FXRegisterAuthor\space with an environment
+ prefix already in use.\MessageBreak
+ Please choose another one.}}%
+ \@fxnewnotemacro{#1}{note}{#3}%
+ \@fxnewnotemacro{#1}{warning}{#3}%
+ \@fxnewnotemacro{#1}{error}{#3}%
+ \@fxnewnotemacro{#1}{fatal}{#3}%
+ \@fxnewnoteenvs{#2}{note}{#3}%
+ \@fxnewnoteenvs{#2}{warning}{#3}%
+ \@fxnewnoteenvs{#2}{error}{#3}%
+ \@fxnewnoteenvs{#2}{fatal}{#3}}
+
+\FXRegisterAuthor{fx}{anfx}{fixme}
+\DeclareRobustCommand\fixme{%
+ \@fxpkgwarning{\string\fixme\space is deprecated;\MessageBreak
+ please use \string\fxfatal\space instead}%
+ \fxfatal}
+\def\afixme{%
+ \@fxpkgwarning{The 'afixme' environment is deprecated;\MessageBreak
+ please use 'anfxfatal' instead}%
+ \anfxfatal}
+\let\endafixme\endanfxfatal
+\newcommand*\@fxlanguages{%
+ english,french,francais,spanish,italian,german,ngerman,danish,croatian}
+
+\newcommand\fxenglishnotename{Note}
+\newcommand\fxenglishnotesname{Notes}
+\newcommand\fxenglishwarningname{Warning}
+\newcommand\fxenglishwarningsname{Warnings}
+\newcommand\fxenglisherrorname{Error}
+\newcommand\fxenglisherrorsname{Errors}
+\newcommand\fxenglishfatalname{Fatal}
+\newcommand\fxenglishfatalsname{Fatal errors}
+\newcommand\englishlistfixmename{List of Corrections}
+
+\newcommand\fxfrenchnotename{Note}
+\newcommand\fxfrenchnotesname{Notes}
+\newcommand\fxfrenchwarningname{Attention}
+\newcommand\fxfrenchwarningsname{Avertissements}
+\newcommand\fxfrencherrorname{Erreur}
+\newcommand\fxfrencherrorsname{Erreurs}
+\newcommand\fxfrenchfatalname{Fatal}
+\newcommand\fxfrenchfatalsname{Erreurs fatales}
+\newcommand\frenchlistfixmename{Liste des Corrections}
+
+\newcommand\fxspanishnotename{Nota}
+\newcommand\fxspanishnotesname{Notas}
+\newcommand\fxspanishwarningname{Aviso}
+\newcommand\fxspanishwarningsname{Avisos}
+\newcommand\fxspanisherrorname{Error}
+\newcommand\fxspanisherrorsname{Errores}
+\newcommand\fxspanishfatalname{Fatal}
+\newcommand\fxspanishfatalsname{Errores fatales}
+\newcommand\spanishlistfixmename{Lista de Correcciones}
+
+\newcommand\fxitaliannotename{Nota}
+\newcommand\fxitaliannotesname{Note}
+\newcommand\fxitalianwarningname{Avviso}
+\newcommand\fxitalianwarningsname{Avvisi}
+\newcommand\fxitalianerrorname{Errore}
+\newcommand\fxitalianerrorsname{Errori}
+\newcommand\fxitalianfatalname{Fatale}
+\newcommand\fxitalianfatalsname{Errori fatali}
+\newcommand\italianlistfixmename{Corrigenda}
+
+\newcommand\fxgermannotename{Anm}
+\newcommand\fxgermannotesname{Anmerkungen}
+\newcommand\fxgermanwarningname{Warnung}
+\newcommand\fxgermanwarningsname{Warnungen}
+\newcommand\fxgermanerrorname{Fehler}
+\newcommand\fxgermanerrorsname{Fehler}
+\newcommand\fxgermanfatalname{Verh\"angnisvoll}
+\newcommand\fxgermanfatalsname{Verh\"angnisvolle fehler}
+\newcommand\germanlistfixmename{Verzeichnis der Korrekturen}
+
+\newcommand\fxdanishnotename{Note}
+\newcommand\fxdanishnotesname{Noter}
+\newcommand\fxdanishwarningname{Advarsel}
+\newcommand\fxdanishwarningsname{Advarsler}
+\newcommand\fxdanisherrorname{Fejl}
+\newcommand\fxdanisherrorsname{Fejl}
+\newcommand\fxdanishfatalname{D\o delige}
+\newcommand\fxdanishfatalsname{Sk\ae bnesvangre fejl}
+\newcommand\danishlistfixmename{Rettelser}
+
+\newcommand\fxcroatiannotename{Poruka}
+\newcommand\fxcroatiannotesname{Poruke}
+\newcommand\fxcroatianwarningname{Upozorenja}
+\newcommand\fxcroatianwarningsname{Upozorenje}
+\newcommand\fxcroatianerrorname{Gre\v ska}
+\newcommand\fxcroatianerrorsname{Greske}
+\newcommand\fxcroatianfatalname{Fatalan}
+\newcommand\fxcroatianfatalsname{Kobne gre\v ske}
+\newcommand\croatianlistfixmename{Popis korekcija}
+
+\@fxdefineboolkey{lang}{langtrack}
+\def\@fxexpr{\@fxdefinechoicekey{lang}{defaultlang}[\@fxdefaultlang]}
+\expandafter\@fxexpr\expandafter{\@fxlanguages}{}
+
+\def\@fxexpr{\@fxdefinechoicekey{lang}{lang}[\@fxlang]}
+\expandafter\@fxexpr\expandafter{\@fxlanguages}{%
+ \ifthenelse{\equal{#1}{francais}}{\def\@fxlang{french}}{%
+ \ifthenelse{\equal{#1}{ngerman}}{\def\@fxlang{german}}{}}%
+ \@fxsetkeys{lang}{langtrack=false}}
+
+\@for\@fxlg:=\@fxlanguages\do{
+ \def\@fxexprone{\@fxdefinevoidkey{lang}}
+ \edef\@fxexprtwo{{\@fxlg}{\noexpand\@fxsetkeys{lang}{lang=\@fxlg}}}
+ \expandafter\@fxexprone\@fxexprtwo}
+
+\newcommand*\@fxlistfixmename{\@nameuse{\@fxlang listfixmename}}
+\newcommand*\fxnotename[1]{\@nameuse{fx\@fxlang#1name}}
+\newcommand*\fxnotesname[1]{\@nameuse{fx\@fxlang#1sname}}
+
+\@fxdefinevoidkey{status}{final}{%
+ \let\@@@fxnote@early\@@@fxnote@early@final%
+ \let\@@@fxnote@late\@@@fxnote@late@final%
+ \let\@@@@fxbeginenv\@@@@fxbeginenv@final
+ \let\@fxendenv\@fxendenv@final%
+ \let\@fxtargetlayout\@fxtargetlayout@final%
+ \let\listoffixmes\lox@final}
+\@fxdefinevoidkey{status}{draft}{%
+ \let\@@@fxnote@early\@@@fxnote@early@draft%
+ \let\@@@fxnote@late\@@@fxnote@late@draft%
+ \let\@@@@fxbeginenv\@@@@fxbeginenv@draft
+ \let\@fxendenv\@fxendenv@draft%
+ \let\@fxtargetlayout\@fxtargetlayout@draft%
+ \let\listoffixmes\lox@draft}
+\@fxdefinechoicekey{status}{status}{final,draft}{\@fxsetkeys{status}{#1}}
+
+\newcommand*\FXProvidesTheme[1]{\ProvidesPackage{fxtheme#1}}
+\newcommand*\fxusetheme[1]{\usepackage{fxtheme#1}}
+\@fxdefinekey{theme}{theme}{\fxusetheme{#1}}
+\@ifclassloaded{article}{%
+ \let\@lox@prtc\@lox@prtc@article%
+ \let\@lox@psttc\@lox@psttc@article}{%
+ \@ifclassloaded{report}{%
+ \let\@lox@prtc\@lox@prtc@report%
+ \let\@lox@psttc\@lox@psttc@report}{%
+ \@ifclassloaded{book}{%
+ \let\@lox@prtc\@lox@prtc@book%
+ \let\@lox@psttc\@lox@psttc@book}{%
+ \@ifclassloaded{scrartcl}{%
+\let\@lox@prtc\@lox@prtc@scrartcl%
+\let\@lox@psttc\@lox@psttc@scrartcl}{%
+\@ifclassloaded{scrreprt}{%
+ \let\@lox@prtc\@lox@prtc@scrreprt%
+ \let\@lox@psttc\@lox@psttc@scrreprt}{%
+ \@ifclassloaded{scrbook}{%
+ \let\@lox@prtc\@lox@prtc@scrbook%
+ \let\@lox@psttc\@lox@psttc@scrbook}{%
+ \@ifclassloaded{amsbook}{%
+ \let\lox@draft\lox@draft@ams}{%
+ \@ifclassloaded{amsart}{%
+\let\lox@draft\lox@draft@ams}{%
+%% Use the article layout by default.
+\let\@lox@prtc\@lox@prtc@article%
+\let\@lox@psttc\@lox@psttc@article}}}}}}}}
+
+\ExecuteOptionsX[fx]<%
+ mode,status,lang,log,note,face,layout,envlayout,targetlayout>{%
+ mode=singleuser,%
+ status=final,%
+ lang=english,%
+ langtrack=false,%
+ defaultlang=english,%
+ nosilent,%
+ author=fixme,%
+ target=thepage,%
+ layout=margin,%
+ innerlayout={layout=inline},%
+ envlayout=plain,%
+ targetlayout=plain,%
+ inlineface=\bfseries,%
+ marginface=\footnotesize,%
+ envface=\bfseries,%
+ targetface=\itshape}
+\ProcessOptionsX*[fx]<%
+ mode,status,lang,log,note,face,layout,envlayout,targetlayout>
+
+\newcommand*\fxsetup[1]{%
+ \@fxsetkeys{%
+ mode,status,lang,log,note,face,layout,envlayout,targetlayout,theme}{%
+ #1}}
+
\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%
- }}
+ \iffx@log@silent\else
+ \GenericWarning{%
+ (FiXme)\@spaces\@spaces}{%
+ FiXme Summary: Number of notes: \thefxnotecount,\MessageBreak%
+ Number of warnings: \thefxwarningcount,\MessageBreak%
+ Number of errors: \thefxerrorcount,\MessageBreak%
+ Number of fatal errors: \thefxfatalcount,\MessageBreak%
+ Total: \thefixmecount\@gobble}%
+ \fi}
\endinput
%%
%% End of file `fixme.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolor.sty b/Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolor.sty
new file mode 100644
index 00000000000..02306131207
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolor.sty
@@ -0,0 +1,63 @@
+%%
+%% This is file `fxenvlayoutcolor.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxenvlayoutcolor')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesEnvLayout{color}
+
+\RequirePackage{color}
+
+\providecommand*\@fxdocolon[1]{%
+ \ifthenelse{\equal{#1}{}}{\def\@fxcolon{}}{\def\@fxcolon{: }}}
+
+\definecolor{fxnote}{rgb}{0.0000,0.6000,0.0000}
+\definecolor{fxwarning}{rgb}{1.0000,0.5490,0.0000}
+\definecolor{fxerror}{rgb}{1.0000,0.2706,0.0000}
+\definecolor{fxfatal}{rgb}{1.0000,0.0000,0.0000}
+
+\fxsetface{env}{}
+
+\newcommand*\FXEnvLayoutColorBegin[2]{%
+ \@fxdocolon{#2}%
+ \@fxuseface{env}\color{fx#1}\ignorespaces#2\@fxcolon\ignorespaces}
+\newcommand*\FXEnvLayoutColorEnd[2]{}
+\FXRegisterEnvLayout{color}{\FXEnvLayoutColorBegin}{\FXEnvLayoutColorEnd}
+\endinput
+%%
+%% End of file `fxenvlayoutcolor.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolorsig.sty b/Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolorsig.sty
new file mode 100644
index 00000000000..545385a88e5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/layouts/env/fxenvlayoutcolorsig.sty
@@ -0,0 +1,64 @@
+%%
+%% This is file `fxenvlayoutcolorsig.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxenvlayoutcolorsig')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesEnvLayout{colorsig}
+
+\RequirePackage{color}
+
+\@fxnewface[\itshape]{signature}
+\providecommand*\@fxdosig[1]{%
+ \ifthenelse{\equal{#1}{}}{\def\@fxsignature{}}{%
+ \def\@fxsignature{ -- {\@fxuseface{signature}#1}}}}
+
+\definecolor{fxnote}{rgb}{0.0000,0.6000,0.0000}
+\definecolor{fxwarning}{rgb}{1.0000,0.5490,0.0000}
+\definecolor{fxerror}{rgb}{1.0000,0.2706,0.0000}
+\definecolor{fxfatal}{rgb}{1.0000,0.0000,0.0000}
+
+\fxsetface{env}{}
+
+\newcommand*\FXEnvLayoutColorSigBegin[2]{\@fxuseface{env}\color{fx#1}}
+\newcommand*\FXEnvLayoutColorSigEnd[2]{\@fxdosig{#2}\@fxsignature}
+\FXRegisterEnvLayout{colorsig}{%
+ \FXEnvLayoutColorSigBegin}{\FXEnvLayoutColorSigEnd}
+\endinput
+%%
+%% End of file `fxenvlayoutcolorsig.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutchangebar.sty b/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutchangebar.sty
new file mode 100644
index 00000000000..3f54639ddb7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutchangebar.sty
@@ -0,0 +1,52 @@
+%%
+%% This is file `fxtargetlayoutchangebar.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxtargetlayoutchangebar')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesTargetLayout{changebar}
+
+\RequirePackage{changebar}
+\setlength{\changebarsep}{5pt}
+
+\fxsetface{target}{}
+\newcommand\FXTargetLayoutChangeBar[2]{\cbstart\@fxuseface{target}#2\cbend}
+\FXRegisterTargetLayout{changebar}{\FXTargetLayoutChangeBar}
+\endinput
+%%
+%% End of file `fxtargetlayoutchangebar.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolor.sty b/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolor.sty
new file mode 100644
index 00000000000..c8531531c90
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolor.sty
@@ -0,0 +1,58 @@
+%%
+%% This is file `fxtargetlayoutcolor.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxtargetlayoutcolor')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesTargetLayout{color}
+
+\RequirePackage{color}
+\definecolor{fxnote}{rgb}{0.0000,0.6000,0.0000}
+\definecolor{fxwarning}{rgb}{1.0000,0.5490,0.0000}
+\definecolor{fxerror}{rgb}{1.0000,0.2706,0.0000}
+\definecolor{fxfatal}{rgb}{1.0000,0.0000,0.0000}
+
+\definecolor{fxtarget}{rgb}{0.3725,0.6196,0.6275}
+
+\fxsetface{target}{}
+
+\newcommand\FXTargetLayoutColor[2]{\@fxuseface{target}\color{fxtarget}#2}
+\FXRegisterTargetLayout{color}{\FXTargetLayoutColor}
+\endinput
+%%
+%% End of file `fxtargetlayoutcolor.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolorcb.sty b/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolorcb.sty
new file mode 100644
index 00000000000..0eb4ebd2528
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/layouts/target/fxtargetlayoutcolorcb.sty
@@ -0,0 +1,55 @@
+%%
+%% This is file `fxtargetlayoutcolorcb.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxtargetlayoutcolorcb')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesTargetLayout{colorcb}
+
+\RequirePackage{color}
+
+\RequirePackage[color]{changebar}
+\setlength{\changebarsep}{5pt}
+
+\fxsetface{target}{}
+\newcommand\FXTargetLayoutColorCB[2]{%
+ \cbstart\cbcolor{fx#1}\@fxuseface{target}#2\cbend}
+\FXRegisterTargetLayout{colorcb}{\FXTargetLayoutColorCB}
+\endinput
+%%
+%% End of file `fxtargetlayoutcolorcb.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/themes/fxthemecolor.sty b/Master/texmf-dist/tex/latex/fixme/themes/fxthemecolor.sty
new file mode 100644
index 00000000000..d0b7fa4ee7d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/themes/fxthemecolor.sty
@@ -0,0 +1,88 @@
+%%
+%% This is file `fxthemecolor.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxthemecolor')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesTheme{color}
+
+\RequirePackage{color}
+
+\FXRequireEnvLayout{color}
+\FXRequireTargetLayout{color}
+
+\fxsetface{inline}{}
+
+\renewcommand*\FXLayoutFootnote[3]{%
+ \@fxdocolon{#3}%
+ \footnote{\color{fx#1}\ignorespaces#3\@fxcolon #2}}
+\renewcommand*\FXLayoutMargin[3]{%
+ \@fxdocolon{#3}%
+ \marginpar[%
+ \raggedleft\@fxuseface{margin}\color{fx#1}\ignorespaces#3\@fxcolon#2]{%
+ \raggedright\@fxuseface{margin}\color{fx#1}\ignorespaces#3\@fxcolon#2}}
+\renewcommand*\FXLayoutMarginClue[3]{%
+ \marginpar[\raggedleft\@fxuseface{margin}\color{fx#1}\ignorespaces#3!]{%
+ \raggedright\@fxuseface{margin}\color{fx#1}\ignorespaces#3!}}
+\renewcommand*\FXLayoutInline[3]{%
+ \@fxdocolon{#3}%
+ {\@fxuseface{inline}\color{fx#1}\ignorespaces#3\@fxcolon#2}}
+\renewcommand*\FXLayoutIndex[3]{%
+ \iffx@mode@multiuser%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !{\color{fx#1}\@nameuse{thefx#1count}: #3: #2}}%
+ \index{***#3@\fixmeindexname{} (#3):%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !{\color{fx#1}\@nameuse{thefx#1count}: #2}}%
+ \else%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !{\color{fx#1}\@nameuse{thefx#1count}: #2}}%
+ \fi}
+
+\renewcommand*\FXLayoutContentsLine[3]{%
+ \@fxdocolon{#3}%
+ \iffx@mode@multiuser%
+ \fxaddcontentsline{\color{fx#1}\ignorespaces#3\@fxcolon#2}%
+ \else%
+ \fxaddcontentsline{\color{fx#1}#2}%
+ \fi}
+\endinput
+%%
+%% End of file `fxthemecolor.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/themes/fxthemecolorsig.sty b/Master/texmf-dist/tex/latex/fixme/themes/fxthemecolorsig.sty
new file mode 100644
index 00000000000..bb11100f0e5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/themes/fxthemecolorsig.sty
@@ -0,0 +1,89 @@
+%%
+%% This is file `fxthemecolorsig.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxthemecolorsig')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesTheme{colorsig}
+
+\RequirePackage{color}
+
+\FXRequireEnvLayout{colorsig}
+\FXRequireTargetLayout{color}
+
+\fxsetface{inline}{}
+
+\renewcommand*\FXLayoutFootnote[3]{%
+ \@fxdosig{#3}%
+ \footnote{\color{fx#1}#2\@fxsignature}}
+\renewcommand*\FXLayoutMargin[3]{%
+ \@fxdosig{#3}%
+ \marginpar[%
+ \raggedleft\@fxuseface{margin}\color{fx#1}#2\@fxsignature]{%
+ \raggedright\@fxuseface{margin}\color{fx#1}#2\@fxsignature}}
+\renewcommand*\FXLayoutMarginClue[3]{%
+ \@fxdosig{#3}%
+ \marginpar[\raggedleft\@fxuseface{margin}\color{fx#1}!\@fxsignature]{%
+ \raggedright\@fxuseface{margin}\color{fx#1}!\@fxsignature}}
+\renewcommand*\FXLayoutInline[3]{%
+ \@fxdosig{#3}%
+ {\@fxuseface{inline}\color{fx#1}#2\@fxsignature}}
+\renewcommand*\FXLayoutIndex[3]{%
+ \@fxdosig{#3}%
+ \iffx@mode@multiuser%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !{\color{fx#1}\@nameuse{thefx#1count}: #2\@fxsignature}}%
+ \index{***#3@\fixmeindexname{} (#3):%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !{\color{fx#1}\@nameuse{thefx#1count}: #2}}%
+ \else%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !{\color{fx#1}\@nameuse{thefx#1count}: #2}}%
+ \fi}
+\renewcommand*\FXLayoutContentsLine[3]{%
+ \iffx@mode@multiuser%
+ \@fxdosig{#3}%
+ \fxaddcontentsline{\color{fx#1}#2\@fxsignature}%
+ \else%
+ \fxaddcontentsline{\color{fx#1}#2}%
+ \fi}
+\endinput
+%%
+%% End of file `fxthemecolorsig.sty'.
diff --git a/Master/texmf-dist/tex/latex/fixme/themes/fxthemesignature.sty b/Master/texmf-dist/tex/latex/fixme/themes/fxthemesignature.sty
new file mode 100644
index 00000000000..a3255ca2e68
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fixme/themes/fxthemesignature.sty
@@ -0,0 +1,84 @@
+%%
+%% This is file `fxthemesignature.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx (with options: `fxthemesignature')
+%%
+
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+%% Copyright (C) 2007, 2009 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}
+\FXProvidesTheme{signature}
+
+\fxuseenvlayout{signature}
+
+\renewcommand*\FXLayoutFootnote[3]{%
+ \@fxdosig{#3}%
+ \footnote{\fxnotename{#1}: #2\@fxsignature}}
+\renewcommand*\FXLayoutMargin[3]{%
+ \@fxdosig{#3}%
+ \marginpar[%
+ \raggedleft\@fxuseface{margin}\fxnotename{#1}: #2\@fxsignature]{%
+ \raggedright\@fxuseface{margin}\fxnotename{#1}: #2\@fxsignature}}
+\renewcommand*\FXLayoutMarginClue[3]{%
+ \@fxdosig{#3}%
+ \marginpar[\raggedleft\@fxuseface{margin}\fxnotename{#1}!\@fxsignature]{%
+ \raggedright\@fxuseface{margin}\fxnotename{#1}!\@fxsignature}}
+\renewcommand*\FXLayoutInline[3]{%
+ \@fxdosig{#3}%
+ {\@fxuseface{inline}\fxnotename{#1}: #2\@fxsignature}}
+\renewcommand*\FXLayoutIndex[3]{%
+ \@fxdosig{#3}%
+ \iffx@mode@multiuser%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !\@nameuse{thefx#1count}: #2\@fxsignature}%
+ \index{***#3@\fixmeindexname{} (#3):%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !\@nameuse{thefx#1count}: #2}%
+ \else%
+ \index{***@\fixmeindexname:%
+ !\@nameuse{@fx#1key}@\fxnotesname{#1}:%
+ !\@nameuse{thefx#1count}: #2}%
+ \fi}
+\renewcommand*\FXLayoutContentsLine[3]{%
+ \iffx@mode@multiuser%
+ \@fxdosig{#3}%
+ \fxaddcontentsline{\fxnotename{#1}: #2\@fxsignature}%
+ \else%
+ \fxaddcontentsline{\fxnotename{#1}: #2}%
+ \fi}
+\endinput
+%%
+%% End of file `fxthemesignature.sty'.