..png)
Meines Wissens wird der Inhalt einer Float-Umgebung in eine Box eingefügt, wenn der Float definiert wird. Ist es möglich, einen benutzerdefinierten Befehl/ein benutzerdefiniertes Makro zu verarbeiten, wenn der Float tatsächlich gesetzt wird, z. B. um ein Wasserzeichen auf dieser bestimmten Seite zu platzieren (was nicht unbedingt die Seite ist, auf der der Float definiert ist)?
Ist es notwendig, der Definition der Float-Umgebung etwas hinzuzufügen, oder kann ich innerhalb ihres Textkörpers einen Befehl verwenden?
Antwort1
Wenn Sie nur ein Wasserzeichen auf einer Seite suchen, auf der ein bestimmter Float-Typ erscheint, können Sie die Shipout-Routine nutzen mitatbegshi
und Bedingung für etwas Zählermagie mit einem Float-Zähler-Tracking-Mechanismus:
\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}
Das obige MWE erstellt einen Zähler floatcntr
, der am Ende jedes Schritts (und auf den verwiesen wird) ausgeführt wird figure
. Die Referenz wird dann beim Versand mit der Seitenzahl verglichen und bei einer Übereinstimmung wird Hintergrundinhalt angezeigt.
Vorbehalt: Das obige Setup geht von nicht mehr als zwei figure
s pro Seite aus. Wenn mehr vorhanden sind (höchst unwahrscheinlich), können einige Änderungen erforderlich sein.