Приветствую! Решил я тут в дизайн страниц документа поиграться. Проблема с отработкой условия. Мне нужно 4 вида водяных знака для документа, размещающихся следующим образом: 1 стр – без знаков, 2 стр – левый нижний угол, 3–(последняя-1) – левый нижний и левый верхний, последняя стр – левый верхний.
Задача на первый взгляд тривиальная. Накидал условия, а код работает не правильно. Условия работают корректно для 1, 2 и последней страницы. Для диапазона стр 3–(последняя-1) применяется водяной знак последней страницы. ЧЯДНТ?
\documentclass[a4paper,12pt, oneside]{extarticle}
\usepackage[main=russian, english]{babel}
\usepackage{tikz}
\usetikzlibrary{shapes,calc}
\usepackage[dvipsnames]{xcolor}
\definecolor{OliveGreen}{HTML}{78AB24}
\usepackage{eso-pic}
\usepackage{etoolbox}
% Включаем отслеживание последней страницы
\usepackage{zref-user,zref-abspage}
% --- Водяной знак на фоне каждой страницы ---
\AddToShipoutPictureBG{%
\ifnum\value{page}=1
% Первая страница: ничего
\else
\ifnum\value{page}=2
% Вторая страница
\begin{tikzpicture}[remember picture, overlay]
\foreach \i in {1,...,10}
{
\node[rounded corners,OliveGreen!99,draw,regular polygon,regular polygon sides=6, minimum size=\i cm,ultra thick, opacity=0.15] at ($(current page.south west)+(0,0)$) {} ;
}
\end{tikzpicture}%
\else
% Проверяем: последняя ли страница?
\ifnum\value{page}=\value{abspage}
% Последняя страница
\begin{tikzpicture}[remember picture, overlay]
\foreach \i in {1,...,10}
{
\node[rounded corners,OliveGreen!99,draw,regular polygon,regular polygon sides=6, minimum size=\i cm,ultra thick, opacity=0.15] at ($(current page.north west)+(0,0)$) {} ;
}
\end{tikzpicture}%
\else
% Страницы с 3 по предпоследнюю (т.е. page >= 3 и page < lastpage)
\ifboolexpr{
test {\ifnumgreater{\value{page}}{2}} and
test {\ifnumless{\value{page}}{\value{abspage}}}
}{
\begin{tikzpicture}[remember picture, overlay]
\foreach \i in {1,...,10}
{
\node[rounded corners,OliveGreen!99,draw,regular polygon,regular polygon sides=6, minimum size=\i cm,ultra thick, opacity=0.15] at ($(current page.north west)+(0,0)$) {} ;
}
\foreach \i in {1,...,10}
{
\node[rounded corners,OliveGreen!99,draw,regular polygon,regular polygon sides=6, minimum size=\i cm,ultra thick, opacity=0.15] at ($(current page.south west)+(0,0)$) {} ;
}
\end{tikzpicture}%
}{} % пустое "else" — не нужно
\fi
\fi
\fi
}
% ---
\usepackage{lipsum}
\begin{document}
\lipsum[2-20]
\end{document}


