
Я хочу вставить некоторый контент (в моем случае таблицу) в начало каждой страницы. Кроме того, я хочу установить два "маркера" в документе так, чтобы он печатался только в начале каждой страницы между маркерами (в частности, я хочу иметь возможность пропустить его на первой странице).
Вот псевдокод, который может работать:
\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}
Не то чтобы я включил только явные \newpage
команды для создания примера. Это должно работать, если я явно вставляю новую страницу или если она генерируется автоматически
решение1
Вы можете использовать крючки:
\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}