PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bilder im tableofcontents/Inhaltsverzeichnis



rafael
06-12-2009, 14:15
Anstatt der Numerierung möchte die kapitel im Inhaltsverzeichnis (und die Kapitelausgabe im Text) mit Bildern bestücken. Dazu habe ich einfach das Bild in die toc-datei eingeschrieben. Jetzt sehe ich aber bei der Formatierung kein Land mehr.
So soll es aussehen: Das Bild wird links gesetzt und der Kapitelname soll rechts auf der selben Höhe wie der obere Bildrand erscheinen.
Für die gleiche Formatierung des Kapitels im Text mit titlesec habe ich ebenfalls keine Vorstellung einer Umsetzung.


\documentclass[draft]{book}
\RequirePackage{xifthen,calc,graphicx}

%%Inhaltsverzeichnis
\RequirePackage{tocloft}
\setcounter{tocdepth}{0}
\newcommand{\BILD}{}
\newcommand{\Kapitel}[2]{\renewcommand{\BILD}{#1}\addtocontents{toc}{\prot ect\includegraphics[width=0.2\textwidth]{\BILD}}
\chapter{#2}}

%%Sectionen setzen
\RequirePackage{titlesec}\setcounter{secnumdepth}{ 0}
\titleformat{\chapter}%
[display]% shape
{\normalfont\Large\sffamily}% format applied to label+text
{\includegraphics[width=0.2\textwidth]{\BILD}}% label
{0pt}% horizontal separation between label and title body
{\large\slshape}% before the title body
[
]% after the title body

\begin{document}
\tableofcontents

\Kapitel{bild}{Das ist ein Kapitel}

\end{document}

Dank für jeden Hinweis

mechanicus
07-12-2009, 18:53
Hallo,

mit tocstyle ist es relativ einfach möglich:

\documentclass[demo]{book}
\RequirePackage{xifthen,calc,graphicx}

%%Inhaltsverzeichnis
% \RequirePackage{tocloft}
\usepackage{tocstyle}
\setcounter{tocdepth}{0}
\newcommand{\BILD}{}
\usetocstyle{standard}
\settocfeature[toc][0]{entryhook}{\raisebox{-.5\height}{\includegraphics[width=0.2\textwidth]{\BILD}\quad}}
\newcommand{\Kapitel}[2]{\renewcommand{\BILD}{#1}\chapter{#2}}

%%Sectionen setzen
\RequirePackage{titlesec}\setcounter{secnumdepth}{ 0}
\titleformat{\chapter}%
[display]% shape
{\normalfont\Large\sffamily}% format applied to label+text
{\includegraphics[width=0.2\textwidth]{\BILD}}% label
{0pt}% horizontal separation between label and title body
{\large\slshape}% before the title body
[
]% after the title body

\begin{document}
\tableofcontents

\Kapitel{bild}{Das ist ein Kapitel}
\Kapitel{bild}{Das ist ein Kapitel}
\end{document}

Warum nimmst du eigentlich keine KOMA-Klasse?

Gruß
Marco

rafael
09-12-2009, 12:04
Hallo Marcus,

danke für deine Antwort.

Hallo,
mit tocstyle ist es relativ einfach möglich:

das freut mich, obwohl ich die tocstyle-doku nur schlecht verstehe.

Auf den ersten Blick sieht das auch erfolgreich aus, wenn ich allerdings richtige Bilder verwende, dann klappt das Beispiel leider nicht mehr. Die Infos über die Dateinamen werden nämlich nicht in die \jobname.toc Datei übernommen. Dort findet sich allein:

\contentsline {chapter}{\numberline {1}Das ist ein Kapitel}{3}
\contentsline {chapter}{\numberline {2}Das ist ein Kapitel}{5}

Vielleicht fehlt mir da der Überblick von tocstyle, um das ganze noch zusammenzubringen

mechanicus
09-12-2009, 16:38
Hi,

vielleicht so:

\documentclass{book}
\RequirePackage{xifthen,calc,graphicx}
\makeatletter
\newcommand{\BILD}{}
\newcommand\IncludeBild{}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\IncludeBild\quad\protect\numberline{\thechapter} #1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\makeatother
\RequirePackage{titlesec}\setcounter{secnumdepth}{ 0}
\titleformat{\chapter}%
[display]% shape
{\normalfont\Large\sffamily}% format applied to label+text
{\includegraphics[width=0.2\textwidth]{\BILD}}% label
{0pt}% horizontal separation between label and title body
{\large\slshape}% before the title body
[
]% after the title body


\newcommand{\Kapitel}[2]{\gdef\BILD{#1}
\IfFileExists{\BILD.png}{\gdef\IncludeBild{\protec t\includegraphics[width=0.2\textwidth]{\BILD}}}{%
\IfFileExists{\BILD.jpg}{\gdef\IncludeBild{\protec t\includegraphics[width=0.2\textwidth]{\BILD}}}{%
\IfFileExists{\BILD.pdf}{\gdef\IncludeBild{\protec t\includegraphics[width=0.2\textwidth]{\BILD}}}{%
KEIN BILD
}}}\chapter{#2}}

\begin{document}
\tableofcontents
\Kapitel{bild}{Das ist ein Kapitel}
\Kapitel{bild2}{Das ist ein Kapitel}
\end{document}

Gruß
Marco