Wie kann (einfach) unterschiedlicher Text über die ungeraden/geraden Seiten einer eingefügten PDF-Datei gelegt werden?

Wie kann (einfach) unterschiedlicher Text über die ungeraden/geraden Seiten einer eingefügten PDF-Datei gelegt werden?

Ich habe eine Reihe von PDF-Dateien, die ich zusammenführen möchte. So viel gelingt mir problemlos.

Außerdem muss ich in der oberen „äußeren“ Ecke jeder Seite einen kleinen Text hinzufügen, der im Wesentlichen das Originaldokument identifiziert, aus dem jede Seite stammt. Bisher ist es mir gelungen, den Text in die obere linke Ecke jeder Seite zu setzen – es gibt andere Fragen auf Stack Exchange, die sich damit befassen.

Keiner von ihnen befasst sich jedoch mit der Platzierung des Textes an einer anderen Stelle auf ungeraden und geraden Seiten - also in der oberen linken Ecke der geraden Seiten und in der oberen rechten Ecke der ungeraden Seiten. Wie kann dies erreicht werden?

\documentclass{article}

\usepackage[a4paper]{geometry}
\usepackage{pdfpages}
\usepackage{tikz}
\renewcommand{\contentsname}{My combined file}
\setlength\parindent{0pt}

\begin{document}

\includepdf[pages=-]{cover.pdf}
\includepdf[pages=2-4,pagecommand={\begin{tikzpicture}[remember picture, overlay]
    \node[right] at (-2, 2.5) {\LARGE{doc1}};
    \end{tikzpicture}}]{doc1.pdf}
% More files included here
\end{document}

Gibt es als zusätzliches Plus eine Möglichkeit, den Dateinamen des eingefügten Dokuments (automatisch) als eingefügten Text zu verwenden?

Antwort1

Dies verwendet das everypagePaket, um die Aufgabe zu erfüllen. Die Syntax lautet

\atxy{this page X}{alternate page X}{Y}{content}

Beim Aufruf auf einer ungeraden Seite ist „diese Seite X“ die X-Position des Inhalts auf ungeraden Seiten, während „alternative Seite X“ die X-Position des Inhalts auf geraden Seiten ist. Beim Aufruf auf einer geraden Seite ist es umgekehrt.

Man aktualisiert den Inhalt mit dem Makro\updateText{}

Hier ist mein MWE. Es wurde BEARBEITET, damit der Prozess bei Bedarf nach Seite 1 aufgerufen werden kann (obwohl MWE anzeigt, dass er auf Seite 1 aufgerufen wird).

\documentclass{article}
\usepackage{everypage}
\usepackage{lipsum}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\def\localX{0in}
\def\ThisX{0in}
\def\AltX{0in}
% SYNTAX \atxy{This page X}{Alt page X}{y}{content}
\newcommand\atxy[4]{%
  \def\XYtext{#4}
  \gdef\ThisX{#1}\gdef\AltX{#2}%
 \AddEverypageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+\localX\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#3\relax}{\XYtext}}}}
\AddEverypageHook{\ifdim\localX=\ThisX\gdef\localX{\AltX}\else\gdef\localX{\ThisX}\fi}
\newcommand\updateText[1]{\gdef\XYtext{#1}}
\begin{document}
\atxy{7in}{0.2in}{0.5in}{\parbox[t]{1in}{\Huge This is my initial text}}
\lipsum[1-7]
\updateText{\parbox[t]{1in}{\Huge Follow Up text}}
\lipsum[8-35]
\end{document}

Bildbeschreibung hier eingeben

Antwort2

\documentclass{article}

\usepackage[a4paper]{geometry}
\usepackage{pdfpages}
\usepackage{ifoddpage}
\usepackage{background}

\newcommand{\mypdfinclude}[2][]{%
\backgroundsetup{%
    placement=top,
    angle=0,
    nodeanchor=north east,
    color=red,
    scale=1,
    contents={%
     \checkoddpage\ifoddpage%
      \begin{tikzpicture}[remember picture,overlay]
        \node[text width=2in,anchor=north east,align=right,font=\Large] at
          ([shift={(-1cm,-1cm)}]current page.north east) {#2};
      \end{tikzpicture}
      \else
       \begin{tikzpicture}[remember picture,overlay]
        \node[text width=2in,anchor=north west,font=\Large] at ([shift={(1cm,-1cm)}]current
         page.north west) {#2};
      \end{tikzpicture}
      \fi
     }
}
\includepdf[#1]{#2}
}
\begin{document}
  \mypdfinclude[pages=2-4]{pgfmanual.pdf}
\end{document}

Bildbeschreibung hier eingeben

Antwort3

Hier ist ein weiterer Vorschlag zur Verwendung des Pakets, scrlayerum einen speziellen Seitenstil für eingefügte PDFs zu definieren.

\documentclass[a4paper]{book}

\usepackage{pdfpages}
\usepackage{xcolor}

\usepackage{scrlayer}

\newcommand{\pdfpagestext}{}
\colorlet{pdfpagescolor}{purple}

% define new layers
\DeclareNewLayer[
  foreground,
  oddpage,
  voffset=1cm,% distance from top
  hoffset=1cm,% distance from left
  width=\dimexpr\paperwidth-2cm\relax,% width of the layer
  height=2cm,% height of the layer
  contents={\parbox{\layerwidth}{\raggedleft\textcolor{pdfpagescolor}{\pdfpagestext}}}
  ]{pdfpages.odd}
\DeclareNewLayer[
  clone=pdfpages.odd,
  evenpage,
  contents={\parbox{\layerwidth}{\raggedright\textcolor{pdfpagescolor}{\pdfpagestext}}}
  ]{pdfpages.even}

% define new pagestyle
\DeclareNewPageStyleByLayers{pdfpages}{pdfpages.odd,pdfpages.even}

\newcommand*\myincludepdf[2][]{%
  \renewcommand\pdfpagestext{#2}%
  \includepdf[pagecommand=\thispagestyle{pdfpages},#1]{#2}%
}

\begin{document}
  \myincludepdf[pages=1-3]{dummy.pdf}
\end{document}

Bildbeschreibung hier eingeben

Das funktioniert auch, wenn Sie ein einseitiges Layout verwenden. Dann steht der Text auf jeder Seite automatisch am rechten (=äußeren) Rand.

\documentclass[a4paper,oneside]{book}

Bildbeschreibung hier eingeben

verwandte Informationen