vorlagebewerbung/bewerbung.sty

330 lines
9.2 KiB
TeX

\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{bewerbung}
[2015/07/14 v1.1 makros zum setzen der bewerbung]
% Macros for setting up your personal informations
\providecommand{\name}{}
\providecommand{\Name}[1]{\renewcommand{\name}{#1}}
\providecommand{\vorname}{}
\providecommand{\Vorname}[1]{\renewcommand{\vorname}{#1}}
% the optional argument indicates wether to print vor + nachname
% or nachname, vorname
\providecommand{\fullname}[1][n]{%
\ifthenelse{\equal{#1}{n}}{%
\vorname\xspace\name %
}{%
\name, \vorname %
}%
}
\providecommand{\street}{}
\providecommand{\Street}[1]{\renewcommand{\street}{#1}}
\providecommand{\plz}{}
\providecommand{\Plz}[1]{\renewcommand{\plz}{#1}}
\providecommand{\stadt}{}
\providecommand{\Stadt}[1]{\renewcommand{\stadt}{#1}}
\providecommand{\anschrift}[1][n]{%
\ifthenelse{\equal{#1}{n}}{%
\street\\%
\plz\xspace\stadt%
}{%
\street, \plz\xspace\stadt%
}%
}
\providecommand{\meinBeruf}{}
\providecommand{\meinberuf}{\meinBeruf}
\providecommand{\MeinBeruf}[1]{\renewcommand{\meinBeruf}{#1}}
\providecommand{\gebDatum}{}
\providecommand{\GebDatum}[1]{\renewcommand{\gebDatum}{#1}}
\providecommand{\sta}{}
\providecommand{\Sta}[1]{\renewcommand{\sta}{#1}}
\providecommand{\email}{}
\providecommand{\EMail}[1]{\renewcommand{\email}{#1}}
\providecommand{\tel}{}
\providecommand{\Tel}[1]{\renewcommand{\tel}{#1}}
\providecommand{\mobile}{}
\providecommand{\Mobile}[1]{\renewcommand{\mobile}{#1}}
\ProvideDocumentCommand{\anhang}{o}{%
\IfNoValueTF{#1}{%
Curriculum Vitae.\anhangTmpFlat
}{%
\item Anschreiben
\item Curriculum Vitae
\anhangTmpList
} %
}
\providecommand{\anhangTmpFlat}{}
\providecommand{\anhangTmpList}{}
\providecommand{\Anhang}[2]{%
\renewcommand{\anhangTmpFlat}{\\ #1}
\renewcommand{\anhangTmpList}{#2}
}
\providecommand{\todayOrt}{\stadt}
\providecommand{\TodayOrt}[1]{\renewcommand{\todayOrt}{#1}}
\providecommand{\todayTime}{\today}
\providecommand{\TodayTime}[1]{\renewcommand{\todayTime}{#1}}
\providecommand{\lebenslaufTitel}{Curriculum Vitae}
\providecommand{\LebenslaufTitel}[1]{%
\renewcommand{\lebenslaufTitel}{#1}}
% Macros for setting up the information of the company
\providecommand{\firma}{a}
\providecommand{\firmaAnrede}{a}
\providecommand{\firmaName}{a}
\providecommand{\firmaStreet}{a}
\providecommand{\firmaPlz}{a}
\providecommand{\firmaStadt}{a}
\providecommand{\beruf}{a}
\providecommand{\setzekomma}{,}
\providecommand{\bewerbungKW}{}
\providecommand{\BewerbungKW}[1]{%
\renewcommand{\bewerbungKW}{#1}}%
\providecommand{\bewerbungDatum}{}
\providecommand{\BewerbungDatum}[1]{%
\renewcommand{\bewerbungDatum}{#1}%
}
\providecommand{\bewerbungFirma}{}
\providecommand{\BewerbungFirma}[1]{%
\renewcommand{\bewerbungFirma}{#1}%
}
\providecommand{\bewerbungFirmaAnrede}{}
\providecommand{\BewerbungFirmaAnrede}[1]{%
\renewcommand{\bewerbungAnrede}{#1}%
}
\providecommand{\bewerbungFirmaName}{}
\providecommand{\BewerbungFirmaName}[1]{%
\renewcommand{\bewerbungName}{#1}%
}
\providecommand{\bewerbungFirmaStr}{}
\providecommand{\BewerbungFirmaStr}[1]{%
\renewcommand{\bewerbungFirmaStr}{#1}%
}
\providecommand{\bewerbungFirmaPlz}{}
\providecommand{\BewerbungFirmaPlz}[1]{%
\renewcommand{\bewerbungPlz}{#1}%
}
\providecommand{\bewerbungFirmaOrt}{}
\providecommand{\BewerbungFirmaOrt}[1]{%
\renewcommand{\bewerbungOrt}{#1}%
}
\providecommand{\bewerbungStelle}{}
\providecommand{\BewerbungStelle}[1]{%
\renewcommand{\bewerbungStelle}{#1}%
}
\providecommand{\bewerbungRueckmeldung}{}
\providecommand{\BewerbungRueckmeldung}[1]{%
\renewcommand{\bewerbungRueckmeldung}{#1}%
}
\providecommand{\bewerbungSonstiges}{}
\providecommand{\BewerbungSonstiges}[1]{%
\renewcommand{\bewerbungSonstiges}{#1}%
}
\RequirePackage{datatool}
% Need to know which company you mean today
\providecommand{\id}{}
\providecommand{\ID}[1]{\renewcommand{\id}{#1}}
% How does the table of applications look like?
% ID, KW, Datum, Firma, FirmaAnrede, FirmaName, Str, PLZ,
% Ort, Stelle, Rueckmeldung, Sonstiges
% Get the information of the current company out of the table
\providecommand{\getBewerbung}[1][anschrift.csv]{
\IfFileExists{#1}{%
% load the table
\DTLloaddb[ %
]{anschrift}{#1} %
% which id-format is used?
% plain -> search for the exact match
% of id in the column ID
% noplain (default) -> get the row with number id
% (first one is 0)
\ifahbewerbung@idPlain %
\edtlgetrowforvalue{anschrift}{1}{\id} %
\else %
\dtlgetrow{anschrift}{\id} %
\fi %
\dtlgetentryfromcurrentrow{\bewerbungKW}{2}
\dtlgetentryfromcurrentrow{\bewerbungDatum}{3}
\dtlgetentryfromcurrentrow{\bewerbungFirma}{4}
\dtlgetentryfromcurrentrow{\bewerbungFirmaAnrede}{5}
\dtlgetentryfromcurrentrow{\bewerbungFirmaName}{6}
\dtlgetentryfromcurrentrow{\bewerbungFirmaStr}{7}
\dtlgetentryfromcurrentrow{\bewerbungFirmaPlz}{8}
\dtlgetentryfromcurrentrow{\bewerbungFirmaOrt}{9}
\dtlgetentryfromcurrentrow{\bewerbungStelle}{10}
\dtlgetentryfromcurrentrow{\bewerbungRueckmeldung}{11}
\dtlgetentryfromcurrentrow{\bewerbungSonstiges}{12}
}{%
\@latex@warning@no@line{Achtung die Datei #1 ist nicht lesbar.} %
}%
}
% Change the komavars for komacv implementation of this project
\providecommand{\runKomaVar}{%
\setkomavar{fromname}{\fullname} %
\setkomavar{fromaddress}{\street\\\plz\xspace\stadt} %
\setkomavar{fromphone}[\Telefon\enskip]{\tel} %
\setkomavar{fromfax}[\Mobilefone\enskip]{\mobile} %
\setkomavar{fromemail}[\Letter\enskip]{\email} %
\setkomavar{signature}{\vorname\xspace\name} %
\setkomavar{subject}{Bewerbung als \bewerbungStelle} %
\renewcommand*{\raggedsignature}{} %
%\iffalse
%% \renewcommand*{\title}{\}% PDF metadata
%\fi
\renewcommand*{\firstname}{\vorname} %
\renewcommand*{\familyname}{\name} %
%\iffalse
%% \renewcommand*{\acadtitle}{}
%\fi
\renewcommand*{\addressstreet}{\street} %
\renewcommand*{\addresscity}{\plz\xspace\stadt} %
\renewcommand*{\address}{\street\\\plz\xspace\stadt} %
\renewcommand*{\phonenr}{\tel} %
%\iffalse
%% \renewcommand*{\extrainfo}{Some extra info}
%\fi
} %
% Provide the right paper for a nice titlepage
\ProvideDocumentEnvironment{titlepage}{}{%
\thispagestyle{empty} %
\newgeometry{top=4cm,left=3cm,right=2.5cm,bottom=2cm} %
}{ %
\clearpage %
\restoregeometry %
} %
% This environment will make a nice letter to you company
\ProvideDocumentEnvironment{anschreiben}{oo}{%
\begin{letter}{%
\bewerbungFirma\\
\bewerbungFirmaAnrede\xspace\bewerbungFirmaName\\
\bewerbungFirmaStr\\
\bewerbungFirmaPlz\xspace\bewerbungFirmaOrt
} %
\IfNoValueF{#2}{\enlargethispage{#2}} %
\newcommand{\geehrt}{#1} %
\ifthenelse{\equal{\bewerbungFirmaAnrede}{Frau}}{%
\renewcommand{\geehrt}{geehrte}%
}{}%
\ifthenelse{\equal{\bewerbungFirmaAnrede}{Herr}}{%
\renewcommand{\geehrt}{geehrter}%
}{}%
\opening{Sehr \geehrt\xspace %
\bewerbungFirmaAnrede\xspace\bewerbungFirmaName, %
}%
}{
\closing{Mit freundlichen Gr\"u{\ss}en} %
%\iffalse
%%\signature{}
%\fi
\encl{%
\anhang %
} %
\end{letter}
}
% This environment will produce a nice cv like komacv
% but within the same document
\ProvideDocumentEnvironment{lebenslauf}{oo}{%
\clearpage
\newgeometry{top=2.5cm,left=3cm,right=2.5cm,bottom=3cm}
\pagestyle{empty}
\ifthenelse{\equal{#1}{none}}{\renewcommand{\@listitemsymbol}{}}{} %
%\iffalse
%%\clearscrheadfoot
%%\ifoot{CV~\firstname~\familyname}
%%\ofoot{n}
%\fi
}{
\vfill
\begin{raggedright}
\begin{tabular}{p{\textwidth}}
\fullname\\
\todayOrt, \todayTime
\end{tabular}
\end{raggedright}
\IfNoValueF{#2}{%
\newpage %
#2 %
} %
\restoregeometry
}
% Make the entry of your personality in the cv-environment
\providecommand{\makePerson}{ %
\section{Pers\"onliche Angaben} %
\cvitem{Name}{\fullname} %
\cvitem{Anschrift}{\anschrift[k]} %
\cvitem{StA}{\sta} %
\cvitem{Geburtsdatum}{\gebDatum} %
%\iffalse
%%\cvitem{Konfession}{}
%%\cvitem{Familienstand}{}
%\fi
\cvitem{Beruf}{\meinBeruf} %
}
% Print a table with all your latest applications
\providecommand{\argetabelle}[1][anschrift.csv]{ %
\IfFileExists{#1}{%
% load the table
\DTLloaddb{anschrift}{anschrift.csv} %
% create a nice table environment for printing
% over more than one page
\begin{longtable}{rrL{6cm}L{3cm}L{4cm}}
\toprule
\multicolumn{1}{l}{\textbf{KW}} & %
\multicolumn{1}{l}{\textbf{Datum}} & \textbf{Arbeitgeber} & %
\textbf{Stelle} & \textbf{R\"uckmeldung} \\\midrule
\endfirsthead
\toprule
\multicolumn{5}{r}{Fortsetzung\ldots}\\\toprule
\multicolumn{1}{l}{\textbf{KW}} & %
\multicolumn{1}{l}{\textbf{Datum}} & \textbf{Arbeitgeber} & %
{Stelle} & \textbf{R\"uckmeldung} \\\midrule
\endhead
\midrule\multicolumn{5}{r}{%
Fortsetzung auf der n\"achsten Seite\ldots}\\\bottomrule
\endfoot
\bottomrule
\endlastfoot
% read the whole table-file and print it nicely into the table
\DTLforeach{anschrift}{%
\kw=KW,\datum=Datum,\firma=Firma,\firmaanrede=FirmaAnrede,%
\firmaname=FirmaName,\str=Str,\plz=PLZ,\ort=Ort,%
\stelle=Stelle,\rueckmeldung=Rueckmeldung}{%
\\
\kw & \datum & \firma\newline\firmaanrede\ \firmaname\ \str,%
\plz\ \ort & \stelle & \rueckmeldung \\\midrule} %
\end{longtable}
}{%
\@latex@warning@no@line{Achtung die Datei #1 ist nicht lesbar.} %
} %
}
%%\endinput