[Tex/LaTex] Latex: Class scrbook Error undefined old font command \bf

captionscross-referencingkoma-script

I'm having trouble with including figures into my document without getting errors. I am not very familiar with Latex, but I have to use it in order to write my bachelor thesis. I also have to use the template the university provides us, which apparently uses scrbook and KOMA. Everytime I try to include a figure with

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\linewidth]{figures/picture.png}
    \caption{This is a picture}
    \label{fig:picture}
\end{figure}

I get the error Class scrbook Error: undefined old font command \bf... (unfortunatly the error is displayed like this, with the dots). The line at which the error occurs is the one where I want to give my figure a caption via \caption.

Is there any way I can fix this, without messing with the template? Maybe use another command or something? The point is, I need to give the figures a caption in order to reference them in the text.

Template:

\documentclass[a4paper, 11pt, twoside, openany, DIV15, BCOR15mm]{scrbook}
\KOMAoptions{cleardoublepage=empty}
%
% Packages
\usepackage{hanser}
\usepackage{textcomp}
\usepackage{listings}

\usepackage{hyperref}
\clubpenalty = 10000
\widowpenalty = 10000 \displaywidowpenalty = 10000

\parindent0.0cm
\parskip1.5ex

\bibliographystyle{geralpha}

\setcounter{secnumdepth}{2}
\setcounter{tocdepth}{2}


\definecolor{codecolor}{rgb}{0.85,0.85,0.85}
\lstloadlanguages{[ANSI]C++, Java}
\lstset{basicstyle = \ttfamily \small}
\lstset{backgroundcolor=\color{codecolor}}
\lstset{extendedchars=true} \lstset{showstringspaces = false}

\raggedbottom
\setlength{\parskip}{2.0ex}
\setlength{\parindent}{0.0cm}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{} \fancyhead[L, RO]{\small \thepage}
\fancyhead[LO]{\small \nouppercase  \leftmark}
\fancyhead[RE]{\small \nouppercase \rightmark}
\fancypagestyle{plain}{%
    \fancyhead{} %
    \renewcommand{\headrulewidth}{0pt} %
}

\setlength\abovecaptionskip          {0.4em}
\setlength\belowcaptionskip          {0.2em}

\renewcommand{\floatpagefraction}{0.99}
\raggedbottom

\begin{document}
\thispagestyle{empty}
\title{Aufbau eines Ticketsystems (Arbeitstitel)}
\date{11.~Juli~2018}
\author{, }
\maketitle

\pagenumbering{roman}
\tableofcontents

\pagenumbering{arabic}

\input{chapter1}

\end{document}

The figure is included (as shown above) in the chapter1.tex which is input in the template.

hanser.sty:

% \CheckSum{206}
% \changes{v1.0}{4. Juni 2002}{Erstellt aus hanserbuch.cls}
% \changes{v1.2}{M�rz 2003}{Kleinere Layout-Anpassungen, LE-TeX GbR}
% \changes{V1.5}{29.08.2004}{Kein Leerraum nach der Umgebung mbeweis}
%    \IndexPrologue
%      {\section*{Index}
%          Unterstrichene Seitenzahlen
%          verweisen auf die Definition, alle anderen auf die Verwendung.
%          Hinweise f�r die Erstellung des Index findet man in \cite{companion}, Seite 449.
%      }
%    \GlossaryPrologue{\section*{�nderungen}}
%
% \MakeShortVerb{\|}
% \title{hanser.sty -- Ein \LaTeX{}-package f�r Hanserb�cher}
% \author{Manfred Brill}
% \maketitle
% \section{Einleitung}
%
% Das \LaTeX-package \emph{hanser.sty} enth�lt
% die von der Seiten- und Textgr��e unabh�ngigen Angaben f�r ein Hanser-Buch in \LaTeX{}.
% Damit k�nnen diese Formatierung auch mit den Standardklassen
% wie |report| oder |article| verwendet werden. F�r das Drucken von Texten, die zum Verlag gehen
% gibt es die class-Datei |hanserbuch.cls|. Weitere Makros als Erg�nzung zu \emph{AMS}-\LaTeX{}
% sind im package |mbmath.sty| enthalten. |hanser.sty| ist so gehalten, dass im Hauptdokument
% nur noch eine entsprechende class-Datei und die beiden packages |hanser| und |mbmath| geladen werden
% m�ssen.
%
% \section{Der Initialisierungsteil}
% Die folgenden Pakete werden geladen:
% \begin{itemize}
% \item \emph{inputenc} mit der Option \emph{latin1},
% \item \emph{makeidx} f�r die Erstellung eines Index,
% \item \emph{palatino} und \emph{mathpple} f�r die Postscript Type-1 Fontfamilie Palatino,
% \item \emph{color} f�r Graustufen,
% \item \emph{amsmath, amsfonts, amssymb} und \emph{amscd} f�r das Layout der mathematischen Inhalte,
% \item \emph{mbmath} f�r Erweiterungen von \emph{AMS} \LaTeX{},
% \item \emph{theorem} f�r das Layout von theorem-Umgebungen,
% \item \emph{epsfig, epic} und \emph{eepic} f�r Grafiken,
% \item \emph{bibgerm} f�r das Literaturverzeichnis,
% \item \emph{eurosym} f�r das Euro-Symbol,
% \item \emph{supertabular} f�r mehrseitige Tabellen, insbesondere f�r das Symbolverzeichnis,
% \item \emph{multicol} f�r das zweispaltige Layout des Index.
% \item \emph{fancyhdr} f�r das Layout der Kopf-- und Fu�zeilen,
% \item \emph{caption} f�r das Layout der Tabellen- und Abbildungsbeschriftungen,
% \item \emph{float} f�r das Erzeugen von Gleitobjekten.
% \end{itemize}
% F�r Einzelheiten und Dokumentationen dieser packages wird auf den \LaTeX-Companion \cite{companion} oder die auf CTAN verf�gbare
% Information verwiesen.
%
% \section{Tabellen und Abbildungen}
% Generell gilt bei Hanser die Regel, dass Tabellenbeschriftungen immer \emph{vor} der Tabelle stehen. Als
% Font wurde |\small| eingestellt. Das Wort |Tabelle| wird zus�tzlich fett gedruckt. Tabelle \ref{tab1} zeigt
% das zu erwartende Ergebnis. Innerhalb des Textes wird der Font f�r die Tabellentexte immer auf |\small|
% gesetzt.
%
% \begin{table}[ht]
% \caption{\label{tab1}Eine Tabellenbeschrifttung}
% \small
% \begin{center}
% \begin{tabular}{ll}\hline
% Spaltenbeschriftung 1& Spaltenbeschriftung 2\\ \hline
% eins&zwei\\
% drei&vier\\ \hline
% \end{tabular}
% \end{center}
% \end{table}
% Bildbeschriftungen sind bei Hanser \emph{Unterschriften}, das hei�t sie stehen unterhalb der Abbildung.
% F�r die Fonts gilt die Bemerkung zu Tabellen entsprechend. Abbildung \ref{mux} ist \cite{mathebuch}
% entnommen.
%
% \begin{figure}[ht]
% \begin{center}
% \setlength{\unitlength}{0.5cm}
% \begin{picture}(5,3.6)(-1.0,-0.3)
% \put(0,0){\line(1,0){1.75}}
% \put(1.75,0){\vector(0,1){0.5}}
% \put(1,0.5){\framebox(1.5,3.0){}}
% \put(-0.5,-0.1){$s$}
% \put(2.5,2){\vector(1,0){1.0}}
% \put(3.6, 1.9){$m$}
% \put(0,1.5){\vector(1,0){1.0}}
% \put(0,2.5){\vector(1,0){1.0}}
% \put(-0.7,1.4){$x_0$}
% \put(-0.7,2.4){$x_1$}
% \end{picture}
% \caption{\label{mux}Eine Multiplexer-Schaltung}
% \end{center}
% \end{figure}
% Der Abstand vor Abschnitts�berschriften ist gegen�ber dem \LaTeX-Standard etwas
% vergr��ert worden.
%
% Mit |\raggedbottom| wird sichergestellt, dass die Textseiten an der Unterkante
% flattern und innerhalb der Seite kein vertikaler Raum eingef�gt wird.
% \section{Umgebungen}
% \subsection{Beweise}
% \DescribeEnv{beweis}
% Beweise werden in der |beweis| Umgebung gesetzt. Der Abschluss wird durch ein schwarzes Quadrat
% gekennzeichnet. Damit f�hrt der Absatz
%
% |\begin{beweis}|
%
% Hier kommt der mathematische Text,
% und dann das Ende.
%
% |\end{beweis}|
%
% zu folgendem Ergebnis:
%
% \begin{beweis}
% Jetzt kommt der mathematische Text, und dann das Ende.
% \end{beweis}
%
% \DescribeEnv{mbeweis}
% H�rt ein Beweis mit einer abgesetzten mathematischen Zeile auf, dann f�hrt die Verwendung von |beweis|
% zu einer unerw�nschten Leerzeile. Dies kann durch die Umgebung |mbeweis| vermieden werden. Sie ist
% identisch mit |beweis|, allerdings muss das schwarze Quadrat mit |\hfill $\blacksqare$| selbst in der Zeile
% gesetzt werden.
%
% Der Abstand nach dieser Umgebung ist der normale Paragrafenabstand.
% \subsection{Beispiele}
% \DescribeEnv{beispiel}
% Ein einzelnes Beispiel wird in der Umgebung |beispiel| eingeschlossen. Dadurch wird ein Abstand vor und
% nach dem Beispiel sichergestellt.
%
% |\begin{beispiel}|
%
% Das ist der Beispieltext zum Beispieltext.
%
% |\end{beispiel}|
%
% f�hrt zu
%
% \begin{beispiel}
% Das ist der Beispieltext zum Beispieltext.
% \end{beispiel}
%
% \DescribeEnv{beispiele}
% Mehrere Beispiele werden in einer Listenumgebung aufgef�hrt. Dabei werden die gleichen Abst�nde
% wie in der Umgebung |beispiel| verwendet.
%
% \begin{beispiel}
% |\begin{beispiele}|
%
% |\item| Erstes Beispiel.
%
% |\item| Zweites Beispiel.
%
% |\item| Noch ein Beispiel.
%
% |\end{beispiele}|
% f�hrt zu der Liste
% \begin{beispiele}
% \item Erstes Beispiel.
%
% \item Zweites Beispiel.
%
% \item Noch ein Beispiel.
%
% \end{beispiele}
% \end{beispiel}
% \section{Makros}
% \DescribeMacro{\aufgaben}
% Jedes Kapitel endet mit einer Liste von Aufgaben. Die �berschrift als |\section| wird mit |\aufgaben|
% erzeugt. Dieses Makro wurde eingef�hrt, da es zu Beginn des Projekts \cite{mathebuch}
% nicht klar war, wo die Aufgaben stehen werden.
%
% \DescribeMacro{\clearevenpage}
% Die Hauptdatei eines Buchprojekts enth�lt Include-Anweisungen f�r die einzelnen Kapitel. Falls die vorhergehende
% gerade Seite leer ist, muss sichergestellt werden, dass keine Kopfzeile ausgegeben wird.
% Dies wird mit
% \begin{center}|\clearevenpage|\end{center}
% herbeigef�hrt.
%
% \begin{beispiel}
% Die Hauptdatei f�r \cite{mathebuch} hat einen Verlauf wie
%
% $\ldots$
%
% |%Einleitung|
%
% |\include{einleitung}|
%
% |\clearevenpage|
%
% |%Kapitel Aussagenlogik|
%
% |\include{logik}|
%
% $\ldots$
% \end{beispiel}
%
% \StopEventually{
% \begin{thebibliography}{9}
%   \bibitem{companion} M. ~Goossens, F. ~Mittelbach, und A. ~Samarin:
%   \emph{Der \LaTeX{} Begleiter}, 2000, Addison-Wesley.
%   \bibitem{holzmannplate} J. ~Holzmann und J. ~Plate:
%   \emph{Linux-Server f�r Intranet und Internet}, 2002, Hanser.
%   \bibitem{mathebuch} M. ~Brill: \emph{Mathematik f�r Informatiker},
%   2001, Hanser.
% \end{thebibliography}
% }
%
% \clearpage
% \section{Die Package-Datei}
% \subsection{Die Kenndaten}
%    Zun�chst identifizieren wir das Paket und dessen aktuelle Version:
%    \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}\relax
\ProvidesPackage{hanser}[2002/06/04, (MB)]
\typeout{Hanser package, V1.0, (c) Manfred Brill}
\ProcessOptions
%    \end{macrocode}
% \subsection{Der Initialisierungsteil}
% Wir laden die folgenden Pakete:
%    \begin{macrocode}
\RequirePackage{german}
\RequirePackage[latin1]{inputenc}
\RequirePackage{palatino}
\RequirePackage{mathpple}
\RequirePackage{amsmath}
\RequirePackage{amsfonts}
\RequirePackage{amssymb}
\RequirePackage{amscd}
\RequirePackage{mbmath}
\RequirePackage{epsfig}
\RequirePackage{theorem}
\RequirePackage{makeidx}
\RequirePackage{color}
\RequirePackage{fancyhdr}
\RequirePackage{caption}
\RequirePackage{epic}
\RequirePackage{eepic}
\RequirePackage{eurosym}
\RequirePackage{bibgerm}
\RequirePackage{multicol}
\RequirePackage{supertabular}
\RequirePackage{float}
\RequirePackage[savemem]{listings}
%    \end{macrocode}
%
% \changes{V1.3}{01.06.2003}{Package float beigef�gt}
% \changes{V1.3}{01.06.2003}{Package listings mit savemem-Option beigef�gt}
% \subsection{Das Seitenlayout}

% Die Bildunterschriften werden einen Punkt kleiner gesetzt auf |\small|. Der Labelfont ist
% zus�tzlich fett gesetzt.  Nach einer Abbildung wird ein Abstand von $0.2$em verwendet.
%    \begin{macrocode}
\renewcommand{\captionfont}{\small}
\renewcommand{\captionlabelfont}{\small \bf}
\setlength\abovecaptionskip          {0.0mm}
\setlength\belowcaptionskip          {0.2em}
%    \end{macrocode}
% Der Textanteil einer Seite in \LaTeX{} ist durch das Makro |\textfraction| festgelegt. Der Default
% ist dabei $0.2$. Er wird auf $0.001$ gesetzt.
%    \begin{macrocode}
\renewcommand{\textfraction}{0.001}
%    \end{macrocode}
%
% Eine Abbildung muss mindestens einen Anteil |\floatpagefraction| einer Seite haben, um
% auf eine eigene leere Seite gesetzt zu werden. Der Default daf�r ist $0.5$. Er wird hier
% auf $0.99$ gesetzt.
%    \begin{macrocode}
\renewcommand{\floatpagefraction}{.99}
%    \end{macrocode}
% \subsection{Umgebungen}
% \begin{macro}{\section}
% \changes{v1.2}{20.03.2003}{Abstand angepasst.}
%    \begin{macrocode}
\renewcommand\section{\@startsection {section}{1}{0mm}%
                {6mm}%
                {2.8mm}%
                {\normalfont\raggedright\Large\bfseries}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\subsection}
% \changes{v1.2}{20.03.2003}{Abstand angepasst.}
%    \begin{macrocode}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                {4mm}
                {1.3mm}
                {\normalfont\large\bfseries}}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\subsubsection}
% \changes{v1.1}{20.03.2003}{Abstand angepasst.}
%    \begin{macrocode}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                {4mm}
                {0.8mm}
                {\normalfont\normalsize\bfseries}}
%    \end{macrocode}
% \end{macro}
%
% \begin{environment}{beweis}
% Beweise werden mit dem Wort |Beweis| begonnen, das fett gesetzt ist. Danach folgt
% ohne Zeilenumbruch der Text. Das Ende eines Beweises wird mit dem mathematischen Symbol |$\blacksquare$|
% angezeigt. Das Quadrat wird rechtsb�ndig gesetzt.
%
%    \begin{macrocode}
\newenvironment{beweis}%
{\begin{sloppypar}\noindent  \nopagebreak%
{\textbf{Beweis:}\nopagebreak}\\[0.0em]}%
{\hfill$\blacksquare$\end{sloppypar}\vspace{2.0ex}}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{mbeweis}
% Ein Beweis, der mit einer Formel endet, muss selbst |\blacksquare| setzen. Sonst steht die Box
% alleine, mit einer Leerzeile davor. Der Abstand von $2.0$ex wird nicht
% gesetzt.
%   \begin{macrocode}
\newenvironment{mbeweis}%
{\begin{sloppypar}\noindent  \nopagebreak%
{\textbf{Beweis:}\nopagebreak}\\[0.0em]}{\end{sloppypar}}
%    \end{macrocode}
% \end{environment}
%
% \begin{environment}{beispiel}
% Ein einzelnes Beispiel wird in der Umgebung |beispiel| gesetzt. Die Umgebung beginnt mit dem
% kursiv gesetzten Wort \emph{Beispiel} und definiert $0.5$ex Abst�nde vor und nach der Umgebung.
% F�r Listen von Beispielen gibt es die Umgebung |beispiele|, die intern eine eigene Listenumgebung
% nutzt.
% \changes{v1.1}{20.03.2003}{vspace durch vskip ersetzt, um Leerraum am Seitenanfang
%    zu vermeiden.}
%    \begin{macrocode}
\newenvironment{beispiel}%
{\vskip0.5ex\begin{sloppypar}\noindent \nopagebreak%
\emph{Beispiel:\nopagebreak}\\[0.5ex]}%
{\end{sloppypar}\vspace{0.5ex}}
%    \end{macrocode}
% \end{environment}
% \subsection{Listen}
% F�r Aufz�hlungen wird nicht das Standardsymbol benutzt, sondern eine Box mit der Farbe $50$\% grau.
% Dabei wird der \emph{AMS\LaTeX} Befehl |\Box| verwendet.  F�r die Abmessungen dieser Box
% ist die \LaTeX-L�nge |\Blen| definiert, um sicherzustellen, dass immer die gleiche Gr��e verwendet wird.
%    \begin{macrocode}
\newlength{\Blen}
% Auf Box-L�nge setzen
\settoheight{\Blen}{$\Box$}
%    \end{macrocode}
%
% Mit dieser L�nge wird die |rule|-Box auf die gleiche H�he wie die \emph{AMS} Box gesetzt und
% f�r |\labelitemi| verwendet:
%
%    \begin{macrocode}
\renewcommand{\labelitemi}{\textcolor[gray]{0.5}%
{\rule{\Blen}{\Blen}}}
%    \end{macrocode}
%
% Die Listenumgebungen wurden insbesondere in ihren L�ngen
% angepasst.
% Der linke Einzug bis zur Stufe $6$ wird gesetzt auf
%
%    \begin{macrocode}
\setlength\leftmargini                 {1.5em}
\setlength\leftmarginii                {1.75em}
\setlength\leftmarginiii               {1.5em}
\setlength\leftmarginiv                {1.25em}
\setlength\leftmarginv                 {1em}
\setlength\leftmarginvi                {1em}
%    \end{macrocode}
%
% Die Aufz�hlungspunkte werden nicht einger�ckt:
%
%    \begin{macrocode}
\setlength\labelsep                    {0.5em}
\setlength\labelwidth                  {\leftmargini}
\addtolength\labelwidth                {-\labelsep}
\setlength\topsep                      {0.0ex}
\setlength\itemsep                     {2pt plus1pt minus1pt}
\setlength\parsep                      {1pt plus1pt}
\def\@mklab#1{#1\hfil}
%    \end{macrocode}
%
% \begin{environment}{exList}
%  F�r die Aufz�hlung mehrerer Beispiele wird intern die Listenumgebung |exList| definiert.
%    \begin{macrocode}
\newenvironment{exList}%
{\begin{list}%
{\hfill $\Box$}%
{\parsep0.0ex \itemsep1.5mm%
\leftmargini1.5em \labelsep0.5em%
\setlength\labelwidth{\leftmargini}%
\addtolength\labelwidth{-\labelsep}}}%
{\end{list}}
%    \end{macrocode}
% \end{environment}
%
% \begin{environment}{beispiele}
% Mehrere Beispiele werden in einer Liste aufgef�hrt. Intern wird die Listen\-umgebung |exList| verwendet.
% Wie in der Umgebung |beispiel| wird vor und nach der Umgebung ein Abstand von $0.5$ex definiert.
% \changes{V1.4}{20.01.2004}{Kein Leerraum nach der Umgebung beispiele}
% Vorher war hier vor begin{sloppypar} \vskip0.5ex
%    \begin{macrocode}
\newenvironment{beispiele}%
{\vspace{0.5ex}\begin{sloppypar}\noindent%
\nopagebreak \emph{Beispiele:\nopagebreak}%
\begin{exList}}%
{\end{exList}\end{sloppypar}\vspace{0.5ex}}
%    \end{macrocode}
% \end{environment}
%
%  \subsection{Makros}
%
% \begin{macro}{\aufgaben}
% Die Aufgaben stehen zur Zeit am Ende jedes Kapitels.
%    \begin{macrocode}
\newcommand{\aufgaben}{ \section{Aufgaben}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\clearevenpage}
% |\clearevenpage| stellt sicher, dass eine gerade leere Seite vor einem Kapitelanfang
% gesetzt wird. Es wird |\cleardoublepage| verwendet, und vorher
% wird sichergestellt, dass keine Kopfzeile ausgegeben wird.
% Dieses Makro orientiert sich an \cite{companion}, pp. $97$.
%    \begin{macrocode}
\newcommand{\clearevenpage}%
{\newpage{\pagestyle{empty}\cleardoublepage}}
%    \end{macrocode}
% \end{macro}
%
% \subsection{Verzeichnisse}
% Die Eintr�ge in das Stichwortverzeichnis werden wie in \cite{companion} erzeugt. Das Layout des
% Stichwortverzeichnisses wurde ver�ndert, insbesondere wird die Umgebung |multicol| f�r ein
% zweispaltiges Layout verwendet, und mit
% \begin{center}|\addcontentsline{toc}|\end{center}
% ein Eintrag in das Inhaltsverzeichnis
% erzwungen.
%    \begin{macrocode}
\makeatletter
\renewenvironment{theindex}%
    {\newpage\parskip 0pt\columnseprule 0pt%
     \chapter*{Stichwortverzeichnis}%
     \markboth{\small Stichwortverzeichnis}{\small Stichwortverzeichnis}%
     \addcontentsline{toc}{chapter}{Stichwortverzeichnis}%
     \thispagestyle{plain}%
     \let\item\@idxitem%
     \begin{multicols}{2}}
    {\end{multicols}}
\renewcommand{\@idxitem}{\par\hangindent 20\p@}
\renewcommand{\subitem}{\par\hangindent 20\p@ \hspace*{10\p@}}
\renewcommand{\subsubitem}{\par\hangindent 20\p@ \hspace*{20\p@}}
\makeatother
%    \end{macrocode}
%
% \changes{V1.3}{01.06.2003}{Algorithmenliste herausgenommen}
% \Finale
\endinput

Best Answer

The hanser.sty file has

\renewcommand{\captionlabelfont}{\small \bf}

You can fix this by adding

\renewcommand{\captionlabelfont}{\small \bfseries}

just before \begin{document}.

Related Question