Broschüre - Ausgleich bei Korrekturschnitt nach dem Druck

Fragen zum richtigen Zitieren oder zum richtigen Format, dann gehört es hier rein.
Custos
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 14. Jun 2016, 18:09

Broschüre - Ausgleich bei Korrekturschnitt nach dem Druck

Beitrag von Custos »

Hallo zusammen,
ich habe ein Problem bei der Erstellung einer Broschüre im DIN A5-Format.
Zunächst erstelle ich ein PDF-Dokument in DIN A5. Dann möchte ich das Dokument so auf einem DIN A4 Blatt anordnen, dass man mithilfe eines normalen Druckers im Duplexdruck eine Broschüre erstellen kann, die z.B. mit Heftklammern oder einer Fadenheftung verbunden werden kann. Dies erreiche ich mit dem Paket „pdfpages“. Hier habe ich nun in einem neuen tex-Dokument folgenden Befehl eingefügt:

Code: Alles auswählen

\includepdf[pages={-}, nup=2x1, booklet=true]{datei.pdf}
Soweit klappt alles gut. Die Sortierung der Seiten entspricht meinen Wünschen.
Nun zu meinem Problem: Wenn nun das Dokument insgesamt z.B. mehr als 50 Seiten hat, kann es passieren, dass bei der Heftung die inneren Seiten außen überstehen. Dies wird z.B. in der Druckerei dadurch behoben, indem man die überstehenden Seiten abschneidet. Dies sind etwa 2-3 mm, die dann fehlen. Dies hat aber zur Folge, dass ein eventueller Text, der relativ nah am Seitenrand steht, bei den inneren Blättern abgeschnitten wird.
Gibt es eine Möglichkeit, dass die Seiten, die in der Mitte der Broschüre sind, ein klein wenig automatisch nach innen verschoben werden, so dass - auch wenn die Seiten nach dem Druck geschnitten werden - in der gesamten Broschüre der gleiche äußere Seitenrand gegeben ist?
Ich hoffe, ich konnte mein Problem verständlich machen.

Liebe Grüße und vielen Dank!

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Das Phänomen, von dem du sprichst heißt Bundzuwachs (im Englischen scheinbar creep), mit diesen Begriffen kannst du ja nochmal auf die Suche gehen. Ich wüsste in TeX keine fertige Lösung, die das Problem angeht, aber man kann sich da was bauen:

Code: Alles auswählen

\documentclass[a4paper,landscape]{article}
\usepackage{geometry}

\pagestyle{empty}

\usepackage{xparse}
\usepackage{graphicx}
\usepackage{tikz}
   \usetikzlibrary{calc}
   \tikzset{
      every node/.style = {
         inner sep = 0pt,
         anchor = north west,
      }
   }

\ExplSyntaxOn

\int_new:N \l_impose_repetitions_int
\int_new:N \l_impose_counter_int
\dim_new:N \l_impose_creep_dim

\NewDocumentCommand { \MakeBooklet } { O{0mm} m m } {
   \int_zero:N \l_impose_counter_int
   \dim_zero:N \l_impose_creep_dim
   \int_set:Nn \l_impose_repetitions_int { #3 / 2 }
   \int_do_while:nn { \l_impose_counter_int < \l_impose_repetitions_int } {
      \clearpage
      \int_incr:N \l_impose_counter_int
      \begin{tikzpicture}[remember~picture, overlay]
         \node at ($
            (current~page.north)
            -
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \includegraphics[
               width = 0.5\paperwidth,
               page = \int_use:N \l_impose_counter_int
            ] { #2 }
         };
         \node at ($
            (current~page.north~west)
            +
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \includegraphics [
               width = 0.5\paperwidth,
               page = \int_eval:n { #3 - \l_impose_counter_int + 1 }
            ] { #2 }
         };
      \end{tikzpicture}
      \clearpage
      \int_incr:N \l_impose_counter_int
      \begin{tikzpicture}[remember~picture, overlay]
         \node at ($
            (current~page.north~west)
            +
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \includegraphics[
               width = 0.5\paperwidth,
               page = \int_use:N \l_impose_counter_int
            ] { #2 }
         };
         \node at ($
            (current~page.north)
            -
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \includegraphics [
               width = 0.5\paperwidth,
               page = \int_eval:n { #3 - \l_impose_counter_int + 1 }
            ] { #2 }
         };
      \end{tikzpicture}
      \dim_set:Nn \l_impose_creep_dim {
         #1 * \l_impose_counter_int / 2
      }
   }
}

\ExplSyntaxOff


\begin{document}

% #1 = Verschiebung pro Bogen
% #2 = Dateiname
% #3 = Seitenzahl (muss durch 4 teilbar sein!)
\MakeBooklet[2mm]{16-seiter}{16}

\end{document}
Grade fehlt mir die Zeit, die Implementierung zu erklären, aber vielleicht steigst du ja selber durch :-) ansonsten frag gerne nach!

Edit: PS: Meine Testdateien habe ich angehängt
Dateianhänge
impose.zip
(96.05 KiB) 357-mal heruntergeladen
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Nachtrag: Ich würde bei ner Broschüre, bei der der Bandzuwachs auffallend groß ist aber eher ne Klebebindung in Betracht ziehen.
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

Custos
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 14. Jun 2016, 18:09

Beitrag von Custos »

Hallo iTob,
herzlichen Dank für Deine ausführliche Antwort.
Gibt es auch die Möglichkeit, dass selbstständig erkannt wird,

a) wieviele Seite das Ausgangsdokument hat und
b) wieviele Seite hinzugefügt werden müssen, damit die Gesamtanzahl durch vier teilbar ist?

Ideal wäre dann nämlich, wenn automatisch Leerseiten hin eingefügt würden. Dies würde die Arbeit deutlich erleichtern.
Kann ich auch eine Wert bei der Verschiebung von < 1 mm angeben?

Vielen Dank für Deine Hilfe!

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Hi … sorry viel zu tun grad, deswegen im ersten Ansatz nicht dabei. Hier eine vollautomatische Implementierung ;-)

Code: Alles auswählen

\documentclass[a4paper,landscape]{article}
\usepackage{geometry}

\pagestyle{empty}

\usepackage{xparse}
\usepackage{graphicx}
\usepackage{tikz}
   \usetikzlibrary{calc}
   \tikzset{
      every node/.style = {
         inner sep = 0pt,
         anchor = north west,
      }
   }

\ExplSyntaxOn

\int_new:N \l_impose_repetitions_int
\int_new:N \l_impose_counter_int
\dim_new:N \l_impose_creep_dim
\int_new:N \l_impose_total_pages_int
\int_new:N \l_impose_total_pages_to_four_int

\cs_new:Npn \impose_get_page:nn #1#2 {
   \int_compare:nT { ( #1 ) <= \l_impose_total_pages_int } {
      \includegraphics [
         width = 0.5\paperwidth,
         page = #1,
      ] { #2 }
   }
}

\NewDocumentCommand { \MakeBooklet } { O{0mm} m } {
   \int_zero:N \l_impose_counter_int
   \dim_zero:N \l_impose_creep_dim
   \pdfximage { #2 .pdf }
   \int_set:Nn \l_impose_total_pages_int
      { \the \pdflastximagepages }
   \int_compare:nTF { \int_mod:nn { \l_impose_total_pages_int } { 4 } != 0 } {
      \int_set:Nn \l_impose_total_pages_to_four_int
         { \l_impose_total_pages_int + 4 - \int_mod:nn { \l_impose_total_pages_int } { 4 } }
   } {
      \int_set_eq:NN \l_impose_total_pages_to_four_int \l_impose_total_pages_int
   }
   \int_set:Nn \l_impose_repetitions_int
      { \l_impose_total_pages_to_four_int / 2 }
   \int_do_while:nn { \l_impose_counter_int < \l_impose_repetitions_int } {
      \clearpage
      \int_incr:N \l_impose_counter_int
      \begin{tikzpicture}[remember~picture, overlay]
         \node at ($
            (current~page.north)
            -
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \impose_get_page:nn
               { \int_use:N \l_impose_counter_int }
               { #2 }
         };
         \node at ($
            (current~page.north~west)
            +
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \impose_get_page:nn
               { \int_eval:n { \l_impose_total_pages_to_four_int - \l_impose_counter_int + 1 } }
               { #2 }
         };
      \end{tikzpicture}
      \clearpage
      \int_incr:N \l_impose_counter_int
      \begin{tikzpicture}[remember~picture, overlay]
         \node at ($
            (current~page.north~west)
            +
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \impose_get_page:nn
               { \int_use:N \l_impose_counter_int }
               { #2 }
         };
         \node at ($
            (current~page.north)
            -
            (\dim_use:N \l_impose_creep_dim, 0)
         $) {
            \impose_get_page:nn
               { \int_eval:n { \l_impose_total_pages_to_four_int - \l_impose_counter_int + 1 } }
               { #2 }
         };
      \end{tikzpicture}
      \dim_set:Nn \l_impose_creep_dim {
         #1 * \l_impose_counter_int / 2
      }
   }
}

\ExplSyntaxOff


\begin{document}

% #1 = Verschiebung pro Bogen (optional)
% #2 = Dateiname (ohne Endung!). Datei muss eine PDF sein!
\MakeBooklet[2mm]{16-seiter}

\end{document}
Und die Verschiebung kann jeden beliebigen Wert haben (sogar negative Werte gehen, auch wenn das praktisch keine Anwendung hat)

Viele Grüße
Tobi
Dateianhänge
impose_v2.zip
(203.2 KiB) 288-mal heruntergeladen
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

Custos
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 14. Jun 2016, 18:09

Beitrag von Custos »

Hallo iTob,
das war genau das, was ich gesucht habe. Dir vielen Dank für Deine Unterstützung - es klappt alles wunderbar!

Ich setzte dann den Status mal auf "beantwortet".

Antworten