Hallo zusammen

Ich lasse mein Inhaltsverzeichnis zweispaltig ausgeben:
Code:
\makeatletter
\renewcommand\tableofcontents{%
	%\section*{Inhalt}%
	\begin{multicols}{2}%
		{\@starttoc{toc}}%
	\end{multicols}
}
\makeatother
Das Problem ist allerdings, dass der Text zu nahe an die Seitenzahlen herankommt, was nicht schön aussieht. Ausserdem geht der Text bei Einträgen, die mehr als eine Zeile ausfüllen über die Zahl in der Zeile untendran hinaus.
Wie kann ich die Breite des (Text)Eintrages in einem Inhaltsverzeichnis festlegen, damit dieser umbricht und nicht zu breit wird?