Временное удаление `\ChapFrame`, используемого в «Заголовке главы в повернутом вертикальном поле на поле»

Временное удаление `\ChapFrame`, используемого в «Заголовке главы в повернутом вертикальном поле на поле»

Я хотел бы временно не назначать новые цветные поля для некоторых глав. Возможно ли это, например, с помощью или сбросом команды \ChapFrame?

решение1

Я предполагаю, что вы имеете в виду \ChapFrameкоманду, приведенную вthis answerкНазвание главы в повернутом вертикальном поле на полях.. В этом случае ответ — да, вы можете условно активировать/деактивировать рамки. Небольшой пример:

\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}

введите описание изображения здесь

Я определил логический переключатель для активации/деактивации фреймов; изначально логический переключатель равен true, поэтому фреймы рисуются. В любом месте, где вы хотите деактивировать фреймы, используйте \Framefalse(возможно, с предшествующим \clearpage). Чтобы активировать фреймы, просто используйте \Frametrue.

Я также изменил старый синтаксис для backgroundпакета, используемого в связанном ответе, на новый синтаксис. Конечно, код со старым синтаксисом все еще может быть использован.

Связанный контент