.png)
Насколько мне известно, содержимое среды float помещается в поле, когда float определен. Возможно ли обработать пользовательскую команду/макрос, когда float фактически набран, например, чтобы поместить водяной знак на эту конкретную страницу (которая не обязательно является страницей, на которой определен float)?
Нужно ли что-то добавлять в определение среды float или можно использовать какую-то команду внутри ее тела?
решение1
Если вам нужен водяной знак только на странице, где отображается определенный тип плавающего объекта, то вы можете воспользоваться процедурой отправки, используяatbegshi
и условие на некоторую контрмагию с механизмом отслеживания счетчика с плавающей точкой:
\documentclass{article}
\usepackage{atbegshi,refcount,etoolbox,graphicx,xcolor}
\usepackage{lipsum,afterpage}
\newcounter{floatcntr}
\AtEndEnvironment{figure}{\refstepcounter{floatcntr}\label{floatcntr@\roman{floatcntr}}}
\newcounter{floatsearch}\setcounter{floatsearch}{1}
\AtBeginShipout{%
\ifnum\value{page}>\getpagerefnumber{floatcntr@\roman{floatsearch}}
\stepcounter{floatsearch}% In case there are multiple (2) floats on the same page
\fi
\ifnum\value{page}=\getpagerefnumber{floatcntr@\roman{floatsearch}}
\AtBeginShipoutUpperLeft{%
\parbox[t]{\pdfpagewidth}{\centering\bfseries\sffamily%
\vspace{.4\pdfpageheight}%
\resizebox{.7\pdfpagewidth}{!}{\textcolor{red!80}{DRAFT}}}
}%
\stepcounter{floatsearch}
\fi
}
\begin{document}
\lipsum[1-3]
\begin{figure}[ht]
\centering\includegraphics[width=.6\linewidth]{example-image}
\caption{A figure}
\end{figure}
\lipsum[4-12]
\afterpage{\clearpage}% Just to flush the float
\begin{figure}[p]
\centering\includegraphics[width=.6\linewidth]{example-image}
\caption{A figure}
\end{figure}
\lipsum[13-25]
\end{document}
Вышеуказанный MWE создает счетчик floatcntr
, который шагает (и ссылается) в конце каждого figure
. Затем ссылка сравнивается с номером страницы при отправке, и при совпадении отображается некоторый фоновый контент.
Предостережение: Приведенная выше настройка предполагает не более двух figure
s на страницу. Если их больше (что крайне маловероятно), могут потребоваться некоторые изменения.