У меня проблема, когда TOC на более чем одной странице портит tikz-позиционирование для остальной части pdf. Пример:
Заголовок перемещен в нижнюю часть страницы, где он обычно находится в верхней части страницы.
Теперь перейдем к коду: загрузите заголовок на страницу следующим образом:
\begin{document}
\input{graphics/pagestyle/titlepage.tex}
\pagecolor{none}
\newpage
\AddToShipoutPicture{\BackgroundPic}
\tableofcontents
\BackgroundPic определяется следующим образом:
\usepackage{kpfonts}
\usepackage[explicit]{titlesec}
\newcommand*\headerbg{
{\begin{tikzpicture}[remember picture,overlay]
\node[yshift=-3cm] at (current page.north west)
{\begin{tikzpicture}[remember picture, overlay]
\draw[fill=WLEBlue1] (0,0) rectangle
(\paperwidth,3cm);
\node (label) at (10,1.5){
\includegraphics[width=660pt]{graphics/pagestyle/header_bg.png}
};
\node (label) at (1.4,1.5){
\includegraphics[width=60pt]{graphics/pagestyle/WLE_Logo.png}
};
\end{tikzpicture}
};
\end{tikzpicture}
}
}
\usepackage{eso-pic}
\newcommand\BackgroundPic{
\headerbg
\put(0,0){
\parbox[b][\paperheight]{\paperwidth}{%
\vfill
\centering
\begin{tikzpicture}[remember picture,overlay]
\node at (-10,12.5)
{\begin{tikzpicture}[remember picture, overlay]
\draw [WLEBlue1, fill=WLEBlue1] (0,0) -- (0.05,0) -- (0.05,-22.2) -- (0.25,-22.2) -- (0.25, -23) -- (0, -23);
\end{tikzpicture}
};
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]
\node at (8.5,12.5)
{\begin{tikzpicture}[remember picture, overlay]
\draw [WLEBlue1, fill=WLEBlue1] (-1, -23) -- (0, -23) -- (0, -22) -- (-0.08, -22) -- (-0.08, -22.92) -- (-1, -22.92);
\end{tikzpicture}
};
\end{tikzpicture}
\vfill
}}}
\newpage
Он работает отлично, когда TOC всего 1 страница, а когда 2 страницы, он глючит. Любая помощь будет высоко оценена! Заранее спасибо.
Обновлять:Некоторое время назад опубликовал это как комментарий, но решил перенести его сюда для большей наглядности:Здесьонлайн-версия на ShareLatex, демонстрирующая проблему. Вы можете увидеть и отредактировать там пример кода и скомпилировать его для себя.
Обновлять:Пробовал убрать вложенность TikzPictures, но это не помогло. Код без вложенных картинок:
\newcommand*\headerbg{
\begin{tikzpicture}[overlay]
\node(base) at (current page.north west) {};
\node at ($(base)+(9.1,0.7)$){
\includegraphics[width=660pt]{header_bg.png}
};
\node at ($(base)+(0.5,0.7)$){
\includegraphics[width=60pt]{WLE_Logo.png}
};
\end{tikzpicture}
}
Обновлять:Проблема вызвана стилем главы. Удаление стиля главы устраняет проблему.
\newcommand*\chapterlabel{}
\titleformat{\chapter}
{\gdef\chapterlabel{}
\normalfont\sffamily\Huge\bfseries\scshape}
{\gdef\chapterlabel{\thechapter\ }}{0pt}
{\begin{tikzpicture}[remember picture,overlay]
\node at (0,0)
{\begin{tikzpicture}[remember picture, overlay]
\draw[WLEBlue2, fill=WLEBlue2] (0,0) rectangle
(\textwidth,1cm);
\node[
inner xsep=1ex,
text width=\linewidth-2*\pgfkeysvalueof{/pgf/inner xsep},
align=left] at (9,0.5)
{\color{white}\chapterlabel#1};
\end{tikzpicture}
};
\end{tikzpicture}
}
решение1
Исправлено, проблема была в стиле главы. Я удалилзапомнить картинкуопции на tikzpictures, которые, кажется, решили проблему. Я не совсем уверен, почемузапомнить картинкуопция может вызвать эту проблему.
\newcommand*\chapterlabel{}
\titleformat{\chapter}
{\gdef\chapterlabel{}
\normalfont\sffamily\Huge\bfseries\scshape}
{\gdef\chapterlabel{\thechapter\ }}{0pt}
{\begin{tikzpicture}[overlay]
\node at (0,0)
{\begin{tikzpicture}[overlay]
\draw[WLEBlue2, fill=WLEBlue2] (0,0) rectangle
(\textwidth,1cm);
\node[
inner xsep=1ex,
text width=\linewidth-2*\pgfkeysvalueof{/pgf/inner xsep},
align=left] at (9,0.5)
{\color{white}\chapterlabel#1};
\end{tikzpicture}
};
\end{tikzpicture}
}