latex-packages/packages/wip/restate.pysty

38 lines
1.4 KiB
Text
Raw Normal View History

2021-10-06 20:16:07 +02:00
__HEADER__(Replacement package)
\RequirePackage{xkeyval}
\RequirePackage{todonotes}
\RequirePackage{xparse}
\RequirePackage{etoolbox}
__NEW_IF__(english, true)
\DeclareOptionX{english}{__SET_IF__(english,true)}
\DeclareOptionX{german}{__SET_IF__(english,false)}
\DeclareOptionX{ngerman}{__SET_IF__(english,false)}
\define@boolkey+{__FILE_NAME__}[__PACKAGE_PREFIX__]{strict}[true]{
\if__PACKAGE_PREFIX__strict
__INFO__(Strict mode enabled. Undefined restates will throw errors.)%
\else
__INFO__(Strict mode disabled. Undefined restates will now print placeholder boxes)%
\fi
}{
2021-10-07 10:06:23 +02:00
__WARNING__(Erroneous input to key 'strict' ignored. Provide =true or =false.)
2021-10-06 20:16:07 +02:00
}
2021-10-07 10:06:23 +02:00
__END_OPTIONS_X__
2021-10-06 20:16:07 +02:00
\newcommand\restatesetup[1]{\setkeys{__FILE_NAME__}{#1}}
\NewDocumentCommand{\restatetheorem}{s m}{
\ifcsdef{#2}{
\ifx#1\BooleanTrue\csname#2\endcsname*\else\csname#2\endcsname\fi
}{
__IF__(strict)
\PackageError{__PACKAGE_NAME__}{Strict mode enabled but restate command not defined}{The theorem you tried to restate is not defined. Either make sure it is so that it can be printed or disable the strict mode with \noexpand\restatesetup{strict=false} to print a placeholder instead}
\else
\missingfigure{__IF__(english) Here theorem \textbf{#2} is missing, since it is not part of this document.\else Hier fehlt die Wiederholung von Satz \textbf{#2}, der nicht Teil dieses Dokumentes ist.\fi}
\fi
}
}