% chapterthumb.sty
% 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 this file only.
%-----------------------------------------------------------------------
\ProvidesPackage{chapterthumb}%
  [2016/02/01 v0.3a unsupported LaTeX package]
\ProcessOptions\relax
\RequirePackage{graphicx,color}
\RequirePackage{scrlayer}
\newcommand*{\firstchapterthumbskip}{.05\paperheight}
\newcommand*{\lastchapterthumbskip}{\firstchapterthumbskip}
\newcommand*{\chapterthumbheight}{2em}
\newcommand*{\chapterthumbwidth}{.2\paperheight}
\newcommand*{\chapterthumbskip}{.1\paperheight}
\newcommand*{\chapterthumbboxcolor}{black}
\newcommand*{\chapterthumbcolor}{white}
\newcommand*{\chapterthumbformat}{\@chapapp~\thechapter}
\newkomafont{chapterthumb}{\normalfont\Large\sffamily}
\newcommand*{\chapterthumbbox}{%
  \if@mainmatter
    \ifnum\value{chapter}>\z@
      \ifnum \value{chapterthumb}<\z@
      \else
        \begingroup
          \protected@edef\reserved@a{\chapterthumbformat}%
          \ifx\reserved@a\lastchapterthumbformat\else
            \stepcounter{chapterthumb}%
            \global\let\lastchapterthumbformat\reserved@a
          \fi
          \@tempcnta=\numexpr 
            \dimexpr 
              \paperheight
              -\firstchapterthumbskip
              -\chapterthumbwidth
              -\lastchapterthumbskip
            \relax / \dimexpr 
                       \chapterthumbskip 
                     \relax
            +1
          \relax
          \ifnum \value{chapterthumb}<\@tempcnta
          \else
            \setcounter{chapterthumb}{0}%
          \fi
          \vspace*{%
            \dimexpr 
              \firstchapterthumbskip
              + ( \chapterthumbskip )
                * \value{chapterthumb}%
              - \baselineskip
            \relax
          }\par
          \hfill
          \makebox[0pt][r]{%
            \rotatebox[origin=tl]{90}{%
              \setlength{\fboxsep}{0pt}%
              \colorbox{\chapterthumbboxcolor}{%
                \parbox[c][\chapterthumbheight][c]%
                {\chapterthumbwidth}{%
                  \centering
                  \color{\chapterthumbcolor}%
                  \usekomafont{chapterthumb}{%
                    \chapterthumbformat
                  }}}}}%
        \endgroup
      \fi
    \fi
  \fi
}
\newcounter{chapterthumb}
\setcounter{chapterthumb}{10000}
\newcommand*{\lastchapterthumbformat}{\relax}
\DeclareNewLayer[%
  background,%
  oddpage,%
  rightmargin,%
  contents=\chapterthumbbox
]{chapterthumb}
\endinput
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "chapterthumbexample"
%%% End: 
