You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.1 KiB
82 lines
2.1 KiB
\documentclass[a4paper]{article}
|
|
\usepackage{geometry}
|
|
|
|
\pagestyle{empty}
|
|
\usepackage{pdfpages} % for \includepdf[pages=-]
|
|
\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#3 {
|
|
\int_compare:nT { ( #1 ) <= \l_impose_total_pages_int} {
|
|
\int_compare:nT { ( #2 ) <= \l_impose_total_pages_int} {
|
|
\includepdf[pages={#1,#2 }, nup=1x2,landscape=false]{#3}
|
|
%#1 , #2 \newline
|
|
}
|
|
}
|
|
}
|
|
|
|
\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 / 4 }
|
|
\int_do_while:nn { \l_impose_counter_int < \l_impose_repetitions_int } {
|
|
\clearpage
|
|
\int_incr:N \l_impose_counter_int
|
|
|
|
|
|
\impose_get_page:nn
|
|
{ \int_eval:n {(\l_impose_counter_int-1)*4 + 1} }
|
|
{ \int_eval:n {(\l_impose_counter_int-1)*4 + 3} }
|
|
{ #2 }\newpage
|
|
|
|
\impose_get_page:nn
|
|
{ \int_eval:n {(\l_impose_counter_int-1)*4 + 2} }
|
|
{ \int_eval:n {(\l_impose_counter_int-1)*4 + 4} }
|
|
{ #2 }\newpage
|
|
|
|
%\includepdf[pages={1,3}, nup=1x2,landscape=false]{#2}
|
|
%\includepdf[pages={2,4}, nup=1x2,landscape=false]{#2}
|
|
|
|
|
|
\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[0.24mm]{booklet_auto}
|
|
|
|
\end{document}
|