%%
%% This is file `coolthms.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% coolthms.dtx 
%% 
%% IMPORTANT NOTICE:
%% 
%% For the copyright see the source file.
%% 
%% Any modified versions of this file must be renamed
%% with new filenames distinct from coolthms.sty.
%% 
%% For distribution of the original source see the terms
%% for copying and modification in the file coolthms.dtx.
%% 
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{coolthms}[2013/02/04 v1.2 Theorem markup and advanced referencing]
\let\Finv\@undefined
\let\Game\@undefined
\let\beth\@undefined
\let\gimel\@undefined
\let\daleth\@undefined
\RequirePackage{amssymb}
\RequirePackage{hyperref}
\RequirePackage{etoolbox}
\RequirePackage{scrbase} % for \ifstr string comparison macro
\RequirePackage{letltxmacro}
\RequirePackage{ifthen}
\RequirePackage{xargs}
\RequirePackage{kvoptions}
\@ifpackageloaded{amsmath}
  {\RequirePackage[thmmarks,amsmath,hyperref]{ntheorem}}
  {\RequirePackage[thmmarks,hyperref]{ntheorem}}
\RequirePackage{cleveref}
\begingroup
\catcode`\#=12
\gdef\ctp@hashchar{#}%
\endgroup
\@ifundefined{proofname}{\newcommand{\proofname}{Proof}}{}
\let\ctp@temp\proofname\relax
\AtBeginDocument{\edef\ctp@temp{\proofname}%
   \apptocmd{\select@language}{\edef\ctp@temp{\proofname}}{}{}}
\AfterEndEnvironment{proof}{\gdef\proofname{\ctp@temp}}
\DeclareStringOption[\ctp@temp]{proofname}
\DeclareStringOption[$\Box$]{proofsymbol}
\DeclareStringOption[\it]{proofcaptionstyle}
\DeclareStringOption[\coolthms@indent]{proofindent}
\DeclareStringOption[:]{separator}
\DeclareStringOption[0em]{indent}
\DeclareStringOption[0pt]{minskip}
\DeclareStringOption[6pt]{maxskip}
\DeclareBoolOption{externalchapters}
\DeclareLocalOptions{separator,indent,minskip,maxskip%
  proofname,proofsymbol,proofcaptionstyle,proofindent,externalchapters}
\ProcessKeyvalOptions*
\@ifundefined{c@chapter}{%
  \newcounter{chapter}%
  \setcounter{chapter}{1}%
}{}%
\ifcoolthms@externalchapters
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\arabic{section}}
\def\refstepcounter@noarg#1{%
  \cref@old@refstepcounter{#1}%
  \cref@constructprefix{#1}{\cref@result}%
  \@ifundefined{cref@#1@alias}%
    {\def\@tempa{#1}}%
    {\def\@tempa{\csname cref@#1@alias\endcsname}}%
  \edef\chapter@current@value{\the\value{chapter}}
  \protected@edef\cref@currentlabel{%
    [\@tempa][\arabic{#1}][\cref@result]%
    \string\ifstr{\string\the\string\value{chapter}}%
    {\chapter@current@value}{\string\relax}{\thechapter.}%
    \csname p@#1\endcsname\csname the#1\endcsname}
  \protected@edef\cref@old@currentlabel{%
    [\@tempa][\arabic{#1}][\cref@result]%
    \csname p@#1\endcsname\csname the#1\endcsname}
  \ifstr{\@tempa}{chapter}{\protected@edef\cref@currentlabel{\cref@old@currentlabel}}{}}
\def\refstepcounter@optarg[#1]#2{%
  \cref@old@refstepcounter{#2}%
  \cref@constructprefix{#2}{\cref@result}%
  \edef\chapter@current@value{\the\value{chapter}}
  \protected@edef\cref@currentlabel{%
    [#1][\arabic{#2}][\cref@result]%
    \string\ifstr{\string\the\string\value{chapter}}%
    {\chapter@current@value}{\string\relax}{\thechapter.}%
    \csname p@#2\endcsname\csname the#2\endcsname}
  \protected@edef\cref@old@currentlabel{%
    [#1][\arabic{#2}][\cref@result]%
    \csname p@#2\endcsname\csname the#2\endcsname}
  \ifstr{#1}{chapter}{\protected@edef\cref@currentlabel{\cref@old@currentlabel}}{}}
    \def\ctp@label@noarg#1{%
    \letcs{\mycurrentlabel}{@currentlabel}
    \expandafter\def\csname @currentlabel\endcsname{\string\ifstr%
      {\string\the\string\value{chapter}}{\the\value{chapter}}%
      {\string\relax}{\thechpt}\mycurrentlabel}
    \label@noarg{#1}
    \cslet{@currentlabel}{\mycurrentlabel}
    }%
    \def\ctp@label@optarg[#1]#2{%
    \letcs{\mycurrentlabel}{@currentlabel}
    \expandafter\def\csname @currentlabel\endcsname{\string\ifstr%
      {\string\the\string\value{chapter}}{\the\value{chapter}}%
      {\string\relax}{\thechpt}\mycurrentlabel}
    \label@optarg[#1]{#2}
    \cslet{@currentlabel}{\mycurrentlabel}
    \def\label{\@ifnextchar[\ctp@label@optarg\ctp@label@noarg}%]
    }
\else % belongs to \ifcoolthms@externalchapters
\fi
\newtheoremstyle{keinenummern}%
  {\item[\hskip\labelsep\theorem@headerfont ##1\theorem@separator]}%
  {\item[\hskip\labelsep\theorem@headerfont ##1\ %
    {\normalfont(##3)}\theorem@separator]}
\newtheoremstyle{mitnummern}%
  {\item[\hskip\labelsep\theorem@headerfont ##1\ ##2\theorem@separator]}%
  {\item[\hskip\labelsep\theorem@headerfont ##1\ ##2\ %
    {\normalfont(##3)}\theorem@separator]}
\newtheoremstyle{unserbeweis}%
  {\item[{\hskip\labelsep\theorem@headerfont ##1\theorem@separator}]}%
  {\item[\hskip\labelsep{\theorem@headerfont ##3\theorem@separator}]}
\newcommandx*{\definetheorem}[5][1=thmcnt,3=,5=section]{
  \@ifundefined{c@#1}{
    \@ifundefined{c@#5}{
      \newtheorem{#1}{#1}
    }{
      \newtheorem{#1}{#1}[#5]
    }
  }{}
  \theoremstyle{mitnummern}
  \newtheorem{#2}[#1]{#4}
  \theoremstyle{keinenummern}
  \newtheorem{n#2}[#1]{#4}
  \ifblank{#3}{
    \crefname{#2}{#4}{#4}
  }{
    \crefname{#2}{#4}{#3}
  }
  \crefformat{#2}{##2#4~##1##3}
  \BeforeBeginEnvironment{n#2}{\addtocounter{#1}{-1}}
  \BeforeBeginEnvironment{#2}{%
     \addtocounter{#1}{1}%
     \edef\ctp@labelcode%
        {ctp@#2@\roman{chapter}@\roman{section}@\arabic{#1}}\relax%
\ifcoolthms@externalchapters
     \immediate\write\@auxout{\string\crefname{\ctp@labelcode}%
               {#4\noexpand~%
                 \string\ifstr{\string\the\string\value{chapter}}%
                 {\chapter@current@value}{\string\relax}{\thechapter.}%
                 \csname the#1\endcsname}%
               {#3\noexpand~\csname the#1\endcsname}}\relax%
     \immediate\write\@auxout{\string\crefformat{\ctp@labelcode}%
               {\string##2#4\noexpand~%
                 \string\ifstr{\string\the\string\value{chapter}}%
                 {\chapter@current@value}{\string\relax}{\thechapter.}%
                 \csname the#1\endcsname\noexpand~%
                  \ctp@hashchar1\ctp@hashchar3}}\relax%
\else
     \immediate\write\@auxout{\string\crefname{\ctp@labelcode}%
               {#4\noexpand~\csname the#1\endcsname}%
               {#4 plural\noexpand~\csname the#1\endcsname}}\relax%
     \immediate\write\@auxout{\string\crefformat{\ctp@labelcode}%
               {\string##2#4\noexpand~\csname the#1\endcsname\noexpand~%
                  \ctp@hashchar1\ctp@hashchar3}}\relax%
\fi
\ifcoolthms@externalchapters
     \def\Label##1{\cref@old@label{##1}%
       \protected@edef\cref@currentlabel{%
         \expandafter\cref@override@label@type%
         \cref@old@currentlabel\@nil{\ctp@labelcode}}%
       \protected@write\@auxout{}%
       {\string\newlabel{##1@cref}{{\cref@currentlabel}{\thepage}}}}
\else
      \edef\Label##1{\noexpand\label[\ctp@labelcode]{##1}}%
\fi
      \addtocounter{#1}{-1} %
  }% End of \BeforeBeginEnvironment
}% End of \newcommandx*{\definetheorem}
\newcommandx*{\theoremmarkup}[6][1=\bf,2=\normalfont,3=\relax,%
              4=\coolthms@indent,5=\coolthms@separator,6=arabic]{
  \theoremheaderfont{\hspace*{-\theorem@indent}#1}
  \theorembodyfont{#2}
  \theoremsymbol{#3}
  \theoremindent#4\relax
  \theoremseparator{#5}
  \theoremnumbering{#6}
}
\crefformat{equation}{#2(#1)#3}
\crefformat{chapter}{#2\chaptername~#1#3}
\theorempreskipamount\coolthms@minskip plus \coolthms@maxskip\relax
\theorempostskipamount\coolthms@minskip plus \coolthms@maxskip\relax
\theoremstyle{unserbeweis}
\theoremmarkup[\coolthms@proofcaptionstyle][\normalfont]%
  [\coolthms@proofsymbol][\coolthms@proofindent]
\expandafter\newtheorem{proof}{\coolthms@proofname}
\theoremmarkup
\endinput
%%
%% End of file `coolthms.sty'.
