
Ich möchte am Anfang jeder Seite Inhalt (in meinem Fall eine Tabelle) einfügen. Außerdem möchte ich im Dokument zwei „Marker“ setzen, so dass der Inhalt nur am Anfang jeder Seite zwischen den Markern gedruckt wird (insbesondere möchte ich ihn auf der ersten Seite weglassen können).
Hier ist ein Pseudocode, wie es funktionieren könnte:
\documentclass{article}
\usepackage{tabularray}
\usepackage{geometry}
\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[R]{\small Header}
\fancyfoot[C]{\small Header}
\fancyhead[L]{\small Header}
\pagestyle{fancy}
\usepackage{lipsum}
%\AtBeginDocument{
\AtEveryPageFromMarkerAtoB{
\begin{center}
\begin{tblr}{hlines,vlines,width=\linewidth,colspec={XXX}}
A table & containing & some stuff \\
large enough & not to fit & into \\
a header & & \\
\end{tblr}
\end{center}
}
\begin{document}
%% On the first page the header should be ommitted, or more general it should start on the page with marker A
\lipsum
\markerA
\newpage
%% From here on, the table should be inserted automatically to the beginning of every page
\lipsum
\newpage
\lipsum
%% From now on the table should be ommited.
\markerB
\lipsum
\newpage
\lipsum
\end{document}
Nicht, dass ich nur die expliziten \newpage
Befehle eingefügt habe, um ein Beispiel zu erstellen. Es sollte funktionieren, egal ob ich explizit eine neue Seite einfüge oder ob sie automatisch generiert wird
Antwort1
Sie könnten Hooks verwenden:
\documentclass{article}
\usepackage{tabularray}
\usepackage{geometry}
\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[R]{\small Header}
\fancyfoot[C]{\small Header}
\fancyhead[L]{\small Header}
\pagestyle{fancy}
\usepackage{lipsum}
\begin{document}
%% On the first page the header should be ommitted, or more general it should start on the page with marker A
\lipsum
\AddToHook{shipout/before}[foo]{
\begin{center}
\begin{tblr}{hlines,vlines,width=\linewidth,colspec={XXX}}
A table & containing & some stuff \\
large enough & not to fit & into \\
a header & & \\
\end{tblr}
\end{center}
}
\newpage
%% From here on, the table should be inserted automatically to the beginning of every page
\lipsum
\newpage
\lipsum
\RemoveFromHook{shipout/before}[foo]
\lipsum
\newpage
\lipsum
\end{document}