
Ich möchte für einige Kapitel vorübergehend keine neuen Farbfelder vergeben. Ist das möglich, z. B. über den \ChapFrame
Befehl oder dessen Zurücksetzen?
Antwort1
Ich nehme an, Sie meinen den \ChapFrame
Befehl inthis answer
ZuKapiteltitel in gedrehtem vertikalen Feld am Rand. In diesem Fall lautet die Antwort ja, Sie können die Frames bedingt aktivieren/deaktivieren. Ein kleines Beispiel:
\documentclass{book}
\usepackage{background}
\usetikzlibrary{calc}
\usepackage{ifthen}
\usepackage{lipsum}
\pagestyle{plain}
\newif\ifFrame
\Frametrue
% background common settings
\backgroundsetup{
scale=1,
angle=0,
opacity=1,
contents={}
}
% auxiliary counter
\newcounter{chapshift}
\addtocounter{chapshift}{-1}
% the list of colors to be used (add more if needed)
\newcommand\BoxColor{%
\ifcase\thechapshift blue!30\or red!30\or olive!30\or magenta!30\else yellow!30\fi}
% the main command; the mandatory argument sets the color of the vertical box
\newcommand\ChapFrame{%
\AddEverypageHook{%
\ifFrame
\ifthenelse{\isodd{\value{page}}}
{\backgroundsetup{contents={%
\begin{tikzpicture}[overlay,remember picture]
\node[
fill=\BoxColor,
inner sep=0pt,
rectangle,
text width=2cm,
text height=4cm,
align=center,
anchor=north east
]
at ($ (current page.north east) + (-0cm,-2*\thechapshift cm) $)
{\rotatebox{90}{\hspace*{.3cm}%
\parbox[c][1.5cm][t]{3.4cm}{%
\raggedright\textcolor{black}{\scshape\leftmark}}}};
\end{tikzpicture}}}%
}
{\backgroundsetup{contents={%
\begin{tikzpicture}[overlay,remember picture]
\node[
fill=\BoxColor,
inner sep=0pt,
rectangle,
text width=2cm,
text height=4cm,
align=center,
anchor=north west
]
at ($ (current page.north west) + (-0cm,-2*\thechapshift cm) $)
{\rotatebox{90}{\hspace*{.3cm}%
\parbox[c][1.5cm][t]{3.4cm}{%
\raggedright\textcolor{black}{\scshape\leftmark}}}};
\end{tikzpicture}}}
}
\BgMaterial%
\fi%
}%
\stepcounter{chapshift}
}
% redefinition of \chaptermark to contain only the title
\renewcommand\chaptermark[1]{\markboth{\thechapter.~#1}{}}
\begin{document}
\chapter[intro]{Introduction}
\ChapFrame
\lipsum[1-7]
\chapter{Results}
\ChapFrame
\lipsum[1-7]
\chapter{Discussion}
\Framefalse
\lipsum[1-7]
\chapter{Conclusion}
\Frametrue
\ChapFrame
\lipsum[1-7]
\end{document}
Ich habe einen Booleschen Schalter zum Aktivieren/Deaktivieren der Rahmen definiert; anfänglich ist der Boolesche Wert wahr, sodass die Rahmen gezeichnet werden. An jeder Stelle, an der Sie die Rahmen deaktivieren möchten, verwenden Sie \Framefalse
(möglicherweise mit einem vorangestellten \clearpage
). Zum Aktivieren der Rahmen verwenden Sie einfach \Frametrue
.
Ich habe außerdem von der alten Syntax für das background
in der verlinkten Antwort verwendete Paket auf die neuere Syntax umgestellt. Natürlich kann der Code mit der alten Syntax weiterhin verwendet werden.