Skip to content

Instantly share code, notes, and snippets.

@rfde
Last active October 19, 2018 12:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rfde/ba0a18962a3e3d13fc72813214320043 to your computer and use it in GitHub Desktop.
Save rfde/ba0a18962a3e3d13fc72813214320043 to your computer and use it in GitHub Desktop.
#!/bin/bash
if [ "$#" -ne 2 ]; then
echo "Illegal number of parameters"
echo "USAGE: karo file.pdf title"
exit 1
fi
KAROTEMPDIR=$(mktemp -d)
PDFBASENAME=$(basename "$1")
PDFBASENAMEWITHOUTEXTENSION=${PDFBASENAME%.*}
CURRENTDIR=$(pwd)
cp "$1" "$KAROTEMPDIR/"
cd "$KAROTEMPDIR"
cat << _EOF > "$KAROTEMPDIR/karo.tex"
\documentclass[fontsize=11pt,landscape]{scrreprt}
% Seitenränder
\usepackage[left=0.2cm,right=4.5cm,top=1.2cm,bottom=11cm]{geometry}
\paperwidth=25.47cm
\paperheight=11.78cm
% Umlaute
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% Für deutsches Datumsformat (in der Kopfzeile)
\usepackage[ngerman]{babel}
% Grafiken und PDFs
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{transparent}
\usepackage{eso-pic}
\usepackage{pdfpages}
\usepackage{fourier}
% Titel, Datum (für Kopfzeile und ggf. Titelseite)
\title{$2}
\date{\today}
\author{}
% Titel, Datum "sichern"
\makeatletter
\let\titel\@title%
\let\datum\@date%
\let\autor\@author%
\makeatother
% Kopf- und Fußzeile, Seitenzahl im Kreis
\usepackage[automark]{scrpage2}
\renewcommand*{\headfont}{\normalfont}
\pagestyle{scrheadings}
\ihead[\titel]{\titel}
\ohead[\datum]{\textit{\datum}}
\ofoot[\pagemark]{\pagemark}
\cfoot[]{}
% END Kopf-/Fußzeile
\begin{document}
% Titelseite
%\maketitle
% Karomuster und Lochmarke
\AddToShipoutPicture{
% Karomuster (ca. 5mm)
\put(0,\LenToUnit{-1.3cm}){
\parbox[b][\paperheight]{\paperwidth}{
\vfill
% Intensität der Linien
% Wähle einen Wert zwischen 0 (unsichtbar) und 1 (pechschwarz)
% (Standard: 0.3)
{\transparent{0.3}\includegraphics[angle=-90]{a4karo.pdf}}
\vfill
}
}
% Lochmarke
%\put(\LenToUnit{0mm},\LenToUnit{148.5mm}){\rule{20pt}{0.5pt}}
}
% Je nach Ausgangs-PDF und persönlichem Geschmack ist hier ggf.
% noch etwas Feintuning bzgl. Größe, Abstand und Ausrichtung nötig
% Beachte dazu auch die Doku von pdfpages:
% https://www.ctan.org/pkg/pdfpages
\includepdf[pagecommand={\thispagestyle{scrheadings}},pages={-},noautoscale,width=0.56\paperwidth,keepaspectratio,offset=-5cm 0cm,delta=0 0,frame=true]{$PDFBASENAME} % Hier PDF-File angeben!
\end{document}
_EOF
base64 -d << _EOF > a4karo.pdf
JVBERi0xLjUKJbXtrvsKMyAwIG9iago8PCAvTGVuZ3RoIDQgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRl
RGVjb2RlCj4+CnN0cmVhbQp4nH2WS24bQQwF9zrFXMBM808eI0fIIvE6zv2BkJgsLCF+0GoE6hXY
bNbo9+Nc+/l4v779ONf7n4cXEx+5ypiqr0NSfr3dT3x9/Lx+PTyCWj9X8GuFC6UXLNEiL8wRI2MY
wvOtGgqxDjoBOVb3AwBZJCU7THElN4Ul2qSJQeLEjUHMdASCdJouFwTSEooMmBIzogNPV91IFYPs
EDsGTdNdGDRNF0OQdFJoohQpJQuHKdEk+HaLz4wYg6bpNgySoEwMYiHvQiDuIpNAKVxGAm8U56GT
mDM998GceUh4LVmS3BuWsJJWIk7PgJhRSDkdhZhpuAJSPCgaUmyGA70iRWpQgmzECTMOFGQ7ScI2
7p/9K7jr9Xq7v/1cIOu3QhW8epPniidI9toNRGSt2xAk81YbgPiajVGGrdhQsynrNUjh1RqknLUa
okTdUvuaEnk7DWT4Ki1Qhq3RIEVWaJDC6zNIOaszRPG6bfY1xXNllijD12WOMnRFBTN4PQUzzmrK
QIXVaqoAxXItFSjD11KQYmspSNG1FKTwWgpSzpw6N6BorabQ3mquptCZ6nTbDSnT7UgGZShTvG72
cwYnGTowPTOWgwQj1cSKLCbTbKNdkDiUBSE2U3nd6+dbavtKRtsiKmSGTkOO0WlkMZ5mW5DFZqqU
hizGweSve/1MsZnKgRRVepX6cwE3HUd64Wm2CkmsZypQ2EH+uvUvniQNRLCatxdC6AyEHXXRVAYd
OW8uRBAumj+o/634/vgL1a3NjwplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKICAgNTcyCmVuZG9i
agoyIDAgb2JqCjw8CiAgIC9FeHRHU3RhdGUgPDwKICAgICAgL2EwIDw8IC9DQSAxIC9jYSAxID4+
CiAgID4+Cj4+CmVuZG9iago1IDAgb2JqCjw8IC9UeXBlIC9QYWdlCiAgIC9QYXJlbnQgMSAwIFIK
ICAgL01lZGlhQm94IFsgMCAwIDU5NS4yNzU1NzQgODQxLjg4OTc3MSBdCiAgIC9Db250ZW50cyAz
IDAgUgogICAvR3JvdXAgPDwKICAgICAgL1R5cGUgL0dyb3VwCiAgICAgIC9TIC9UcmFuc3BhcmVu
Y3kKICAgICAgL0kgdHJ1ZQogICAgICAvQ1MgL0RldmljZVJHQgogICA+PgogICAvUmVzb3VyY2Vz
IDIgMCBSCj4+CmVuZG9iagoxIDAgb2JqCjw8IC9UeXBlIC9QYWdlcwogICAvS2lkcyBbIDUgMCBS
IF0KICAgL0NvdW50IDEKPj4KZW5kb2JqCjYgMCBvYmoKPDwgL0NyZWF0b3IgKGNhaXJvIDEuMTQu
MCAoaHR0cDovL2NhaXJvZ3JhcGhpY3Mub3JnKSkKICAgL1Byb2R1Y2VyIChjYWlybyAxLjE0LjAg
KGh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZykpCj4+CmVuZG9iago3IDAgb2JqCjw8IC9UeXBlIC9D
YXRhbG9nCiAgIC9QYWdlcyAxIDAgUgo+PgplbmRvYmoKeHJlZgowIDgKMDAwMDAwMDAwMCA2NTUz
NSBmIAowMDAwMDAwOTg2IDAwMDAwIG4gCjAwMDAwMDA2ODYgMDAwMDAgbiAKMDAwMDAwMDAxNSAw
MDAwMCBuIAowMDAwMDAwNjY0IDAwMDAwIG4gCjAwMDAwMDA3NTggMDAwMDAgbiAKMDAwMDAwMTA1
MSAwMDAwMCBuIAowMDAwMDAxMTc4IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgOAogICAvUm9v
dCA3IDAgUgogICAvSW5mbyA2IDAgUgo+PgpzdGFydHhyZWYKMTIzMAolJUVPRgo=
_EOF
pdflatex karo.tex
pdflatex karo.tex
mv karo.pdf "$CURRENTDIR/${PDFBASENAMEWITHOUTEXTENSION}_k.pdf"
echo "$CURRENTDIR/${PDFBASENAMEWITHOUTEXTENSION}_k.pdf"
cd "$CURRENTDIR"
rm -r "$KAROTEMPDIR"
echo "ok."
#!/bin/bash
if [ "$#" -ne 2 ]; then
echo "Illegal number of parameters"
echo "USAGE: karo file.pdf title"
exit 1
fi
KAROTEMPDIR=$(mktemp -d)
PDFBASENAME=$(basename "$1")
PDFBASENAMEWITHOUTEXTENSION=${PDFBASENAME%.*}
CURRENTDIR=$(pwd)
cp "$1" "$KAROTEMPDIR/"
cd "$KAROTEMPDIR"
cat << _EOF > "$KAROTEMPDIR/karo.tex"
\documentclass[fontsize=11pt,paper=a4]{scrreprt}
% Seitenränder
\usepackage[left=1.5cm,right=1cm,top=2cm,bottom=1cm,includefoot]{geometry}
% Umlaute
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% Für deutsches Datumsformat (in der Kopfzeile)
\usepackage[ngerman]{babel}
% Grafiken und PDFs
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{transparent}
\usepackage{eso-pic}
\usepackage{pdfpages}
\usepackage{fourier}
% Titel, Datum (für Kopfzeile und ggf. Titelseite)
\title{$2}
\date{\today}
\author{}
% Titel, Datum "sichern"
\makeatletter
\let\titel\@title%
\let\datum\@date%
\let\autor\@author%
\makeatother
% Kopf- und Fußzeile, Seitenzahl im Kreis
\usepackage[automark, headsepline]{scrpage2}
\renewcommand*{\headfont}{\normalfont}
\pagestyle{scrheadings}
\ihead[\titel]{\titel}
\ohead[\datum]{\textit{\datum}}
\ofoot[\pagemark]{\pagemark}
\cfoot[]{}
% END Kopf-/Fußzeile
\begin{document}
% Titelseite
%\maketitle
% Karomuster und Lochmarke
\AddToShipoutPicture{
% Karomuster (ca. 5mm)
\put(0,\LenToUnit{-1.3cm}){
\parbox[b][\paperheight]{\paperwidth}{
\vfill
% Intensität der Linien
% Wähle einen Wert zwischen 0 (unsichtbar) und 1 (pechschwarz)
% (Standard: 0.3)
{\transparent{0.3}\includegraphics{a4karo.pdf}}
\vfill
}
}
% Lochmarke
%\put(\LenToUnit{0mm},\LenToUnit{148.5mm}){\rule{20pt}{0.5pt}}
}
% Je nach Ausgangs-PDF und persönlichem Geschmack ist hier ggf.
% noch etwas Feintuning bzgl. Größe, Abstand und Ausrichtung nötig
% Beachte dazu auch die Doku von pdfpages:
% https://www.ctan.org/pkg/pdfpages
\includepdf[nup=1x2,
pagecommand={\thispagestyle{scrheadings}},
pages=-,
noautoscale,
width=0.55\paperwidth,
keepaspectratio,
offset=-3.7cm 2.3cm,
delta=0 4.8cm,
frame=true]{$PDFBASENAME}
\end{document}
_EOF
base64 -d << _EOF > a4karo.pdf
JVBERi0xLjUKJbXtrvsKMyAwIG9iago8PCAvTGVuZ3RoIDQgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRl
RGVjb2RlCj4+CnN0cmVhbQp4nH2WS24bQQwF9zrFXMBM808eI0fIIvE6zv2BkJgsLCF+0GoE6hXY
bNbo9+Nc+/l4v779ONf7n4cXEx+5ypiqr0NSfr3dT3x9/Lx+PTyCWj9X8GuFC6UXLNEiL8wRI2MY
wvOtGgqxDjoBOVb3AwBZJCU7THElN4Ul2qSJQeLEjUHMdASCdJouFwTSEooMmBIzogNPV91IFYPs
EDsGTdNdGDRNF0OQdFJoohQpJQuHKdEk+HaLz4wYg6bpNgySoEwMYiHvQiDuIpNAKVxGAm8U56GT
mDM998GceUh4LVmS3BuWsJJWIk7PgJhRSDkdhZhpuAJSPCgaUmyGA70iRWpQgmzECTMOFGQ7ScI2
7p/9K7jr9Xq7v/1cIOu3QhW8epPniidI9toNRGSt2xAk81YbgPiajVGGrdhQsynrNUjh1RqknLUa
okTdUvuaEnk7DWT4Ki1Qhq3RIEVWaJDC6zNIOaszRPG6bfY1xXNllijD12WOMnRFBTN4PQUzzmrK
QIXVaqoAxXItFSjD11KQYmspSNG1FKTwWgpSzpw6N6BorabQ3mquptCZ6nTbDSnT7UgGZShTvG72
cwYnGTowPTOWgwQj1cSKLCbTbKNdkDiUBSE2U3nd6+dbavtKRtsiKmSGTkOO0WlkMZ5mW5DFZqqU
hizGweSve/1MsZnKgRRVepX6cwE3HUd64Wm2CkmsZypQ2EH+uvUvniQNRLCatxdC6AyEHXXRVAYd
OW8uRBAumj+o/634/vgL1a3NjwplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKICAgNTcyCmVuZG9i
agoyIDAgb2JqCjw8CiAgIC9FeHRHU3RhdGUgPDwKICAgICAgL2EwIDw8IC9DQSAxIC9jYSAxID4+
CiAgID4+Cj4+CmVuZG9iago1IDAgb2JqCjw8IC9UeXBlIC9QYWdlCiAgIC9QYXJlbnQgMSAwIFIK
ICAgL01lZGlhQm94IFsgMCAwIDU5NS4yNzU1NzQgODQxLjg4OTc3MSBdCiAgIC9Db250ZW50cyAz
IDAgUgogICAvR3JvdXAgPDwKICAgICAgL1R5cGUgL0dyb3VwCiAgICAgIC9TIC9UcmFuc3BhcmVu
Y3kKICAgICAgL0kgdHJ1ZQogICAgICAvQ1MgL0RldmljZVJHQgogICA+PgogICAvUmVzb3VyY2Vz
IDIgMCBSCj4+CmVuZG9iagoxIDAgb2JqCjw8IC9UeXBlIC9QYWdlcwogICAvS2lkcyBbIDUgMCBS
IF0KICAgL0NvdW50IDEKPj4KZW5kb2JqCjYgMCBvYmoKPDwgL0NyZWF0b3IgKGNhaXJvIDEuMTQu
MCAoaHR0cDovL2NhaXJvZ3JhcGhpY3Mub3JnKSkKICAgL1Byb2R1Y2VyIChjYWlybyAxLjE0LjAg
KGh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZykpCj4+CmVuZG9iago3IDAgb2JqCjw8IC9UeXBlIC9D
YXRhbG9nCiAgIC9QYWdlcyAxIDAgUgo+PgplbmRvYmoKeHJlZgowIDgKMDAwMDAwMDAwMCA2NTUz
NSBmIAowMDAwMDAwOTg2IDAwMDAwIG4gCjAwMDAwMDA2ODYgMDAwMDAgbiAKMDAwMDAwMDAxNSAw
MDAwMCBuIAowMDAwMDAwNjY0IDAwMDAwIG4gCjAwMDAwMDA3NTggMDAwMDAgbiAKMDAwMDAwMTA1
MSAwMDAwMCBuIAowMDAwMDAxMTc4IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgOAogICAvUm9v
dCA3IDAgUgogICAvSW5mbyA2IDAgUgo+PgpzdGFydHhyZWYKMTIzMAolJUVPRgo=
_EOF
pdflatex karo.tex
pdflatex karo.tex
mv karo.pdf "$CURRENTDIR/${PDFBASENAMEWITHOUTEXTENSION}_k.pdf"
echo "$CURRENTDIR/${PDFBASENAMEWITHOUTEXTENSION}_k.pdf"
cd "$CURRENTDIR"
rm -r "$KAROTEMPDIR"
echo "ok."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment