Sie sind hier

KOMA-Script titlepage und hyperref arbeiten nicht zusammen

Ich bin gerade dabei mich in das Thema Latex einzuarbeiten um damit meine Studienarbeiten anfertigen zu können. Nach einigen Startschwierigkeiten lief es bis jetzt auch ganz gut bis ich das hier bereitgestellt Paket ""titlepage" mit dem Paket "hyperref" zusammen nutzten wollte.

Erst dachte ich es lag an noch weiteren Paketen die ich in meinen Dokument verwende, aber nach einigem Ausprobieren konnte ich es auf diese zwei Paket eingrenzen. Ich habe probiert ein minimal Beispiel zusammen zusetzen.

\documentclass[12pt,a4paper,pdftex]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage [ngerman]{babel} 
\usepackage[T1]{fontenc}
\usepackage{lmodern}
% Links ausgeben
\usepackage{hyperref}
\usepackage{titlepage}
 
\makeatletter
\@ifpackagelater{scrbase}{2009/12/31}{}{%
  % Alte Version von scrbase muss an zwei Stellen korrigiert werden:
  \renewcommand\ifstr[2]{%
    \begingroup\protected@edef\@tempa{#1}\protected@edef\@tempb{#2}%
    \ifx\@tempa\@tempb
      \endgroup\expandafter\@firstoftwo
    \else
      \endgroup\expandafter\@secondoftwo
    \fi
  }
  \renewcommand*{\Family@Options}[3]{%
    \@for\scr@key@atlist:=#2\do{%
      \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil
      \scr@key@found@false
      \edef\@tempa{\csname #1@key@familylist\endcsname}%
      \@for\@tempa:=\@tempa\do{%
        \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{%
          \scr@key@found@true
          \protected@edef\reserved@a{\noexpand\setkeys{\@tempa}{\scr@key@atlist}%
            \noexpand\def\noexpand\@tempa{\@tempa}%
            \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}%
            \noexpand\def\noexpand\scr@key@name{\scr@key@name}%
            \noexpand\def\noexpand\scr@key@value{\scr@key@value}%
          }%
          \reserved@a
        }%
      }%
      \ifscr@key@found@\else#3\fi
    }%
  }
}
\makeatother
	\begin{document}
	\TitlePageStyle{TU-Dresden}
		\maketitle[%
		  title={Titel im Stil \texttt{TU-Dresden}},
		  faculty={Fakultät Wirtschafswissenschaften},
		  chair={SAP-Stiftungslehrstuhl für\\
			Entrepreneurship und Innovation},
		  professor={Prof.\,Dr.\,Michael Schefcyk},
		%  subject=diploma, % one of: project, seminar, studentresearch,
		%                   % diploma, degree, master, bachelor, or ...
		  subject={Seminararbeit\\(bzw. Diplomarbeit)},% ... direct value
		  student={Vorname und Name},
		  discipline={Studienrichtung},
		  matriculationnumber={Matrikel-Nr.},
		  advisor={(mit akadem. Grad, Vor- und Zuname)},
		  date={(Datum der Abgabe)}
		]
		\section{Erste}
			Hier könnte jetzt irgend ein Text mit Inhalt stehen.
 
			Gleich danach folgt auch schon der \href{http://www.ichbineinlink.com/}{Link}.
	\end{document}

Hier mal der Fehler der mir Angezeigt wird.

*hyperref using driver hpdftex*
(/usr/share/texmf-texlive/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2009/10/09 v6.79a Hyperref driver for pdfTeX
\Fld@listcount=\count96
) (./titlepage.sty
Package: titlepage 2010/02/05 v0.1c alpha package
\c@titlepage=\count97
\titlebox=\box27
./titlepage.sty:250: LaTeX Error: Command \AfterBeginDocument already defined.
               Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help....                                        
l.250 }
? 
./titlepage.sty:250: Emergency stop.                                                                       
l.250 }

Es wäre gut wenn man diese beiden Pakete zusammen nutzen könnte, vlt. hat jemand eine Vorschlag.

forum: 

Lade hier und auch grundsätzlich das Paket "hyperref" als letztes Paket.

...Rolf

Bild von Markus Kohm

Wenn man hier hyperref als letztes Paket lädt, gibt es zwar zunächst keinen Fehler, dafür funktioniert aber eventuell nicht alles, wie es soll.
Bessere Lösung: In titlepage.tex alle \AfterBeginDocument durch \AtBeginDocumentOrNow ersetzen und mit diesem gepatchten titlepage.tex dann die Dateien neu erzeugen und die neu erzeugten Dateien installieren.

Bild von Markus Kohm

Ich habe gerade eine neue Version von titlepage bereit gestellt. Die einzige Änderung darin ist, dass die Anweisung nun \NowButAfterBeginDocument heißt. Etwas unhandlicher Name, aber es gibt AFAIK nun keine Kollision mehr mit anderen Paketen.

Vielen Dank für die schnelle Hilfe.
Habe die erforderliche Stelle gepatched und das Paket wird nun als letztes geladen, siehe da alles funktioniert.

Comments for "KOMA-Script titlepage und hyperref arbeiten nicht zusammen" abonnieren