Last active
December 21, 2022 16:47
-
-
Save mschlenker/f60e0f15ff1edfc4881c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\documentclass[a4paper]{article} | |
\usepackage{ngerman} | |
\usepackage[latin1]{inputenc} | |
\usepackage[T1]{fontenc} | |
\usepackage{mathpazo} | |
% QR package: https://www.ctan.org/tex-archive/macros/latex/contrib/qrcode | |
\usepackage[final]{qrcode} | |
% Es ist überhaupt nicht schön, article zu vergewaltigen, | |
% aber es funktioniert... | |
\setlength{\topmargin}{-2.54cm} | |
\setlength{\headheight}{0em} | |
\setlength{\headsep}{0em} | |
\setlength{\evensidemargin}{-2.54cm} | |
\setlength{\oddsidemargin}{-2.54cm} | |
\setlength{\textheight}{29cm} | |
\setlength{\textwidth}{21cm} | |
\usepackage{ae} | |
% Der Autor hat Bitstream Vera installiert und verwendet dafür | |
% einen anderen Zeilenabstand | |
% \renewcommand{\sfdefault}{Vera} | |
% \renewcommand{\baselinestretch}{1.2} | |
% Maßeinheit bitte belassen | |
\unitlength=0.1mm | |
% Hier bitte die eigenen Daten eintragen... | |
\def\name{Donald Duck} | |
\def\uri{http://www.donaldduck.de/} | |
\def\email{donald@donaldduck.de/} | |
\def\phone{+49 851 123 45 67} | |
\def\street{Emil-Erpel-Str. 23} | |
\def\city{12567 Entenhausen} | |
\begin{document} | |
% Einige Koordinaten auf dem Papier... | |
% | |
% Sofern nicht anders angegeben, sind Koordinaten relativ | |
% zum linken oberen Eck der Karte. Eine Erhöhung des X-Wertes | |
% verschiebt ein Element nach rechts, eine Verringerung des | |
% Y-Wertes (größere negative Zahl) schiebt es nach unten. | |
% | |
% Passen Sie bitte zuerst \xstart und \ystart so an, daß | |
% die linke obere Ecke mit der Bruchkante im Karton passt. | |
% Anschließend folgt die Breite und die Höhe einzelner | |
% Karten (\vwidth und \vheight). | |
% | |
% Ist das erledigt, können Sie die Trennlinien, den Namen, | |
% den URI und das mittlere Textfeld (eine Minipage) | |
% verschieben. | |
% Kreuzchen drucken | |
\newif\ifcrosses\global\crossestrue | |
% Kreuzchen nicht drucken | |
% \newif\ifcrosses\global\crossesfalse | |
% Startposition links oben | |
\newcount\xstart\global\xstart=75 | |
\newcount\ystart\global\ystart=2665 | |
% Höhe und Breite einzelner Karten | |
\newcount\vwidth\global\vwidth=920 | |
\newcount\vheight\global\vheight=-515 | |
% Anzahl der Zeilen und Spalten | |
\newcount\xcards\global\xcards=2 | |
\newcount\ycards\global\ycards=5 | |
% Positionen der Linien auf Karte, rel. zum Kreuzchen | |
\newcount\xlineup\global\xlineup=75 | |
\newcount\ylineup\global\ylineup=-130 | |
% relativ zum Y der oberen Linie | |
\newcount\ylinedwn\global\ylinedwn=-300 | |
% Position des Namens | |
\newcount\xname\global\xname=75 | |
\newcount\yname\global\yname=-120 | |
% Position der URI | |
\newcount\xuri\global\xuri=75 | |
\newcount\yuri\global\yuri=-460 | |
% Position des Adresskastens | |
\newcount\xadr\global\xadr=75 | |
\newcount\yadr\global\yadr=-220 | |
% Position des QR Codes | |
\newcount\xqr\global\xqr=68 | |
\newcount\yqr\global\yqr=-290 | |
% Hilfsvariablen -- hier nicht drehen | |
\newcount\auxx\global\auxx=0 | |
\newcount\auxy\global\auxy=0 | |
\newcount\xcrosses\global\xcrosses=\xcards | |
\newcount\ycrosses\global\ycrosses=\ycards | |
\advance\xcrosses by 1 | |
\advance\ycrosses by 1 | |
\newcount\x\global\x=1 | |
\newcount\y\global\y=1 | |
\sffamily | |
\thispagestyle{empty} | |
\begin{picture}(2095.00, 2895.00) | |
\ifcrosses | |
\auxx=\xstart | |
\auxy=\ystart | |
\loop | |
{ | |
\loop | |
\put(\auxx,\auxy){\line(1,0){20}} | |
\advance\auxx by 10 | |
\advance\auxy by -10 | |
\put(\auxx,\auxy){\line(0,1){20}} | |
\advance\auxx by -10 | |
\advance\auxy by 10 | |
\advance\auxx by \vwidth | |
\ifnum \x<\xcrosses \advance \x by 1 \repeat | |
} | |
\advance\auxy by \vheight | |
\ifnum \y<\ycrosses \advance \y by 1 \repeat | |
\fi | |
\auxx=\xstart | |
\auxy=\ystart | |
\y=1 | |
\x=1 | |
\loop | |
{ | |
\loop | |
% obere Linie | |
\advance\auxx by \xlineup | |
\advance\auxy by \ylineup | |
\put(\auxx,\auxy){\line(1,0){800}} | |
% untere Linie | |
\advance\auxy by \ylinedwn | |
\put(\auxx,\auxy){\line(1,0){800}} | |
% Rücksetzen aller Koordinaten | |
\advance\auxx by -\xlineup | |
\advance\auxy by -\ylineup | |
\advance\auxy by -\ylinedwn | |
% Namen | |
\advance\auxx by \xname | |
\advance\auxy by \yname | |
\put(\auxx,\auxy){\large \textbf{\name}} | |
% Rücksetzen aller Koordinaten | |
\advance\auxx by -\xname | |
\advance\auxy by -\yname | |
% URL | |
\advance\auxx by \xuri | |
\advance\auxy by \yuri | |
\put(\auxx,\auxy){\footnotesize{\uri}} | |
% Rücksetzen aller Koordinaten | |
\advance\auxx by -\xuri | |
\advance\auxy by -\yuri | |
% Kasten mit Adresse | |
\advance\auxx by \xadr | |
\advance\auxy by \yadr | |
\put(\auxx,\auxy){ | |
\begin{minipage}[t]{7.8cm} | |
\raggedleft | |
\phone \\ | |
\street \\ | |
\ \\ | |
\city | |
\end{minipage} | |
} | |
% Rücksetzen aller Koordinaten | |
\advance\auxx by -\xadr | |
\advance\auxy by -\yadr | |
% QR Code | |
\advance\auxx by \xqr | |
\advance\auxy by \yqr | |
\put(\auxx,\auxy){ | |
\qrset{height=2.8cm} | |
\qrcode{\uri} | |
} | |
% Rücksetzen aller Koordinaten | |
\advance\auxx by -\xqr | |
\advance\auxy by -\yqr | |
% | |
\advance\auxx by \vwidth | |
\ifnum \x<\xcards \advance \x by 1 \repeat | |
} | |
\advance\auxy by \vheight | |
\ifnum \y<\ycards \advance \y by 1 \repeat | |
\end{picture} | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment