Meine Visitenkarte mit LuaLaTeX
(TeXlive 2024, TeXstudio 4.8.1, Linux Mint 21.3 Xfce - Virginia)
(Stand: 10. Aug. 2024)
Nach Anregungen, besonders von: http://www.karol-koziol.net/tex/card.zip
Statt abzutippen oder herauszukopieren sind die Dateien hier herunterladbar:
Visitenkarte.tex - erstellt eine A4-Seite mit 12 Visitenkarten, beidseitig bedruckt.
Logo.tex - erstellt das Logo für die Visitenkarten.
QR.tex - erstellt den QR-Code für die Visitenkarten.
Ich habe alles mit TeXstudio erstellt. Die Generierung der pdf-Dateien funktioniert aber auch von der shell mit
- lualatex Visitenkarte.tex
- lualatex Logo.tex
- lualatex QR.tex
Hinweise:
- Werden Logo.pdf und QR.pdf erstellt und in dasselbe Verzeichnis gestellt, erfolgt anschließend die Generierung der A4-Seite mit den Visitenkarten wesentlich schneller.
- Die Zeit zur Erstellung kann in einer Linux-Bash so gemesen werden:
\time -o Visitenkarte_time.txt -p lualatex Visitenkarte.tex > Visitenkarte_log.txt
(Der Backslash bei \time ist erforderlich, Visitenkarte_time.txt enthält die Zeiten und Visitenkarte_log.txt die Zeichen, welche sonst am Bildschirm zu sehen wären)
Visitenkarte.tex
% !TeX root = Visitenkarte.tex
% !TeX spellcheck = de_DE
% !TeX encoding = UTF-8
% !TeX TS-program = lualatex
% !TeX TXS-program:bibliography = biblatex
% Ende magic comment's für TeXstudio
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
%%% beidseitig bedruckte A4-Seite mit 12 Visitenkarten, Stand: 2024-08-10
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% In dieser Datei Visitenkarte.tex wird auch der
%%% auf der Visitenkarte stehende Text definiert.
%%%
%%% Wenn die Datei Logo.pdf nicht existiert wird hier auch die Grafik erzeugt
%%% und auf der Vorderseite eingebunden, aber nicht abgespeichert.
%%%
%%% Die Datei Logo.pdf wird mit Logo.tex erzeugt.
%%%
%%% Wenn die Datei QR.pdf nicht existiert wird hier auch die Grafik erzeugt
%%% und auf der Rückseite eingebunden, aber nicht abgespeichert.
%%%
%%% Die Datei QR.pdf wird mit QR.tex erzeugt.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% was noch fehlt:
%%% - Automatische Berechnung von Spalten-, Zeilenanzahl und Justage
%%% - Bei Bedarf Höhe und Breite der Schnittkreuze trennen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% die seitliche Justage der Seiten ist vom Drucker abhängig
%%% mein Drucker: Canon MX 925
%%% Drucken > Seite einrichten:
%%% Beidseitig: kurzer Rand (Umdrehen)
%%% Ausrichtung: Querformat
%%% Normgröße Visitenkarte: 55 mm x 85 mm
%%% Schnittrand um jede Visitenkarte einstellen auf Zeile 82
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[
% paper=a4, % A4-Papierformat (efault)
fontsize=9pt, % Schriftgröße papersize (DIV=calc)
paper=landscape, % Ausrichtung quer, sonst portrait
% version=last, % letzte KOMA-Version verwenden (default)
BCOR=0 mm, % Bindungskorrektur
DIV=13, % calc, wird wegen {geometry} ignoriert
parskip=half-, % -=letzte Zeile des Absatzes darf beliebig gefüllt sein
]{scrartcl}
\usepackage[ % Seitenränder einstellen:
left=5.0 mm,
right=5.0 mm,
top=5.0 mm,
bottom=8.0 mm
]{geometry}
\usepackage{polyglossia}% % Alternative zu babel für LuaLaTeX und XeLaTeX
\setdefaultlanguage{ngerman} % \setdefaultlanguage[variant|spelling|script|...]{german|ngerman}
\usepackage{graphicx} % erweiterte Grafikfunktionen
\usepackage{microtype} % Justage Zeichenabstände, Ligaturen, Sperrsatz für pdfTeX
\usepackage{twemojis} % verschiedene Symbole
\usepackage{tikz} % Zeichnung: hier Rahmnen um Schrift
\usetikzlibrary{intersections} % Schnittpunkte von Kurven in TikZ berechnen
\usepackage{verbatim} % Abschnitte auskommentieren
\usepackage{qrcode} % QR-Code erzeugen
\usepackage{calc} % Berechnungen ermöglichen
%\usepackage{showframe} % Ränder anzeigen für debug
%\renewcommand*\ShowFrameColor{\color{red!50!yellow}} % Farbe der Ränder ändern
\newlength{\kartenbreite} % Breite einer einzelnen Visitenkarte
\setlength{\kartenbreite}{92.0 mm} % Breite = 92,0 mm
\newlength{\kartenhöhe} % Höhe einer einzelnen Visitenharte
\setlength{\kartenhöhe}{45.0 mm} % Höhe = 45.0 mm
\newlength{\schnitt} % Verschnitt um jede Visitenkarte
\setlength{\schnitt}{1.0 mm} % oben, unten, links und rechts
\newlength{\kreuz} % Länge eines Trennkreuzstegs, jeweils
\setlength{\kreuz}{10.0 mm} % oben, unten, links und rechts
\newlength{\weit} % Breite einer Visitenkarte mit Verschnitt
\newlength{\hoch} % Höhe einer Visitenharte mit Verschnitt
\setlength{\weit}{\kartenbreite + 2\schnitt} % Breite = 92,0 mm + 2*Verschnitt = 94 mm
\setlength{\hoch}{\kartenhöhe + 2\schnitt} % Höhe = 45.0 mm + 2*Verschnitt = 47 mm
\newcommand{\spalten}{3} % Spaltenanzahl
\newcommand{\zeilen}{4} % Zeilenanzahl
\newlength{\justage} % seitliche Justage der Seite, damit sich vordere
\setlength{\justage}{0.5 mm} % und hinterere Schnittlinien decken
\author{Andreas Horn}
\date{2024-08-10}
\newcommand{\vorname}{Vorname}
\newcommand{\name}{Nachname}
\newcommand{\beruf}{Berufe,\ spezielle\ Kenntnisse\ und\ sonstige\ Fähigkeiten}
\newcommand{\strasse}{Diese\ Str.\ 123}
\newcommand{\plz}{12345}
\newcommand{\ort}{Seebad\ Dieser\ Ort}
\newcommand{\region}{Bundesland}
\newcommand{\deutschland}{Deutschland}
\newcommand{\tel}{+49\ 1234\ 567890}
\newcommand{\mobil}{+49\ 123\ 4567\ 890}
\newcommand{\email}{Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. }
\newcommand{\webseite}{https://webseite.de}
% Vorsicht, die folgenden Texte dürfen nicht zu lang werden, sonst gibt es
% im Rahmen der Visitenkarten-Vorderseite ein automatischer Zeilenumbruch:
\newcommand{\zweck}{Zweck\ dieses\ Angebots}
\newcommand{\fach}{unterstützte\ Fachrichtungen}
\newcommand{\spezial}{spezielle\ Einschränkungen\ dabei}
\newcommand{\hinweisA}{1.\ Zeile\ als\ Hinweis.}
\newcommand{\hinweisB}{2.\ Zeile\ als\ Hinweis.}
\newcommand{\motto}{Mathematik\ ist\ die\ Grundlage\ jeder\ Naturwissenschaft}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beginn Logo
\newcommand{\logo}{%
% grauer Hintergrund (14.0 mm * 14.0 mm):
\fill [lightgray] (\j*\weit-\weit+74.0 mm, \i*\hoch-\hoch+26.3 mm)
rectangle (\j*\weit-\weit+88.0 mm, \i*\hoch-\hoch+40.3 mm);
% Funktion:
\newcommand{\myfunktion}{(0.44*\x, 0.17/\x)};
% Teile der Koordinatenachsen links und unten:
\draw [blue, line width=0.5 mm]
(\j*\weit-\weit+75.0 mm, \i*\hoch-\hoch+30.0 mm)--
(\j*\weit-\weit+77.0 mm, \i*\hoch-\hoch+30.0 mm)--
(\j*\weit-\weit+77.0 mm, \i*\hoch-\hoch+28.0 mm);
% Teile der Koordinatenachsen rechts und oben:
\draw [blue, line width=0.5 mm, name path=xyP]
(\j*\weit-\weit+86.0 mm, \i*\hoch-\hoch+30.0 mm)--
(\j*\weit-\weit+77.0 mm, \i*\hoch-\hoch+30.0 mm)--
(\j*\weit-\weit+77.0 mm, \i*\hoch-\hoch+39.0 mm);
% Funktion zeichnen:
\draw [
domain=0.08 mm:0.6 mm, % Begrenzung der Auswertung für die unabhängige Variable (hier: \x)
smooth, % glatt
color=blue,
line width=0.5 mm,
name path=myFkt, % für Berechnung der Schraffur erforderlich
% Positionierung, von linker Seite nach rechts verschoben:
right=\j*\weit-\weit+77.0 mm,
% Positionierung, von Unterkante nach oben verschoben:
above=\i*\hoch-\hoch+30.0 mm,
]
plot (\myfunktion);
% Schraffur vorbereiten:
% Punkte auf den Koordinatenachsen oben und rechts:
\coordinate (A1) at (\j*\weit-\weit+77.0 mm, \i*\hoch-\hoch+35.0 mm);
\coordinate (A2) at (\j*\weit-\weit+77.0 mm, \i*\hoch-\hoch+33.0 mm);
\coordinate (A3) at (\j*\weit-\weit+77.0 mm, \i*\hoch-\hoch+31.0 mm);
\coordinate (A4) at (\j*\weit-\weit+78.0 mm, \i*\hoch-\hoch+30.0 mm);
\coordinate (A5) at (\j*\weit-\weit+80.0 mm, \i*\hoch-\hoch+30.0 mm);
\coordinate (A6) at (\j*\weit-\weit+82.0 mm, \i*\hoch-\hoch+30.0 mm);
% Verlängerung des A-Pfades um 4 mm nach oben und nach rechts:
\coordinate (SP) at (4.0 mm, 4.0 mm);
% Pfade für Schnittpunktberechnung:
\path [name path=P1] (A1) -- +(SP);
\path [name path=P2] (A2) -- +(SP);
\path [name path=P3] (A3) -- +(SP);
\path [name path=P4] (A4) -- +(SP);
\path [name path=P5] (A5) -- +(SP);
\path [name path=P6] (A6) -- +(SP);
% Schnittpunktberechnung:
\path [name intersections = {of = myFkt and P1}] (intersection-1) coordinate (S1);
\path [name intersections = {of = myFkt and P2}] (intersection-1) coordinate (S2);
\path [name intersections = {of = myFkt and P3}] (intersection-1) coordinate (S3);
\path [name intersections = {of = myFkt and P4}] (intersection-1) coordinate (S4);
\path [name intersections = {of = myFkt and P5}] (intersection-1) coordinate (S5);
\path [name intersections = {of = myFkt and P6}] (intersection-1) coordinate (S6);
% Schraffur zeichnen:
\draw [blue, line width=0.5 mm] (A1) -- (S1);
\draw [blue, line width=0.5 mm] (A2) -- (S2);
\draw [blue, line width=0.5 mm] (A3) -- (S3);
\draw [blue, line width=0.5 mm] (A4) -- (S4);
\draw [blue, line width=0.5 mm] (A5) -- (S5);
\draw [blue, line width=0.5 mm] (A6) -- (S6);
% Beschriftung der Funktion
\node [scale=0.3 mm, color=blue] at (\j*\weit-\weit+83.0 mm, \i*\hoch-\hoch+36.0 mm)
{$\textbf{\textit f(x)}$};
}
% Ende Logo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beginn QR-Code
\newcommand{\qrinhalt}{%
BEGIN:VCARD\?%
VERSION:2.1\?%
N:\name;\vorname;;;\?%
FN:\vorname\ \name\?%
TITLE:\beruf\?%
NOTE:\zweck;\ \fach;\ \spezial\?%
ADR;TYPE=HOME:;;\strasse;\ort;\region;\plz;\deutschland\?%
TEL;TYPE=HOME:\tel\?%
TEL;TYPE=CELL;PREF:\mobil\?%
EMAIL:\email\?%
URL:\webseite\?%
REV:20240810T183000Z\?%
END:VCARD%
}
\newcommand{\qrbild}{
\node at (\j*\weit-0.5\weit, \i*\hoch-0.5\hoch){
\qrcode[
height=16.5 mm,
level=L,
version=14
]{
\qrinhalt
};
};
}
% Ende QR-Code
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beginn Schnitthilfslinien
\newcommand{\schnitthilfslinien}{
% waagerechte Schnitthilfslinien:
\foreach \i in {0,...,\zeilen}{ % Trennkreuze, waagerechter Teil
\foreach \j in {2,...,\zeilen}{
\draw [very thin, lightgray, solid]
(\j*\weit - \j*\kreuz + \j*\kreuz - 2*\weit + 0 mm, \i*\hoch)
--
(\j*\weit - 2*\weit + \kreuz, \i*\hoch);
\draw [very thin, lightgray, solid]
(\j*\weit - \weit - \kreuz, \i*\hoch) -- (\j*\weit - \weit + 0 mm, \i*\hoch);
}
}
% Schnitthilfslinien ober- und unterhalb der Trennkreuze, bei Bedarf einblenden:
% \foreach \i in {1,...,\zeilen}{
% \draw [very thin, lightgray, solid]
% (0, \i*\hoch - \schnitt) -- (3*\weit, \i*\hoch - \schnitt);
% \draw [very thin, lightgray, solid]
% (0, \i*\hoch - \hoch + \schnitt) -- (3*\weit, \i*\hoch - \hoch + \schnitt);
% }
% senkrechte Schnitthilfslinien:
\foreach \i in {0,...,\spalten}{ % Trennkreuze, senkrechter Teil
\foreach \j in {1,...,\zeilen}{
\draw [very thin, lightgray, solid]
(\i*\weit, \j*\hoch - 1*\hoch + 0 mm) -- (\i*\weit, \j*\hoch - 1*\hoch + \kreuz);
\draw [very thin, lightgray, solid]
(\i*\weit, \j*\hoch - 0*\hoch + 0 mm) -- (\i*\weit, \j*\hoch - 0*\hoch - \kreuz);
}
}
% Schnitthilfslinien links und rechts der Trennkreuze, bei Bedarf einblenden:
% \foreach \i in {1,...,\spalten}{
% \draw [very thin, lightgray, solid]
% (\i*\weit - \schnitt, 4*\hoch) -- (\i*\weit - \schnitt, 0 mm);
% \draw [very thin, lightgray, solid]
% (\i*\weit - \weit + \schnitt, 4*\hoch) -- (\i*\weit - \weit + \schnitt, 0);
% }
}
% Ende Schnitthilfslinien
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
% Längenzählung in tikzpicture immer von links unten
% (right=10.0 mm) von linker Kante 10.0 mm nach rechts
% (above=10.0 mm) von Unterkante 10.0 mm nach oben
% (left=-10.0 mm) von linker Kante 10.0 mm nach links (=-right)
% (below=10.0 mm) von Unterkante 10.0 mm nach unten (=-above)
% Vorderseite der Visitenkarte
\hspace{\justage}
\begin{tikzpicture}
\schnitthilfslinien % Schnitthilfslinien
\IfFileExists {Logo.pdf} % Datei auf Vorhandensein prüfen
{ % vorhandene Datei Logo.pdf einbinden:
\renewcommand{\logo}{
\node at (\j*\weit-14.0 mm, \i*\hoch-14.5 mm){
\includegraphics[width=16.5mm, height=16.5mm]{Logo.pdf}
};
}
}{ % sonst dynamische Erzeugung des Logo's:
}
\foreach \i in {1,...,\zeilen}{ % Zeilen wiederholen
\foreach \j in {1,...,\spalten}{ % Spalten wiederholen
\node[ % gerundeter Rahmen mit Schrift darin
inner sep=2.0ex,
rounded corners,
draw=blue,
align=center, % align=right|center|left
text width = 0.17\textwidth,
draw,
]
% wegen align=center ist das der Mittelpunkt des gerundeten Rahmens:
at (\j*\weit-\weit+31.0 mm, \i*\hoch-\hoch+33.0 mm)
{
\textcolor{blue}\zweck \\ % Zweck des Angebots
\textcolor{blue}\fach \\ % Fachrichtung
\textcolor{blue}\spezial % Spezielle Fähigkeiten
};
% Schrift unterhalb des gerundeten Rahmens:
\node at (\j*\weit-\weit+ 3.0 mm, \i*\hoch-\hoch+21.0 mm) [right]
{\huge\textcolor{blue}{\vorname~\name}}; % Vorname Nachname
\node at (\j*\weit-\weit+ 3.0 mm, \i*\hoch-\hoch+16.0 mm) [right]
{\Large\textcolor{blue}{\beruf}}; % Beruf
\node at (\j*\weit-\weit+ 3.0 mm, \i*\hoch-\hoch+12.0 mm) [right]
{\strasse}; % Straße Hausnummer
\node at (\j*\weit-\weit+ 3.0 mm, \i*\hoch-\hoch+ 8.0 mm) [right]
{\plz\ \ort}; % Postleitzahl Ort
\node at (\j*\weit-\weit+ 3.0 mm, \i*\hoch-\hoch+ 5.0 mm) [right]
{\twemoji{e-mail}~\email}; % E-Mail
\node at (\j*\weit-\weit+89.4 mm, \i*\hoch-\hoch+12.0 mm) [left]
{\twemoji{mobile phone}~\mobil}; % Mobil-Telefonnummer
\node at (\j*\weit-\weit+89.4 mm, \i*\hoch-\hoch+ 8.0 mm) [left]
{\twemoji{telephone receiver}~\tel}; % Festnetz-Telefonnummer
\node at (\j*\weit-\weit+89.4 mm, \i*\hoch-\hoch+ 5.0 mm) [left]
{\webseite}; % Webseite
% Logo.pdf ausgeben oder Logo dynamisch erzeugen
\logo
}
}
\end{tikzpicture}
\newpage
% Rückseite der Visitenkarte
\hspace{\justage}
\begin{tikzpicture}
\schnitthilfslinien
\IfFileExists {QR.pdf}{ % Datei auf Vorhandensein prüfen
\renewcommand{\qrbild}{ % vorhandene Datei QR.pdf einbinden
\node at (\j*\weit-0.5\weit, \i*\hoch-0.5\hoch){
\includegraphics[width=16.5mm, height=16.5mm]{QR.pdf}
};
}
}{ % sonst dynamische Erzeugung des QR-Code
}
\foreach \i in {1,...,\zeilen}{ % Zeilen wiederholen
\foreach \j in {1,...,\spalten}{ % Spalten wiederholen
\node at (\j*\weit-\weit+0.5\weit, \i*\hoch-\hoch+40 mm) [centered]
{\hinweisA}; % Hinweis A
\node at (\j*\weit-\weit+0.5\weit, \i*\hoch-\hoch+36 mm) [centered]
{\hinweisB}; % Hinweis B
\node at (\j*\weit-\weit+0.5\weit, \i*\hoch-\hoch+10 mm) [centered]
{\motto}; % Motto
% QR.pdf ausgeben oder QR-Code dynamisch erzeugen
\qrbild
}
}
\end{tikzpicture}
\end{document}
Logo.tex
% !TeX root = Logo.tex
% !TeX spellcheck = de_DE
% !TeX encoding = UTF-8
% !TeX TS-program = lualatex
% !TeX TXS-program:bibliography = biblatex
% Ende magic comment's für TeXstudio
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
%%% erzeugt die Datei Logo.pdf für die Visitenkarten, Stand: 2024-08-10
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[
fontsize=9pt, % Schriftgröße papersize (DIV=calc)
BCOR=0 mm, % Bindungskorrektur
DIV=13, % calc, 6=feste Vorgabe, die keine Warnung bringt, wird wegen {geometry} ignoriert
parskip=half-, % "-" heißt: letzte Zeile des Absatzes darf beliebig gefüllt sein
]{scrartcl}
\usepackage[ % Seitenränder einstellen
left=0.0 mm,
right=0.0 mm,
top=0.0 mm,
bottom=0.0 mm,
paperheight=14.0 mm,
paperwidth=14.0 mm,
]{geometry}
\usepackage{tikz} % Zeichnung: hier Rahmnen um Schrift
\usetikzlibrary{intersections} % Schnittpunkte von Kurven in TikZ berechnen
\author{Andreas Horn}
\date{2024-07-24}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beginn Logo
\newcommand{\logo}{%
% grauer Hintergrund:
\fill [lightgray] (0.0 mm, 0.0 mm)
rectangle (14.0 mm, 14.0 mm);
% Funktion:
\newcommand{\myfunktion}{(0.44*\x, 0.17/\x)};
% Teile der Koordinatenachsen links und unten:
\draw [blue, line width=0.5 mm]
(1.0 mm, 3.3 mm)--
(3.0 mm, 3.3 mm)--
(3.0 mm, 1.3 mm);
% Teile der Koordinatenachsen rechts und oben:
\draw [blue, line width=0.5 mm, name path=xyP]
(12.0 mm, 3.3 mm)--
( 3.0 mm, 3.3 mm)--
( 3.0 mm, 12.3 mm);
% Funktion zeichnen:
\draw [
domain=0.08 mm:0.6 mm, % Begrenzung der Auswertung für die unabhängige Variable (hier: \x)
smooth, % glatt
color=blue,
line width=0.5 mm,
name path=myFkt, % für Berechnung der Schraffur erforderlich
% Positionierung, von linker Seite nach rechts verschoben:
right=77.0 mm - 74.0 mm,
% Positionierung, von Unterkante nach oben verschoben:
above=30.0 mm - 26.3 mm,
]
plot (\myfunktion);
% Schraffur vorbereiten:
% Punkte auf den Koordinatenachsen oben und rechts:
\coordinate (A1) at (3.0 mm, 8.3 mm);
\coordinate (A2) at (3.0 mm, 6.3 mm);
\coordinate (A3) at (3.0 mm, 4.3 mm);
\coordinate (A4) at (4.0 mm, 3.3 mm);
\coordinate (A5) at (6.0 mm, 3.3 mm);
\coordinate (A6) at (8.0 mm, 3.3 mm);
% Verlängerung des A-Pfades:
\coordinate (SP) at (4.0 mm, 4.0 mm);
% Pfade für Schnittpunktberechnung:
\path [name path=P1] (A1) -- +(SP);
\path [name path=P2] (A2) -- +(SP);
\path [name path=P3] (A3) -- +(SP);
\path [name path=P4] (A4) -- +(SP);
\path [name path=P5] (A5) -- +(SP);
\path [name path=P6] (A6) -- +(SP);
% Schnittpunktberechnung:
\path [name intersections = {of = myFkt and P1}] (intersection-1) coordinate (S1);
\path [name intersections = {of = myFkt and P2}] (intersection-1) coordinate (S2);
\path [name intersections = {of = myFkt and P3}] (intersection-1) coordinate (S3);
\path [name intersections = {of = myFkt and P4}] (intersection-1) coordinate (S4);
\path [name intersections = {of = myFkt and P5}] (intersection-1) coordinate (S5);
\path [name intersections = {of = myFkt and P6}] (intersection-1) coordinate (S6);
% Schraffur zeichnen:
\draw [blue, line width=0.5 mm] (A1) -- (S1);
\draw [blue, line width=0.5 mm] (A2) -- (S2);
\draw [blue, line width=0.5 mm] (A3) -- (S3);
\draw [blue, line width=0.5 mm] (A4) -- (S4);
\draw [blue, line width=0.5 mm] (A5) -- (S5);
\draw [blue, line width=0.5 mm] (A6) -- (S6);
% Beschriftung der Funktion
\node [scale=0.3 mm, color=blue] at (83.0 mm - 74.0 mm, 36.0 mm - 26.3 mm)
{$\textbf{\textit f(x)}$};
}
% Ende Logo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
% Längenzählung in tikzpicture immer von links unten
% (right=10.0 mm) von linker Kante 10.0 mm nach rechts
% (above=10.0 mm) von Unterkante 10.0 mm nach oben
% (left=10.0 mm) von linker Kante 10.0 mm nach links
% (below=10.0 mm) von Unterkante 10.0 mm nach unten
\begin{tikzpicture} % [Optionen]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beginn Logo
\logo
% Ende Logo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{tikzpicture}
\end{document}
QR.tex
% !TeX root = QR.tex
% !TeX spellcheck = de_DE
% !TeX encoding = UTF-8
% !TeX TS-program = lualatex
% !TeX TXS-program:bibliography = biblatex
% Ende magic comment's für TeXstudio
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
%%% erzeugt die Datei QR.pdf für die Visitenkarten, Stand: 2024-08-10
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[
version=last, % letzte KOMA-Version verwenden
BCOR=0 mm, % Bindungskorrektur
DIV=13, % calc, 6=feste Vorgabe, die keine Warnung bringt, wird wegen {geometry} ignoriert
parskip=half-, % "-" heißt: letzte Zeile des Absatzes darf beliebig gefüllt sein
]{scrartcl}
% Seitenränder einstellen:
\usepackage[
left=0.0 mm,
right=0.0 mm,
top=5.35 mm,
bottom=0.0 mm,
paperheight=16.5 mm,
paperwidth=16.5 mm,
]{geometry}
\usepackage{tikz} % Zeichnung: hier Rahmnen um Schrift
\usetikzlibrary{intersections} % Schnittpunkte von Kurven in TikZ berechnen
\usepackage{qrcode} % QR-Code erzeugen
\author{Andreas Horn}
\date{2024-07-24}
\newcommand{\vorname}{Vorname}
\newcommand{\name}{Nachname}
\newcommand{\beruf}{Berufe,\ spezielle\ Kenntnisse\ und\ sonstige\ Fähigkeiten}
\newcommand{\strasse}{Diese\ Str.\ 123}
\newcommand{\plz}{12345}
\newcommand{\ort}{Seebad\ Dieser\ Ort}
\newcommand{\region}{Bundesland}
\newcommand{\deutschland}{Deutschland}
\newcommand{\tel}{+49\ 1234\ 567890}
\newcommand{\mobil}{+49\ 123\ 4567\ 890}
\newcommand{\email}{Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. }
\newcommand{\webseite}{https://webseite.de}
% Vorsicht, die folgenden Texte dürfen nicht zu lang werden, sonst gibt es
% im Rahmen der Visitenkarten-Vorderseite ein automatischer Zeilenumbruch:
\newcommand{\zweck}{Zweck\ dieses\ Angebots}
\newcommand{\fach}{unterstützte\ Fachrichtungen}
\newcommand{\spezial}{spezielle\ Einschränkungen\ dabei}
%\newcommand{\hinweisA}{1.\ Zeile\ als\ Hinweis}
%\newcommand{\hinweisB}{mich\ bitte\ telefonisch\ kontaktieren.}
%\newcommand{\motto}{Mathematik\ ist\ die\ Grundlage\ jeder\ Naturwissenschaft}
\newcommand{\qrinhalt}{
BEGIN:VCARD\?%
VERSION:2.1\?%
N:\name;\vorname;;;\?%
FN:\vorname\ \name\?%
TITLE:\beruf\?%
NOTE:\zweck;\ \fach;\ \spezial\?%
ADR;TYPE=HOME:;;\strasse;\ort;\region;\plz;\deutschland\?%
TEL;TYPE=HOME:\tel\?%
TEL;TYPE=CELL;PREF:\mobil\?%
EMAIL:\email\?%
URL:\webseite\?%
REV:20240810T183000Z\?%
END:VCARD
}
\begin{document}
\begin{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beginn QR-Code
\qrcode[
height=16.5 mm,
level=L,
version=14
]{\qrinhalt}
% Ende QR-Code
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{tikzpicture}
\end{document}