Sie sind hier

Beispiel für chapter-thumbs with KOMA-Script

Bild von Markus Kohm
Dieses Beispiel zeigt, wie man mit Hilfe von scrpage2 die Kopfzeile so umdefinieren kann, dass die Kapitelnummern in den Rand aller ungeraden Seiten gesetzt werden. Mit Hilfe des color Pakets können die Kapitelnummern dabei farbig hinterlegt und selbst auch farbig gestaltet werde. Mit Hilfe des graphicx Pakets werden die Nummern gedreht. Sie erscheinen dann so am Rand, dass dadurch ein Daumenregister entsteht. Die Kopfzeile beziehungsweise das innere Feld der Kopfzeile wird dabei als Anker für die Kapitelnummern verwendet.

Die Definition sollte für alle Klassen funktionieren, die \chapter anbieten. Sie kann wahlweise in der Dokumentpräambel, einer Wrapper-Klasse oder einem eigenen Paket vorgenommen werden. In der Dokumentpräambel muss allerdings noch ein \makeatletter vorangestellt und \makeatother nachgestellt werden.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Chapter thumbs with scrpage2
%
% Copyright 2008 Markus Kohm
% 
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
% 
% This work has the LPPL maintenance status `maintained'.
% 
% The Current Maintainer of this work is Markus Kohm.
% 
% This work consists of the code until 
% `End of chapter thumbs with scrpage2' only.
% You should not remove the link to the original code:
% <http://www.komascript.de/node/25>.
%
 
% Safty first
\@ifundefined{chapter}{\let\chapter\undefined
  \chapter must be defined to use chapter thumbs!}{%
 
% Two new commands for the width and height of the boxes with the
% chapter number at the thumbs (use of commands instead of lengths
% for sparing registers)
\newcommand*{\chapterthumbwidth}{2em}
\newcommand*{\chapterthumbheight}{1em}
 
% Two new commands for the colors of the box background and the
% chapter numbers of the thumbs
\newcommand*{\chapterthumbboxcolor}{black}
\newcommand*{\chapterthumbtextcolor}{white}
 
% New command to set a chapter thumb. I'm using a group at this
% command, because I'm changing the temporary dimension \@tempdima
\newcommand*{\putchapterthumb}{%
  \begingroup
    \Large
    % calculate the horizontal possition of the right paper border
    % (I ignore \hoffset, because I interprete \hoffset moves the page
    % at the paper e.g. if you are using cropmarks)
    \setlength{\@tempdima}{\@oddheadshift}% (internal from scrpage2)
    \setlength{\@tempdima}{-\@tempdima}%
    \addtolength{\@tempdima}{\paperwidth}%
    \addtolength{\@tempdima}{-\oddsidemargin}%
    \addtolength{\@tempdima}{-1in}%
    % putting the thumbs should not change the horizontal
    % possition
    \rlap{%
      % move to the calculated horizontal possition
      \hspace*{\@tempdima}%
      % putting the thumbs should not change the vertical
      % possition
      \vbox to 0pt{%
        % calculate the vertical possition of the thumbs (I ignore
        % \voffset for the same reasons told above)
        \setlength{\@tempdima}{\chapterthumbwidth}%
        \multiply\@tempdima by\value{chapter}%
        \addtolength{\@tempdima}{-\chapterthumbwidth}%
        \addtolength{\@tempdima}{-\baselineskip}%
        % move to the calculated vertical possition
        \vspace*{\@tempdima}%
        % put the thumbs left so the current horizontal possition
        \llap{%
          % and rotate them
          \rotatebox{90}{\colorbox{\chapterthumbboxcolor}{%
              \parbox[c][\chapterthumbheight][c]{\chapterthumbwidth}{%
                \centering
                \textcolor{\chapterthumbtextcolor}{%
                  \strut\thechapter}\\
              }%
            }%
          }%
        }%
        % avoid overfull \vbox messages
        \vss
      }%
    }%
  \endgroup
}
 
% New command, which works like \lohead but also puts the thumbs (you
% cannot use \ihead with this definition but you may change this, if
% you use more internal scrpage2 commands)
\newcommand*{\loheadwithchapterthumbs}[2][]{%
  \lohead[\putchapterthumb#1]{\putchapterthumb#2}%
}
 
% initial use
\loheadwithchapterthumbs{}
\pagestyle{scrheadings}
 
}
%
%  End of chapter thumbs with scrpage2
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Wie das ganze dann aussieht, entnehmen Sie bitte der zugehörigen PDF-Datei im chapterthumbs.pdf im Anhang. In den Beispielen aus der 3. Auflage des KOMA-Script-Buches befindet sich übrigens eine verbesserte Version dieses Pakets. Seit der 5. Auflage des KOMA-Script-Buches, gibt es in dessen Anhang eine verbesserte Fassung, die auf scrlayer statt auf scrpage2 basiert. Siehe dazu die aktuelle Auflage des KOMA-Script-Buchs (es gibt dort auch einen Link zum Download des Codes der Beispiele). Siehe bei der Verwendung jener Fassung von chapterthumb.sty ggf. auch den zusätzlichen Hinweis aus der FAQ. Da die Fassung hier ebenso veraltet ist wie die Verwendung von scrpage2 insgesamt, gibt es natürlich für diese Fassung auch keinen Support mehr!

AnhangGröße
PDF icon chapterthumbs.pdf47.97 KB

Kommentare

Bild von Markus Kohm

Umfließen von Marginalien kannst Du vergessen. Die einzig richtige Lösung ist, ggf. die Marginalienspalte schmaler zu machen, damit der Abstand zwischen Marginalien und Index groß genug wird. Dabei kann es auch sinnvoll sein, die Marginalien (teilweise) zum Textbereich zu zählen. Siehe dazu die Erklärung zu Option mpinclude in der KOMA-Script-Anleitung, scrguide.pdf.

Dass schmale Marginalienspalten problematisch im Umbruch sind, ist übrigens nicht verwunderlich. Wer Marginalienexzesse treibt, sollte sich bei Zeiten Gedanken darüber machen, wie er dieses Problem zu lösen gedenkt. KOMA-Script bietet mit \marginline dafür bereits einen ersten Ansatz. Man sollte das ggf. mit Anpassung der Schrift – eine der wenigen Gelegenheiten, bei denen condensed/narrow-Schnitte nützlich sind – und weiteren Eingriffen zusätzlich optimieren. Auch eine Verbreiterung der Marginalienspalte im Bereich des Satzspiegels wäre hier wiederum zu erwägen.

Hallo Markus!

Leider war ich in der Weihnachstzeit nicht in der Lage, zu antworten. Deshalb nun nachträglich ein frohes Neues und vielen Dank für deine Hilfe! Das mit dem Code tut mir Leid, ich habe ihn einfach ergänzt und hochgeladen - so ernst habe ich es nicht gemeint.

Viele Grüße,
Matthias

Ich möchte das Daumenkino verwenden, bekomme aber das Daumenkino auch beim Inhalts- und Abbildungsverzeichnis. Dort möchte ich es aber nicht haben. Was mache ich falsch. Als Test verwende ich:

\documentclass[12pt]{scrbook}
\usepackage[a4paper,margin=2.5cm]{geometry}
\usepackage[linkcolor=blue]{hyperref}
\usepackage{graphicx}
\usepackage{lscape}
\usepackage{listings}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{titlepage}
\usepackage{chapterthumb} 
 
\pagestyle{scrheadings}
\lohead[\putchapterthumb]{\putchapterthumb}
\addtokomafont{chapterthumb}{\bfseries} 
 
\begin{document}
\TitlePageStyle{Spacer}
\maketitle[%
  rulewidth=2pt,
  titlehead={Logo},
  title={IBHStatik},
  subtitle={Technische Dokumentation},
  publisher={Verlag},%
  author={Ulrich~Heinicke}
]
 
\tableofcontents
 
\chapter{Einleitung}
\chapter{Benötigte Software}
 
\listoffigures
 
\end{document}
Bild von Markus Kohm

Wenn Du die Kapitelmarken im Inhaltsverzeichnis nicht haben willst, solltest Du sie eben auch erst danach mit \lohead[\putchapterthumb]{\putchapterthumb} einschalten. Und wenn Du sie irgendwann nicht mehr haben willst, rufst Du eben \lohead mit anderen, beispielsweise leeren Argumenten auf. Siehe dazu auch die Forensuche, beispielsweise mit den Suchbegriffen chapterthumbs und Inhaltsverzeichnis. Ich denke, das wird da bereits weitgehend erschöpfend behandelt.

Seiten

Comments for "Beispiel für chapter-thumbs with KOMA-Script" abonnieren