Als erstes könntest Du neben einem 
vollständigen Minimalbeispiel (← dies ist ein geprüfter Link mit relevanten Informationen!) mal die Fehlermeldung angeben, falls es eine gibt, was ich stark vermute, weil in Deinem Codeschnippsel bei der Definition von \createCoverAndTitlePage höchstwahrscheinlich eine schließende Klammer fehlt.
Bei der Gelegenheit sei auch noch darauf hingewiesen, dass Deine Definitionen Leerzeichen enthalten, sie im horizontalen Modus 
signifikant sind.
bloodworks hat geschrieben:Du verwendest einen neuen Befehl BEVOR du ihn Deklarierst. Dass muss doch schief gehen.
Das spielt (fast) keine Rolle. Entscheidend ist, wann expandiert wird: 
\newcommand*{\BefehlA}{\BefehlB}
\newcommand*{\BefehlB}{Befehl B}
...
\BefehlA funktioniert einwandfrei. Probleme gibt es, bei Befehlen, die TeX bereits im Tokenizer auswertet, also vor der Expansion. Im Augenblick fallen mir da nur \if..., die zu \iffalse expandieren ein. So dürfte folgendes schief gehen:
\documentclass{article}
\begin{document}
\newcommand*{\definiereifgehtdas}{\newif\ifgehtdas}
\iffalse
  \definiereifgehtdas
  \ifgehtdas
    ja
  \else
    nein
  \fi% BOING
\else
  noch ein nein
\fi
\end{document}
 Der Grund ist schlicht, dass beim \iffalse alles bis zum mit BOING markierten \fi weggeworfen wird, weil TeX zu dem Zeitpunkt \ifgehtdas noch nicht als Fallunterscheidung erkennt. Zieht man \definiereifgehtdas vor das erste \iffalse, so funktioniert es. Paketautoren machen hier übrigens gerne Fehler. Deshalb hier ein Beispiel, wie man es nicht machen sollte: 
\documentclass{article}
\newcommand*{\ifgleich}[2]{\ifnum #1=#2}
\begin{document}
\iffalse
  \ifgleich{1}{2}
    gleich
  \else
    ungleich
  \fi
\else
  noch ein nein
\fi
\end{document} Stattdessen wäre folgendes zu empfehlen: 
\documentclass{article}
\newcommand*{\ifgleich}[2]{\ifnum #1=#2 
  \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
\begin{document}
\iffalse
  \ifgleich{1}{2}{gleich}{ungleich}
\else
  noch ein nein
\fi
\end{document}
Die \expandafter braucht man in dem Beispiel übrigens, damit \@firstoftwo und \@secondoftwo ihre beiden Argumente erst lesen, wenn die Fallunterscheidung beendet ist.
Edit: Ich bleibe dabei, dass ein vollständiges Minimalbeispiel eine gute Idee wäre. Dein Beispiel ist nämlich weder minimal noch vollständig.
 
			
			
							Als erstes könntest Du neben einem [url=http://www.golatex.de/wiki/index.php?title=Minimalbeispiel]vollständigen Minimalbeispiel[/url] (← dies ist ein geprüfter Link mit relevanten Informationen!) mal die Fehlermeldung angeben, falls es eine gibt, was ich stark vermute, weil in Deinem Codeschnippsel bei der Definition von \createCoverAndTitlePage höchstwahrscheinlich eine schließende Klammer fehlt.
Bei der Gelegenheit sei auch noch darauf hingewiesen, dass Deine Definitionen Leerzeichen enthalten, sie im horizontalen Modus [url=http://www.komascript.de/signifikanteLeerzeichen]signifikant[/url] sind.
[quote="bloodworks"]Du verwendest einen neuen Befehl BEVOR du ihn Deklarierst. Dass muss doch schief gehen.[/quote]
Das spielt (fast) keine Rolle. Entscheidend ist, wann expandiert wird: [code]\newcommand*{\BefehlA}{\BefehlB}
\newcommand*{\BefehlB}{Befehl B}
...
\BefehlA[/code] funktioniert einwandfrei. Probleme gibt es, bei Befehlen, die TeX bereits im Tokenizer auswertet, also vor der Expansion. Im Augenblick fallen mir da nur \if..., die zu \iffalse expandieren ein. So dürfte folgendes schief gehen:
[code]\documentclass{article}
\begin{document}
\newcommand*{\definiereifgehtdas}{\newif\ifgehtdas}
\iffalse
  \definiereifgehtdas
  \ifgehtdas
    ja
  \else
    nein
  \fi% BOING
\else
  noch ein nein
\fi
\end{document}
[/code] Der Grund ist schlicht, dass beim \iffalse alles bis zum mit BOING markierten \fi weggeworfen wird, weil TeX zu dem Zeitpunkt \ifgehtdas noch nicht als Fallunterscheidung erkennt. Zieht man \definiereifgehtdas vor das erste \iffalse, so funktioniert es. Paketautoren machen hier übrigens gerne Fehler. Deshalb hier ein Beispiel, wie man es nicht machen sollte: [code]\documentclass{article}
\newcommand*{\ifgleich}[2]{\ifnum #1=#2}
\begin{document}
\iffalse
  \ifgleich{1}{2}
    gleich
  \else
    ungleich
  \fi
\else
  noch ein nein
\fi
\end{document}[/code] Stattdessen wäre folgendes zu empfehlen: [code]\documentclass{article}
\newcommand*{\ifgleich}[2]{\ifnum #1=#2 
  \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
\begin{document}
\iffalse
  \ifgleich{1}{2}{gleich}{ungleich}
\else
  noch ein nein
\fi
\end{document}[/code]
Die \expandafter braucht man in dem Beispiel übrigens, damit \@firstoftwo und \@secondoftwo ihre beiden Argumente erst lesen, wenn die Fallunterscheidung beendet ist.
Edit: Ich bleibe dabei, dass ein vollständiges Minimalbeispiel eine gute Idee wäre. Dein Beispiel ist nämlich weder minimal noch vollständig.