Vorübergehende Entfernung von `\ChapFrame`, das in „Kapiteltitel in gedrehtem vertikalen Feld am Rand“ verwendet wird

Vorübergehende Entfernung von `\ChapFrame`, das in „Kapiteltitel in gedrehtem vertikalen Feld am Rand“ verwendet wird

Ich möchte für einige Kapitel vorübergehend keine neuen Farbfelder vergeben. Ist das möglich, z. B. über den \ChapFrameBefehl oder dessen Zurücksetzen?

Antwort1

Ich nehme an, Sie meinen den \ChapFrameBefehl inthis answerZuKapiteltitel 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}

Bildbeschreibung hier eingeben

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 backgroundin der verlinkten Antwort verwendete Paket auf die neuere Syntax umgestellt. Natürlich kann der Code mit der alten Syntax weiterhin verwendet werden.

verwandte Informationen