commit 75759d61b8088f508b58f656a33c78631789fefe Author: André Hilbig Date: Wed Feb 1 16:02:14 2023 +0100 New Repo due to file problems in old commits diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..b5a663f --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +*.*~ +*.SET +*.ods# +*.aux +*.vim +*.upb +*.bbl +*.bcf +*.lot +*.toc +*.upa +*.run.xml +*.blg +*.dvi +*.glo +*.gls +*.ilg +*.ind +*.lof +*.log +*.swp +*.toc +*.tps +*.rtf +*.tex.backup +*.out +*._log +*.fdb_latexmk +*.fls +*.idx +*.ilg +*.ind +*.loexample diff --git a/Foto.jpg b/Foto.jpg new file mode 100644 index 0000000..46a6b98 Binary files /dev/null and b/Foto.jpg differ diff --git a/Foto.pdf b/Foto.pdf new file mode 100644 index 0000000..0f415f9 Binary files /dev/null and b/Foto.pdf differ diff --git a/README b/README new file mode 100644 index 0000000..730e75a --- /dev/null +++ b/README @@ -0,0 +1,87 @@ ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| PACKAGE `bewerbung' | +| | + This project has the aim to provide packages and classes for typesetting an application with + titlepage, letter, cv and additional documents in just one document. Also there is a class for + printing a table with the latest applications that can be shown to the german authorities. The + data of the applications can be edited in a simple csv file. ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + Version: 1.0 + Last Change: 2015-07-12 + Current Maintainer: André Hilbig + mail@andrehilbig.de + https://git.andrehilbig.de/ahilbig/vorlagebewerbung ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license of (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + This work consists of the files bewerbung.dtx and bewerbung.ins and the derived files + bewerbung-cv-casual.sty, bewerbung-cv-classic.sty, bewerbung-cv-oldstyle.sty, bewerbung-cv.sty, + bewerbung.sty, argetabelle.cls, bewerbung.cls, neueBewerbung.sh, config.inc, titlepage.inc. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Installation | +| | + Getting the files: + latex bewerbung.ins + + Getting the documentation: + latexmk -pdf bewerbung.pdf + + Copy the following files into a TeX-readable directory: + bewerbung*.sty + argetabelle.cls + bewerbung.cls + titlepage.inc + + The following files are needed to make a new application: + anschrift.csv + bewerbung-example.tex + config.inc + Foto.pdf + + The following files are needed to make a new documentation-table: + anschrift.csv + argetabelle-example.tex +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Create a new application (in that directory-structure; only OS with a shell) | +| | + Structure of the project: + Bewerbungen: + | + +-----Anhang: + |-diplom.pdf + |-zeugnis.pdf + | + +-----bewerbung-dreamjob: + |-Anhang -> ../Anhang + |-Foto.pdf -> ../Foto.pdf + |-anschrift.csv -> ../anschrift.csv + |-bewerbung-Traumjob.tex + |-config.inc + |-Foto.pdf + |-anschrift.csv + |-argetabelle.tex (wie argetabelle-example.tex) + |-bewerbung.tex (wie bewerbung-example.tex) + |-config.inc + To create a new application just execute neueBewerbung with NAME being an identifier for the new + application. It will create a new directory NAME and copy or link all the needed files out of + Bewerbungen. + ./neueBewerbung BEZEICHNER + + With that structure in mind the files bewerbung.tex and config.inc are your templates in + Bewerbungen. They get copied everytime you create a new application. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ diff --git a/README_DE b/README_DE new file mode 100644 index 0000000..503476b --- /dev/null +++ b/README_DE @@ -0,0 +1,90 @@ ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| PACKAGE `bewerbung' | +| | + Das `bewerbung' Bundle hat das Ziel, Pakete und Klassen zum Setzen von Bewerbungsmappen mit + Titelseite, Brief, Lebenslauf und zusätzlichen Dokumenten bereitzustellen. Außerdem gibt es eine + Klasse zum Setzen einer Tabelle mit den aktuellen Bewerbungsversuchen, die der Agentur für Arbeit + vorgelegt werden kann. Die Daten der Bewerbungsversuche werden in einer simplen csv-Datei + verwaltet. ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + Version: 1.0 + Last Change: 2015-07-12 + Current Maintainer: André Hilbig + mail@andrehilbig.de + https://git.andrehilbig.de/ahilbig/vorlagebewerbung ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license of (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + This work consists of the files bewerbung.dtx and bewerbung.ins and the derived files + bewerbung-cv-casual.sty, bewerbung-cv-classic.sty, bewerbung-cv-oldstyle.sty, bewerbung-cv.sty, + bewerbung.sty, argetabelle.cls, bewerbung.cls, neueBewerbung.sh, config.inc, titlepage.inc. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Installation | +| | + Dateien des Pakets erhalten: + latex bewerbung.ins + + Dokumentation setzen: + latexmk -pdf bewerbung.pdf + + Folgende Dateien müssen in ein für TeX lesbares Verzeichnis kopiert werden: + bewerbung*.sty + argetabelle.cls + bewerbung.cls + titlepage.inc + + Folgende Dateien sind für das Anlegen einer neuen Bewerbungsmappe notwendig: + anschrift.csv + bewerbung-example.tex + config.inc + Foto.pdf + + Folgende Dateien sind für das Setzen einer Dokumentationstabelle notwendig: + anschrift.csv + argetabelle-example.tex +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Neue Bewerbung anlegen (bei gegebener Verzeichnisstruktur, nur OS mit Shell) | +| | + Struktur des Projektverzeichnisses: + Bewerbungen: + | + +-----Anhang: + |-diplom.pdf + |-zeugnis.pdf + | + +-----bewerbung-Traumjob: + |-Anhang -> ../Anhang + |-Foto.pdf -> ../Foto.pdf + |-anschrift.csv -> ../anschrift.csv + |-bewerbung-Traumjob.tex + |-config.inc + |-Foto.pdf + |-anschrift.csv + |-argetabelle.tex (wie argetabelle-example.tex) + |-bewerbung.tex (wie bewerbung-example.tex) + |-config.inc + + Ausführung von neueBewerbung, wobei BEZEICHNER ein geeigneter Name für die neue Bewerbung sein + sollte. Es wird automatisch ein neues Verzeichnis angelegt und alle notwendigen Dateien werden + kopiert oder verlinkt. + ./neueBewerbung BEZEICHNER + + Demnach wird immer die bewerbung.tex aus dem Stammverzeichnis als Vorlage benutzt, um eine neue + Bewerbung zu erstellen. Veränderungen an der neuen Bewerbung werden nicht in diese Vorlage + übernommen. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ diff --git a/anschrift.csv b/anschrift.csv new file mode 100644 index 0000000..506a61f --- /dev/null +++ b/anschrift.csv @@ -0,0 +1,3 @@ +ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle,Rueckmeldung,Sonstiges +2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n +1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n diff --git a/argetabelle-example.pdf b/argetabelle-example.pdf new file mode 100644 index 0000000..c07dcbd Binary files /dev/null and b/argetabelle-example.pdf differ diff --git a/argetabelle-example.tex b/argetabelle-example.tex new file mode 100644 index 0000000..92c1f13 --- /dev/null +++ b/argetabelle-example.tex @@ -0,0 +1,28 @@ +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/index.cgi/Publications/Bewerbung | +% | +% this file: argetabelle-example.tex | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +\documentclass[11pt,a4paper]{argetabelle} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage[ngerman]{babel} + +\begin{document} + \argetabelle +\end{document} diff --git a/argetabelle.cls b/argetabelle.cls new file mode 100644 index 0000000..b2679e4 --- /dev/null +++ b/argetabelle.cls @@ -0,0 +1,49 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{argetabelle}[2015/07/14 v1.1 % + Klasse zur automatisierten Erstellen von Tabellen % + zur Dokumentation der eigenen Bewerbungsversuche] + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ProcessOptions\relax +\LoadClass[]{scrartcl} + +\RequirePackage{marvosym} + +\RequirePackage[% + left=1cm, % + top=2.5cm, % + bottom=1.5cm, % + right=1cm % +]{geometry} + +\RequirePackage{datatool} + +\RequirePackage[right]{eurosym} +\RequirePackage{xspace} + + +\RequirePackage{multicol} +\RequirePackage{pdfpages} + +\RequirePackage{comment} + +\RequirePackage{xparse} + +\RequirePackage{longtable} +\RequirePackage{booktabs} +\RequirePackage{array} +\RequirePackage{ragged2e} +\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} +\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} +\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} + +\RequirePackage{bewerbung} + +\AtBeginDocument{% + %\hypersetup{colorlinks=true} + \InputIfFileExists{config.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei config.inc ist nicht lesbar.}% + } % +} +%%\endinput diff --git a/bewerbung-cv-casual.sty b/bewerbung-cv-casual.sty new file mode 100644 index 0000000..4143206 --- /dev/null +++ b/bewerbung-cv-casual.sty @@ -0,0 +1,112 @@ +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-casual} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-casual] + %% this file is based on komacv-casual.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\addtokomafont{firstnamefont}{\sffamily\fontsize{38}{40}} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily\small} +\addtokomafont{hintfont}{\sffamily} +\newsavebox\@fboxa +\newsavebox\@fboxb +\newcommand*\@sboxa[1]{\sbox\@fboxa{#1}} +\newcommand*\@sboxb[1]{\sbox\@fboxb{#1}} +\newcommand*\@uboxa{\usebox\@fboxa} +\newcommand*\@uboxb{\usebox\@fboxb} +\newcommand*\@flushf{\strut\@uboxa\@sboxa{}\@sboxb{}} +\newcommand*\addtofooter[2][\@fsymbol]{% + \@sboxb{\@uboxa{}#1#2}% + \settowidth\@fboxwidth{\@uboxb}% + \ifdimgreater{\@footerwidth}{\@fboxwidth}{% + \@sboxa{\@uboxb} + }{% + \@flushf\\ + \@sboxa{#2} + \@sboxb{#2} + } +} + \ifdimequal{\footerwidth}{0pt}{}{% + \setlength\@footerwidth{\footerwidth}% + } + \defpagestyle{footer} + {{}{}{}}% head definition (empty) + {% foot definition + {}{}% definition for twoside layout + {% definition for oneside layout + \hspace*{\fill}% + \parbox{\@footerwidth}{% + \centering% + \color{@addresscolor}\usekomafont{addressfont}% + \ifdefempty{\addressstreet}{}{% + \addtofooter[]{\@addresssymbol\addressstreet}% + \ifdefempty{\addresscity}{}{% + \addtofooter[~--~]{\addresscity}}}% + \ifdefempty{\mobile}{}{% + \addtofooter{\@mobilesymbol\mobile}}% + \ifdefempty{\phonenr}{}{% + \addtofooter{\@phonesymbol\phonenr}} + \ifdefempty{\faxnr}{}{% + \addtofooter{\@faxsymbol\faxnr}}% + \ifdefempty{\email}{}{% + \addtofooter{\@emailsymbol\emaillink{\email}}} + \ifdefempty{\homepage}{}{% + \addtofooter{\@homepagesymbol\httplink{\homepage}}}% + \ifdefempty{\extrainfo}{}{% + \addtofooter{\extrainfo}}\@flushf% + }% Ende parbox + \hspace*{\fill}% + \makebox[0pt][r]{\pagemark/\totalpagemark} + }% end definition onesided layout + }% end footer definition +\providecommand\@cvtitlecasual{% +\newbox{\@picbox} +\savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname +}% end savebox picbox +\settowidth\@titlepicwidth{\usebox{\@picbox}} +\setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} + + \usebox{\@picbox}% + \hspace*{\@titlesepwidth}% + \parbox[b]{\@titlenamewidth}{% + \raggedleft{\firstnamestyle\firstname}% + ~{\familynamestyle\familyname}\\ + \raggedleft\color{@firstnamecolor}\rule{% + \@titlenamewidth}{.25ex}\par + }% end parbox + \vspace{\@aftertitlevspace} + %% optional acadtitle + \ifdefempty{\acadtitle}{}{% + \raggedleft\acadtitlestyle{\acadtitle}}\\[2.5em]% + %% optional quote + \ifdefempty{\cvquote}{}{% + {\centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote} + \end{minipage}\\[\@afterquotevspace]% + } + }% +}% end @cvtitle-casual + +\AtBeginDocument{% + \thispagestyle{footer} +} % end AtBeginDocument +\renewcommand{\section}[1]{\@cvbarsection{#1}} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +%%\endinput +%% +%% End of file `bewerbung-cv-casual.sty'. diff --git a/bewerbung-cv-classic.sty b/bewerbung-cv-classic.sty new file mode 100644 index 0000000..fa5fb61 --- /dev/null +++ b/bewerbung-cv-classic.sty @@ -0,0 +1,106 @@ +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-classic} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-classic] + %% this file is based on komacv-classic.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\addtokomafont{firstnamefont}{\sffamily} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily} +\addtokomafont{hintfont}{\sffamily} +\AtEndPreamble{% + %AtBeginDocument{ + % mframepicshift + \ifdimequal{\mframepicshift}{0pt}{% + \setlength\@mframepicshift{.5\@photowidth+\@fboxextra} + }{% + \setlength\@mframepicshift{\mframepicshift} + } +} % end AtBeginDocument +\providecommand\@cvtitleclassic{% + %% set cs{@titlenamemaxwidth| to the full name length + %% , capped by cs{@titlenamemaxwidth| +\setlength{\@titlenamemaxwidth}{.525\textwidth} +\settowidth{\@titlenamefullwidth}{% + \firstnamestyle{\firstname~}\familynamestyle{\familyname}} + \ifdimless{\@titlenamemaxwidth}{\@titlenamefullwidth}{% + \setlength{\@titlenamewidth}{\@titlenamemaxwidth} + }{% + \setlength{\@titlenamewidth}{\@titlenamefullwidth} + } + % set titlenamedetailswidth +\setlength{\@titledetailswidth}{% + \textwidth-\@titlenamewidth-\@titlesepwidth}% +\ifundef{\@photoname}{}{% else + \ifdefstring{\@photoframe}{frame}{% + \setlength{\@titledetailswidth}{% + \@titledetailswidth-\@photowidth-2\@fboxextra} + }{% else + \ifdefstring{\@photoframe}{mframe}{% + \setlength{\@titledetailswidth}{% + \@titledetailswidth-\@mframepicshift}% + }{}% +}% +}% + % name and title + \begin{minipage}[b]{\@titlenamewidth}% +%% ahilbig begin + \firstnamestyle{\firstname}\\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \\[1.25em]\titlestyle{\lebenslaufTitel}% + \end{minipage}% + % optional data + \begin{minipage}[b]{\@titledetailswidth}% + \raggedleft\addressstyle{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline\@phonesymbol~\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol~\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% + }% +%% ahilbig end + \end{minipage}% + % optional photo + \ifundef{\@photoname}{}{% with picture: + \hspace*{\@titlesepwidth}% + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \begin{minipage}[b]{\@photowidth}% + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}}% + \end{minipage}}{% without frame: + \begin{minipage}[b]{\@photowidth} + \includegraphics[width=\@photowidth]{\@photoname} + \end{minipage}}} +\\[\@aftertitlevspace] + % optional quote + \ifundef{\cvquote}{}{% + \centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% +} +\renewcommand*{\section}[1]{\@cvbarsection{#1}} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +%%\endinput +%% +%% End of file `bewerbung-cv-classic.sty'. diff --git a/bewerbung-cv-oldstyle.sty b/bewerbung-cv-oldstyle.sty new file mode 100644 index 0000000..cafeb88 --- /dev/null +++ b/bewerbung-cv-oldstyle.sty @@ -0,0 +1,142 @@ +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-oldstyle} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-oldstyle] + %% this file is based on komacv-oldstyle.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\KOMAoptions{DIV=15} +\setlength{\hintscolwidth}{3cm} +\addtokomafont{addressfont}{\small} +\addtokomafont{hintfont}{\bfseries} +\setkomafont{section}{\Large\bfseries\upshape} +\setkomafont{subsection}{\large\bfseries\itshape} +\colorlet{addresscolor}{gray} +\renewcommand*{\listitemsymbol}{\labelitemi~} +\renewcommand*{\addresssymbol}{} +\renewcommand*{\mobilesymbol}{\textbf{M}~} +\renewcommand*{\phonesymbol}{\textbf{T}~} +\renewcommand*{\faxsymbol}{\textbf{F}~} +\renewcommand*{\emailsymbol}{\textbf{E}~} +\renewcommand*{\homepagesymbol}{} +\setlength{\infocolwidth}{3.5cm} +\setlength{\sepinfocolwidth}{2em} + +\providecommand\@infocontent{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline \@phonesymbol\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% +} % end @infocontent + + \providecommand{\@makeinfo}{% + \newbox{\@infobox}% + \savebox{\@infobox}{% + \parbox[b]{\@infocolwidth}{% + % put the first line on the same + % baseline as the first sectiontitle: + {\usekomafont{section} + \vspace*{1.6ex} + } + \raggedleft\addressstyle{% + \@infocontent% + } + }% end parbox + } % end savebox @infobox% + \newlength{\@infoheight}% + \setlength{\@infoheight}{% + \totalheightof{\usebox{\@infobox}}% + }% + \usebox{\@infobox}\vspace*{-\@infoheight}% + \par\nointerlineskip% + \vspace*{-\parskip}% + \vspace*{-\@aftersecvspace} + }% end \providecommand @makeinfo + + \providecommand{\@cvtitleoldstyle}{% + % optional picture box + \newbox{\@picbox} + \savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname + }% end savebox picbox + \settowidth\@titlepicwidth{\usebox{\@picbox}} + \setlength\@titlenamewidth{% + \textwidth-\@titlesepwidth-\@titlepicwidth} + \begin{minipage}[b]{\@titlenamewidth}% + \firstnamestyle{\firstname}\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \end{minipage}% + % optional photo + \usebox{\@picbox}% + \\[\@aftertitlevspace]% + % optional quote + \ifdefempty{\cvquote}{}{% + {\centering% + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% + }% + % address info box + \@makeinfo +\par +\begin{addmargin}[\komacvinfocolextrawidth]{0pt} + } % end @cvtitleoldstyle + +\AtEndDocument{% +\end{addmargin} +} +\renewcommand{\section}[1]{\@cvsimplesection{#1}} +\renewcommand{\subsection}[1]{\@cvsimplesubsection{#1}} +\renewcommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@maincolwidth}% + @{\hspace{\@sepcolwidth}}p{\@hintscolwidth}@{}% + }% + {#3} & \raggedright\hintstyle{#2}% + \end{tabular}\\[#1]% +} + +\renewcommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#4}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#2} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +%%\endinput +%% +%% End of file `bewerbung-cv-oldstyle.sty'. diff --git a/bewerbung-cv.sty b/bewerbung-cv.sty new file mode 100644 index 0000000..1552a58 --- /dev/null +++ b/bewerbung-cv.sty @@ -0,0 +1,662 @@ +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv} % + [2015/07/14 v1.1 Importierung der Klasse koma-cv % + für bewerbungen] + %% this file is based on komacv.cls from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\providecommand*\mycolor{blue} +%% ahilbig begin +%\iffalse +%%\RequirePackage{ifthen,kvoptions,calc} +%%\SetupKeyvalOptions{% +%%family=komacv,% +%%prefix=komacv@,% +%%setkeys=\kvsetkeys% +%%} +%%\DeclareStringOption[mycolor]{color}[mycolor] +%%\DeclareStringOption[x11names]{xcolor}[x11names] +%%\DeclareStringOption[classic]{style}[classic] +%%\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +%%\ProcessKeyvalOptions{komacv} % evaluate keyval options +%%\ProcessOptions\relax % execute given options +%\fi +%% ahilbig end +\RequirePackage[\ahbewerbung@lebenslaufXcolor]{xcolor} + +\definecolor{myblue}{rgb}{0.2,0.3,0.65} +\colorlet{mycolor}{myblue} +\AtEndPreamble{% + \renewcommand*\mycolor{\ahbewerbung@lebenslaufColor} + \colorlet{colortheme}{\mycolor}% specified in documentclass option + \@ifundefinedcolor{firstnamecolor}{% + \colorlet{@firstnamecolor}{black}}{% + \colorlet{@firstnamecolor}{firstnamecolor}} + \@ifundefinedcolor{familynamecolor}{% + \colorlet{@familynamecolor}{@firstnamecolor}}{% + \colorlet{@familynamecolor}{familynamecolor}} + \@ifundefinedcolor{acadtitlecolor}{% + \colorlet{@acadtitlecolor}{@firstnamecolor}}{% + \colorlet{@acadtitlecolor}{acadtitlecolor}} +%% ahilbig begin +% additional color for title + \@ifundefinedcolor{titlecolor}{% + \colorlet{@titlecolor}{@firstnamecolor}}{% + \colorlet{@titlecolor}{titlecolor}} +%% ahilbig end + \@ifundefinedcolor{addresscolor}{% + \colorlet{@addresscolor}{@firstnamecolor}}{% + \colorlet{@addresscolor}{addresscolor}} +%% ahilbig begin +% additional handling of coloring of urls + \@ifundefinedcolor{urllinkcolor}{% + \colorlet{@urllinkcolor}{@addresscolor}}{% + \colorlet{@urllinkcolor}{urllinkcolor}} + \hypersetup{urlcolor=@urllinkcolor} +%% ahilbig end + \@ifundefinedcolor{quotecolor}{% + \colorlet{@quotecolor}{@firstnamecolor}}{% + \colorlet{@quotecolor}{quotecolor}} + \@ifundefinedcolor{secbarcolor}{% + \colorlet{@secbarcolor}{colortheme}}{% + \colorlet{@secbarcolor}{secbarcolor}} + \@ifundefinedcolor{seccolor}{% + \colorlet{@seccolor}{colortheme}}{% + \colorlet{@seccolor}{seccolor}} + \@ifundefinedcolor{subseccolor}{% + \colorlet{@subseccolor}{colortheme}}{% + \colorlet{@subseccolor}{subseccolor}} + \@ifundefinedcolor{hintcolor}{% + \colorlet{@hintcolor}{black}}{% + \colorlet{@hintcolor}{hintcolor}} + \@ifundefinedcolor{framecolor}{% + \colorlet{@framecolor}{colortheme}}{% + \colorlet{@framecolor}{framecolor}} + \@ifundefinedcolor{framebackcolor}{% + \colorlet{@framebackcolor}{white}}{% + \colorlet{@framebackcolor}{framebackcolor}} +} % end AtEndPreamble +\ifboolexpr{bool{xetex} or bool{luatex}}{% + \RequirePackage{fontspec}% +}{% +%% ahilbig begin + %\iffalse + %% \RequirePackage[utf8]{inputenc} + %% \RequirePackage[T1]{fontenc}% + %\fi +%% ahilbig end +} + +%% ahilbig begin +\newkomafont{firstnamefont}{%fontsize{34}{36} + \Huge\mdseries\upshape} +%% ahilbig end +\newkomafont{familynamefont}{\usekomafont{firstnamefont}} + +%% ahilbig begin +%\iffalse +%%\addtokomafont{familynamefont}{} +%%\setkomafont{\namefont}{\Huge\sffamily\mdseries\upshape}% +%\fi +\newkomafont{titlefont}{\Large\sffamily\mdseries\itshape} +%% ahilbig end +\newkomafont{acadtitlefont}{\LARGE\mdseries\itshape} +\newkomafont{addressfont}{\normalsize\mdseries\itshape} +\newkomafont{quotefont}{\large\itshape} +\newkomafont{hintfont}{} +\newkomafont{linkfont}{} +\newkomafont{httplinkfont}{} +\newkomafont{emaillinkfont}{} +\newkomafont{commentmainfont}{\bfseries} % in cvitemwithcomment +\newkomafont{commentfont}{\footnotesize\itshape} % cvitemwidthcomment +%% ahilbig begin: +\newkomafont{section}{\LARGE\mdseries\upshape} +\newkomafont{subsection}{\Large\mdseries\upshape} +\newcommand{\section}[1]{} +\newcommand{\subsection}[1]{} +%% ahilbig end +\setlength\parindent{0pt} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\newlength\@komacvtextwidth +\newlength\@hintscolwidth +\newlength\hintscolwidth +\setlength\hintscolwidth{0pt} +\newlength\@sepcolwidth +\newlength\sepcolwidth +\setlength\sepcolwidth{0pt} +\newlength\@maincolwidth +\newlength\maincolwidth +\setlength\maincolwidth{0pt} +\newlength\@quotewidth +\newlength\quotewidth +\setlength\quotewidth{0pt} +\newlength\@dbitemmaincolwidth +\newlength\dbitemmaincolwidth +\setlength\dbitemmaincolwidth{0pt} +\newlength\@listitemsymbolwidth +\newlength\listitemsymbolwidth +\setlength\listitemsymbolwidth{0pt} +\newlength\@listitemmaincolwidth +\newlength\listitemmaincolwidth +\setlength\listitemmaincolwidth{0pt} +\newlength\@listdbitemmaincolwidth +\newlength\listdbitemmaincolwidth +\setlength\listdbitemmaincolwidth{0pt} +\newlength\@titlepicwidth +\newlength\@titlesepwidth +\setlength\@titlesepwidth{0pt} +\newlength\titlesepwidth +\setlength\titlesepwidth{0pt} +\newlength\@mframepicshift +\newlength\mframepicshift +\setlength\mframepicshift{0pt} +\newlength\@commentmainlength +\newlength\@commentlength +\newlength\@titlenamewidth +\newlength\@titlenamemaxwidth +\newlength\@titlenamefullwidth +\newlength\@titledetailswidth +\newlength\@infocolwidth +\newlength\infocolwidth +\setlength\infocolwidth{0pt} +\newlength\@sepinfocolwidth +\newlength\sepinfocolwidth +\setlength\sepinfocolwidth{0pt} +\newlength\komacvinfocolextrawidth % witout @ for use inside document +\newlength\@footerwidth +\setlength\@footerwidth{.6\textwidth} +\newlength\@fboxwidth +\newlength\footerwidth +\setlength\footerwidth{0pt} +\newlength\@aftertitlevspace +\newlength\aftertitlevspace +\setlength\aftertitlevspace{0pt} +\newlength\@afterquotevspace +\newlength\afterquotevspace +\setlength\afterquotevspace{0pt} +\newlength\@afterelementsvspace +\newlength\afterelementsvspace +\newlength\@beforesecvspace +\newlength\beforesecvspace +\setlength\beforesecvspace{0pt} +\newlength\@aftersecvspace +\newlength\aftersecvspace +\setlength\aftersecvspace{0pt} +\newlength\@beforesubsecvspace +\newlength\beforesubsecvspace +\setlength\beforesubsecvspace{0pt} +\newlength\@aftersubsecvspace +\newlength\aftersubsecvspace +\setlength\aftersubsecvspace{0pt} + +\AtEndPreamble{% + % infocol (oldstyle) + \setlength{\@infocolwidth}{\infocolwidth} + \setlength{\@sepinfocolwidth}{\sepinfocolwidth} + \setlength\komacvinfocolextrawidth{\@infocolwidth+\@sepinfocolwidth} + \setlength\@komacvtextwidth{\textwidth-\komacvinfocolextrawidth} + + % fboxextra (picture frame) + \newlength\@fboxextra + \setlength\@fboxextra{\fboxsep+\fboxrule} + + % hintscolumn + \ifdimequal{\hintscolwidth}{0pt}{% + \setlength\@hintscolwidth{.2\@komacvtextwidth} + }{% + \setlength{\@hintscolwidth}{\hintscolwidth}% + } % + + % separatorcolumn + \ifdimequal{\sepcolwidth}{0pt}{% + \setlength\@sepcolwidth{2em}% + }{% + \setlength{\@sepcolwidth}{\sepcolwidth}% + } % + + % maincolumn + \ifdimequal{\maincolwidth}{0pt}{% + \setlength{\@maincolwidth}{% + \@komacvtextwidth-\@sepcolwidth-\@hintscolwidth}% + }{% + \setlength{\@maincolwidth}{\maincolwidth}% + } % + + % doubleitem + \ifdimequal{\dbitemmaincolwidth}{0pt}{% + \setlength{\@dbitemmaincolwidth}{% + \@maincolwidth-\@hintscolwidth-2\@sepcolwidth}% + \setlength{\@dbitemmaincolwidth}{0.5\@dbitemmaincolwidth}% + }{% + \setlength{\@dbitemmaincolwidth}{\dbitemmaincolwidth}% + } % + + % listitem + \ifdimequal{\listitemsymbolwidth}{0pt}{% + \settowidth{\@listitemsymbolwidth}{\listitemsymbol{}~}% + \setlength{\@listitemmaincolwidth}{% + \@maincolwidth-\@listitemsymbolwidth}% + }{% + \setlength{\@listitemsymbolwidth}{\listitemsymbolwidth}% + } % + + % listdoubleitem + \ifdimequal{\listdbitemmaincolwidth}{0pt}{% + \setlength{\@listdbitemmaincolwidth}{% + \@maincolwidth-\@listitemsymbolwidth}% + \setlength{\@listdbitemmaincolwidth}{% + 0.475\@listdbitemmaincolwidth}% + }{% + \setlength{\@listdbitemmaincolwidth}{\listdbitemmaincolwidth}% + } % + + % quote + \ifdimequal{\quotewidth}{0pt}{% + \setlength{\@quotewidth}{0.65\textwidth}% + }{% + \setlength{\@quotewidth}{\quotewidth}% + } + \ifdimequal{\afterquotevspace}{0pt}{% + \setlength\@afterquotevspace{2\baselineskip}% + }{% + \setlength\@afterquotevspace{\afterquotevspace}% + } % + + % title + \ifundef{\@photoname}{% without picture: + \setlength\@aftertitlevspace{\aftertitlevspace} + }{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \ifdimequal{\aftertitlevspace}{0pt}{% + \setlength\@aftertitlevspace{1.5\@fboxextra} + }{% + \setlength\@aftertitlevspace{\aftertitlevspace} + } + }{% without frame: + \setlength\@aftertitlevspace{\aftertitlevspace} + }% + }% + \ifundef{\@photoname}{}{% + \ifdimequal{\titlesepwidth}{0pt}{% + \setlength\@titlesepwidth{\@sepcolwidth} + }{% + \setlength{\@titlesepwidth}{\titlesepwidth} + } + } % + + % afterelementsvspace + \ifdimequal{\afterelementsvspace}{0pt}{% + \setlength{\@afterelementsvspace}{0.25em}% + }{% + \setlength{\@afterelementsvspace}{\afterelementsvspace}% + } % + + % beforesecvspace + \ifdimequal{\beforesecvspace}{0pt}{% + \setlength{\@beforesecvspace}{3.5ex \@plus -1ex \@minus -.2ex}% + }{% + \setlength{\@beforesecvspace}{\beforesecvspace}% + } % + + % aftersecvspace + \ifdimequal{\aftersecvspace}{0pt}{% + \setlength{\@aftersecvspace}{2.3ex \@plus.2ex}% + }{% + \setlength{\@aftersecvspace}{\aftersecvspace}% + } % + % beforesubsecvspace + \ifdimequal{\beforesubsecvspace}{0pt}{% + \setlength{\@beforesubsecvspace}{% + 3.25ex\@plus -1ex \@minus -.2ex}% + }{ % + \setlength{\@beforesubsecvspace}{\beforesubsecvspace}% + } % + + % aftersubsecvspace + \ifdimequal{\aftersubsecvspace}{0pt}{% + \setlength{\@aftersubsecvspace}{1.5ex \@plus .2ex}% + }{% + \setlength{\@aftersubsecvspace}{\aftersubsecvspace}% + } % +} % end AtEndPreamble +\providecommand*\@addresssymbol{} +\providecommand*\addresssymbol{} +\providecommand*\@mobilesymbol{\Mobilefone~} +\providecommand*\mobilesymbol{} +\providecommand*\@phonesymbol{\Telefon~} +\providecommand*\phonesymbol{} +\providecommand*\@faxsymbol{\FAX~} +\providecommand*\faxsymbol{} +\providecommand*\@emailsymbol{\Letter~} +\providecommand*\emailsymbol{} +\providecommand*\@homepagesymbol{} +\providecommand*\homepagesymbol{} +\providecommand*\@fsymbol{~~~\textbullet~~~} +\providecommand*\fsymbol{} +\providecommand*\@listitemsymbol{\textcolor{colortheme}{\Neutral}~} +\providecommand*\listitemsymbol{} + +\AtEndPreamble{% + \ifdefempty{\addresssymbol}{}{% +\renewcommand*\@addresssymbol{\addresssymbol} +} % + \ifdefempty{\mobilesymbol}{}{% +\renewcommand*\@mobilesymbol{\mobilesymbol} +} % + \ifdefempty{\phonesymbol}{}{% +\renewcommand*\@phonesymbol{\phonesymbol} +} % + \ifdefempty{\faxsymbol}{}{% +\renewcommand*\@faxsymbol{\faxsymbol} +} % + \ifdefempty{\emailsymbol}{}{% +\renewcommand*\@emailsymbol{\emailsymbol} +} % + \ifdefempty{\homepagesymbol}{}{% +\renewcommand*\@homepagesymbol{\homepagesymbol} +} % + \ifdefempty{\fsymbol}{}{% +\renewcommand*\@fsymbol{\fsymbol} +} % + \ifdefempty{\listitemsymbol}{}{% +\renewcommand*\@listitemsymbol{\listitemsymbol} +} % + +} % end AtEndPreamble + +\providecommand*{\firstname}{} +\providecommand*{\familyname}{} +\providecommand*{\acadtitle}{} +\providecommand*{\addressstreet}{} +\providecommand*{\addresscity}{} +\providecommand*{\address}[2]{\addressstreet{#1}\addresscity{#2}} +\providecommand*{\mobile}{} +\providecommand*{\phonenr}{} +\providecommand*{\faxnr}{} +\providecommand*{\email}{} +\providecommand*{\homepage}{} +\providecommand*{\extrainfo}{} +\providecommand*{\cvquote}{} +\newlist{compactitem}{itemize}{3} +\newlist{compactenum}{enumerate}{3} +\newlist{compactdesc}{description}{3} +\setlist[compactitem,compactenum,compactdesc]{% + topsep=0pt,% + partopsep=0pt,% + itemsep=0pt,% + parsep=0pt,% + leftmargin=*% +} % end setlist +\AtEndPreamble{% +\setlist[compactitem,1]{label=\@listitemsymbol} +\setlist[compactitem,2]{label={\textcolor{colortheme}\textendash}} +\setlist[compactitem,3]{label={% + \textcolor{colortheme}\textperiodcentered}} % +\setlist[compactenum,1]{label={\textcolor{colortheme}{\arabic*.}}} +\setlist[compactenum,2]{label={\textcolor{colortheme}{\alph*.}}} +\setlist[compactenum,3]{label={\textcolor{colortheme}{\roman*.}}} +} % end AtEndPreamble +\newlength\@photowidth +\providecommand{\photo}[3][]{% + \providecommand{\@photoframe}{#1}% + \setlength{\@photowidth}{#2}% + \providecommand{\@photoname}{#3}} +\newif\if@firstdetailselement\@firstdetailselementtrue +\providecommand*{\@titledetailsnewline}{ % + \if@firstdetailselement% + \@firstdetailselementfalse% + \else% + \\[.4ex] + \fi% +} +%% ahilbig begin +\renewcommand\maketitle{% + \csexpandonce{@cvtitle\ahbewerbung@lebenslaufStyle}} +%% ahilbig end +\RequirePackage{lastpage} +\providecommand*{\totalpagemark}{% page and pagetotal +\usekomafont{pagenumber}\pageref{LastPage}% +} + \newcommand*{\firstnamestyle}[1]{{% + \usekomafont{firstnamefont}% + \textcolor{@firstnamecolor}{#1}}} + \newcommand*{\familynamestyle}[1]{{% + \usekomafont{familynamefont}% + \textcolor{@familynamecolor}{#1}}} + \newcommand*{\acadtitlestyle}[1]{{% + \usekomafont{acadtitlefont}% + \textcolor{@acadtitlecolor}{#1}}} +%% ahilbig begin + \newcommand*{\titlestyle}[1]{{% + \usekomafont{titlefont}% + \textcolor{@titlecolor}{#1}}} +%% ahilbig end + \newcommand*{\addressstyle}[1]{{% + \usekomafont{addressfont}% + \textcolor{@addresscolor}{#1}}} + \newcommand*{\quotestyle}[1]{{% + \usekomafont{quotefont}% + \textcolor{@quotecolor}{#1}}} + \newcommand*{\hintstyle}[1]{{% + \usekomafont{hintfont}% + \textcolor{@hintcolor}{#1}}} + \newcommand*{\sectionstyle}[1]{% + \usekomafont{section}% + \textcolor{@seccolor}{#1}} + \newcommand*{\subsectionstyle}[1]{% + \usekomafont{subsection}% + \textcolor{@subseccolor}{#1}} +\providecommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@hintscolwidth}% + @{\hspace{\@sepcolwidth}}p{\@maincolwidth}@{}% + }% + \raggedleft\hintstyle{#2} &{#3}% + \end{tabular}\\[#1]% +} +\providecommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#4} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +\providecommand*{\cvlistitem}[2][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listitemmaincolwidth}% + #2% + \end{minipage}% + }% + } +\providecommand*{\cvlistdoubleitem}[3][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #2% + \end{minipage}% + \hspace*{\@sepcolwidth} + \ifstrempty{#3}{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #3% + \end{minipage} + }% + }% +} +\providecommand*{\cventry}[7][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + {\bfseries#3}% + \ifstrempty{#4}{}{, {\itshape#4}}% + \ifstrempty{#5}{}{, #5}% + \ifstrempty{#6}{}{, #6}% + .% + \ifx&% + \else{% + \newline{}\begin{minipage}[t]{\linewidth}% + \small#7% + \end{minipage}% + }% + \fi% + }% +} +%% ahilbig begin +\providecommand{\cvlanguage}[3]{% + \cvitemwithcomment{#1}{#2}{#3}% +} +%% ahilbig end +\newbox{\@commentmainbox} +\providecommand*{\cvitemwithcomment}[4][\@afterelementsvspace]{% + \savebox{\@commentmainbox}{{\usekomafont{commentmainfont}#3}}% + \settowidth\@commentmainlength{\usebox{\@commentmainbox}}% + \setlength{\@commentlength}{% + \@maincolwidth-\@sepcolwidth-\@commentmainlength% + }% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@commentmainlength}% + \usekomafont{commentmainfont} #3% + \end{minipage}% + \hfill% + \begin{minipage}[t]{\@commentlength}% + \raggedleft\usekomafont{commentfont} #4% + \end{minipage}% + }% +} + \providecommand*{\link}[2][]{% + \ifstrempty{#1}{% + \href{#2}{\usekomafont{linkfont}#2}}{% + \href{#2}{\usekomafont{linkfont}#1}}% + } + \providecommand*{\httplink}[2][]{% + \ifstrempty{#1}{% + \href{http://#2}{\usekomafont{httplinkfont}#2}}{% + \href{http://#2}{\usekomafont{httplinkfont}#1}}% + } + \providecommand*{\emaillink}[2][]{% + \ifstrempty{#1}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#2}}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#1}}% + } +\providecommand\origsection{} +\let\origsection\section +\providecommand\origsubsection{} +\let\origsubsection\subsection + +\providecommand\@cvsimplesection[1]{% + \origsection*{\sectionstyle{#1}} +} +\providecommand\@cvsimplesubsection[1]{% + \origsubsection*{\subsectionstyle{#1}} +} + +\providecommand\@cvbarsection[1]{% +%% ahilbig begin +% needed some additional space between the sections to look nicer + \vspace{0.75em} +%% ahilbig end + \origsection*{% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#1}% + \cvitem[0pt]{% + \raggedleft\hintstyle{\color{@secbarcolor}% + \rule{\@hintscolwidth}{1ex}}% +%% ahilbig begin +% we need more space^^ + }{\sectionstyle{#1}\vspace{0.4em}} % +%% ahilbig end + }% end origsection +} % end cvbarsection + +\providecommand\@cvbarsubsection[1]{% + \origsubsection*{% + \cvitem[0pt]{}{\subsectionstyle{#1}}% + }% +} + +\hypersetup{% + breaklinks,% + unicode, % +%% ahilbig begin +% make links look nicer + colorlinks = true,% +%% ahilbig end + pdfborder = {0 0 .3},% + pdfstartview = FitH,% +%% ahilbig begin +%\iffalse +%% pdfstartpage = 1,% +%% pdfcreator = \LaTeX{},% +%% pdfproducer = \LaTeX{} % +%\fi +%% ahilbig end +}% +\urlstyle{same} +\providecommand*\@citebordercolor{} +\providecommand*\citebordercolor{\@citebordercolor} +\providecommand*\@filebordercolor{} +\providecommand*\filebordercolor{\@filebordercolor} +\providecommand*\@linkbordercolor{} +\providecommand*\linkbordercolor{\@linkbordercolor} +\providecommand*\@menubordercolor{} +\providecommand*\menubordercolor{\@menubordercolor} +\providecommand*\@runbordercolor{} +\providecommand*\runbordercolor{\@runbordercolor} +\providecommand*\@urlbordercolor{} +\providecommand*\urlbordercolor{\@urlbordercolor} +\providecommand*\allbordercolors{} +\providecommand*\pdfauthor{} +\providecommand*\pdfsubject{} +\providecommand*\pdftitle{} +\providecommand*\pdfkeywords{} + +\AtEndPreamble{% +\providecommand*\@allbordercolors{colortheme} +\ifdefempty{\allbordercolors}{}{% + \renewcommand*\@allbordercolors{\allbordercolors}} +\providecommand*\@pdfauthor{\firstname~\familyname} +\ifdefempty{\pdfauthor}{}{\renewcommand*\@pdfauthor{\pdfauthor}} +\providecommand*\@pdfsubject{\firstname~\familyname} +\providecommand*\pdfsubject{\@pdfsubject} +\providecommand*\@pdftitle{\title~\firstname~\familyname} +\providecommand*\pdftitle{\@pdftitle} +\providecommand*\@pdfkeywords{% + \firstname~\familyname{} curriculum~vit\ae{} CV{}} +\providecommand*\pdfkeywords{\@pdfkeywords} + \hypersetup{% + allbordercolors = \@allbordercolors,% + citebordercolor = \citebordercolor,% + filebordercolor = \filebordercolor,% + linkbordercolor = \linkbordercolor,% + menubordercolor = \menubordercolor,% + runbordercolor = \runbordercolor,% + urlbordercolor = \urlbordercolor,% + pdfauthor = \@pdfauthor,% + pdfsubject = \pdfsubject,% + pdftitle = \pdftitle,% + pdfkeywords = \pdfkeywords,% + }% +} % end AtEndPreamble +\AtBeginDocument{% + \raggedbottom % +} % End AtBeginDocument +%% ahilbig begin +%\iffalse +%%\clearscrheadfoot +%\fi +\RequirePackage{bewerbung-cv-\ahbewerbung@lebenslaufStyle} +%% ahilbig end +%%\endinput +%% +%% End of file `bewerbung-cv.sty'. diff --git a/bewerbung-example.pdf b/bewerbung-example.pdf new file mode 100644 index 0000000..5442149 Binary files /dev/null and b/bewerbung-example.pdf differ diff --git a/bewerbung-example.tex b/bewerbung-example.tex new file mode 100644 index 0000000..1b517a2 --- /dev/null +++ b/bewerbung-example.tex @@ -0,0 +1,81 @@ +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/index.cgi/Publications/Bewerbung | +% | +% this file: bewerbung-example.tex | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +\documentclass[% + % color option derived from komacv + lebenslaufColor=light-gray, + % which cv style (from komacv) do you want to use? + % -> classic is default and slightly edited + % -> casual + % -> oldstyle + %lebenslaufStyle=classic, + % 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) + % for additional information take a look into config.inc + idPlain % +]{bewerbung} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[ngerman]{babel} + +\definecolor{light-gray}{gray}{0.6} +\definecolor{titlecolor}{gray}{0.62} +\definecolor{addresscolor}{gray}{0.45} + +% here are some possible color hacks: +%\xdefinecolor{mycolor}{cmyk}{0.92,0,0.87,0.09} +%\colorlet{firstnamecolor}{blue} +%\colorlet{familynamecolor}{red} +%\colorlet{acadtitlecolor}{green} +%\colorlet{addresscolor}{titlecolor} +%\colorlet{quotecolor}{pink} +%\colorlet{framecolor}{yellow} +%\colorlet{framebackcolor}{black} +%\colorlet{secbarcolor}{firstnamecolor} +%\colorlet{seccolor}{familynamecolor} +%\colorlet{subseccolor}{pink!70!black} +%\colorlet{hintcolor}{orange} + + +\begin{document} + \begin{anschreiben} + Hier kommt das Anschreiben hin + \end{anschreiben} + + \begin{lebenslauf}[none][] + \maketitle + \makePerson + + \section{Studium} + \cventry{03/13}{Abschluss: Dipl.-Pädagogin (Univ.)}{}{}{}{} + + \section{Führerschein} + \cvlistitem{Klasse B (eigener PKW)} + + \section{Sprachen} + \cvlanguage{Deutsch}{Muttersprache}{} + \cvlanguage{Englisch}{gut}{} + \end{lebenslauf} + + % Sometimes it could be nice to add some diploma, certificates and so on + % Feel free to use pdfpages for that stuff: + %\includepdf[pages=-]{Anhang/diploma.pdf} + %\includepdfmerge[pages=-,landscape,angle=270]{Anhang/schoolout1.pdf,Anhang/schoolout2.pdf} +\end{document} diff --git a/bewerbung.bib b/bewerbung.bib new file mode 100644 index 0000000..e9cd3d3 --- /dev/null +++ b/bewerbung.bib @@ -0,0 +1,41 @@ +%% LaTeX2e file `bewerbung.bib' +%% generated by the `filecontents' environment +%% from source `dokumentation' on 2015/07/11. +%% + @electronic{komacv, + author = "Salome Södergan", + month = {Aug}, + year = "2014", + title = "komacv", + subtitle = "Typesetting a beuatiful CV with various style options", + url = {http://www.ctan.org/pkg/komacv}, + urldate = {2015-07-09}, + } + + @electronic{scrlttr2, + author = "Markus Kohm", + month = {Jul}, + year = "2015", + title = "scrlttr2", + subtitle = "Koma-Script ‘letter’ class", + url = {http://www.ctan.org/pkg/scrlttr2}, + urldate = {2015-07-09}, + } + + @electronic{datatool, + author = "Nicola Talbot", + year = "2014", + title = "datatool", + subtitle = "Tools to load and manipulate data", + url = {http://www.ctan.org/pkg/datatool}, + urldate = {2015-07-09}, + } + + @electronic{pdfpages, + author = "Andreas Matthias", + year = "2015", + title = "pdfpages", + subtitle = "Include PDF documents in LaTeX", + url = {http://www.ctan.org/pkg/pdfpages}, + urldate = {2015-07-09}, + } diff --git a/bewerbung.cls b/bewerbung.cls new file mode 100644 index 0000000..3286cab --- /dev/null +++ b/bewerbung.cls @@ -0,0 +1,88 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{bewerbung}[2015/07/14 v1.1 % + Klasse zur Erstellung von Bewerbungsschreiben] +\RequirePackage{ifthen,kvoptions,calc} +\SetupKeyvalOptions{% +family=ahbewerbung,% +prefix=ahbewerbung@,% +setkeys=\kvsetkeys% +} +%% +%% for komacv are some color options available, that % +%% needed to get passed to the new cv package +%% ALL OPTIONS ARE CHANGED TO THE IDENTIFIER ahbewerbung +%% +\DeclareStringOption[mycolor]{lebenslaufColor}[mycolor] +\DeclareStringOption[x11names]{lebenslaufXcolor}[x11names] +\DeclareStringOption[classic]{lebenslaufStyle}[classic] +\DeclareStringOption[anschrift.csv]{anschrift}[anschrift.csv] +\DeclareBoolOption{idPlain} +\ProcessKeyvalOptions{ahbewerbung} % evaluate keyval options + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrlttr2}} +\ProcessOptions\relax +\LoadClass[ + DIN, pagenumber=botright, backaddress=true, parskip=half,% + fromalign=left, fromemail=true, fromfax=true, % + fromphone=true, fromurl=false, fromalign=right, % + fromlogo=false, fromrule=true, foldmarks=true, % + paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false +]{scrlttr2} + +%\iffalse +%% import from komacv.cls for easier maintaining +%\fi +\RequirePackage{% + etoolbox,% + ifpdf,% + ifluatex,% + ifxetex,% + marvosym, % + scrlayer-scrpage, % + array,% + graphicx,% + microtype,% + enumitem, % + hyperref, % +} + +\RequirePackage[% +%\iffalse +%% xcolor=\ahbewerbung@lebenslaufXcolor,% +%% color=\ahbewerbung@lebenslaufColor,% +%% style=\ahbewerbung@lebenslaufStyle,% +%\fi +]{bewerbung-cv} +\RequirePackage[autostyle,german=guillemets]{csquotes} + +\RequirePackage[top=2.5cm]{geometry} + +\RequirePackage{datatool} + +\RequirePackage[right]{eurosym} +\RequirePackage{xspace} + + +\RequirePackage{multicol} +\RequirePackage{pdfpages} + +\RequirePackage{comment} + +\RequirePackage{xparse} + +\RequirePackage{bewerbung} + +\AtBeginDocument{% + \hypersetup{colorlinks=true}% + \InputIfFileExists{config.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei config.inc ist nicht lesbar.}% + } + \getBewerbung[\ahbewerbung@anschrift] % + \runKomaVar % + \InputIfFileExists{titlepage.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei titlepage.inc ist nicht lesbar.}% + } % +} +%%\endinput diff --git a/bewerbung.dtx b/bewerbung.dtx new file mode 100644 index 0000000..577458d --- /dev/null +++ b/bewerbung.dtx @@ -0,0 +1,3021 @@ +% \iffalse meta-comment +% +% Copyright (C) 2015 by A. Hilbig +% --------------------------------------------------------------------------- +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is A. Hilbig. +% +% This work consists of the files bewerbung.dtx and bewerbung.ins +% and the derived filebase bewerbung.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{bewerbung.dtx} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{bewerbung} +%<*package> + [<+date+> <+version+> <+description+>] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{bewerbung}[<+date+>] +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{bewerbung.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{1922} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% +% \changes{<+version+>}{<+date+>}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{bewerbung.dtx} +% \title{The \textsf{bewerbung} package} +% \author{A. Hilbig \\ \url{mail@andrehilbig.de}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% Put text here. +% +% \section{Usage} +% +% Put text here. +% +% +% \DescribeMacro{\addtofooter} +% +% +% \DescribeMacro{\section} +% +% +% \DescribeMacro{\subsection} +% +% +% \DescribeMacro{\section} +% +% +% \DescribeMacro{\subsection} +% +% +% \DescribeMacro{\listitemsymbol} +% +% +% \DescribeMacro{\addresssymbol} +% +% +% \DescribeMacro{\mobilesymbol} +% +% +% \DescribeMacro{\phonesymbol} +% +% +% \DescribeMacro{\faxsymbol} +% +% +% \DescribeMacro{\emailsymbol} +% +% +% \DescribeMacro{\homepagesymbol} +% +% +% \DescribeMacro{\section} +% +% +% \DescribeMacro{\subsection} +% +% +% \DescribeMacro{\cvitem} +% +% +% \DescribeMacro{\cvdoubleitem} +% +% +% \DescribeMacro{\mycolor} +% +% +% \DescribeMacro{\section} +% +% +% \DescribeMacro{\subsection} +% +% +% \DescribeMacro{\addresssymbol} +% +% +% \DescribeMacro{\mobilesymbol} +% +% +% \DescribeMacro{\phonesymbol} +% +% +% \DescribeMacro{\faxsymbol} +% +% +% \DescribeMacro{\emailsymbol} +% +% +% \DescribeMacro{\homepagesymbol} +% +% +% \DescribeMacro{\fsymbol} +% +% +% \DescribeMacro{\listitemsymbol} +% +% +% \DescribeMacro{\firstname} +% +% +% \DescribeMacro{\familyname} +% +% +% \DescribeMacro{\acadtitle} +% +% +% \DescribeMacro{\addressstreet} +% +% +% \DescribeMacro{\addresscity} +% +% +% \DescribeMacro{\address} +% +% +% \DescribeMacro{\mobile} +% +% +% \DescribeMacro{\phonenr} +% +% +% \DescribeMacro{\faxnr} +% +% +% \DescribeMacro{\email} +% +% +% \DescribeMacro{\homepage} +% +% +% \DescribeMacro{\extrainfo} +% +% +% \DescribeMacro{\cvquote} +% +% +% \DescribeMacro{\photo} +% +% +% \DescribeMacro{\maketitle} +% +% +% \DescribeMacro{\totalpagemark} +% +% +% \DescribeMacro{\cvitem} +% +% +% \DescribeMacro{\cvdoubleitem} +% +% +% \DescribeMacro{\cvlistitem} +% +% +% \DescribeMacro{\cvlistdoubleitem} +% +% +% \DescribeMacro{\cventry} +% +% +% \DescribeMacro{\cvlanguage} +% +% +% \DescribeMacro{\cvitemwithcomment} +% +% +% \DescribeMacro{\origsection} +% +% +% \DescribeMacro{\origsubsection} +% +% +% \DescribeMacro{\citebordercolor} +% +% +% \DescribeMacro{\filebordercolor} +% +% +% \DescribeMacro{\linkbordercolor} +% +% +% \DescribeMacro{\menubordercolor} +% +% +% \DescribeMacro{\runbordercolor} +% +% +% \DescribeMacro{\urlbordercolor} +% +% +% \DescribeMacro{\allbordercolors} +% +% +% \DescribeMacro{\pdfauthor} +% +% +% \DescribeMacro{\pdfsubject} +% +% +% \DescribeMacro{\pdftitle} +% +% +% \DescribeMacro{\pdfkeywords} +% +% +% \DescribeMacro{\pdfsubject} +% +% +% \DescribeMacro{\pdftitle} +% +% +% \DescribeMacro{\pdfkeywords} +% +% +% \DescribeMacro{\name} +% +% +% \DescribeMacro{\Name} +% +% +% \DescribeMacro{\vorname} +% +% +% \DescribeMacro{\Vorname} +% +% +% \DescribeMacro{\fullname} +% +% +% \DescribeMacro{\street} +% +% +% \DescribeMacro{\Street} +% +% +% \DescribeMacro{\plz} +% +% +% \DescribeMacro{\Plz} +% +% +% \DescribeMacro{\stadt} +% +% +% \DescribeMacro{\Stadt} +% +% +% \DescribeMacro{\anschrift} +% +% +% \DescribeMacro{\meinBeruf} +% +% +% \DescribeMacro{\meinberuf} +% +% +% \DescribeMacro{\MeinBeruf} +% +% +% \DescribeMacro{\gebDatum} +% +% +% \DescribeMacro{\GebDatum} +% +% +% \DescribeMacro{\sta} +% +% +% \DescribeMacro{\Sta} +% +% +% \DescribeMacro{\email} +% +% +% \DescribeMacro{\EMail} +% +% +% \DescribeMacro{\tel} +% +% +% \DescribeMacro{\Tel} +% +% +% \DescribeMacro{\mobile} +% +% +% \DescribeMacro{\Mobile} +% +% +% \DescribeMacro{\todayOrt} +% +% +% \DescribeMacro{\TodayOrt} +% +% +% \DescribeMacro{\todayTime} +% +% +% \DescribeMacro{\TodayTime} +% +% +% \DescribeMacro{\lebenslaufTitel} +% +% +% \DescribeMacro{\LebenslaufTitel} +% +% +% \DescribeMacro{\firma} +% +% +% \DescribeMacro{\firmaAnrede} +% +% +% \DescribeMacro{\firmaName} +% +% +% \DescribeMacro{\firmaStreet} +% +% +% \DescribeMacro{\firmaPlz} +% +% +% \DescribeMacro{\firmaStadt} +% +% +% \DescribeMacro{\beruf} +% +% +% \DescribeMacro{\setzekomma} +% +% +% \DescribeMacro{\bewerbungKW} +% +% +% \DescribeMacro{\BewerbungKW} +% +% +% \DescribeMacro{\bewerbungDatum} +% +% +% \DescribeMacro{\BewerbungDatum} +% +% +% \DescribeMacro{\bewerbungFirma} +% +% +% \DescribeMacro{\BewerbungFirma} +% +% +% \DescribeMacro{\bewerbungFirmaAnrede} +% +% +% \DescribeMacro{\BewerbungFirmaAnrede} +% +% +% \DescribeMacro{\bewerbungFirmaName} +% +% +% \DescribeMacro{\BewerbungFirmaName} +% +% +% \DescribeMacro{\bewerbungFirmaStr} +% +% +% \DescribeMacro{\BewerbungFirmaStr} +% +% +% \DescribeMacro{\bewerbungFirmaPlz} +% +% +% \DescribeMacro{\BewerbungFirmaPlz} +% +% +% \DescribeMacro{\bewerbungFirmaOrt} +% +% +% \DescribeMacro{\BewerbungFirmaOrt} +% +% +% \DescribeMacro{\bewerbungStelle} +% +% +% \DescribeMacro{\BewerbungStelle} +% +% +% \DescribeMacro{\bewerbungRueckmeldung} +% +% +% \DescribeMacro{\BewerbungRueckmeldung} +% +% +% \DescribeMacro{\bewerbungSonstiges} +% +% +% \DescribeMacro{\BewerbungSonstiges} +% +% +% \DescribeMacro{\id} +% +% +% \DescribeMacro{\ID} +% +% +% \DescribeMacro{\getBewerbung} +% +% +% \DescribeMacro{\runKomaVar} +% +% +% \DescribeMacro{\makePerson} +% +% +% \DescribeMacro{\argetabelle} +% + +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/Publications | +% | +% this file: ahilbig-cv-casual.sty | +% this file is based on komacv-casual.sty from Salome Södergran | +% every change is marked by | +% % ahilbig begin | +% CHANGE | +% % ahilbig end | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-casual} + [2015/07/08 v0.1 theme für bewerbungen basiert auf komacv-casual] +\addtokomafont{firstnamefont}{\sffamily\fontsize{38}{40}} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily\small} +\addtokomafont{hintfont}{\sffamily} +\newsavebox\@fboxa +\newsavebox\@fboxb +% \end{macrocode} +% +% \begin{macro}{\@sboxa} +% \begin{macrocode} +\newcommand*\@sboxa[1]{\sbox\@fboxa{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@sboxb} +% \begin{macrocode} +\newcommand*\@sboxb[1]{\sbox\@fboxb{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@uboxa} +% \begin{macrocode} +\newcommand*\@uboxa{\usebox\@fboxa} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@uboxb} +% \begin{macrocode} +\newcommand*\@uboxb{\usebox\@fboxb} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@flushf} +% \begin{macrocode} +\newcommand*\@flushf{\strut\@uboxa\@sboxa{}\@sboxb{}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addtofooter} +% \begin{macrocode} +\newcommand*\addtofooter[2][\@fsymbol]{% + \@sboxb{\@uboxa{}#1#2}% + \settowidth\@fboxwidth{\@uboxb}% + \ifdimgreater{\@footerwidth}{\@fboxwidth}{% + \@sboxa{\@uboxb} + }{% + \@flushf\\ + \@sboxa{#2} + \@sboxb{#2} + } +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \ifdimequal{\footerwidth}{0pt}{}{\setlength\@footerwidth{\footerwidth}} + \defpagestyle{footer} + {{}{}{}}% head definition (empty) + {% foot definition + {}{}% definition for twoside layout + {% definition for oneside layout + \hspace*{\fill}% + \parbox{\@footerwidth}{% + \centering% + \color{@addresscolor}\usekomafont{addressfont}% + \ifdefempty{\addressstreet}{}{% + \addtofooter[]{\@addresssymbol\addressstreet}% + \ifdefempty{\addresscity}{}{% + \addtofooter[~--~]{\addresscity}}}% + \ifdefempty{\mobile}{}{% + \addtofooter{\@mobilesymbol\mobile}}% + \ifdefempty{\phonenr}{}{% + \addtofooter{\@phonesymbol\phonenr}} + \ifdefempty{\faxnr}{}{% + \addtofooter{\@faxsymbol\faxnr}}% + \ifdefempty{\email}{}{% + \addtofooter{\@emailsymbol\emaillink{\email}}} + \ifdefempty{\homepage}{}{% + \addtofooter{\@homepagesymbol\httplink{\homepage}}}% + \ifdefempty{\extrainfo}{}{% + \addtofooter{\extrainfo}}\@flushf% + }% Ende parbox + \hspace*{\fill}% + \makebox[0pt][r]{\pagemark/\totalpagemark} + }% end definition onesided layout + }% end footer definition +% \end{macrocode} +% +% \begin{macro}{\@cvtitlecasual} +% \begin{macrocode} +\providecommand\@cvtitlecasual{% +\newbox{\@picbox} +\savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname +}% end savebox picbox +\settowidth\@titlepicwidth{\usebox{\@picbox}} +\setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} + \usebox{\@picbox}% + \hspace*{\@titlesepwidth}% + \parbox[b]{\@titlenamewidth}{% + \raggedleft{\firstnamestyle\firstname}% + ~{\familynamestyle\familyname}\\ + \raggedleft\color{@firstnamecolor}\rule{\@titlenamewidth}{.25ex}\par + }% end parbox + \vspace{\@aftertitlevspace} + %% optional acadtitle + \ifdefempty{\acadtitle}{}{% + \raggedleft\acadtitlestyle{\acadtitle}}\\[2.5em]% + %% optional quote + \ifdefempty{\cvquote}{}{% + {\centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote} + \end{minipage}\\[\@afterquotevspace]% + } + }% +}% end \@cvtitle-casual +\AtBeginDocument{% + \thispagestyle{footer} +} % end \AtBeginDocument +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand{\section}[1]{\@cvbarsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\endinput +% \end{macrocode} +%% +%% End of file `bewerbung-cv-casual.sty'. +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/Publications | +% | +% this file: ahilbig-cv-classic.sty | +% this file is based on komacv-classic.sty from Salome Södergran | +% every change is marked by | +% % ahilbig begin | +% CHANGE | +% % ahilbig end | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-classic} + [2015/07/08 v0.1 theme für bewerbungen basiert auf komacv-classic] +\addtokomafont{firstnamefont}{\sffamily} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily} +\addtokomafont{hintfont}{\sffamily} +\AtEndPreamble{% + %\AtBeginDocument{ +% \end{macrocode} +% mframepicshift +% \begin{macrocode} + \ifdimequal{\mframepicshift}{0pt}{% + \setlength\@mframepicshift{.5\@photowidth+\@fboxextra} + }{% + \setlength\@mframepicshift{\mframepicshift} + } +} % end \AtBeginDocument +% \end{macrocode} +% +% \begin{macro}{\@cvtitleclassic} +% \begin{macrocode} +\providecommand\@cvtitleclassic{% + %% set \cs{@titlenamemaxwidth| to the full name length, capped by \cs{@titlenamemaxwidth| +\setlength{\@titlenamemaxwidth}{.525\textwidth} +\settowidth{\@titlenamefullwidth}{\firstnamestyle{\firstname~}\familynamestyle{\familyname}} + \ifdimless{\@titlenamemaxwidth}{\@titlenamefullwidth}{% + \setlength{\@titlenamewidth}{\@titlenamemaxwidth} + }{% + \setlength{\@titlenamewidth}{\@titlenamefullwidth} + } +% \end{macrocode} +% set titlenamedetailswidth +% \begin{macrocode} +\setlength{\@titledetailswidth}{\textwidth-\@titlenamewidth-\@titlesepwidth}% +\ifundef{\@photoname}{}{% else + \ifdefstring{\@photoframe}{frame}{% + \setlength{\@titledetailswidth}{\@titledetailswidth-\@photowidth-2\@fboxextra} + }{% else + \ifdefstring{\@photoframe}{mframe}{% + \setlength{\@titledetailswidth}{\@titledetailswidth-\@mframepicshift}% + }{}% +}% +}% +% \end{macrocode} +% name and title +% \begin{macrocode} + \begin{minipage}[b]{\@titlenamewidth}% +% \end{macrocode} +% ahilbig begin +% \begin{macrocode} + \firstnamestyle{\firstname}\\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \\[1.25em]\titlestyle{\lebenslaufTitel}% + \end{minipage}% +% \end{macrocode} +% optional data +% \begin{macrocode} + \begin{minipage}[b]{\@titledetailswidth}% + \raggedleft\addressstyle{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline\@phonesymbol~\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol~\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% + }% +% \end{macrocode} +% ahilbig end +% \begin{macrocode} + \end{minipage}% +% \end{macrocode} +% optional photo +% \begin{macrocode} + \ifundef{\@photoname}{}{% with picture: + \hspace*{\@titlesepwidth}% + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \begin{minipage}[b]{\@photowidth}% + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}}% + \end{minipage}}{% without frame: + \begin{minipage}[b]{\@photowidth} + \includegraphics[width=\@photowidth]{\@photoname} + \end{minipage}}} +\\[\@aftertitlevspace] +% \end{macrocode} +% optional quote +% \begin{macrocode} + \ifundef{\cvquote}{}{% + \centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand*{\section}[1]{\@cvbarsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\endinput +% \end{macrocode} +%% +%% End of file `bewerbung-cv-classic.sty'. +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/Publications | +% | +% this file: bewerbung-cv-oldstyle.sty | +% this file is based on komacv-oldstyle.sty from Salome Södergran | +% every change is marked by | +% % ahilbig begin | +% CHANGE | +% % ahilbig end | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-oldstyle} + [2015/07/08 v0.1 theme für bewerbungen basiert auf komacv-oldstyle] +\KOMAoptions{DIV=15} +\setlength{\hintscolwidth}{3cm} +\addtokomafont{addressfont}{\small} +\addtokomafont{hintfont}{\bfseries} +\setkomafont{section}{\Large\bfseries\upshape} +\setkomafont{subsection}{\large\bfseries\itshape} +\colorlet{addresscolor}{gray} +% \end{macrocode} +% +% \begin{macro}{\listitemsymbol} +% \begin{macrocode} +\renewcommand*{\listitemsymbol}{\labelitemi~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresssymbol} +% \begin{macrocode} +\renewcommand*{\addresssymbol}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobilesymbol} +% \begin{macrocode} +\renewcommand*{\mobilesymbol}{\textbf{M}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonesymbol} +% \begin{macrocode} +\renewcommand*{\phonesymbol}{\textbf{T}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxsymbol} +% \begin{macrocode} +\renewcommand*{\faxsymbol}{\textbf{F}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\emailsymbol} +% \begin{macrocode} +\renewcommand*{\emailsymbol}{\textbf{E}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepagesymbol} +% \begin{macrocode} +\renewcommand*{\homepagesymbol}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\setlength{\infocolwidth}{3.5cm} +\setlength{\sepinfocolwidth}{2em} +% \end{macrocode} +% +% \begin{macro}{\@infocontent} +% \begin{macrocode} +\providecommand\@infocontent{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline \@phonesymbol\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% +} % end \@infocontent + \providecommand{\@makeinfo}{% + \newbox{\@infobox}% + \savebox{\@infobox}{% + \parbox[b]{\@infocolwidth}{% +% \end{macrocode} +% put the first line on the same baseline as the first sectiontitle: +% \begin{macrocode} + {\usekomafont{section} + \vspace*{1.6ex} + } + \raggedleft\addressstyle{% + \@infocontent% + } + }% end parbox + } % end savebox \@infobox% + \newlength{\@infoheight}% + \setlength{\@infoheight}{% + \totalheightof{\usebox{\@infobox}}% + }% + \usebox{\@infobox}\vspace*{-\@infoheight}% + \par\nointerlineskip% + \vspace*{-\parskip}% + \vspace*{-\@aftersecvspace} + }% end \providecommand \@makeinfo + \providecommand{\@cvtitleoldstyle}{% +% \end{macrocode} +% optional picture box +% \begin{macrocode} + \newbox{\@picbox} + \savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname + }% end savebox picbox + \settowidth\@titlepicwidth{\usebox{\@picbox}} + \setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} + \begin{minipage}[b]{\@titlenamewidth}% + \firstnamestyle{\firstname}\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \end{minipage}% +% \end{macrocode} +% optional photo +% \begin{macrocode} + \usebox{\@picbox}% + \\[\@aftertitlevspace]% +% \end{macrocode} +% optional quote +% \begin{macrocode} + \ifdefempty{\cvquote}{}{% + {\centering% + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% + }% +% \end{macrocode} +% address info box +% \begin{macrocode} + \@makeinfo +\par +\begin{addmargin}[\komacvinfocolextrawidth]{0pt} + } % end \@cvtitleoldstyle +\AtEndDocument{% +\end{addmargin} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand{\section}[1]{\@cvsimplesection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvsimplesubsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvitem} +% \begin{macrocode} +\renewcommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@maincolwidth}% + @{\hspace{\@sepcolwidth}}p{\@hintscolwidth}@{}% + }% + {#3} & \raggedright\hintstyle{#2}% + \end{tabular}\\[#1]% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvdoubleitem} +% \begin{macrocode} +\renewcommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#4}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#2} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\endinput +% \end{macrocode} +%% +%% End of file `bewerbung-cv-oldstyle.sty'. +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/Publications | +% | +% this file: bewerbung-cv.sty | +% this file is based on komacv.cls from Salome Södergran | +% every change is marked by | +% % ahilbig begin | +% CHANGE | +% % ahilbig end | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% \begin{macrocode} +\ProvidesPackage{bewerbung-cv} + [2015/07/08 v0.1 Importierung der Klasse koma-cv für bewerbungen] +% \end{macrocode} +% +% \begin{macro}{\mycolor} +% \begin{macrocode} +\providecommand*\mycolor{blue} +% \end{macrocode} +% \end{macro} +% +% ahilbig begin +%\RequirePackage{ifthen,kvoptions,calc} +%\SetupKeyvalOptions{% +%family=komacv,% +%prefix=komacv@,% +%setkeys=\kvsetkeys% +%} +%\DeclareStringOption[mycolor]{color}[mycolor] +%\DeclareStringOption[x11names]{xcolor}[x11names] +%\DeclareStringOption[classic]{style}[classic] +%\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +%\ProcessKeyvalOptions{komacv} % evaluate keyval options +%\ProcessOptions\relax % execute given options +% ahilbig end +% \begin{macrocode} +\RequirePackage[\ahbewerbung@lebenslaufXcolor]{xcolor} +\RequirePackage{% + etoolbox,% + ifpdf,% + ifluatex,% + ifxetex,% + scrpage2,% + marvosym,% + array,% + graphicx,% + microtype,% + enumitem, + hyperref% +} +\definecolor{myblue}{rgb}{0.2,0.3,0.65} +\colorlet{mycolor}{myblue} +\AtEndPreamble{% + \renewcommand*\mycolor{\ahbewerbung@lebenslaufColor} + \colorlet{colortheme}{\mycolor}% specified in documentclass option + \@ifundefinedcolor{firstnamecolor}{% + \colorlet{@firstnamecolor}{black}}{% + \colorlet{@firstnamecolor}{firstnamecolor}} + \@ifundefinedcolor{familynamecolor}{% + \colorlet{@familynamecolor}{@firstnamecolor}}{% + \colorlet{@familynamecolor}{familynamecolor}} + \@ifundefinedcolor{acadtitlecolor}{% + \colorlet{@acadtitlecolor}{@firstnamecolor}}{% + \colorlet{@acadtitlecolor}{acadtitlecolor}} +% \end{macrocode} +% ahilbig begin +% additional color for title +% \begin{macrocode} + \@ifundefinedcolor{titlecolor}{% + \colorlet{@titlecolor}{@firstnamecolor}}{% + \colorlet{@titlecolor}{titlecolor}} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} + \@ifundefinedcolor{addresscolor}{% + \colorlet{@addresscolor}{@firstnamecolor}}{% + \colorlet{@addresscolor}{addresscolor}} +% \end{macrocode} +% ahilbig begin +% additional handling of coloring of urls +% \begin{macrocode} + \@ifundefinedcolor{urllinkcolor}{% + \colorlet{@urllinkcolor}{@addresscolor}}{% + \colorlet{@urllinkcolor}{urllinkcolor}} + \hypersetup{urlcolor=@urllinkcolor} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} + \@ifundefinedcolor{quotecolor}{% + \colorlet{@quotecolor}{@firstnamecolor}}{% + \colorlet{@quotecolor}{quotecolor}} + \@ifundefinedcolor{secbarcolor}{% + \colorlet{@secbarcolor}{colortheme}}{% + \colorlet{@secbarcolor}{secbarcolor}} + \@ifundefinedcolor{seccolor}{% + \colorlet{@seccolor}{colortheme}}{% + \colorlet{@seccolor}{seccolor}} + \@ifundefinedcolor{subseccolor}{% + \colorlet{@subseccolor}{colortheme}}{% + \colorlet{@subseccolor}{subseccolor}} + \@ifundefinedcolor{hintcolor}{% + \colorlet{@hintcolor}{black}}{% + \colorlet{@hintcolor}{hintcolor}} + \@ifundefinedcolor{framecolor}{% + \colorlet{@framecolor}{colortheme}}{% + \colorlet{@framecolor}{framecolor}} + \@ifundefinedcolor{framebackcolor}{% + \colorlet{@framebackcolor}{white}}{% + \colorlet{@framebackcolor}{framebackcolor}} +} % end AtEndPreamble +\ifboolexpr{bool{xetex} or bool{luatex}}{% + \RequirePackage{fontspec}% +}{% +% \end{macrocode} +% ahilbig begin +% \RequirePackage[utf8]{inputenc} +% \RequirePackage[T1]{fontenc}% +% ahilbig end +% \begin{macrocode} +} +% \end{macrocode} +% ahilbig begin +% \begin{macrocode} +\newkomafont{firstnamefont}{%\fontsize{34}{36} + \Huge\mdseries\upshape} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} +\newkomafont{familynamefont}{\usekomafont{firstnamefont}} +% \end{macrocode} +% ahilbig begin +%\addtokomafont{familynamefont}{} +%\setkomafont{\namefont}{\Huge\sffamily\mdseries\upshape}% +% \begin{macrocode} +\newkomafont{titlefont}{\Large\sffamily\mdseries\itshape} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} +\newkomafont{acadtitlefont}{\LARGE\mdseries\itshape} +\newkomafont{addressfont}{\normalsize\mdseries\itshape} +\newkomafont{quotefont}{\large\itshape} +\newkomafont{hintfont}{} +\newkomafont{linkfont}{} +\newkomafont{httplinkfont}{} +\newkomafont{emaillinkfont}{} +\newkomafont{commentmainfont}{\bfseries} % in \cvitemwithcomment +\newkomafont{commentfont}{\footnotesize\itshape} % in \cvitemwithcomment +% \end{macrocode} +% ahilbig begin: +% \begin{macrocode} +\newkomafont{section}{\LARGE\mdseries\upshape} +\newkomafont{subsection}{\Large\mdseries\upshape} +% \end{macrocode} +% +% \begin{macro}{\section} +% \begin{macrocode} +\newcommand{\section}[1]{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\newcommand{\subsection}[1]{} +% \end{macrocode} +% \end{macro} +% +% ahilbig end +% \begin{macrocode} +\setlength\parindent{0pt} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\newlength\@komacvtextwidth +\newlength\@hintscolwidth +\newlength\hintscolwidth +\setlength\hintscolwidth{0pt} +\newlength\@sepcolwidth +\newlength\sepcolwidth +\setlength\sepcolwidth{0pt} +\newlength\@maincolwidth +\newlength\maincolwidth +\setlength\maincolwidth{0pt} +\newlength\@quotewidth +\newlength\quotewidth +\setlength\quotewidth{0pt} +\newlength\@dbitemmaincolwidth +\newlength\dbitemmaincolwidth +\setlength\dbitemmaincolwidth{0pt} +\newlength\@listitemsymbolwidth +\newlength\listitemsymbolwidth +\setlength\listitemsymbolwidth{0pt} +\newlength\@listitemmaincolwidth +\newlength\listitemmaincolwidth +\setlength\listitemmaincolwidth{0pt} +\newlength\@listdbitemmaincolwidth +\newlength\listdbitemmaincolwidth +\setlength\listdbitemmaincolwidth{0pt} +\newlength\@titlepicwidth +\newlength\@titlesepwidth +\setlength\@titlesepwidth{0pt} +\newlength\titlesepwidth +\setlength\titlesepwidth{0pt} +\newlength\@mframepicshift +\newlength\mframepicshift +\setlength\mframepicshift{0pt} +\newlength\@commentmainlength +\newlength\@commentlength +\newlength\@titlenamewidth +\newlength\@titlenamemaxwidth +\newlength\@titlenamefullwidth +\newlength\@titledetailswidth +\newlength\@infocolwidth +\newlength\infocolwidth +\setlength\infocolwidth{0pt} +\newlength\@sepinfocolwidth +\newlength\sepinfocolwidth +\setlength\sepinfocolwidth{0pt} +\newlength\komacvinfocolextrawidth % witout @ for use inside document (addmargin) +\newlength\@footerwidth +\setlength\@footerwidth{.6\textwidth} +\newlength\@fboxwidth +\newlength\footerwidth +\setlength\footerwidth{0pt} +\newlength\@aftertitlevspace +\newlength\aftertitlevspace +\setlength\aftertitlevspace{0pt} +\newlength\@afterquotevspace +\newlength\afterquotevspace +\setlength\afterquotevspace{0pt} +\newlength\@afterelementsvspace +\newlength\afterelementsvspace +\newlength\@beforesecvspace +\newlength\beforesecvspace +\setlength\beforesecvspace{0pt} +\newlength\@aftersecvspace +\newlength\aftersecvspace +\setlength\aftersecvspace{0pt} +\newlength\@beforesubsecvspace +\newlength\beforesubsecvspace +\setlength\beforesubsecvspace{0pt} +\newlength\@aftersubsecvspace +\newlength\aftersubsecvspace +\setlength\aftersubsecvspace{0pt} +\AtEndPreamble{% +% \end{macrocode} +% infocol (oldstyle) +% \begin{macrocode} + \setlength{\@infocolwidth}{\infocolwidth} + \setlength{\@sepinfocolwidth}{\sepinfocolwidth} + \setlength\komacvinfocolextrawidth{\@infocolwidth+\@sepinfocolwidth} + \setlength\@komacvtextwidth{\textwidth-\komacvinfocolextrawidth} +% \end{macrocode} +% fboxextra (picture frame) +% \begin{macrocode} + \newlength\@fboxextra + \setlength\@fboxextra{\fboxsep+\fboxrule} +% \end{macrocode} +% hintscolumn +% \begin{macrocode} + \ifdimequal{\hintscolwidth}{0pt}{% + \setlength\@hintscolwidth{.2\@komacvtextwidth} + }{% + \setlength{\@hintscolwidth}{\hintscolwidth}% + } +% \end{macrocode} +% separatorcolumn +% \begin{macrocode} + \ifdimequal{\sepcolwidth}{0pt}{% + \setlength\@sepcolwidth{2em}% + }{% + \setlength{\@sepcolwidth}{\sepcolwidth}% + } +% \end{macrocode} +% maincolumn +% \begin{macrocode} + \ifdimequal{\maincolwidth}{0pt}{% + \setlength{\@maincolwidth}{\@komacvtextwidth-\@sepcolwidth-\@hintscolwidth}% + }{% + \setlength{\@maincolwidth}{\maincolwidth}% + } +% \end{macrocode} +% doubleitem +% \begin{macrocode} + \ifdimequal{\dbitemmaincolwidth}{0pt}{% + \setlength{\@dbitemmaincolwidth}{% + \@maincolwidth-\@hintscolwidth-2\@sepcolwidth}% + \setlength{\@dbitemmaincolwidth}{0.5\@dbitemmaincolwidth}% + }{% + \setlength{\@dbitemmaincolwidth}{\dbitemmaincolwidth}% + } +% \end{macrocode} +% listitem +% \begin{macrocode} + \ifdimequal{\listitemsymbolwidth}{0pt}{% + \settowidth{\@listitemsymbolwidth}{\listitemsymbol{}~}% + \setlength{\@listitemmaincolwidth}{\@maincolwidth-\@listitemsymbolwidth}% + }{% + \setlength{\@listitemsymbolwidth}{\listitemsymbolwidth}% + } +% \end{macrocode} +% listdoubleitem +% \begin{macrocode} + \ifdimequal{\listdbitemmaincolwidth}{0pt}{% + \setlength{\@listdbitemmaincolwidth}{\@maincolwidth-\@listitemsymbolwidth}% + \setlength{\@listdbitemmaincolwidth}{0.475\@listdbitemmaincolwidth}% % + }{% + \setlength{\@listdbitemmaincolwidth}{\listdbitemmaincolwidth}% + } +% \end{macrocode} +% quote +% \begin{macrocode} + \ifdimequal{\quotewidth}{0pt}{% + \setlength{\@quotewidth}{0.65\textwidth}% + }{% + \setlength{\@quotewidth}{\quotewidth}% + } + \ifdimequal{\afterquotevspace}{0pt}{% + \setlength\@afterquotevspace{2\baselineskip}% + }{% + \setlength\@afterquotevspace{\afterquotevspace}% + } +% \end{macrocode} +% title +% \begin{macrocode} + \ifundef{\@photoname}{% without picture: + \setlength\@aftertitlevspace{\aftertitlevspace} + }{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \ifdimequal{\aftertitlevspace}{0pt}{% + \setlength\@aftertitlevspace{1.5\@fboxextra} + }{% + \setlength\@aftertitlevspace{\aftertitlevspace} + } + }{% without frame: + \setlength\@aftertitlevspace{\aftertitlevspace} + }% + }% + \ifundef{\@photoname}{}{% + \ifdimequal{\titlesepwidth}{0pt}{% + \setlength\@titlesepwidth{\@sepcolwidth} + }{% + \setlength{\@titlesepwidth}{\titlesepwidth} + } + } +% \end{macrocode} +% afterelementsvspace +% \begin{macrocode} + \ifdimequal{\afterelementsvspace}{0pt}{% + \setlength{\@afterelementsvspace}{0.25em}% + }{% + \setlength{\@afterelementsvspace}{\afterelementsvspace}% + } +% \end{macrocode} +% beforesecvspace +% \begin{macrocode} + \ifdimequal{\beforesecvspace}{0pt}{% + \setlength{\@beforesecvspace}{3.5ex \@plus -1ex \@minus -.2ex}% + }{% + \setlength{\@beforesecvspace}{\beforesecvspace}% + } +% \end{macrocode} +% aftersecvspace +% \begin{macrocode} + \ifdimequal{\aftersecvspace}{0pt}{% + \setlength{\@aftersecvspace}{2.3ex \@plus.2ex}% + }{% + \setlength{\@aftersecvspace}{\aftersecvspace}% + } +% \end{macrocode} +% beforesubsecvspace +% \begin{macrocode} + \ifdimequal{\beforesubsecvspace}{0pt}{% + \setlength{\@beforesubsecvspace}{3.25ex\@plus -1ex \@minus -.2ex}% + }{ + \setlength{\@beforesubsecvspace}{\beforesubsecvspace}% + } +% \end{macrocode} +% aftersubsecvspace +% \begin{macrocode} + \ifdimequal{\aftersubsecvspace}{0pt}{% + \setlength{\@aftersubsecvspace}{1.5ex \@plus .2ex}% + }{% + \setlength{\@aftersubsecvspace}{\aftersubsecvspace}% + } +} % end AtEndPreamble +% \end{macrocode} +% +% \begin{macro}{\@addresssymbol} +% \begin{macrocode} +\providecommand*\@addresssymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresssymbol} +% \begin{macrocode} +\providecommand*\addresssymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@mobilesymbol} +% \begin{macrocode} +\providecommand*\@mobilesymbol{\Mobilefone~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobilesymbol} +% \begin{macrocode} +\providecommand*\mobilesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@phonesymbol} +% \begin{macrocode} +\providecommand*\@phonesymbol{\Telefon~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonesymbol} +% \begin{macrocode} +\providecommand*\phonesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@faxsymbol} +% \begin{macrocode} +\providecommand*\@faxsymbol{\FAX~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxsymbol} +% \begin{macrocode} +\providecommand*\faxsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@emailsymbol} +% \begin{macrocode} +\providecommand*\@emailsymbol{\Letter~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\emailsymbol} +% \begin{macrocode} +\providecommand*\emailsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@homepagesymbol} +% \begin{macrocode} +\providecommand*\@homepagesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepagesymbol} +% \begin{macrocode} +\providecommand*\homepagesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@fsymbol} +% \begin{macrocode} +\providecommand*\@fsymbol{~~~\textbullet~~~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fsymbol} +% \begin{macrocode} +\providecommand*\fsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@listitemsymbol} +% \begin{macrocode} +\providecommand*\@listitemsymbol{\textcolor{colortheme}{\Neutral}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\listitemsymbol} +% \begin{macrocode} +\providecommand*\listitemsymbol{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\AtEndPreamble{% + \ifdefempty{\addresssymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@addresssymbol} +% \begin{macrocode} +\renewcommand*\@addresssymbol{\addresssymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} + \ifdefempty{\mobilesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@mobilesymbol} +% \begin{macrocode} +\renewcommand*\@mobilesymbol{\mobilesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} + \ifdefempty{\phonesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@phonesymbol} +% \begin{macrocode} +\renewcommand*\@phonesymbol{\phonesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} + \ifdefempty{\faxsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@faxsymbol} +% \begin{macrocode} +\renewcommand*\@faxsymbol{\faxsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} + \ifdefempty{\emailsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@emailsymbol} +% \begin{macrocode} +\renewcommand*\@emailsymbol{\emailsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} + \ifdefempty{\homepagesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@homepagesymbol} +% \begin{macrocode} +\renewcommand*\@homepagesymbol{\homepagesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} + \ifdefempty{\fsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@fsymbol} +% \begin{macrocode} +\renewcommand*\@fsymbol{\fsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} + \ifdefempty{\listitemsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@listitemsymbol} +% \begin{macrocode} +\renewcommand*\@listitemsymbol{\listitemsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} +} % end \AtEndPreamble +% \end{macrocode} +% +% \begin{macro}{\firstname} +% \begin{macrocode} +\providecommand*{\firstname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\familyname} +% \begin{macrocode} +\providecommand*{\familyname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\acadtitle} +% \begin{macrocode} +\providecommand*{\acadtitle}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addressstreet} +% \begin{macrocode} +\providecommand*{\addressstreet}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresscity} +% \begin{macrocode} +\providecommand*{\addresscity}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\address} +% \begin{macrocode} +\providecommand*{\address}[2]{\addressstreet{#1}\addresscity{#2}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobile} +% \begin{macrocode} +\providecommand*{\mobile}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonenr} +% \begin{macrocode} +\providecommand*{\phonenr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxnr} +% \begin{macrocode} +\providecommand*{\faxnr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\email} +% \begin{macrocode} +\providecommand*{\email}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepage} +% \begin{macrocode} +\providecommand*{\homepage}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\extrainfo} +% \begin{macrocode} +\providecommand*{\extrainfo}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvquote} +% \begin{macrocode} +\providecommand*{\cvquote}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\newlist{compactitem}{itemize}{3} +\newlist{compactenum}{enumerate}{3} +\newlist{compactdesc}{description}{3} +\setlist[compactitem,compactenum,compactdesc]{% + topsep=0pt,% + partopsep=0pt,% + itemsep=0pt,% + parsep=0pt,% + leftmargin=*% +} % end setlist +\AtEndPreamble{% +\setlist[compactitem,1]{label=\@listitemsymbol} +\setlist[compactitem,2]{label={\textcolor{colortheme}\textendash}} +\setlist[compactitem,3]{label={\textcolor{colortheme}\textperiodcentered}} +\setlist[compactenum,1]{label={\textcolor{colortheme}{\arabic*.}}} +\setlist[compactenum,2]{label={\textcolor{colortheme}{\alph*.}}} +\setlist[compactenum,3]{label={\textcolor{colortheme}{\roman*.}}} +} % end AtEndPreamble +\newlength\@photowidth +% \end{macrocode} +% +% \begin{macro}{\photo} +% \begin{macrocode} +\providecommand{\photo}[3][]{% + \providecommand{\@photoframe}{#1}% + \setlength{\@photowidth}{#2}% + \providecommand{\@photoname}{#3}} +\newif\if@firstdetailselement\@firstdetailselementtrue +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@titledetailsnewline} +% \begin{macrocode} +\providecommand*{\@titledetailsnewline}{ + \if@firstdetailselement% + \@firstdetailselementfalse% + \else% + \\[.4ex] + \fi% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\maketitle} +% ahilbig begin +% \begin{macrocode} +\renewcommand\maketitle{\csexpandonce{@cvtitle\ahbewerbung@lebenslaufStyle}} +% \end{macrocode} +% \end{macro} +% +% ahilbig end +% \begin{macrocode} +\RequirePackage{lastpage} +% \end{macrocode} +% +% \begin{macro}{\totalpagemark} +% \begin{macrocode} +\providecommand*{\totalpagemark}{% page and pagetotal +\usekomafont{pagenumber}\pageref{LastPage}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \newcommand*{\firstnamestyle}[1]{{% + \usekomafont{firstnamefont}% + \textcolor{@firstnamecolor}{#1}}} + \newcommand*{\familynamestyle}[1]{{% + \usekomafont{familynamefont}% + \textcolor{@familynamecolor}{#1}}} + \newcommand*{\acadtitlestyle}[1]{{% + \usekomafont{acadtitlefont}% + \textcolor{@acadtitlecolor}{#1}}} +% \end{macrocode} +% ahilbig begin +% \begin{macrocode} + \newcommand*{\titlestyle}[1]{{% + \usekomafont{titlefont}% + \textcolor{@titlecolor}{#1}}} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} + \newcommand*{\addressstyle}[1]{{% + \usekomafont{addressfont}% + \textcolor{@addresscolor}{#1}}} + \newcommand*{\quotestyle}[1]{{% + \usekomafont{quotefont}% + \textcolor{@quotecolor}{#1}}} + \newcommand*{\hintstyle}[1]{{% + \usekomafont{hintfont}% + \textcolor{@hintcolor}{#1}}} + \newcommand*{\sectionstyle}[1]{% + \usekomafont{section}% + \textcolor{@seccolor}{#1}} + \newcommand*{\subsectionstyle}[1]{% + \usekomafont{subsection}% + \textcolor{@subseccolor}{#1}} +% \end{macrocode} +% +% \begin{macro}{\cvitem} +% \begin{macrocode} +\providecommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@hintscolwidth}% + @{\hspace{\@sepcolwidth}}p{\@maincolwidth}@{}% + }% + \raggedleft\hintstyle{#2} &{#3}% + \end{tabular}\\[#1]% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvdoubleitem} +% \begin{macrocode} +\providecommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#4} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlistitem} +% \begin{macrocode} +\providecommand*{\cvlistitem}[2][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listitemmaincolwidth}% + #2% + \end{minipage}% + }% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlistdoubleitem} +% \begin{macrocode} +\providecommand*{\cvlistdoubleitem}[3][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #2% + \end{minipage}% + \hspace*{\@sepcolwidth} + \ifstrempty{#3}{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #3% + \end{minipage} + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cventry} +% \begin{macrocode} +\providecommand*{\cventry}[7][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + {\bfseries#3}% + \ifstrempty{#4}{}{, {\itshape#4}}% + \ifstrempty{#5}{}{, #5}% + \ifstrempty{#6}{}{, #6}% + .% + \ifx&% + \else{% + \newline{}\begin{minipage}[t]{\linewidth}% + \small#7% + \end{minipage}% + }% + \fi% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlanguage} +% ahilbig begin +% \begin{macrocode} +\providecommand{\cvlanguage}[3]{ + \cvitemwithcomment{#1}{#2}{#3} +} +% \end{macrocode} +% \end{macro} +% +% ahilbig end +% \begin{macrocode} +\newbox{\@commentmainbox} +% \end{macrocode} +% +% \begin{macro}{\cvitemwithcomment} +% \begin{macrocode} +\providecommand*{\cvitemwithcomment}[4][\@afterelementsvspace]{% + \savebox{\@commentmainbox}{{\usekomafont{commentmainfont}#3}}% + \settowidth\@commentmainlength{\usebox{\@commentmainbox}}% + \setlength{\@commentlength}{% + \@maincolwidth-\@sepcolwidth-\@commentmainlength% + }% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@commentmainlength}% + \usekomafont{commentmainfont} #3% + \end{minipage}% + \hfill% + \begin{minipage}[t]{\@commentlength}% + \raggedleft\usekomafont{commentfont} #4% + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \providecommand*{\link}[2][]{% + \ifstrempty{#1}{% + \href{#2}{\usekomafont{linkfont}#2}}{% + \href{#2}{\usekomafont{linkfont}#1}}% + } + \providecommand*{\httplink}[2][]{% + \ifstrempty{#1}{% + \href{http://#2}{\usekomafont{httplinkfont}#2}}{% + \href{http://#2}{\usekomafont{httplinkfont}#1}}% + } + \providecommand*{\emaillink}[2][]{% + \ifstrempty{#1}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#2}}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#1}}% + } +% \end{macrocode} +% +% \begin{macro}{\origsection} +% \begin{macrocode} +\providecommand\origsection{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\let\origsection\section +% \end{macrocode} +% +% \begin{macro}{\origsubsection} +% \begin{macrocode} +\providecommand\origsubsection{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\let\origsubsection\subsection +% \end{macrocode} +% +% \begin{macro}{\@cvsimplesection} +% \begin{macrocode} +\providecommand\@cvsimplesection[1]{% + \origsection*{\sectionstyle{#1}} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvsimplesubsection} +% \begin{macrocode} +\providecommand\@cvsimplesubsection[1]{% + \origsubsection*{\subsectionstyle{#1}} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvbarsection} +% \begin{macrocode} +\providecommand\@cvbarsection[1]{% +% \end{macrocode} +% ahilbig begin +% needed some additional space between the sections to look nicer +% \begin{macrocode} + \vspace{0.75em} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} + \origsection*{ + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#1}% + \cvitem[0pt]{% + \raggedleft\hintstyle{\color{@secbarcolor}% + \rule{\@hintscolwidth}{1ex}}% +% \end{macrocode} +% ahilbig begin +% we need more space^^ +% \begin{macrocode} + }{\sectionstyle{#1}\vspace{0.4em}} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} + }% end origsection +} % end cvbarsection +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvbarsubsection} +% \begin{macrocode} +\providecommand\@cvbarsubsection[1]{% + \origsubsection*{ + \cvitem[0pt]{}{\subsectionstyle{#1}} + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\hypersetup{ + breaklinks, + unicode, +% \end{macrocode} +% ahilbig begin +% make links look nicer +% \begin{macrocode} + colorlinks = true, +% \end{macrocode} +% ahilbig end +% \begin{macrocode} + pdfborder = {0 0 .3}, + pdfstartview = FitH, + pdfstartpage = 1, + pdfcreator = \LaTeX{}, + pdfproducer = \LaTeX{} +} +\urlstyle{same} +% \end{macrocode} +% +% \begin{macro}{\@citebordercolor} +% \begin{macrocode} +\providecommand*\@citebordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\citebordercolor} +% \begin{macrocode} +\providecommand*\citebordercolor{\@citebordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@filebordercolor} +% \begin{macrocode} +\providecommand*\@filebordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\filebordercolor} +% \begin{macrocode} +\providecommand*\filebordercolor{\@filebordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@linkbordercolor} +% \begin{macrocode} +\providecommand*\@linkbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\linkbordercolor} +% \begin{macrocode} +\providecommand*\linkbordercolor{\@linkbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@menubordercolor} +% \begin{macrocode} +\providecommand*\@menubordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\menubordercolor} +% \begin{macrocode} +\providecommand*\menubordercolor{\@menubordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@runbordercolor} +% \begin{macrocode} +\providecommand*\@runbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\runbordercolor} +% \begin{macrocode} +\providecommand*\runbordercolor{\@runbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@urlbordercolor} +% \begin{macrocode} +\providecommand*\@urlbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\urlbordercolor} +% \begin{macrocode} +\providecommand*\urlbordercolor{\@urlbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\allbordercolors} +% \begin{macrocode} +\providecommand*\allbordercolors{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfauthor} +% \begin{macrocode} +\providecommand*\pdfauthor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfsubject} +% \begin{macrocode} +\providecommand*\pdfsubject{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdftitle} +% \begin{macrocode} +\providecommand*\pdftitle{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfkeywords} +% \begin{macrocode} +\providecommand*\pdfkeywords{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\AtEndPreamble{% +% \end{macrocode} +% +% \begin{macro}{\@allbordercolors} +% \begin{macrocode} +\providecommand*\@allbordercolors{colortheme} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ifdefempty{\allbordercolors}{}{\renewcommand*\@allbordercolors{\allbordercolors}} +% \end{macrocode} +% +% \begin{macro}{\@pdfauthor} +% \begin{macrocode} +\providecommand*\@pdfauthor{\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ifdefempty{\pdfauthor}{}{\renewcommand*\@pdfauthor{\pdfauthor}} +% \end{macrocode} +% +% \begin{macro}{\@pdfsubject} +% \begin{macrocode} +\providecommand*\@pdfsubject{\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfsubject} +% \begin{macrocode} +\providecommand*\pdfsubject{\@pdfsubject} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@pdftitle} +% \begin{macrocode} +\providecommand*\@pdftitle{\title~\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdftitle} +% \begin{macrocode} +\providecommand*\pdftitle{\@pdftitle} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@pdfkeywords} +% \begin{macrocode} +\providecommand*\@pdfkeywords{\firstname~\familyname{} curriculum~vit\ae{} CV{}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfkeywords} +% \begin{macrocode} +\providecommand*\pdfkeywords{\@pdfkeywords} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \hypersetup{% + allbordercolors = \@allbordercolors, + citebordercolor = \citebordercolor, + filebordercolor = \filebordercolor, + linkbordercolor = \linkbordercolor, + menubordercolor = \menubordercolor, + runbordercolor = \runbordercolor, + urlbordercolor = \urlbordercolor, + pdfauthor = \@pdfauthor, + pdfsubject = \pdfsubject, + pdftitle = \pdftitle, + pdfkeywords = \pdfkeywords, + } +} % end AtEndPreamble +\AtBeginDocument{% + \raggedbottom +} % End AtBeginDocument +% \end{macrocode} +% ahilbig begin +%\clearscrheadfoot +% \begin{macrocode} +\RequirePackage{ahilbig-cv-\ahbewerbung@lebenslaufStyle} +% \end{macrocode} +% ahilbig end +% \begin{macrocode} +\endinput +% \end{macrocode} +%% +%% End of file `bewerbung-cv.sty'. +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/Publications | +% | +% this file: bewerbung.sty | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% \begin{macrocode} +\ProvidesPackage{ahilbig-bewerbung} + [2015/07/08 v0.1 makros zum setzen der bewerbung] +% \end{macrocode} +% +% \begin{macro}{\name} +% Macros for setting up your personal informations +% \begin{macrocode} +\providecommand{\name}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Name} +% \begin{macrocode} +\providecommand{\Name}[1]{\renewcommand{\name}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\vorname} +% \begin{macrocode} +\providecommand{\vorname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Vorname} +% \begin{macrocode} +\providecommand{\Vorname}[1]{\renewcommand{\vorname}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fullname} +% \begin{macrocode} +\providecommand{\fullname}[1][n]{% + \ifthenelse{\equal{#1}{n}}{% + \vorname\xspace\name + }{% + \name, \vorname + } +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\street} +% \begin{macrocode} +\providecommand{\street}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Street} +% \begin{macrocode} +\providecommand{\Street}[1]{\renewcommand{\street}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\plz} +% \begin{macrocode} +\providecommand{\plz}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Plz} +% \begin{macrocode} +\providecommand{\Plz}[1]{\renewcommand{\plz}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\stadt} +% \begin{macrocode} +\providecommand{\stadt}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Stadt} +% \begin{macrocode} +\providecommand{\Stadt}[1]{\renewcommand{\stadt}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\anschrift} +% \begin{macrocode} +\providecommand{\anschrift}[1][n]{% + \ifthenelse{\equal{#1}{n}}{% + \street\\% + \plz\xspace\stadt% + }{% + \street, \plz\xspace\stadt% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\meinBeruf} +% \begin{macrocode} +\providecommand{\meinBeruf}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\meinberuf} +% \begin{macrocode} +\providecommand{\meinberuf}{\meinBeruf} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\MeinBeruf} +% \begin{macrocode} +\providecommand{\MeinBeruf}[1]{\renewcommand{\meinBeruf}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\gebDatum} +% \begin{macrocode} +\providecommand{\gebDatum}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\GebDatum} +% \begin{macrocode} +\providecommand{\GebDatum}[1]{\renewcommand{\gebDatum}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\sta} +% \begin{macrocode} +\providecommand{\sta}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Sta} +% \begin{macrocode} +\providecommand{\Sta}[1]{\renewcommand{\sta}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\email} +% \begin{macrocode} +\providecommand{\email}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\EMail} +% \begin{macrocode} +\providecommand{\EMail}[1]{\renewcommand{\email}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\tel} +% \begin{macrocode} +\providecommand{\tel}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Tel} +% \begin{macrocode} +\providecommand{\Tel}[1]{\renewcommand{\tel}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobile} +% \begin{macrocode} +\providecommand{\mobile}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Mobile} +% \begin{macrocode} +\providecommand{\Mobile}[1]{\renewcommand{\mobile}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\todayOrt} +% \begin{macrocode} +\providecommand{\todayOrt}{Musterstadt} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\TodayOrt} +% \begin{macrocode} +\providecommand{\TodayOrt}[1]{\renewcommand{\todayOrt}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\todayTime} +% \begin{macrocode} +\providecommand{\todayTime}{\today} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\TodayTime} +% \begin{macrocode} +\providecommand{\TodayTime}[1]{\renewcommand{\todayTime}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\lebenslaufTitel} +% \begin{macrocode} +\providecommand{\lebenslaufTitel}{Curriculum Vitae} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LebenslaufTitel} +% \begin{macrocode} +\providecommand{\LebenslaufTitel}[1]{\renewcommand{\lebenslaufTitel}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firma} +% Macros for setting up the information of the company +% \begin{macrocode} +\providecommand{\firma}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaAnrede} +% \begin{macrocode} +\providecommand{\firmaAnrede}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaName} +% \begin{macrocode} +\providecommand{\firmaName}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaStreet} +% \begin{macrocode} +\providecommand{\firmaStreet}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaPlz} +% \begin{macrocode} +\providecommand{\firmaPlz}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaStadt} +% \begin{macrocode} +\providecommand{\firmaStadt}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\beruf} +% \begin{macrocode} +\providecommand{\beruf}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\setzekomma} +% \begin{macrocode} +\providecommand{\setzekomma}{,} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungKW} +% \begin{macrocode} +\providecommand{\bewerbungKW}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungKW} +% \begin{macrocode} +\providecommand{\BewerbungKW}[1]{\renewcommand{\bewerbungKW}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungDatum} +% \begin{macrocode} +\providecommand{\bewerbungDatum}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungDatum} +% \begin{macrocode} +\providecommand{\BewerbungDatum}[1]{\renewcommand{\bewerbungDatum}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirma} +% \begin{macrocode} +\providecommand{\bewerbungFirma}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirma} +% \begin{macrocode} +\providecommand{\BewerbungFirma}[1]{\renewcommand{\bewerbungFirma}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaAnrede} +% \begin{macrocode} +\providecommand{\bewerbungFirmaAnrede}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaAnrede} +% \begin{macrocode} +\providecommand{\BewerbungFirmaAnrede}[1]{\renewcommand{\bewerbungAnrede}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaName} +% \begin{macrocode} +\providecommand{\bewerbungFirmaName}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaName} +% \begin{macrocode} +\providecommand{\BewerbungFirmaName}[1]{\renewcommand{\bewerbungName}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaStr} +% \begin{macrocode} +\providecommand{\bewerbungFirmaStr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaStr} +% \begin{macrocode} +\providecommand{\BewerbungFirmaStr}[1]{\renewcommand{\bewerbungFirmaStr}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaPlz} +% \begin{macrocode} +\providecommand{\bewerbungFirmaPlz}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaPlz} +% \begin{macrocode} +\providecommand{\BewerbungFirmaPlz}[1]{\renewcommand{\bewerbungPlz}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaOrt} +% \begin{macrocode} +\providecommand{\bewerbungFirmaOrt}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaOrt} +% \begin{macrocode} +\providecommand{\BewerbungFirmaOrt}[1]{\renewcommand{\bewerbungOrt}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungStelle} +% \begin{macrocode} +\providecommand{\bewerbungStelle}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungStelle} +% \begin{macrocode} +\providecommand{\BewerbungStelle}[1]{\renewcommand{\bewerbungStelle}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungRueckmeldung} +% \begin{macrocode} +\providecommand{\bewerbungRueckmeldung}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungRueckmeldung} +% \begin{macrocode} +\providecommand{\BewerbungRueckmeldung}[1]{\renewcommand{\bewerbungRueckmeldung}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungSonstiges} +% \begin{macrocode} +\providecommand{\bewerbungSonstiges}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungSonstiges} +% \begin{macrocode} +\providecommand{\BewerbungSonstiges}[1]{\renewcommand{\bewerbungSonstiges}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\RequirePackage{datatool} +% \end{macrocode} +% +% \begin{macro}{\id} +% Need to know which company you mean today +% \begin{macrocode} +\providecommand{\id}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\ID} +% \begin{macrocode} +\providecommand{\ID}[1]{\renewcommand{\id}{#1}} +% \end{macrocode} +% \end{macro} +% +% How does the table of accurancies look like? +%ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle,Rueckmeldung,Sonstiges +% +% +% \begin{macro}{\getBewerbung} +% Get the information of the current company out of the table +% \begin{macrocode} +\providecommand{\getBewerbung}[1][anschrift.csv]{ + \IfFileExists{#1}{% +% \end{macrocode} +% load the table +% \begin{macrocode} + \DTLloaddb[ + ]{anschrift}{#1} +% \end{macrocode} +% 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) +% \begin{macrocode} + \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.} + } +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\runKomaVar} +% Change the komavars for komacv implementation of this project +% \begin{macrocode} +\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 \meinberuf} + \renewcommand*{\raggedsignature}{} +% \end{macrocode} +% \renewcommand*{\title}{\}% PDF metadata +% \begin{macrocode} + \renewcommand*{\firstname}{\vorname} + \renewcommand*{\familyname}{\name} +% \end{macrocode} +% \renewcommand*{\acadtitle}{} +% \begin{macrocode} + \renewcommand*{\addressstreet}{\street} + \renewcommand*{\addresscity}{\plz\xspace\stadt} + \renewcommand*{\address}{\street\\\plz\xspace\stadt} + \renewcommand*{\phonenr}{\tel} +% \end{macrocode} +% \renewcommand*{\extrainfo}{Some extra info} +% \begin{macrocode} + +} +% \end{macrocode} +% \end{macro} +% +% Provide the right paper for a nice titlepage +% \begin{macrocode} +\ProvideDocumentEnvironment{titlepage}{}{% + \thispagestyle{empty} + \newgeometry{top=4cm,left=3cm,right=2.5cm,bottom=2cm} +}{ + \clearpage + \restoregeometry +} +% \end{macrocode} +% This environment will make a nice letter to you company +% \begin{macrocode} +\ProvideDocumentEnvironment{anschreiben}{O{Abiturzeugnis.}o}{% + \begin{letter}{% + \bewerbungFirma\\ + \bewerbungFirmaAnrede\xspace\bewerbungFirmaName\\ + \bewerbungFirmaStr\\ + \bewerbungFirmaPlz\xspace\bewerbungFirmaOrt + } + \IfNoValueF{#2}{\enlargethispage{#2}} + \opening{Sehr geehrter \bewerbungFirmaAnrede\xspace\bewerbungFirmaName,} +}{ + \closing{Mit freundlichen Grüßen} + %\signature{} + \encl{% + Curriculum Vitae.\\ + Diplomzeugnis.% + \ifthenelse{\equal{#1}{}}{}{% + \\ + #1 + } + } + \end{letter} +} +% \end{macrocode} +% This environment will produce a nice cv like komacv but within the same document +% \begin{macrocode} +\ProvideDocumentEnvironment{lebenslauf}{oo}{ + \clearpage + \newgeometry{top=2.5cm,left=3cm,right=2.5cm,bottom=3cm} + \pagestyle{empty} + \ifthenelse{\equal{#1}{none}}{\renewcommand{\@listitemsymbol}{}}{} + %\clearscrheadfoot + %\ifoot{CV~\firstname~\familyname} + %\ofoot{n} +}{ + \vfill + \begin{raggedright} + \begin{tabular}{p{\textwidth}} + \fullname\\ + \todayOrt, \todayTime + \end{tabular} + \end{raggedright} + \IfNoValueF{#2}{% + \newpage + #2 + } + \restoregeometry +} +% \end{macrocode} +% +% \begin{macro}{\makePerson} +% Make the entry of your personality in the cv-environment +% \begin{macrocode} +\providecommand{\makePerson}{ + \section{Persönliche Angaben} + \cvitem{Name}{\fullname} + \cvitem{Anschrift}{\anschrift[k]} + \cvitem{StA}{\sta} + \cvitem{Geburtsdatum}{\gebDatum} + %\cvitem{Konfession}{} + %\cvitem{Familienstand}{} + \cvitem{Beruf}{\meinBeruf} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\argetabelle} +% Print a table with all your latest appliances +% \begin{macrocode} +\providecommand{\argetabelle}[1][anschrift.csv]{ + \IfFileExists{#1}{% +% \end{macrocode} +% load the table +% \begin{macrocode} + \DTLloaddb{anschrift}{anschrift.csv} +% \end{macrocode} +% create a nice table environment for printing over more than one page +% \begin{macrocode} + \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ückmeldung} \\\midrule + \endfirsthead + \toprule + \multicolumn{5}{r}{Fortsetzung...}\\\toprule + \multicolumn{1}{l}{\textbf{KW}} & \multicolumn{1}{l}{\textbf{Datum}} & \textbf{Arbeitgeber} & + {Stelle} & \textbf{Rückmeldung} \\\midrule + \endhead + \midrule\multicolumn{5}{r}{Fortsetzung auf der nächsten Seite...}\\\bottomrule + \endfoot + \bottomrule + \endlastfoot +% \end{macrocode} +% read the whole table-file and print it nicely into the table +% \begin{macrocode} + \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.} + } +} +% \end{macrocode} +% \end{macro} +% + +% +% \iffalse +% +% \fi +% +% \Finale +\endinput diff --git a/bewerbung.ins b/bewerbung.ins new file mode 100644 index 0000000..0be1a9f --- /dev/null +++ b/bewerbung.ins @@ -0,0 +1,57 @@ +%% Copyright (C) 2015 by A. Hilbig +%% -------------------------------------------------------------------------- +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is A. Hilbig. +%% +%% This work consists of the files bewerbung.dtx and bewerbung.ins +%% and the derived filebase bewerbung.sty. +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/bewerbung} + +\preamble + +This is a generated file. + +Copyright (C) 2015 by A. Hilbig +-------------------------------------------------------------------------- +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +\endpreamble + +\generate{\file{bewerbung.sty}{\from{bewerbung.dtx}{package}}} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* bewerbung.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file bewerbung.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile diff --git a/bewerbung.sty b/bewerbung.sty new file mode 100644 index 0000000..fd227ac --- /dev/null +++ b/bewerbung.sty @@ -0,0 +1,329 @@ +\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 diff --git a/bewerbung/Foto.pdf b/bewerbung/Foto.pdf new file mode 100644 index 0000000..0f415f9 Binary files /dev/null and b/bewerbung/Foto.pdf differ diff --git a/bewerbung/README b/bewerbung/README new file mode 100644 index 0000000..ac69f80 --- /dev/null +++ b/bewerbung/README @@ -0,0 +1,87 @@ ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| PACKAGE `bewerbung' | +| | + This project has the aim to provide packages and classes for typesetting an application with + titlepage, letter, cv and additional documents in just one document. Also there is a class for + printing a table with the latest applications that can be shown to the german authorities. The + data of the applications can be edited in a simple csv file. ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + Version: 1.3 + Last Change: 2022-01-17 + Current Maintainer: André Hilbig + mail@andrehilbig.de + https://git.andrehilbig.de/ahilbig/vorlagebewerbung ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license of (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + This work consists of the files bewerbung.dtx and bewerbung.ins and the derived files + bewerbung-cv-casual.sty, bewerbung-cv-classic.sty, bewerbung-cv-oldstyle.sty, bewerbung-cv.sty, + bewerbung.sty, argetabelle.cls, bewerbung.cls, neueBewerbung.sh, config.inc, titlepage.inc. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Installation | +| | + Getting the files: + latex bewerbung.ins + + Getting the documentation: + latexmk -pdf bewerbung.pdf + + Copy the following files into a TeX-readable directory: + bewerbung*.sty + argetabelle.cls + bewerbung.cls + titlepage.inc + + The following files are needed to make a new application: + anschrift.csv + bewerbung-example.tex + config.inc + Foto.pdf + + The following files are needed to make a new documentation-table: + anschrift.csv + argetabelle-example.tex +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Create a new application (in that directory-structure; only OS with a shell) | +| | + Structure of the project: + Bewerbungen: + | + +-----Anhang: + |-diplom.pdf + |-zeugnis.pdf + | + +-----bewerbung-dreamjob: + |-Anhang -> ../Anhang + |-Foto.pdf -> ../Foto.pdf + |-anschrift.csv -> ../anschrift.csv + |-bewerbung-Traumjob.tex + |-config.inc + |-Foto.pdf + |-anschrift.csv + |-argetabelle.tex (wie argetabelle-example.tex) + |-bewerbung.tex (wie bewerbung-example.tex) + |-config.inc + To create a new application just execute neueBewerbung with NAME being an identifier for the new + application. It will create a new directory NAME and copy or link all the needed files out of + Bewerbungen. + ./neueBewerbung BEZEICHNER + + With that structure in mind the files bewerbung.tex and config.inc are your templates in + Bewerbungen. They get copied everytime you create a new application. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ diff --git a/bewerbung/README_DE b/bewerbung/README_DE new file mode 100644 index 0000000..17b7b3d --- /dev/null +++ b/bewerbung/README_DE @@ -0,0 +1,90 @@ ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| PACKAGE `bewerbung' | +| | + Das `bewerbung' Bundle hat das Ziel, Pakete und Klassen zum Setzen von Bewerbungsmappen mit + Titelseite, Brief, Lebenslauf und zusätzlichen Dokumenten bereitzustellen. Außerdem gibt es eine + Klasse zum Setzen einer Tabelle mit den aktuellen Bewerbungsversuchen, die der Agentur für Arbeit + vorgelegt werden kann. Die Daten der Bewerbungsversuche werden in einer simplen csv-Datei + verwaltet. ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + Version: 1.3 + Last Change 2022-01-17 + Current Maintainer: André Hilbig + mail@andrehilbig.de + https://git.andrehilbig.de/ahilbig/vorlagebewerbung ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license of (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + This work consists of the files bewerbung.dtx and bewerbung.ins and the derived files + bewerbung-cv-casual.sty, bewerbung-cv-classic.sty, bewerbung-cv-oldstyle.sty, bewerbung-cv.sty, + bewerbung.sty, argetabelle.cls, bewerbung.cls, neueBewerbung.sh, config.inc, titlepage.inc. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Installation | +| | + Dateien des Pakets erhalten: + latex bewerbung.ins + + Dokumentation setzen: + latexmk -pdf bewerbung.pdf + + Folgende Dateien müssen in ein für TeX lesbares Verzeichnis kopiert werden: + bewerbung*.sty + argetabelle.cls + bewerbung.cls + titlepage.inc + + Folgende Dateien sind für das Anlegen einer neuen Bewerbungsmappe notwendig: + anschrift.csv + bewerbung-example.tex + config.inc + Foto.pdf + + Folgende Dateien sind für das Setzen einer Dokumentationstabelle notwendig: + anschrift.csv + argetabelle-example.tex +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +| | +| Neue Bewerbung anlegen (bei gegebener Verzeichnisstruktur, nur OS mit Shell) | +| | + Struktur des Projektverzeichnisses: + Bewerbungen: + | + +-----Anhang: + |-diplom.pdf + |-zeugnis.pdf + | + +-----bewerbung-Traumjob: + |-Anhang -> ../Anhang + |-Foto.pdf -> ../Foto.pdf + |-anschrift.csv -> ../anschrift.csv + |-bewerbung-Traumjob.tex + |-config.inc + |-Foto.pdf + |-anschrift.csv + |-argetabelle.tex (wie argetabelle-example.tex) + |-bewerbung.tex (wie bewerbung-example.tex) + |-config.inc + + Ausführung von neueBewerbung, wobei BEZEICHNER ein geeigneter Name für die neue Bewerbung sein + sollte. Es wird automatisch ein neues Verzeichnis angelegt und alle notwendigen Dateien werden + kopiert oder verlinkt. + ./neueBewerbung BEZEICHNER + + Demnach wird immer die bewerbung.tex aus dem Stammverzeichnis als Vorlage benutzt, um eine neue + Bewerbung zu erstellen. Veränderungen an der neuen Bewerbung werden nicht in diese Vorlage + übernommen. +| | ++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ diff --git a/bewerbung/anschrift.csv b/bewerbung/anschrift.csv new file mode 100644 index 0000000..506a61f --- /dev/null +++ b/bewerbung/anschrift.csv @@ -0,0 +1,3 @@ +ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle,Rueckmeldung,Sonstiges +2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n +1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n diff --git a/bewerbung/argetabelle-example.pdf b/bewerbung/argetabelle-example.pdf new file mode 100644 index 0000000..9bcbc0c Binary files /dev/null and b/bewerbung/argetabelle-example.pdf differ diff --git a/bewerbung/argetabelle-example.tex b/bewerbung/argetabelle-example.tex new file mode 100644 index 0000000..92c1f13 --- /dev/null +++ b/bewerbung/argetabelle-example.tex @@ -0,0 +1,28 @@ +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/index.cgi/Publications/Bewerbung | +% | +% this file: argetabelle-example.tex | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +\documentclass[11pt,a4paper]{argetabelle} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage[ngerman]{babel} + +\begin{document} + \argetabelle +\end{document} diff --git a/bewerbung/argetabelle.cls b/bewerbung/argetabelle.cls new file mode 100644 index 0000000..fe3f665 --- /dev/null +++ b/bewerbung/argetabelle.cls @@ -0,0 +1,38 @@ +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{argetabelle}[2015/07/14 v1.1 % + Klasse zur automatisierten Erstellen von Tabellen % + zur Dokumentation der eigenen Bewerbungsversuche] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ProcessOptions\relax +\LoadClass[]{scrartcl} +\RequirePackage{marvosym} +\RequirePackage[% + left=1cm, % + top=2.5cm, % + bottom=1.5cm, % + right=1cm % +]{geometry} +\RequirePackage{datatool} +\RequirePackage[right]{eurosym} +\RequirePackage{xspace} +\RequirePackage{multicol} +\RequirePackage{pdfpages} +\RequirePackage{comment} +\RequirePackage{xparse} +\RequirePackage{longtable} +\RequirePackage{booktabs} +\RequirePackage{array} +\RequirePackage{ragged2e} +\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} +\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} +\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} +\RequirePackage{bewerbung} +\AtBeginDocument{% + %\hypersetup{colorlinks=true} + \InputIfFileExists{config.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei config.inc ist nicht lesbar.}% + } % +} +% \end{macrocode} diff --git a/bewerbung/bewerbung-cv-casual.sty b/bewerbung/bewerbung-cv-casual.sty new file mode 100644 index 0000000..f9a55d9 --- /dev/null +++ b/bewerbung/bewerbung-cv-casual.sty @@ -0,0 +1,165 @@ +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-casual} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-casual] + %% this file is based on komacv-casual.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\addtokomafont{firstnamefont}{\sffamily\fontsize{38}{40}} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily\small} +\addtokomafont{hintfont}{\sffamily} +\newsavebox\@fboxa +\newsavebox\@fboxb +% \end{macrocode} +% +% \begin{macro}{\@sboxa} +% \begin{macrocode} +\newcommand*\@sboxa[1]{\sbox\@fboxa{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@sboxb} +% \begin{macrocode} +\newcommand*\@sboxb[1]{\sbox\@fboxb{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@uboxa} +% \begin{macrocode} +\newcommand*\@uboxa{\usebox\@fboxa} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@uboxb} +% \begin{macrocode} +\newcommand*\@uboxb{\usebox\@fboxb} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@flushf} +% \begin{macrocode} +\newcommand*\@flushf{\strut\@uboxa\@sboxa{}\@sboxb{}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addtofooter} +% \begin{macrocode} +\newcommand*\addtofooter[2][\@fsymbol]{% + \@sboxb{\@uboxa{}#1#2}% + \settowidth\@fboxwidth{\@uboxb}% + \ifdimgreater{\@footerwidth}{\@fboxwidth}{% + \@sboxa{\@uboxb} + }{% + \@flushf\\ + \@sboxa{#2} + \@sboxb{#2} + } +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \ifdimequal{\footerwidth}{0pt}{}{% + \setlength\@footerwidth{\footerwidth}% + } + \defpagestyle{footer} + {{}{}{}}% head definition (empty) + {% foot definition + {}{}% definition for twoside layout + {% definition for oneside layout + \hspace*{\fill}% + \parbox{\@footerwidth}{% + \centering% + \color{@addresscolor}\usekomafont{addressfont}% + \ifdefempty{\addressstreet}{}{% + \addtofooter[]{\@addresssymbol\addressstreet}% + \ifdefempty{\addresscity}{}{% + \addtofooter[~--~]{\addresscity}}}% + \ifdefempty{\mobile}{}{% + \addtofooter{\@mobilesymbol\mobile}}% + \ifdefempty{\phonenr}{}{% + \addtofooter{\@phonesymbol\phonenr}} + \ifdefempty{\faxnr}{}{% + \addtofooter{\@faxsymbol\faxnr}}% + \ifdefempty{\email}{}{% + \addtofooter{\@emailsymbol\emaillink{\email}}} + \ifdefempty{\homepage}{}{% + \addtofooter{\@homepagesymbol\httplink{\homepage}}}% + \ifdefempty{\extrainfo}{}{% + \addtofooter{\extrainfo}}\@flushf% + }% Ende parbox + \hspace*{\fill}% + \makebox[0pt][r]{\pagemark/\totalpagemark} + }% end definition onesided layout + }% end footer definition +% \end{macrocode} +% +% \begin{macro}{\@cvtitlecasual} +% \begin{macrocode} +\providecommand\@cvtitlecasual{% +\newbox{\@picbox} +\savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname +}% end savebox picbox +\settowidth\@titlepicwidth{\usebox{\@picbox}} +\setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} + \usebox{\@picbox}% + \hspace*{\@titlesepwidth}% + \parbox[b]{\@titlenamewidth}{% + \raggedleft{\firstnamestyle\firstname}% + ~{\familynamestyle\familyname}\\ + \raggedleft\color{@firstnamecolor}\rule{% + \@titlenamewidth}{.25ex}\par + }% end parbox + \vspace{\@aftertitlevspace} + %% optional acadtitle + \ifdefempty{\acadtitle}{}{% + \raggedleft\acadtitlestyle{\acadtitle}}\\[2.5em]% + %% optional quote + \ifdefempty{\cvquote}{}{% + {\centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote} + \end{minipage}\\[\@afterquotevspace]% + } + }% +}% end @cvtitle-casual +\AtBeginDocument{% + \thispagestyle{footer} +} % end AtBeginDocument +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand{\section}[1]{\@cvbarsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +% \end{macrocode} +% \end{macro} +% diff --git a/bewerbung/bewerbung-cv-classic.sty b/bewerbung/bewerbung-cv-classic.sty new file mode 100644 index 0000000..ac7bd07 --- /dev/null +++ b/bewerbung/bewerbung-cv-classic.sty @@ -0,0 +1,139 @@ +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-classic} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-classic] + %% this file is based on komacv-classic.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\addtokomafont{firstnamefont}{\sffamily} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily} +\addtokomafont{hintfont}{\sffamily} +\AtEndPreamble{% + %AtBeginDocument{ +% \end{macrocode} +% mframepicshift +% \begin{macrocode} + \ifdimequal{\mframepicshift}{0pt}{% + \setlength\@mframepicshift{.5\@photowidth+\@fboxextra} + }{% + \setlength\@mframepicshift{\mframepicshift} + } +} % end AtBeginDocument +% \end{macrocode} +% +% \begin{macro}{\@cvtitleclassic} +% \begin{macrocode} +\providecommand\@cvtitleclassic{% + %% set cs{@titlenamemaxwidth| to the full name length + %% , capped by cs{@titlenamemaxwidth| +\setlength{\@titlenamemaxwidth}{.525\textwidth} +\settowidth{\@titlenamefullwidth}{% + \firstnamestyle{\firstname~}\familynamestyle{\familyname}} + \ifdimless{\@titlenamemaxwidth}{\@titlenamefullwidth}{% + \setlength{\@titlenamewidth}{\@titlenamemaxwidth} + }{% + \setlength{\@titlenamewidth}{\@titlenamefullwidth} + } +% \end{macrocode} +% set titlenamedetailswidth +% \begin{macrocode} +\setlength{\@titledetailswidth}{% + \textwidth-\@titlenamewidth-\@titlesepwidth}% +\ifundef{\@photoname}{}{% else + \ifdefstring{\@photoframe}{frame}{% + \setlength{\@titledetailswidth}{% + \@titledetailswidth-\@photowidth-2\@fboxextra} + }{% else + \ifdefstring{\@photoframe}{mframe}{% + \setlength{\@titledetailswidth}{% + \@titledetailswidth-\@mframepicshift}% + }{}% +}% +}% +% \end{macrocode} +% name and title +% \begin{macrocode} + \begin{minipage}[b]{\@titlenamewidth}% +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} + \firstnamestyle{\firstname}\\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \\[1.25em]\titlestyle{\lebenslaufTitel}% + \end{minipage}% +% \end{macrocode} +% optional data +% \begin{macrocode} + \begin{minipage}[b]{\@titledetailswidth}% + \raggedleft\addressstyle{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline\@phonesymbol~\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol~\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% + }% +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \end{minipage}% +% \end{macrocode} +% optional photo +% \begin{macrocode} + \ifundef{\@photoname}{}{% with picture: + \hspace*{\@titlesepwidth}% + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \begin{minipage}[b]{\@photowidth}% + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}}% + \end{minipage}}{% without frame: + \begin{minipage}[b]{\@photowidth} + \includegraphics[width=\@photowidth]{\@photoname} + \end{minipage}}} +\\[\@aftertitlevspace] +% \end{macrocode} +% optional quote +% \begin{macrocode} + \ifundef{\cvquote}{}{% + \centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand*{\section}[1]{\@cvbarsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +% \end{macrocode} +% \end{macro} +% diff --git a/bewerbung/bewerbung-cv-oldstyle.sty b/bewerbung/bewerbung-cv-oldstyle.sty new file mode 100644 index 0000000..e073cfc --- /dev/null +++ b/bewerbung/bewerbung-cv-oldstyle.sty @@ -0,0 +1,220 @@ +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-oldstyle} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-oldstyle] + %% this file is based on komacv-oldstyle.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\KOMAoptions{DIV=15} +\setlength{\hintscolwidth}{3cm} +\addtokomafont{addressfont}{\small} +\addtokomafont{hintfont}{\bfseries} +\setkomafont{section}{\Large\bfseries\upshape} +\setkomafont{subsection}{\large\bfseries\itshape} +\colorlet{addresscolor}{gray} +% \end{macrocode} +% +% \begin{macro}{\listitemsymbol} +% \begin{macrocode} +\renewcommand*{\listitemsymbol}{\labelitemi~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresssymbol} +% \begin{macrocode} +\renewcommand*{\addresssymbol}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobilesymbol} +% \begin{macrocode} +\renewcommand*{\mobilesymbol}{\textbf{M}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonesymbol} +% \begin{macrocode} +\renewcommand*{\phonesymbol}{\textbf{T}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxsymbol} +% \begin{macrocode} +\renewcommand*{\faxsymbol}{\textbf{F}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\emailsymbol} +% \begin{macrocode} +\renewcommand*{\emailsymbol}{\textbf{E}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepagesymbol} +% \begin{macrocode} +\renewcommand*{\homepagesymbol}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\setlength{\infocolwidth}{3.5cm} +\setlength{\sepinfocolwidth}{2em} +% \end{macrocode} +% +% \begin{macro}{\@infocontent} +% \begin{macrocode} +\providecommand\@infocontent{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline \@phonesymbol\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% +} % end @infocontent + \providecommand{\@makeinfo}{% + \newbox{\@infobox}% + \savebox{\@infobox}{% + \parbox[b]{\@infocolwidth}{% +% \end{macrocode} +% put the first line on the same +% baseline as the first sectiontitle: +% \begin{macrocode} + {\usekomafont{section} + \vspace*{1.6ex} + } + \raggedleft\addressstyle{% + \@infocontent% + } + }% end parbox + } % end savebox @infobox% + \newlength{\@infoheight}% + \setlength{\@infoheight}{% + \totalheightof{\usebox{\@infobox}}% + }% + \usebox{\@infobox}\vspace*{-\@infoheight}% + \par\nointerlineskip% + \vspace*{-\parskip}% + \vspace*{-\@aftersecvspace} + }% end \providecommand @makeinfo + \providecommand{\@cvtitleoldstyle}{% +% \end{macrocode} +% optional picture box +% \begin{macrocode} + \newbox{\@picbox} + \savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname + }% end savebox picbox + \settowidth\@titlepicwidth{\usebox{\@picbox}} + \setlength\@titlenamewidth{% + \textwidth-\@titlesepwidth-\@titlepicwidth} + \begin{minipage}[b]{\@titlenamewidth}% + \firstnamestyle{\firstname}\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \end{minipage}% +% \end{macrocode} +% optional photo +% \begin{macrocode} + \usebox{\@picbox}% + \\[\@aftertitlevspace]% +% \end{macrocode} +% optional quote +% \begin{macrocode} + \ifdefempty{\cvquote}{}{% + {\centering% + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% + }% +% \end{macrocode} +% address info box +% \begin{macrocode} + \@makeinfo +\par +\begin{addmargin}[\komacvinfocolextrawidth]{0pt} + } % end @cvtitleoldstyle +\AtEndDocument{% +\end{addmargin} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand{\section}[1]{\@cvsimplesection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvsimplesubsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvitem} +% \begin{macrocode} +\renewcommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@maincolwidth}% + @{\hspace{\@sepcolwidth}}p{\@hintscolwidth}@{}% + }% + {#3} & \raggedright\hintstyle{#2}% + \end{tabular}\\[#1]% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvdoubleitem} +% \begin{macrocode} +\renewcommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#4}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#2} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% diff --git a/bewerbung/bewerbung-cv.sty b/bewerbung/bewerbung-cv.sty new file mode 100644 index 0000000..2f74de1 --- /dev/null +++ b/bewerbung/bewerbung-cv.sty @@ -0,0 +1,1246 @@ +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv} % + [2015/07/14 v1.1 Importierung der Klasse koma-cv % + für bewerbungen] + %% this file is based on komacv.cls from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +% \end{macrocode} +% +% \begin{macro}{\mycolor} +% \begin{macrocode} +\providecommand*\mycolor{blue} +% \end{macrocode} +% \end{macro} +% +%% ahilbig begin +%\iffalse +%%\RequirePackage{ifthen,kvoptions,calc} +%%\SetupKeyvalOptions{% +%%family=komacv,% +%%prefix=komacv@,% +%%setkeys=\kvsetkeys% +%%} +%%\DeclareStringOption[mycolor]{color}[mycolor] +%%\DeclareStringOption[x11names]{xcolor}[x11names] +%%\DeclareStringOption[classic]{style}[classic] +%%\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +%%\ProcessKeyvalOptions{komacv} % evaluate keyval options +%%\ProcessOptions\relax % execute given options +%\fi +%% ahilbig end +% \begin{macrocode} +\RequirePackage[\ahbewerbung@lebenslaufXcolor]{xcolor} +\definecolor{myblue}{rgb}{0.2,0.3,0.65} +\colorlet{mycolor}{myblue} +\AtEndPreamble{% + \renewcommand*\mycolor{\ahbewerbung@lebenslaufColor} + \colorlet{colortheme}{\mycolor}% specified in documentclass option + \@ifundefinedcolor{firstnamecolor}{% + \colorlet{@firstnamecolor}{black}}{% + \colorlet{@firstnamecolor}{firstnamecolor}} + \@ifundefinedcolor{familynamecolor}{% + \colorlet{@familynamecolor}{@firstnamecolor}}{% + \colorlet{@familynamecolor}{familynamecolor}} + \@ifundefinedcolor{acadtitlecolor}{% + \colorlet{@acadtitlecolor}{@firstnamecolor}}{% + \colorlet{@acadtitlecolor}{acadtitlecolor}} +% \end{macrocode} +%% ahilbig begin +% additional color for title +% \begin{macrocode} + \@ifundefinedcolor{titlecolor}{% + \colorlet{@titlecolor}{@firstnamecolor}}{% + \colorlet{@titlecolor}{titlecolor}} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \@ifundefinedcolor{addresscolor}{% + \colorlet{@addresscolor}{@firstnamecolor}}{% + \colorlet{@addresscolor}{addresscolor}} +% \end{macrocode} +%% ahilbig begin +% additional handling of coloring of urls +% \begin{macrocode} + \@ifundefinedcolor{urllinkcolor}{% + \colorlet{@urllinkcolor}{@addresscolor}}{% + \colorlet{@urllinkcolor}{urllinkcolor}} + \hypersetup{urlcolor=@urllinkcolor} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \@ifundefinedcolor{quotecolor}{% + \colorlet{@quotecolor}{@firstnamecolor}}{% + \colorlet{@quotecolor}{quotecolor}} + \@ifundefinedcolor{secbarcolor}{% + \colorlet{@secbarcolor}{colortheme}}{% + \colorlet{@secbarcolor}{secbarcolor}} + \@ifundefinedcolor{seccolor}{% + \colorlet{@seccolor}{colortheme}}{% + \colorlet{@seccolor}{seccolor}} + \@ifundefinedcolor{subseccolor}{% + \colorlet{@subseccolor}{colortheme}}{% + \colorlet{@subseccolor}{subseccolor}} + \@ifundefinedcolor{hintcolor}{% + \colorlet{@hintcolor}{black}}{% + \colorlet{@hintcolor}{hintcolor}} + \@ifundefinedcolor{framecolor}{% + \colorlet{@framecolor}{colortheme}}{% + \colorlet{@framecolor}{framecolor}} + \@ifundefinedcolor{framebackcolor}{% + \colorlet{@framebackcolor}{white}}{% + \colorlet{@framebackcolor}{framebackcolor}} +} % end AtEndPreamble +\ifboolexpr{bool{xetex} or bool{luatex}}{% + \RequirePackage{fontspec}% +}{% +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} + %\iffalse + %% \RequirePackage[utf8]{inputenc} + %% \RequirePackage[T1]{fontenc}% + %\fi +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +} +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} +\newkomafont{firstnamefont}{%fontsize{34}{36} + \Huge\mdseries\upshape} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +\newkomafont{familynamefont}{\usekomafont{firstnamefont}} +% \end{macrocode} +%% ahilbig begin +%\iffalse +%%\addtokomafont{familynamefont}{} +%%\setkomafont{\namefont}{\Huge\sffamily\mdseries\upshape}% +%\fi +% \begin{macrocode} +\newkomafont{titlefont}{\Large\sffamily\mdseries\itshape} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +\newkomafont{acadtitlefont}{\LARGE\mdseries\itshape} +\newkomafont{addressfont}{\normalsize\mdseries\itshape} +\newkomafont{quotefont}{\large\itshape} +\newkomafont{hintfont}{} +\newkomafont{linkfont}{} +\newkomafont{httplinkfont}{} +\newkomafont{emaillinkfont}{} +\newkomafont{commentmainfont}{\bfseries} % in cvitemwithcomment +\newkomafont{commentfont}{\footnotesize\itshape} % cvitemwidthcomment +% \end{macrocode} +%% ahilbig begin: +% \begin{macrocode} +\newkomafont{section}{\LARGE\mdseries\upshape} +\newkomafont{subsection}{\Large\mdseries\upshape} +% \end{macrocode} +% +% \begin{macro}{\section} +% \begin{macrocode} +\newcommand{\section}[1]{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\newcommand{\subsection}[1]{} +% \end{macrocode} +% \end{macro} +% +%% ahilbig end +% \begin{macrocode} +\setlength\parindent{0pt} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\newlength\@komacvtextwidth +\newlength\@hintscolwidth +\newlength\hintscolwidth +\setlength\hintscolwidth{0pt} +\newlength\@sepcolwidth +\newlength\sepcolwidth +\setlength\sepcolwidth{0pt} +\newlength\@maincolwidth +\newlength\maincolwidth +\setlength\maincolwidth{0pt} +\newlength\@quotewidth +\newlength\quotewidth +\setlength\quotewidth{0pt} +\newlength\@dbitemmaincolwidth +\newlength\dbitemmaincolwidth +\setlength\dbitemmaincolwidth{0pt} +\newlength\@listitemsymbolwidth +\newlength\listitemsymbolwidth +\setlength\listitemsymbolwidth{0pt} +\newlength\@listitemmaincolwidth +\newlength\listitemmaincolwidth +\setlength\listitemmaincolwidth{0pt} +\newlength\@listdbitemmaincolwidth +\newlength\listdbitemmaincolwidth +\setlength\listdbitemmaincolwidth{0pt} +\newlength\@titlepicwidth +\newlength\@titlesepwidth +\setlength\@titlesepwidth{0pt} +\newlength\titlesepwidth +\setlength\titlesepwidth{0pt} +\newlength\@mframepicshift +\newlength\mframepicshift +\setlength\mframepicshift{0pt} +\newlength\@commentmainlength +\newlength\@commentlength +\newlength\@titlenamewidth +\newlength\@titlenamemaxwidth +\newlength\@titlenamefullwidth +\newlength\@titledetailswidth +\newlength\@infocolwidth +\newlength\infocolwidth +\setlength\infocolwidth{0pt} +\newlength\@sepinfocolwidth +\newlength\sepinfocolwidth +\setlength\sepinfocolwidth{0pt} +\newlength\komacvinfocolextrawidth % witout @ for use inside document +\newlength\@footerwidth +\setlength\@footerwidth{.6\textwidth} +\newlength\@fboxwidth +\newlength\footerwidth +\setlength\footerwidth{0pt} +\newlength\@aftertitlevspace +\newlength\aftertitlevspace +\setlength\aftertitlevspace{0pt} +\newlength\@afterquotevspace +\newlength\afterquotevspace +\setlength\afterquotevspace{0pt} +\newlength\@afterelementsvspace +\newlength\afterelementsvspace +\newlength\@beforesecvspace +\newlength\beforesecvspace +\setlength\beforesecvspace{0pt} +\newlength\@aftersecvspace +\newlength\aftersecvspace +\setlength\aftersecvspace{0pt} +\newlength\@beforesubsecvspace +\newlength\beforesubsecvspace +\setlength\beforesubsecvspace{0pt} +\newlength\@aftersubsecvspace +\newlength\aftersubsecvspace +\setlength\aftersubsecvspace{0pt} +\AtEndPreamble{% +% \end{macrocode} +% infocol (oldstyle) +% \begin{macrocode} + \setlength{\@infocolwidth}{\infocolwidth} + \setlength{\@sepinfocolwidth}{\sepinfocolwidth} + \setlength\komacvinfocolextrawidth{\@infocolwidth+\@sepinfocolwidth} + \setlength\@komacvtextwidth{\textwidth-\komacvinfocolextrawidth} +% \end{macrocode} +% fboxextra (picture frame) +% \begin{macrocode} + \newlength\@fboxextra + \setlength\@fboxextra{\fboxsep+\fboxrule} +% \end{macrocode} +% hintscolumn +% \begin{macrocode} + \ifdimequal{\hintscolwidth}{0pt}{% + \setlength\@hintscolwidth{.2\@komacvtextwidth} + }{% + \setlength{\@hintscolwidth}{\hintscolwidth}% + } % +% \end{macrocode} +% separatorcolumn +% \begin{macrocode} + \ifdimequal{\sepcolwidth}{0pt}{% + \setlength\@sepcolwidth{2em}% + }{% + \setlength{\@sepcolwidth}{\sepcolwidth}% + } % +% \end{macrocode} +% maincolumn +% \begin{macrocode} + \ifdimequal{\maincolwidth}{0pt}{% + \setlength{\@maincolwidth}{% + \@komacvtextwidth-\@sepcolwidth-\@hintscolwidth}% + }{% + \setlength{\@maincolwidth}{\maincolwidth}% + } % +% \end{macrocode} +% doubleitem +% \begin{macrocode} + \ifdimequal{\dbitemmaincolwidth}{0pt}{% + \setlength{\@dbitemmaincolwidth}{% + \@maincolwidth-\@hintscolwidth-2\@sepcolwidth}% + \setlength{\@dbitemmaincolwidth}{0.5\@dbitemmaincolwidth}% + }{% + \setlength{\@dbitemmaincolwidth}{\dbitemmaincolwidth}% + } % +% \end{macrocode} +% listitem +% \begin{macrocode} + \ifdimequal{\listitemsymbolwidth}{0pt}{% + \settowidth{\@listitemsymbolwidth}{\listitemsymbol{}~}% + \setlength{\@listitemmaincolwidth}{% + \@maincolwidth-\@listitemsymbolwidth}% + }{% + \setlength{\@listitemsymbolwidth}{\listitemsymbolwidth}% + } % +% \end{macrocode} +% listdoubleitem +% \begin{macrocode} + \ifdimequal{\listdbitemmaincolwidth}{0pt}{% + \setlength{\@listdbitemmaincolwidth}{% + \@maincolwidth-\@listitemsymbolwidth}% + \setlength{\@listdbitemmaincolwidth}{% + 0.475\@listdbitemmaincolwidth}% + }{% + \setlength{\@listdbitemmaincolwidth}{\listdbitemmaincolwidth}% + } % + +% \end{macrocode} +% quote +% \begin{macrocode} + \ifdimequal{\quotewidth}{0pt}{% + \setlength{\@quotewidth}{0.65\textwidth}% + }{% + \setlength{\@quotewidth}{\quotewidth}% + } + \ifdimequal{\afterquotevspace}{0pt}{% + \setlength\@afterquotevspace{2\baselineskip}% + }{% + \setlength\@afterquotevspace{\afterquotevspace}% + } % +% \end{macrocode} +% title +% \begin{macrocode} + \ifundef{\@photoname}{% without picture: + \setlength\@aftertitlevspace{\aftertitlevspace} + }{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \ifdimequal{\aftertitlevspace}{0pt}{% + \setlength\@aftertitlevspace{1.5\@fboxextra} + }{% + \setlength\@aftertitlevspace{\aftertitlevspace} + } + }{% without frame: + \setlength\@aftertitlevspace{\aftertitlevspace} + }% + }% + \ifundef{\@photoname}{}{% + \ifdimequal{\titlesepwidth}{0pt}{% + \setlength\@titlesepwidth{\@sepcolwidth} + }{% + \setlength{\@titlesepwidth}{\titlesepwidth} + } + } % +% \end{macrocode} +% afterelementsvspace +% \begin{macrocode} + \ifdimequal{\afterelementsvspace}{0pt}{% + \setlength{\@afterelementsvspace}{0.25em}% + }{% + \setlength{\@afterelementsvspace}{\afterelementsvspace}% + } % +% \end{macrocode} +% beforesecvspace +% \begin{macrocode} + \ifdimequal{\beforesecvspace}{0pt}{% + \setlength{\@beforesecvspace}{3.5ex \@plus -1ex \@minus -.2ex}% + }{% + \setlength{\@beforesecvspace}{\beforesecvspace}% + } % +% \end{macrocode} +% aftersecvspace +% \begin{macrocode} + \ifdimequal{\aftersecvspace}{0pt}{% + \setlength{\@aftersecvspace}{2.3ex \@plus.2ex}% + }{% + \setlength{\@aftersecvspace}{\aftersecvspace}% + } % +% \end{macrocode} +% beforesubsecvspace +% \begin{macrocode} + \ifdimequal{\beforesubsecvspace}{0pt}{% + \setlength{\@beforesubsecvspace}{% + 3.25ex\@plus -1ex \@minus -.2ex}% + }{ % + \setlength{\@beforesubsecvspace}{\beforesubsecvspace}% + } % +% \end{macrocode} +% aftersubsecvspace +% \begin{macrocode} + \ifdimequal{\aftersubsecvspace}{0pt}{% + \setlength{\@aftersubsecvspace}{1.5ex \@plus .2ex}% + }{% + \setlength{\@aftersubsecvspace}{\aftersubsecvspace}% + } % +} % end AtEndPreamble +% \end{macrocode} +% +% \begin{macro}{\@addresssymbol} +% \begin{macrocode} +\providecommand*\@addresssymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresssymbol} +% \begin{macrocode} +\providecommand*\addresssymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@mobilesymbol} +% \begin{macrocode} +\providecommand*\@mobilesymbol{\Mobilefone~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobilesymbol} +% \begin{macrocode} +\providecommand*\mobilesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@phonesymbol} +% \begin{macrocode} +\providecommand*\@phonesymbol{\Telefon~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonesymbol} +% \begin{macrocode} +\providecommand*\phonesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@faxsymbol} +% \begin{macrocode} +\providecommand*\@faxsymbol{\FAX~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxsymbol} +% \begin{macrocode} +\providecommand*\faxsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@emailsymbol} +% \begin{macrocode} +\providecommand*\@emailsymbol{\Letter~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\emailsymbol} +% \begin{macrocode} +\providecommand*\emailsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@homepagesymbol} +% \begin{macrocode} +\providecommand*\@homepagesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepagesymbol} +% \begin{macrocode} +\providecommand*\homepagesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@fsymbol} +% \begin{macrocode} +\providecommand*\@fsymbol{~~~\textbullet~~~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fsymbol} +% \begin{macrocode} +\providecommand*\fsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@listitemsymbol} +% \begin{macrocode} +\providecommand*\@listitemsymbol{\textcolor{colortheme}{\Neutral}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\listitemsymbol} +% \begin{macrocode} +\providecommand*\listitemsymbol{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\AtEndPreamble{% + \ifdefempty{\addresssymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@addresssymbol} +% \begin{macrocode} +\renewcommand*\@addresssymbol{\addresssymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\mobilesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@mobilesymbol} +% \begin{macrocode} +\renewcommand*\@mobilesymbol{\mobilesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\phonesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@phonesymbol} +% \begin{macrocode} +\renewcommand*\@phonesymbol{\phonesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\faxsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@faxsymbol} +% \begin{macrocode} +\renewcommand*\@faxsymbol{\faxsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\emailsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@emailsymbol} +% \begin{macrocode} +\renewcommand*\@emailsymbol{\emailsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\homepagesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@homepagesymbol} +% \begin{macrocode} +\renewcommand*\@homepagesymbol{\homepagesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\fsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@fsymbol} +% \begin{macrocode} +\renewcommand*\@fsymbol{\fsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\listitemsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@listitemsymbol} +% \begin{macrocode} +\renewcommand*\@listitemsymbol{\listitemsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % +} % end AtEndPreamble +% \end{macrocode} +% +% \begin{macro}{\firstname} +% \begin{macrocode} +\providecommand*{\firstname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\familyname} +% \begin{macrocode} +\providecommand*{\familyname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\acadtitle} +% \begin{macrocode} +\providecommand*{\acadtitle}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addressstreet} +% \begin{macrocode} +\providecommand*{\addressstreet}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresscity} +% \begin{macrocode} +\providecommand*{\addresscity}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\address} +% \begin{macrocode} +\providecommand*{\address}[2]{\addressstreet{#1}\addresscity{#2}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobile} +% \begin{macrocode} +\providecommand*{\mobile}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonenr} +% \begin{macrocode} +\providecommand*{\phonenr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxnr} +% \begin{macrocode} +\providecommand*{\faxnr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\email} +% \begin{macrocode} +\providecommand*{\email}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepage} +% \begin{macrocode} +\providecommand*{\homepage}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\extrainfo} +% \begin{macrocode} +\providecommand*{\extrainfo}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvquote} +% \begin{macrocode} +\providecommand*{\cvquote}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\newlist{compactitem}{itemize}{3} +\newlist{compactenum}{enumerate}{3} +\newlist{compactdesc}{description}{3} +\setlist[compactitem,compactenum,compactdesc]{% + topsep=0pt,% + partopsep=0pt,% + itemsep=0pt,% + parsep=0pt,% + leftmargin=*% +} % end setlist +\AtEndPreamble{% +\setlist[compactitem,1]{label=\@listitemsymbol} +\setlist[compactitem,2]{label={\textcolor{colortheme}\textendash}} +\setlist[compactitem,3]{label={% + \textcolor{colortheme}\textperiodcentered}} % +\setlist[compactenum,1]{label={\textcolor{colortheme}{\arabic*.}}} +\setlist[compactenum,2]{label={\textcolor{colortheme}{\alph*.}}} +\setlist[compactenum,3]{label={\textcolor{colortheme}{\roman*.}}} +} % end AtEndPreamble +\newlength\@photowidth +% \end{macrocode} +% +% \begin{macro}{\photo} +% \begin{macrocode} +\providecommand{\photo}[3][]{% + \providecommand{\@photoframe}{#1}% + \setlength{\@photowidth}{#2}% + \providecommand{\@photoname}{#3}} +\newif\if@firstdetailselement\@firstdetailselementtrue +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@titledetailsnewline} +% \begin{macrocode} +\providecommand*{\@titledetailsnewline}{ % + \if@firstdetailselement% + \@firstdetailselementfalse% + \else% + \\[.4ex] + \fi% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\maketitle} +%% ahilbig begin +% \begin{macrocode} +\renewcommand\maketitle{% + \csexpandonce{@cvtitle\ahbewerbung@lebenslaufStyle}} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +\RequirePackage{lastpage} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\totalpagemark} +% \begin{macrocode} +\providecommand*{\totalpagemark}{% page and pagetotal +\usekomafont{pagenumber}\pageref{LastPage}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \newcommand*{\firstnamestyle}[1]{{% + \usekomafont{firstnamefont}% + \textcolor{@firstnamecolor}{#1}}} + \newcommand*{\familynamestyle}[1]{{% + \usekomafont{familynamefont}% + \textcolor{@familynamecolor}{#1}}} + \newcommand*{\acadtitlestyle}[1]{{% + \usekomafont{acadtitlefont}% + \textcolor{@acadtitlecolor}{#1}}} +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} + \newcommand*{\titlestyle}[1]{{% + \usekomafont{titlefont}% + \textcolor{@titlecolor}{#1}}} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \newcommand*{\addressstyle}[1]{{% + \usekomafont{addressfont}% + \textcolor{@addresscolor}{#1}}} + \newcommand*{\quotestyle}[1]{{% + \usekomafont{quotefont}% + \textcolor{@quotecolor}{#1}}} + \newcommand*{\hintstyle}[1]{{% + \usekomafont{hintfont}% + \textcolor{@hintcolor}{#1}}} + \newcommand*{\sectionstyle}[1]{% + \usekomafont{section}% + \textcolor{@seccolor}{#1}} + \newcommand*{\subsectionstyle}[1]{% + \usekomafont{subsection}% + \textcolor{@subseccolor}{#1}} +% \end{macrocode} +% +% \begin{macro}{\cvitem} +% \begin{macrocode} +\providecommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@hintscolwidth}% + @{\hspace{\@sepcolwidth}}p{\@maincolwidth}@{}% + }% + \raggedleft\hintstyle{#2} &{#3}% + \end{tabular}\\[#1]% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvdoubleitem} +% \begin{macrocode} +\providecommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#4} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlistitem} +% \begin{macrocode} +\providecommand*{\cvlistitem}[2][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listitemmaincolwidth}% + #2% + \end{minipage}% + }% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlistdoubleitem} +% \begin{macrocode} +\providecommand*{\cvlistdoubleitem}[3][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #2% + \end{minipage}% + \hspace*{\@sepcolwidth} + \ifstrempty{#3}{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #3% + \end{minipage} + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cventry} +% \begin{macrocode} +\providecommand*{\cventry}[7][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + {\bfseries#3}% + \ifstrempty{#4}{}{, {\itshape#4}}% + \ifstrempty{#5}{}{, #5}% + \ifstrempty{#6}{}{, #6}% + .% + \ifx&% + \else{% + \newline{}\begin{minipage}[t]{\linewidth}% + \small#7% + \end{minipage}% + }% + \fi% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlanguage} +%% ahilbig begin +% \begin{macrocode} +\providecommand{\cvlanguage}[3]{% + \cvitemwithcomment{#1}{#2}{#3}% +} +% \end{macrocode} +% \end{macro} +% +%% ahilbig end +% \begin{macrocode} +\newbox{\@commentmainbox} +% \end{macrocode} +% +% \begin{macro}{\cvitemwithcomment} +% \begin{macrocode} +\providecommand*{\cvitemwithcomment}[4][\@afterelementsvspace]{% + \savebox{\@commentmainbox}{{\usekomafont{commentmainfont}#3}}% + \settowidth\@commentmainlength{\usebox{\@commentmainbox}}% + \setlength{\@commentlength}{% + \@maincolwidth-\@sepcolwidth-\@commentmainlength% + }% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@commentmainlength}% + \usekomafont{commentmainfont} #3% + \end{minipage}% + \hfill% + \begin{minipage}[t]{\@commentlength}% + \raggedleft\usekomafont{commentfont} #4% + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \providecommand*{\link}[2][]{% + \ifstrempty{#1}{% + \href{#2}{\usekomafont{linkfont}#2}}{% + \href{#2}{\usekomafont{linkfont}#1}}% + } + \providecommand*{\httplink}[2][]{% + \ifstrempty{#1}{% + \href{http://#2}{\usekomafont{httplinkfont}#2}}{% + \href{http://#2}{\usekomafont{httplinkfont}#1}}% + } + \providecommand*{\emaillink}[2][]{% + \ifstrempty{#1}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#2}}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#1}}% + } +% \end{macrocode} +% +% \begin{macro}{\origsection} +% \begin{macrocode} +\providecommand\origsection{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\let\origsection\section +% \end{macrocode} +% +% \begin{macro}{\origsubsection} +% \begin{macrocode} +\providecommand\origsubsection{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\let\origsubsection\subsection +% \end{macrocode} +% +% \begin{macro}{\@cvsimplesection} +% \begin{macrocode} +\providecommand\@cvsimplesection[1]{% + \origsection*{\sectionstyle{#1}} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvsimplesubsection} +% \begin{macrocode} +\providecommand\@cvsimplesubsection[1]{% + \origsubsection*{\subsectionstyle{#1}} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvbarsection} +% \begin{macrocode} +\providecommand\@cvbarsection[1]{% +% \end{macrocode} +%% ahilbig begin +% needed some additional space between the sections to look nicer +% \begin{macrocode} + \vspace{0.75em} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \origsection*{% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#1}% + \cvitem[0pt]{% + \raggedleft\hintstyle{\color{@secbarcolor}% + \rule{\@hintscolwidth}{1ex}}% +% \end{macrocode} +%% ahilbig begin +% we need more space^^ +% \begin{macrocode} + }{\sectionstyle{#1}\vspace{0.4em}} % +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + }% end origsection +} % end cvbarsection +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvbarsubsection} +% \begin{macrocode} +\providecommand\@cvbarsubsection[1]{% + \origsubsection*{% + \cvitem[0pt]{}{\subsectionstyle{#1}}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\hypersetup{% + breaklinks,% + unicode, % +% \end{macrocode} +%% ahilbig begin +% make links look nicer +% \begin{macrocode} + colorlinks = true,% +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + pdfborder = {0 0 .3},% + pdfstartview = FitH,% +% \end{macrocode} +%% ahilbig begin +%\iffalse +%% pdfstartpage = 1,% +%% pdfcreator = \LaTeX{},% +%% pdfproducer = \LaTeX{} % +%\fi +%% ahilbig end +% \begin{macrocode} +}% +\urlstyle{same} +% \end{macrocode} +% +% \begin{macro}{\@citebordercolor} +% \begin{macrocode} +\providecommand*\@citebordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\citebordercolor} +% \begin{macrocode} +\providecommand*\citebordercolor{\@citebordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@filebordercolor} +% \begin{macrocode} +\providecommand*\@filebordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\filebordercolor} +% \begin{macrocode} +\providecommand*\filebordercolor{\@filebordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@linkbordercolor} +% \begin{macrocode} +\providecommand*\@linkbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\linkbordercolor} +% \begin{macrocode} +\providecommand*\linkbordercolor{\@linkbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@menubordercolor} +% \begin{macrocode} +\providecommand*\@menubordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\menubordercolor} +% \begin{macrocode} +\providecommand*\menubordercolor{\@menubordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@runbordercolor} +% \begin{macrocode} +\providecommand*\@runbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\runbordercolor} +% \begin{macrocode} +\providecommand*\runbordercolor{\@runbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@urlbordercolor} +% \begin{macrocode} +\providecommand*\@urlbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\urlbordercolor} +% \begin{macrocode} +\providecommand*\urlbordercolor{\@urlbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\allbordercolors} +% \begin{macrocode} +\providecommand*\allbordercolors{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfauthor} +% \begin{macrocode} +\providecommand*\pdfauthor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfsubject} +% \begin{macrocode} +\providecommand*\pdfsubject{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdftitle} +% \begin{macrocode} +\providecommand*\pdftitle{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfkeywords} +% \begin{macrocode} +\providecommand*\pdfkeywords{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\AtEndPreamble{% +% \end{macrocode} +% +% \begin{macro}{\@allbordercolors} +% \begin{macrocode} +\providecommand*\@allbordercolors{colortheme} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ifdefempty{\allbordercolors}{}{% + \renewcommand*\@allbordercolors{\allbordercolors}} +% \end{macrocode} +% +% \begin{macro}{\@pdfauthor} +% \begin{macrocode} +\providecommand*\@pdfauthor{\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ifdefempty{\pdfauthor}{}{\renewcommand*\@pdfauthor{\pdfauthor}} +% \end{macrocode} +% +% \begin{macro}{\@pdfsubject} +% \begin{macrocode} +\providecommand*\@pdfsubject{\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfsubject} +% \begin{macrocode} +\providecommand*\pdfsubject{\@pdfsubject} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@pdftitle} +% \begin{macrocode} +\providecommand*\@pdftitle{\title~\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdftitle} +% \begin{macrocode} +\providecommand*\pdftitle{\@pdftitle} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@pdfkeywords} +% \begin{macrocode} +\providecommand*\@pdfkeywords{% + \firstname~\familyname{} curriculum~vit\ae{} CV{}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfkeywords} +% \begin{macrocode} +\providecommand*\pdfkeywords{\@pdfkeywords} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \hypersetup{% + allbordercolors = \@allbordercolors,% + citebordercolor = \citebordercolor,% + filebordercolor = \filebordercolor,% + linkbordercolor = \linkbordercolor,% + menubordercolor = \menubordercolor,% + runbordercolor = \runbordercolor,% + urlbordercolor = \urlbordercolor,% + pdfauthor = \@pdfauthor,% + pdfsubject = \pdfsubject,% + pdftitle = \pdftitle,% + pdfkeywords = \pdfkeywords,% + }% +} % end AtEndPreamble +\AtBeginDocument{% + \raggedbottom % +} % End AtBeginDocument +% \end{macrocode} +%% ahilbig begin +%\iffalse +%%\clearscrheadfoot +%\fi +% \begin{macrocode} +\RequirePackage{bewerbung-cv-\ahbewerbung@lebenslaufStyle} +% \end{macrocode} diff --git a/bewerbung/bewerbung-example.pdf b/bewerbung/bewerbung-example.pdf new file mode 100644 index 0000000..70b68fd Binary files /dev/null and b/bewerbung/bewerbung-example.pdf differ diff --git a/bewerbung/bewerbung-example.tex b/bewerbung/bewerbung-example.tex new file mode 100644 index 0000000..1b517a2 --- /dev/null +++ b/bewerbung/bewerbung-example.tex @@ -0,0 +1,81 @@ +% -*- coding: utf-8; -*- +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +% (C)opyright A. Hilbig, mail@andrehilbig.de | +% http://www.andrehilbig.de/index.cgi/Publications/Bewerbung | +% | +% this file: bewerbung-example.tex | +% | +% | +% This work may be distributed and/or modified under the | +% conditions of the LaTeX Project Public License, either version 1.3 | +% of this license or (at your option) any later version. | +% The latest version of this license is in | +% http://www.latex-project.org/lppl.txt | +% and version 1.3 or later is part of all distributions of LaTeX | +% version 2005/12/01 or later. | +% | +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ +% | +\documentclass[% + % color option derived from komacv + lebenslaufColor=light-gray, + % which cv style (from komacv) do you want to use? + % -> classic is default and slightly edited + % -> casual + % -> oldstyle + %lebenslaufStyle=classic, + % 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) + % for additional information take a look into config.inc + idPlain % +]{bewerbung} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[ngerman]{babel} + +\definecolor{light-gray}{gray}{0.6} +\definecolor{titlecolor}{gray}{0.62} +\definecolor{addresscolor}{gray}{0.45} + +% here are some possible color hacks: +%\xdefinecolor{mycolor}{cmyk}{0.92,0,0.87,0.09} +%\colorlet{firstnamecolor}{blue} +%\colorlet{familynamecolor}{red} +%\colorlet{acadtitlecolor}{green} +%\colorlet{addresscolor}{titlecolor} +%\colorlet{quotecolor}{pink} +%\colorlet{framecolor}{yellow} +%\colorlet{framebackcolor}{black} +%\colorlet{secbarcolor}{firstnamecolor} +%\colorlet{seccolor}{familynamecolor} +%\colorlet{subseccolor}{pink!70!black} +%\colorlet{hintcolor}{orange} + + +\begin{document} + \begin{anschreiben} + Hier kommt das Anschreiben hin + \end{anschreiben} + + \begin{lebenslauf}[none][] + \maketitle + \makePerson + + \section{Studium} + \cventry{03/13}{Abschluss: Dipl.-Pädagogin (Univ.)}{}{}{}{} + + \section{Führerschein} + \cvlistitem{Klasse B (eigener PKW)} + + \section{Sprachen} + \cvlanguage{Deutsch}{Muttersprache}{} + \cvlanguage{Englisch}{gut}{} + \end{lebenslauf} + + % Sometimes it could be nice to add some diploma, certificates and so on + % Feel free to use pdfpages for that stuff: + %\includepdf[pages=-]{Anhang/diploma.pdf} + %\includepdfmerge[pages=-,landscape,angle=270]{Anhang/schoolout1.pdf,Anhang/schoolout2.pdf} +\end{document} diff --git a/bewerbung/bewerbung.bib b/bewerbung/bewerbung.bib new file mode 100644 index 0000000..55b99a1 --- /dev/null +++ b/bewerbung/bewerbung.bib @@ -0,0 +1,41 @@ +%% LaTeX2e file `bewerbung.bib' +%% generated by the `filecontents' environment +%% from source `bewerbung' on 2015/07/14. +%% + @electronic{komacv, + author = "Salome Södergan", + month = {Aug}, + year = "2014", + title = "komacv", + subtitle = "Typesetting a beuatiful CV with various style options", + url = {http://www.ctan.org/pkg/komacv}, + urldate = {2015-07-09}, + } + + @electronic{scrlttr2, + author = "Markus Kohm", + month = {Jul}, + year = "2015", + title = "scrlttr2", + subtitle = "Koma-Script ‘letter’ class", + url = {http://www.ctan.org/pkg/scrlttr2}, + urldate = {2015-07-09}, + } + + @electronic{datatool, + author = "Nicola Talbot", + year = "2014", + title = "datatool", + subtitle = "Tools to load and manipulate data", + url = {http://www.ctan.org/pkg/datatool}, + urldate = {2015-07-09}, + } + + @electronic{pdfpages, + author = "Andreas Matthias", + year = "2015", + title = "pdfpages", + subtitle = "Include PDF documents in LaTeX", + url = {http://www.ctan.org/pkg/pdfpages}, + urldate = {2015-07-09}, + } diff --git a/bewerbung/bewerbung.cls b/bewerbung/bewerbung.cls new file mode 100644 index 0000000..c05c989 --- /dev/null +++ b/bewerbung/bewerbung.cls @@ -0,0 +1,83 @@ +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{bewerbung}[2015/07/14 v1.1 % + Klasse zur Erstellung von Bewerbungsschreiben] +\RequirePackage{ifthen,kvoptions,calc} +\SetupKeyvalOptions{% +family=ahbewerbung,% +prefix=ahbewerbung@,% +setkeys=\kvsetkeys% +} +% \end{macrocode} +%% +%% for komacv are some color options available, that % +%% needed to get passed to the new cv package +%% ALL OPTIONS ARE CHANGED TO THE IDENTIFIER ahbewerbung +%% +% \begin{macrocode} +\DeclareStringOption[mycolor]{lebenslaufColor}[mycolor] +\DeclareStringOption[x11names]{lebenslaufXcolor}[x11names] +\DeclareStringOption[classic]{lebenslaufStyle}[classic] +\DeclareStringOption[anschrift.csv]{anschrift}[anschrift.csv] +\DeclareBoolOption{idPlain} +\ProcessKeyvalOptions{ahbewerbung} % evaluate keyval options +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrlttr2}} +\ProcessOptions\relax +\LoadClass[ + DIN, pagenumber=botright, backaddress=true, parskip=half,% + fromalign=left, fromemail=true, fromfax=true, % + fromphone=true, fromurl=false, fromalign=right, % + fromlogo=false, fromrule=true, foldmarks=true, % + paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false +]{scrlttr2} +% \end{macrocode} +%\iffalse +%% import from komacv.cls for easier maintaining +%\fi +% \begin{macrocode} +\RequirePackage{% + etoolbox,% + ifpdf,% + ifluatex,% + ifxetex,% + marvosym, % + scrlayer-scrpage, % + array,% + graphicx,% + microtype,% + enumitem, % + hyperref, % +} +\RequirePackage[% +% \end{macrocode} +%\iffalse +%% xcolor=\ahbewerbung@lebenslaufXcolor,% +%% color=\ahbewerbung@lebenslaufColor,% +%% style=\ahbewerbung@lebenslaufStyle,% +%\fi +% \begin{macrocode} +]{bewerbung-cv} +\RequirePackage[autostyle,german=guillemets]{csquotes} +\RequirePackage[top=2.5cm]{geometry} +\RequirePackage{datatool} +\RequirePackage[right]{eurosym} +\RequirePackage{xspace} +\RequirePackage{multicol} +\RequirePackage{pdfpages} +\RequirePackage{comment} +\RequirePackage{xparse} +\RequirePackage{bewerbung} +\AtBeginDocument{% + \hypersetup{colorlinks=true}% + \InputIfFileExists{config.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei config.inc ist nicht lesbar.}% + } + \getBewerbung[\ahbewerbung@anschrift] % + \runKomaVar % + \InputIfFileExists{titlepage.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei titlepage.inc ist nicht lesbar.}% + } % +} +% \end{macrocode} diff --git a/bewerbung/bewerbung.dtx b/bewerbung/bewerbung.dtx new file mode 100644 index 0000000..4ccf2e2 --- /dev/null +++ b/bewerbung/bewerbung.dtx @@ -0,0 +1,3895 @@ +%\iffalse +% bewerbung.dtx generated using makedtx version 0.94b (c) Nicola Talbot +% Command line args: +% -date "2022-01-17:16:26:37 -- Version 1.3" +% -comment "neueBewerbung.sh" +% -comment "config.inc=>config.inc" +% -author "André Hilbig, mail@andrehilbig.de" +% -codetitle "Implementation" +% -macrocode "neueBewerbung.sh" +% -src "(.*)\.sty=>\1.sty" +% -src "(.*)\.cls=>\1.cls" +% -src "neueBewerbung.sh=>neueBewerbung.sh" +% -src "(.*)\.inc=>\1.inc" +% -doc "../dokumentation.tex" +% -setambles "neueBewerbung.sh=>\nopreamble\nopostamble" +% bewerbung +% Created on 2022-01-17:16:26:37 -- Version 1.3/1/17 16:26 +%\fi +%\iffalse +%<*package> +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2022-01-17:16:26:37 -- Version 1.3 André Hilbig, mail@andrehilbig.de, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass[a4paper]{ltxdoc} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english,ngerman]{babel} +\usepackage{xparse,xargs} +\usepackage{newfloat} +\usepackage[usenames,dvipsnames,svgnames,table]{xcolor} +\definecolor{blau}{rgb}{0,0,0.75} +\definecolor{orange}{rgb}{0.8,0.3,0} +\usepackage{filecontents} +\begin{filecontents}{bewerbung.bib} + @electronic{komacv, + author = "Salome Södergan", + month = {Aug}, + year = "2014", + title = "komacv", + subtitle = "Typesetting a beuatiful CV with various style options", + url = {http://www.ctan.org/pkg/komacv}, + urldate = {2015-07-09}, + } + + @electronic{scrlttr2, + author = "Markus Kohm", + month = {Jul}, + year = "2015", + title = "scrlttr2", + subtitle = "Koma-Script ‘letter’ class", + url = {http://www.ctan.org/pkg/scrlttr2}, + urldate = {2015-07-09}, + } + + @electronic{datatool, + author = "Nicola Talbot", + year = "2014", + title = "datatool", + subtitle = "Tools to load and manipulate data", + url = {http://www.ctan.org/pkg/datatool}, + urldate = {2015-07-09}, + } + + @electronic{pdfpages, + author = "Andreas Matthias", + year = "2015", + title = "pdfpages", + subtitle = "Include PDF documents in LaTeX", + url = {http://www.ctan.org/pkg/pdfpages}, + urldate = {2015-07-09}, + } +\end{filecontents} +\usepackage[% + backend=biber, + sortlocale=de_DE, + style=authoryear, + bibencoding=UTF8, + block=space, + autocite=inline, + language=ngerman, +]{biblatex} +\addglobalbib{bewerbung.bib} +\renewcommand*{\mkbibnamelast}{\textsc} + +\DeclareCiteCommand{\citeauthorfull} + {% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex% + {\indexnames{labelname}} + {}% + \printnames[first-last]{author}} + {\multicitedelim} + {\usebibmacro{postnote}} + + +\usepackage{hyperref} +\hypersetup{% + pdftitle = {\LaTeX-classes and -packages for typesetting nice applications and % + tables of applications - \LaTeX-Klassen und -Pakete zum Setzen schöner % + Bewerbungsmappen und einer Übersichtstabelle zur Dokumentation der % + Bewerbungsversuche}, % + pdfsubject = {}, % + pdfkeywords = {LaTeX,CTAN,applications,bewerbungen,cv,lebenslauf,arge,Agentur für Arbeit}, % + pdfauthor = {Andr\'e Hilbig}, % + colorlinks = true, % + hypertexnames = true, % + linkcolor=blau, % + filecolor=orange, % + citecolor=blau, % + menucolor=orange, % + urlcolor=orange, % + breaklinks=true % +} + +\usepackage{graphics,graphicx,textcomp} +\usepackage{placeins,float,caption,prettyref} +\usepackage{pdfpages,listings,xspace} +\usepackage{amssymb,multicol,pdflscape} +\usepackage[german=guillemets]{csquotes} +\newrefformat{sec}{Abschnitt\,\ref{#1}, S.\,\pageref{#1}} +\newrefformat{paket}{Paket~\ref{#1}, S.\,\pageref{#1}} +\newrefformat{klasse}{Klasse~\ref{#1}, S.\,\pageref{#1}} +\newrefformat{fig}{Abb.\,\ref{#1}} +\newrefformat{tab}{Tab.\,\ref{#1}} +\newrefformat{bsp}{Bsp.\,\ref{#1}, S.\,\pageref{#1}} +\newcommand{\refMacro}[1]{Makro \texttt{\textbackslash#1}, S.\,\pageref{#1}} +\DeclareFloatingEnvironment[name={Bsp.}, + listname={Beispielverzeichnis}, within=section]{example} +\floatstyle{ruled} +\restylefloat{example} +\NewDocumentEnvironment{beispiel}{o o m}{ + \begin{example}[ht!] + \centering + \vspace{0.2cm} + \IfNoValueTF{#2}{ + \caption{#3} + }{ + \caption[#2]{#3} + } + }{ + \IfNoValueTF{#1}{ + \label{\theexample} + }{ + \label{#1} + } + \vspace{0.2cm} + \end{example} + } +\DisableCrossrefs +\makeatletter +\makeatother +\lstset{ % + language=[LaTeX]TeX, + basicstyle=\small, + numbers=left, + numberstyle=\footnotesize, + stepnumber=1, + numbersep=5pt, + backgroundcolor=\color{Peach!30!white}, + showspaces=false, + showstringspaces=false, + showtabs=false, + frame=single, + tabsize=2, + resetmargins=true, + captionpos=b, + title={}, + caption={}, + breaklines=true, + breakautoindent=true, + prebreak=\mbox{ $\curvearrowright$}, + postbreak=\mbox{$\rightsquigarrow$ }, + linewidth=\columnwidth, + breakatwhitespace=true, + numberstyle=\tiny\color{gray}, + keywordstyle=\color{OliveGreen}\textbf, + commentstyle=\color{gray}\itshape, + stringstyle=\color{mauve}, + morekeywords={ + minisec, subsection, glqq, grqq, euro, Name, Vorname, Street, + Plz, Stadt, MeinBeruf, EMail, Tel, Mobile, Sta, GebDatum, ID, + Anhang, includepdf, includepdfmerge, cventry, cvlistitem, + cvlanguage, definecolor, maketitle, makePerson, cp, ln, mkdir, + todayOrt, todayDatum, + }, + literate=% + {Ö}{{\"O}}1 + {Ä}{{\"A}}1 + {Ü}{{\"U}}1 + {ß}{\ss}2 + {ü}{{\"u}}1 + {ä}{{\"a}}1 + {ö}{{\"o}}1 + {»}{{\frqq}}4 + {«}{{\flqq}}4 + {~}{$\sim$}1 +} + +\xspaceaddexceptions{\guillemotright,\guillemotleft} + +\CheckSum{2158} + + +\begin{document} +\DocInput{bewerbung.dtx} +\end{document} +% +%\fi +% \title{\LaTeX-classes and -packages for typesetting nice applications and +% tables of applications\newline\ \newline +% \LaTeX-Klassen und -Pakete zum Setzen schöner Bewerbungsmappen und einer +% Übersichtstabelle zur Dokumentation der Bewerbungsversuche} +% \author{Andr\'e Hilbig \\ \texttt{mail@andrehilbig.de} \\ +% \url{https://git.andrehilbig.de/ahilbig/vorlagebewerbung}} +% \date{2022-01-17} +% \maketitle +% \begin{abstract} +% \foreignlanguage{english}{ +% This project has the aim to provide packages and classes for +% typesetting an application with titlepage, letter, cv and +% additional documents in just one document. Also there is a class +% for printing a table with the latest applications that can be +% shown to the german authorities. The data of the applications can +% be edited in a simple csv file. +% } +% +% Dieses Projekt hat das Ziel, Pakete und Klassen zum Setzen von +% Bewerbungsmappen mit Titelseite, Brief, Lebenslauf und +% zusätzlichen Dokumenten bereitzustellen. Außerdem gibt es eine +% Klasse zum Setzen einer Tabelle mit den aktuellen +% Bewerbungsversuchen, die der Agentur für Arbeit vorgelegt werden kann. Die +% Daten der Bewerbungsversuche werden in einer simplen csv-Datei +% verwaltet. +% \end{abstract} +%\begin{multicols}{2} +% \tableofcontents +%\end{multicols} +%\vrule +%\begin{multicols}{2} +% \listofexample +%\end{multicols} +% \clearpage +% \begingroup +% \selectlanguage{english} +% \section{Introduction} +% There are a lot of great projects for writing documents of an application in \LaTeX. But they +% all got two problems you will have to find a workaround for. A normal application has a +% titlepage, a letter, a cv and some additional documents like your diploma. There is a package +% or class in \LaTeX\ for every part -- but in the end your application is split up in at least +% three documents you'll have to merge. Also you'll have to put the data of yourself and the +% company you're writing to in every document in a different way. +% +% It's a little bit complicated to merge the functionality of all the different projects into one +% document on \TeX-level, because you can not load different classes at one time. So I thought +% of rewriting some of the packages. Mainly I want to thank \citeauthorfull{komacv} for his great +% work. I simply copied his class and packages and rewrote the class to use it as a package. So +% all the credit for the cv belongs to him. +% +% If you loose your job in germany, you'll have to report to the authorities every application you +% wrote to get the small charity. Otherwise the charity gets smaller. I wanted to have a +% document that \enquote{knows} all your latest applications and throws out a table for that +% issue. Of course that is a job for the great \citetitle{datatool} project of +% \citeauthorfull{datatool}. +% +% Last but not least there is the great \citetitle{scrlttr2} class for writing letters by +% \citeauthorfull{scrlttr2}. I use it to print the letter within the document and added the +% possibility to show a titlepage. +% +% \subsection{Thanks} +% Of course without the \verb|CTAN|-project none of this could have happened. +% +% Special thanks goes to these three people for their awesome work: +% \begin{itemize} +% \item \citeauthorfull{scrlttr2} \autocite{scrlttr2}, +% \item \citeauthorfull{komacv} \autocite{komacv} and +% \item \citeauthorfull{datatool} \autocite{datatool}. +% \end{itemize} +% +% \subsection{Hint} +% This documentation is mainly written in german, because the package itself provides only +% german macros. Aside from that it was designed to get applications and documentation for the +% german authorities working together. Maybe the work could be usefull for non german too. Then +% someone should write a wrapper for my macros -- in fact I did not touch so much of the +% koma-internals of \verb|scrlttr2| or \verb|komacv|, perhaps it is not that bigger work. +% +% I think the authorities in Germany demand very much work of a person potentially not +% responsible for her/his situation. You get only a very small charity. So you have to write a +% huge amount of applications -- even to jobs you and the companies don't care about you applying +% for. And of course you can not be trusted to really write applications like hell. Because of +% that you'll have to show a documentation of all your applications to get your money. I thought +% we'd need a \LaTeX-package to automate this stuff and so I made it. +% \endgroup +% \selectlanguage{ngerman} +% +% \section{Änderungen} +% \begin{description} +% \item[v1.0] Veröffentlichung +% \item[v1.1] +% \begin{itemize} +% \item Leerzeichen in Anrede hinzugefügt +% \item Kodierungs- und Spracheinstellungen aus der Klasse entfernt +% \item Leerzeichenproblematiken entfernt +% \item Satz in der Dokumentation überarbeitet +% \item Kontaktdaten in den READMEs korrigiert +% \end{itemize} +% \end{description} +% +% \section{Installation} +% \subsection{Automatische Installation} +% Die Pakete sind über \verb|CTAN| verfügbar und können so über den \verb|tlmgr| bzw. die +% Paketverwaltung des Betriebssystems\footnote{Leider halten viele Distributionen ihre +% \LaTeX-Installationen nicht aktuell. Daher wird empfohlen die direkten Quellen, etwa von +% |texlive|, zu verwenden.} abgerufen werden. +% +% \subsection{Manuelle Installation} +% Falls eine automatisierte Installation nicht möglich ist, können die Pakete auch manuell +% installiert werden. Es wird jedoch empfohlen, eine aktuelle Distribution zu verwenden, etwa +% \verb|texlive2015|. Für Versionen davor kann keine Kompatibilität gewährleistet werden. Zur +% Installation werden die Dateien \verb|bewerbung.ins| und \verb|bewerbung.dtx| benötigt. +% Ergänzend können die Beispieldateien \verb|bewerbung.tex|, \verb|argetabelle.tex| und +% \verb|Foto.pdf| sinnvoll sein. +% +% \begin{itemize} +% \item Erzeugung der Paket- und Klassendateien +% +% \begin{lstlisting}[gobble=9,numbers=none,language=bash,% +% linewidth=0.7\textwidth,resetmargins=false] +% latex bewerbung.dtx +% \end{lstlisting} +% \item Die erzeugten Paket- (*.sty) und Klassendateien (*.cls) und die Datei +% \verb|titlepage.inc| müssen in einem für \TeX\ lesbarem Verzeichnis platziert werden. Für +% eine lokale Installation bietet sich dafür +% +% \verb|~/texmf/tex/latex/bewerbung/| +% +% an. +% \item Außerdem wird die Datei \verb|config.inc| erzeugt. Diese Datei stellt die +% Konfiguration der jeweiligen Bewerbung dar. Daher sollte diese Datei immer in das jeweils +% aktuelle Verzeichnis kopiert werden (vgl. \prettyref{sec:struktur}). +% \item Aktualisieren der \TeX-Distribution +% +% \begin{lstlisting}[gobble=9,numbers=none,language=bash,% +% linewidth=0.7\textwidth,resetmargins=false] +% texhash +% \end{lstlisting} +% \item Erzeugen der Dokumentation +% +% \begin{lstlisting}[gobble=9,numbers=none,language=bash,% +% linewidth=0.7\textwidth,resetmargins=false] +% latexmk -pdf bewerbung.dtx +% \end{lstlisting} +% \end{itemize} +% +% \section{Benutzung}\label{sec:benutzung} +% \subsection{Konfigurationen}\label{sec:konfiguration} +% \subsubsection{Eigene Person}\label{sec:eigeneperson} +% Bei der Erstellung wurde die Datei \verb|config.inc| erzeugt. In dieser Datei werden die +% persönlichen Informationen konfiguriert. Die Datei wird beim Erstellen einer +% Bewerbungsmappe (vgl. \prettyref{sec:bewerbungsmappe}) automatisch eingebunden und ist +% notwendig. +% +% Die folgenden Makros definieren für eine \textit{konkrete} Bewerbung die persönlichen +% Informationen. Als jeweils kleingeschriebenes Makro existiert ein Befehl, der im Dokument +% verwendet werden kann, um diese Information zu drucken. Z.\,B. könnte |\name| zu +% \enquote{Hilbig} führen. +% +% \DescribeMacro{\Vorname} +% \DescribeMacro{\Name} +% \DescribeMacro{\fullname} +% Durch |\Vorname|\marg{Vorname} und |\Name|\marg{Vorname} können Vor- und Nachname +% festgelegt werden. Das Makro |\fullname|\oarg{Reihenfolge} wird aus |\Name| und +% |\Vorname| erstellt und gibt bei Verwendung ohne Argument den vollen Namen inklusive des +% Vornamens aus, z.\,B. \enquote{André Hilbig}. Soll die Reihenfolge von Vor- und Nachname +% durch ein Komma getrennt ausgegeben werden, so sollte |\fullname[verkehrt]| gewählt +% werden: \enquote{Hilbig, André}. +% +% \DescribeMacro{\Street} +% \DescribeMacro{\Plz} +% \DescribeMacro{\Stadt} +% Über |\Street|\marg{Straße Hnr.} kann die Straße mit Hausnummer festgelegt +% werden.\footnote{Mit Absicht wurde hier aus Kompatibilitätsgründen die englische +% Schreibweise für das Makro gewählt, da \textit{Straße} bzw. \textit{Strasse} zu +% Kompatibilitätsproblemen führten.} +% Mit |\Plz|\marg{Postleitzahl} und |\Stadt|\marg{Stadt} können Postleitzahl und Ort +% festgelegt werden. +% +% \DescribeMacro{\anschrift} +% Aus |\Street|, |\Plz| und |\Stadt| wird die Anschrift zusammengesetzt und bei Angabe von +% |\anschrift|\oarg{Umbruch} ohne optionalem Argument mit einem Umbruch nach der Straße +% ausgegeben. Wird |\anschrift[none]| gewählt, wird die Straße durch ein Komma vom Ort +% getrennt. +% +% \DescribeMacro{\MeinBeruf} +% Über |\MeinBeruf|\marg{Berufsbezeichnung} kann die eigene Berufsbezeichnung festgelegt +% werden. Diese wird etwa im Lebenslauf und auf der Titelseite verwendet. Sie stellt jedoch +% nicht die Bezeichnung der zu bewerbenden Stelle dar. Diese wird gesondert +% (vgl. \prettyref{sec:bewerbung}) angegeben. +% +% \DescribeMacro{\Tel} +% \DescribeMacro{\Mobile} +% \DescribeMacro{\EMail} +% Über +% +% \noindent|\Tel|\marg{Telefonnummer}, +% +% \noindent|\Mobile|\marg{Mobiltelefonnummer} und +% +% \noindent|\EMail|\marg{E-Mail} +% +% können Telefonnumer, zusätzliche Mobilnummer und eine E"~Mailadresse +% angegeben werden. +% +% \DescribeMacro{\Sta} +% \DescribeMacro{\GebDatum} +% Der Befehl |\Sta|\marg{Staatsangehörigkeit} legt die Staatsangehörigkeit fest und +% |\GebDatum|\marg{Geburtsdatum} definiert das Geburtsdatum. +% +% \DescribeMacro{\LebenslaufTitel} +% Der Befehl |\LebenslaufTitel|\marg{Titel} ändert den Titel des Lebenslauf. Standardmäßig +% wird \textit{Curriculum Vitae} verwendet. So kann bspw. auch \textit{Lebenslauf} als Titel +% gesetzt werden. +% +% \DescribeMacro{\ID} +% Durch das Makro |\ID|\marg{Identifikation} wird die Nummer der aktuellen Bewerbung +% angegeben. Damit werden die Daten der aktuellen Bewerbung aus einer Datei ausgelesen. +% Diese Datei enthält pro Zeile eine Bewerbung, die durch einen Eintrag \textit{ID} +% identifiziert wird. Die mit dem Makro eingegebene Identifikation stellt entweder die +% gemeinte \textbf{Zeile} oder die Bewerbung mit der entsprechenden \textbf{ID} (vgl. +% \prettyref{sec:bewerbung}) dar. +% +% Der Klasse |bewerbung| kann die Option |idPlain| übergeben werden. Dann wird nach +% der exakten Übereinstimmung der hier notierten Identifikation mit dem Feld ID gesucht. +% Dies muss keine Zahl sein. Wird keine Option übergeben wird die notierte Zahl als +% Zeilennummer startend bei 0 interpretiert. +% +% \DescribeMacro{\Anhang}\label{Anhang} +% An zwei Stellen in einer Bewerbung werden angehangene Dokumente ausgewiesen: Titelseite +% und Anschreiben. Dabei handelt es sich um Anschreiben und Lebenslauf bzw. nur den +% Lebenslauf. Werden zusätzliche Dokumente angehangen sollten diese mit +% |\Anhang|\marg{Liste}\marg{Aufzählung} hinzugefügt werden. Allerdings müssen die Dokumente +% im Makro doppelt angegeben werden. Zuerst werden sie in einer Liste mit einem Punkt endend +% und getrennt durch |\newline| notiert. Danach als Aufzählung mit einem vorangestellten +% |\item|. So wird die korrekte Darstellung in Titelseite und Anschreiben sichergestellt +% (vgl. \prettyref{bsp:konfiguration}). +% +% \textit{Hinweis:} Die hier angegebenen Dokumente werden nicht automatisch eingebunden, +% sondern sollten manuell hinzugefügt werden. Es werden lediglich die angegebenen +% Bezeichnungen als Text eingefügt. +% +% \DescribeMacro{\todayOrt} +% \DescribeMacro{\todayDatum} +% Der Lebenslauf wird typischerweise unter Ausweisung eines Ortes und Datums unterschrieben. +% Im Anschreiben wird ebenfalls das aktuelle Datum ausgewiesen. Um den Ort und dieses Datum +% zu konfigurieren stehen die Makros |\todayOrt|\marg{Ort} und |\today|Datum\marg{Datum} zur +% Verfügung. +% +% Werden diese Werte nicht gesetzt, so wird automatisch |\stadt| als Ort und |\today| als +% Datum verwendet. +% +% \begin{beispiel}[bsp:konfiguration][Konfiguration der persönlichen Informationen]{% +% Beispiel einer möglichen Konfiguration der persönlichen Informationen} +% \begin{lstlisting}[gobble=15,caption={}] +% \Name{Musterfrau} +% \Vorname{Maja} +% \Street{Musterstraße 9} +% \Plz{45878} +% \Stadt{Musterstadt} +% \MeinBeruf{Dipl.-Pädagogin (Univ.)} +% \EMail{mail@email.com} +% \Tel{03131~465488} +% \Mobile{01534~6324524353} +% \Sta{deutsch} +% \GebDatum{31.02.1990} +% \todayOrt{Musterstadt} +% \todayDatum{12.12.2012} +% +% \ID{47} +% \Anhang{Abiturzeugnis.\newline Diplomzeugnis.}{% +% \item Abiturzeugnis +% \item Diplomzeugnis +% } +% \end{lstlisting} +% \end{beispiel} +% +% \subsubsection[Bewerbungen]{Bewerbungsversuche}\label{sec:bewerbung} +% Sämtliche zu verwaltenden Bewerbungen werden in einer csv-Datei abgespeichert. Vor allem die +% Tabelle zur Dokumentation (vgl. \prettyref{sec:dokutabelle}) verwendet sämtliche Einträge. +% Jedoch wird auch die jeweilige Anschrift etc. der Firma in der Bewerbungsmappe (vgl. +% \prettyref{sec:bewerbungsmappe}) daraus ausgelesen. Die Syntax dieser Datei muss der im +% folgenden beschriebenen entsprechen. +% +% Die Datei enthält in der ersten Zeile die Bezeichner aller Spalten jeweils getrennt durch +% ein Komma. Es ist die hier aufgeführte Schreibweise \textit{exakt} genauso zu +% verwenden: +% \begin{lstlisting}[% +% numbers=none,gobble=11,% +% language=bash,% +% keywordstyle=\color{black},% +% basicstyle={\tiny}% +% ] +% ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle,Rueckmeldung,Sonstiges +% \end{lstlisting} +% +% \paragraph{Erläuterung der Spalten:} +% \DescribeMacro{ID} +% Jede Bewerbung wird in einer Zeile notiert. Dabei erhält jede Bewerbung zusätzlich einen +% Identifikationsbezeichner, der jedoch leer gelassen werden kann. In der Bewerbungsmappe +% erfolgt die Zuordnung einer konkreten Bewerbung entweder über die Zeile oder der hier +% hinterlegten Identifikation. +% +% \DescribeMacro{KW} +% \DescribeMacro{Datum} +% Die Kalendarwoche muss angegeben werden, um die Dokumentationstabelle zur Vorlage bei der +% Agentur für Arbeit zu formatieren. Das Datum der Bewerbung wird sowohl in der Tabelle als +% auch der Bewerbungsmappe benutzt. +% +% \DescribeMacro{Firma} +% \DescribeMacro{FirmaAnrede} +% \DescribeMacro{FirmaName} +% Im Anschreiben setzt sich die Anschrift und Anrede jeweils aus |FirmaAnrede| und |FirmaName| +% zusammen. Dabei kann die Anrede mit Herr oder Frau erfolgen. Theoretisch sind auch beliebige +% Werte möglich. Dann sollte jedoch die automatische Konfiguration der Anrede im Anschreiben +% angepasst werden (vgl. \prettyref{sec:anschreiben}). Im Feld |Firma| kann die Bezeichnung +% der Firma hinterlegt werden. +% +% \DescribeMacro{Str} +% \DescribeMacro{PLZ} +% \DescribeMacro{Ort} +% Die Postanschrift der Bewerbung kann über |Str|, |PLZ| und |Ort| konfiguriert werden. +% +% \DescribeMacro{Stelle} +% Die meisten Bewerbungen haben eine konkrete Stellenbezeichnung, die unter Umständen von der +% eigenen Berufsbezeichnung abweicht. In |Stelle| kann die Bezeichnung angegeben werden. +% +% \DescribeMacro{Rueckmeldung} +% Für die Agentur für Arbeit muss ausgewiesen werden, welche Art von Rückmeldung auf die +% geschriebene Bewerbung durch den Arbeitgeber erfolgt ist. Dies ist vor allem bei Stellen, +% die von der Agentur für Arbeit vermittelt wurden, wichtig, da hier die Arbeitgeber teilweise +% überprüft werden. +% +% Sinnvolle Werte könnten \enquote{keine Rückmeldung}, \enquote{Absage}, \enquote{Einladung} +% usw. sein. +% +% \DescribeMacro{Sonstiges} +% Ein zusätzliches Feld, das in der Dokumentationstabelle aufgeführt wird, kann hier mit +% zusätzlichen Hinweisen an die Agentur für Arbeit gefüllt werden. +% +% \begin{beispiel}[bsp:anschrift][Auflistung der Bewerbungsversuche]{% +% Beispiel für eine mögliche Auflistung der Bewerbungsversuche} +% \begin{lstlisting}[language=bash,gobble=13,caption={},stepnumber=1] +% ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle, Rueckmeldung,Sonstiges +% 2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n +% 1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n +% \end{lstlisting} +% \end{beispiel} +% +% \paragraph{Zusätzliche Hinweise} +% \begin{description} +% \item[Datei] Die Datei sollte als |anschrift.csv| benannt werden. Wird ein anderer +% Dateiname gewünscht, so kann dies über die Option |anschrift| der Klasse |bewerbung| +% übergeben werden. Sie sollte im selben Verzeichnis wie die zu setzende Bewerbungsmappe +% platziert werden. Hier kann ein entsprechender logischer Link nützlich sein. +% \item[Kodierung] Die Datei sollte als |UTF-8| kodiert werden, um Umlaute usw. korrekt +% darzustellen. Zusätzlich können einzelne Einträge mit doppelten Anführungszeichen +% markiert werden. +% \item[GUI] Selbstverständlich können graphische Programme, etwa |libreoffice|, zur +% Verwaltung dieser Datei verwendet werden. Es zeigte sich jedoch, dass hierbei häufig +% Kodierungsprobleme entstehen. Daher sollte bei Fehlern die Kodierung per Hand +% kontrolliert werden. +% \item[Feldtrenner] Die Spalten bzw. Felder werden standardmäßig über ein Komma getrennt. +% Entsprechend den Befehlen aus \cite{datatool} ist es sicherlich möglich den Feldtrenner +% manuell zu ändern. Hier sei auf die entsprechende Dokumentation verwiesen. +% \end{description} +% +% \subsubsection{Struktur}\label{sec:struktur} +% Prinzipiell ist es nicht notwendig eine besondere Verzeichnisstruktur einzuhalten. Allerdings +% erleichtert es die Arbeit deutlich, wenn einige Dateien und Verzeichnisse am selben Ort +% liegen. Die folgenden Erläuterungen stellen eine beispielhafte Beschreibung einer sinnvollen +% Struktur dar. +% +% \begin{lstlisting}[numbers=none,gobble=9,language=bash] +% Bewerbungen: +% | +% +-----Anhang: +% |-diplom.pdf +% |-zeugnis.pdf +% | +% +-----bewerbung-Traumjob: +% |-Anhang -> ../Anhang +% |-Foto.pdf -> ../Foto.pdf +% |-anschrift.csv -> ../anschrift.csv +% |-bewerbung-Traumjob.tex +% |-config.inc +% |-Foto.pdf +% |-anschrift.csv +% |-argetabelle.tex +% |-bewerbung.tex +% |-config.inc +% \end{lstlisting} +% +% Durch die symbolischen Links ist es möglich, die globalen Dateien |Foto.pdf| und +% |anschrift.csv| sowie die Dateien im |Anhang/| praktisch vorzuhalten und Änderungen +% entsprechend global vornehmen zu können. So kann beispielsweise |argetabelle.tex| immer +% aktuell gesetzt werden -- dennoch blähen nicht viele einzelne Bewerbungen mit zugehörigen +% Konfigurationsdateien das Verzeichnis auf. +% +% \paragraph{Anlegen einer neuen Bewerbung} +% Sofern exakt diese Struktur gewählt wird, kann ein einfaches Script das Anlegen erleichtern. +% \begin{lstlisting}[gobble=9,language=bash,title={Datei: \texttt{neueBewerbung.sh}}] +% #!/bin/bash +% mkdir -v $1 +% cp -v bewerbung.tex $1/bewerbung-$1.tex +% cp -v config.inc $1 +% cd $1 +% ln -sv ../Anhang ./Anhang +% ln -sv ../Foto.jpg ./Foto.jpg +% ln -sv ../Foto.pdf ./Foto.pdf +% ln -sv ../anschrift.csv ./anschrift.csv +% cd .. +% \end{lstlisting} +% Das Script erwartet als Argument einen eindeutigen Bezeichner für die neue Bewerbung. +% \textit{Vorsicht:} Bereits existierende Dateien werden überschrieben. +% +% \begin{lstlisting}[gobble=9,language=bash,numbers=none] +% ./neueBewerbung bewerbung-LatexCompany +% \end{lstlisting} +% +% \noindent So würde automatisch ein neues Verzeichnis |bewerbung-LatexCompany| mit allen +% notwendigen Links angelegt. Außerdem werden aus dem Stammverzeichnis die Dateien +% |bewerbung.tex| und |config.inc| kopiert und entsprechend umbenannt. Somit können diese im +% Stammverzeichnis als eine Art Vorlage verwendet werden. In der Konfiguration müssen nun nur +% noch die |ID| der aktuellen Bewerbung und in der |anschrift.csv| der entsprechende Eintrag +% eingetragen werden. +% +% Das Script gehört zum Umfang dieses Pakets und kann somit auch über |CTAN| bezogen werden. +% +% \subsection[Bewerbungsmappe]{Erstellung einer Bewerbungsmappe}\label{sec:bewerbungsmappe} +% Um eine neue Bewerbungsmappe anzulegen, wird eine \TeX-Datei mit der Klasse |bewerbung| +% angelegt. Der Klasse können folgende Optionen übergeben werden: +% \begin{description} +% \item{|anschrift|} Hier kann eine alternative Datei zur Angabe der Bewerbungsversuche +% |anschrift.csv| (vgl. \prettyref{sec:bewerbung}) angegeben werden, z.\,B. +% |anschrift=versuche.csv|. +% \item{|lebenslaufColor|} Hier wird das Farbthema des Lebenslaufs festgesetzt. Die +% verfügbaren Themen entsprechen denen der |komacv|-Klasse \autocite{komacv}. Der Lebenslauf +% wurde für |light-gray| optimiert. +% \item{|lebenslaufStyle|} Hier kann der Stil des Lebenslaufs angegeben werde. Standardmäßig +% wird |classic| verwendet. Dieser Stil wurde leicht an den aus |komacv| angepasst. Außerdem +% wurden die Stile |casual| und |old-style| aus |komacv| ohne Bearbeitung importiert +% \autocite[vgl.][]{komacv}. +% \item{|idPlain|} In der Datei |anschrift| müssen bereits die aktuellen Daten zu +% dieser Bewerbung vorliegen. Über den Befehl |\ID|\marg{Identifikation} kann die zu +% verwendende Bewerbung angegeben werden (vgl. \prettyref{sec:konfiguration}). Durch die +% Angabe der Option |idPlain| kann erzwungen werden, dass nach dem exakten Eintrag in +% \textbf{ID} zur Verknüpfung gesucht werden soll (vgl. \prettyref{sec:bewerbung}). +% Ansonsten wird die angegebene Nummer als Zeilennummer interpretiert. Dabei wird die erste +% Zeile als 0 gewertet. +% \end{description} +% +% \begin{beispiel}[bsp:documentclass][Laden der Klasse \texttt{bewerbung}]{% +% Beispiel für die Angabe der Klasse bewerbung} +% \begin{lstlisting}[gobble=11] +% \documentclass[% +% lebenslaufColor=light-gray,% +% lebenslaufStyle=classic,% +% idPlain% +% ]{bewerbung} +% \end{lstlisting} +% +% \begin{minipage}{\textwidth} +% Sinnvoll sind gerade für den Einsatz im deutschen Sprachraum folgende Pakete, die in Version +% v1.1 aus der Klasse entfernt wurden, um eine breitere Unterstützung bzgl. Sprach- und +% Kodierungswahl zu ermöglichen (Dank an \textsc{Kohm} für die Hinweise). +% \end{minipage} +% +% \begin{lstlisting}[gobble=11] +% \usepackage[utf8]{inputenc} +% \usepackage[T1]{fontenc} +% \usepackage[ngerman]{babel} +% \end{lstlisting} +% \end{beispiel} +% +% Im selben Verzeichnis sollten eine |config.inc| (vgl. \prettyref{sec:eigeneperson}) und eine +% |anschrift.csv| (vgl. \prettyref{sec:bewerbung}) platziert werden -- ggfs. als Link. Außerdem +% wird die Datei |Foto.pdf| als einzubindendes Bild in der Titelseite verwendet. Entsprechende +% Bilder in anderen Formaten müssen demnach umgewandelt werden, z.\,B. mit dem Tool +% ImageMagick\footnote{\url{http://imagemagick.org/script/index.php} [zuletzt besucht +% 2015-07-09]}: +% +% \begin{lstlisting}[numbers=none,gobble=9,language=bash] +% convert Bild.jpg Foto.pdf +% \end{lstlisting} +% +% \subsubsection{Titelseite}\label{sec:titelseite} +% Die Titelseite wird automatisch konfiguriert und eingefügt. Sämtliche notwendigen Definitionen +% werden geladen. +% \begin{beispiel}[bsp:titelseite]{Beispiel für eine Titelseite} +% \fbox{\includegraphics[page=1,scale=0.35]{bewerbung-example.pdf}} +% \end{beispiel} +% +% \subsubsection{Anschreiben}\label{sec:anschreiben} +% Das Anschreiben einer Bewerbung stellt einen Brief an den potentiellen Arbeitgeber dar. Je +% ordentlicher dieser Brief gesetzt ist, desto angenehmer fällt der Personalchefin das Lesen und +% desto eher fallen wichtige Inhalte auf. +% +% \DescribeEnv{anschreiben} +% Innerhalb der Umgebung |{anschreiben}|\oarg{Anrede}\oarg{Enlarge} wird das Anschreiben +% notiert. Die gedruckte Anrede wird automatisch aus den Inhalten der Felder |firmaAnrede| +% |firmaName| generiert. Die Anpassung an den Genus der Anrede erfolgt über die Wahl von +% \enquote{Frau} oder \enquote{Mann} in |firmaAnrede|. Alternativ kann das erste optionale +% Argument mit dem richtigen Terminus von \enquote{geehrt} gesetzt werden. Dies kann hilfreich +% sein, wenn die Anrede beispielsweise aus \enquote{Herr Dr.} besteht. +% +% Als Faustregel für ein gutes Anschreiben wird häufig genannt, dass nicht mehr als eine DinA4 +% Seite verwendet werden sollte. Manchmal wird für einen einzelnen Satz eine neue Seite +% angefangen, obwohl noch genügend leerer Platz zur Verfügung stünde. Hier versucht \LaTeX\ +% einen Fließtext zu optimieren. Um dem entgegenzuwirken kann als zweites optionales Argument +% eine Größeneinheit, z.\,B. |2em|, angegeben werden. Dann wird \LaTeX\ versuchen das +% Anschreiben um die angegebene Länge zu strecken. +% +% Alle Optionen an |\documentclass{bewerbung}|, die nicht an diese Klasse gerichtet sind, werden +% automatisch an |scrlttr2| \autocite[vgl.][]{scrlttr2} weitergereicht. Ansonsten werden +% standardmäßig folgende Optionen geladen: +% \begin{lstlisting}[gobble=9] +% DIN, pagenumber=botright, backaddress=true, parskip=half, +% fromalign=left, fromemail=true, fromfax=true, +% fromphone=true, fromurl=false, fromalign=right, +% fromlogo=false, fromrule=true, foldmarks=true, +% paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false +% \end{lstlisting} +% Dadurch werden automatisch die deutschen DIN-Normen inklusive Schnittkanten gewählt. Als +% Betreff wird »Bewerbung als |\meinBeruf|« gewählt. Über das Makro +% |\setkomavar{subject}|\marg{Betreffstext} kann die Betreffszeile geändert werden, sofern hier +% ein anderer Betreff gewünscht wird. +% +% Sollten zusätzlich zum Lebenslauf weitere Anhänge angehangen werden, können diese mit dem +% \refMacro{Anhang} in |config.inc| ausgewiesen werden. +% +% \begin{beispiel}[bsp:anschreiben][Anschreiben]{Beispiel für ein Anschreiben} +% \begin{lstlisting}[gobble=11] +% \begin{anschreiben} +% Hier kommt das Anschreiben hin +% \end{anschreiben} +% \end{lstlisting} +% \fbox{\includegraphics[page=2,scale=0.4]{bewerbung-example.pdf}} +% \end{beispiel} +% \FloatBarrier +% +% \subsubsection{Lebenslauf}\label{sec:lebenslauf} +% Jedem guten Bewerbungsschreiben sollte ein tabellarischer Lebenslauf angefügt werden. +% Innerhalb dieses Dokuments wird nicht erläutert, welche Inhalte dort hinein gehören. Die +% technische Realisierung basiert nahezu vollkommen auf der Arbeit von \citeauthorfull{komacv} +% in \citetitle{komacv}. Einige Anpassungen und Ergänzungen wurden allerdings vor allem für das +% Thema |classic| vorgenommen. Die hier aufgeführten Erklärungen beziehen sich nur auf einen +% kleinen Teil der Möglichkeiten von |komacv|. Alle Makros und Umgebungen wurden vollständig +% portiert und sind verfügbar. Damit ist das Importieren eines Dokumentes mit der Klasse +% |komacv| (evtl. unter Verwendung von |standalone|) möglich. In jedem Fall sollte bei +% tiefergehenden Fragen die entsprechende Dokumentation konsultiert werden +% \autocite[vgl.][]{komacv}. +% +% \DescribeEnv{lebenslauf} +% Die Umgebung |{lebenslauf}|\oarg{Listensymbol}\oarg{Addendum} erstellt einen Bereich in dem +% sämtliche Befehle aus der Klasse |komacv| benutzt werden können. Über das erste optionale +% Argument kann bei Bedarf das Listensymbol bei der Aufzählung von Einträgen durch Angabe von +% |none| ausgeschaltet werden. Im zweiten optionalen Argument kann ein Addendum nach der +% Unterschrift auf einer neuen Seite dem Lebenslauf angehangen werden. \textit{Achtung:} Um die +% Register von \TeX\ nicht zu sprengen, dürfen hier zwar Sektionen und alle Befehle aus |komacv| +% benutzt werden, jedoch dürfen keine Leerzeilen (im Zweifel auskommentieren) und erzwungene +% Umbrüche mit |\\| (im Zweifel |\newline| verwenden) angegeben werden. +% +% \DescribeMacro{\maktitle} +% Das Makro |\maketitle| wurde angepasst und sollte zu Beginn des Lebenslaufs aufgerufen werden, +% um den Titelkopf aus |komacv| aufzurufen. +% +% \DescribeMacro{\makePerson} +% Aus der Konfigurationsdatei werden die notwendigen Daten herausgelesen und ein passender +% Eintrag für die eigene Person über |\makePerson| erzeugt. Dazu wird die Sektion +% \enquote{Persönliche Angaben} mit |cvitem|s zu Name, Anschrift, Staatsangehörigkeit, +% Geburtstdatum und eigenem Beruf angelegt. +% +% Der Befehl führt zu keinem erzwungenen Umbruch. Somit kann die Sektion beliebig erweitert +% werden. +% +% \DescribeMacro{\cventry} +% Mit |\cventry|\marg{Monat/Jahr}\marg{Bezeichnung}\marg{Ergänzung}\marg{Inhalt} kann +% ein zeitlicher Eintrag nach |komacv| angelegt werden. +% +% \DescribeMacro{\cvlistitem} +% Um in einer Sektion eine Aufzählung zu führen, kann |\cvlistitem|\marg{Eintrag} verwendet +% werden. Die letzten beiden Beschreibungen sollten ausführlicher den entsprechenden +% Dokumentationen zu |komacv| entnommen werden. +% +% \DescribeMacro{\cvlanguage} +% \DescribeMacro{\cvitemwithcomment} +% Der normalen |komacv|-Klasse fehlt eine Möglichkeit Sprachkenntnisse anzugeben. Mit dem +% Wrapper |\cvlanguage|\marg{Sprache}\marg{Kenntnisse}\marg{Kommentar} kann dies erledigt +% werden. Letztlich wird dadurch ein |\cvitemwithcomment| nach selber Syntax erzeugt, der auch +% für andere kommentierte Aufzählungen bzw. Einträge verwendet werden kann. +% +% \begin{beispiel}[bsp:lebenslauf][Lebenslauf]{Beispiel für einen Lebenslauf} +% \begin{lstlisting}[gobble=11] +% \begin{lebenslauf}[none][] +% \maketitle +% \makePerson +% +% \section{Studium} +% \cventry{03/13}{Abschluss: Dipl.-Pädagogin (Univ.)}{}{}{}{} +% +% \section{Führerschein} +% \cvlistitem{Klasse B (eigener PKW)} +% +% \section{Sprachen} +% \cvlanguage{Deutsch}{Muttersprache}{} +% \cvlanguage{Englisch}{gut}{} +% \end{lebenslauf} +% \end{lstlisting} +% \fbox{\includegraphics[page=3,scale=0.4]{bewerbung-example.pdf}} +% \end{beispiel} +% \FloatBarrier +% +% \subsubsection{Anhang}\label{sec:anhang} +% Gerade bei Bewerbungen per E"~Mail ist es häufig notwendig digitale Kopien von Zeugnissen, +% Zertifikaten usw. mitzuschicken. In jedem Fall sollten entsprechende Anhänge bei einer +% schriftlichen Einreichung als Anhang auf dem Deckblatt und dem Anschreiben ausgewiesen werden. +% \DescribeMacro{\Anhang} +% Dazu sollte das Makro |\Anhang| verwendet werden (vgl. \refMacro{Anhang}). +% +% Um Anhänge nicht händisch an das PDF anzufügen, kann dies mit dem Paket \citetitle{pdfpages} +% von \citeauthorfull{pdfpages} sehr elegant innerhalb des \TeX-Dokuments geschehen. Hier werden +% dazu nur kleine Ausschnitte dieses mächtigen Werkzeugs dargestellt. Prinzipiell ist damit jede +% nur erdenkliche Einbindung von Dateien im PDF"~Format möglich \autocite[vgl.][]{pdfpages}. +% +% \DescribeMacro{\includepdf} +% Mit dem Befehl |\includepdf|\oarg{Optionen}\marg{Dateien} können PDF-Dateien beliebigen +% Formats und Länge eingebunden werden. Bei Angabe ohne Optionen wird automatisch die erste +% Seite im \textit{Vollbildmodus} über eine gesamte Seite in die Bewerbungsmappe integriert. +% +% Um etwa ein mehrseitiges Diplomzeugnis einzubinden, ist der Aufruf +% \begin{lstlisting}[gobble=9,numbers=none] +% \includepdf[pages=-]{diplomzeugnis.pdf} +% \end{lstlisting} +% sinnvoll. Die Option |pages=-| +% weist |includepdf| dabei an, alle Seiten der Datei |diplomzeugnis.pdf| zu verwenden. Hier wäre +% auch eine beliebige alphanumerische Angabe, etwa |2-9|, möglich. Das Format aller Seiten wird +% automatisch auf das gewählte Format (DinA4) der Mappe skaliert. Über die Option |scale=0.5| +% kann dies bei Bedarf angepasst werden. +% +% \DescribeMacro{\includepdfmerge} +% Sofern die anzuhängenden Seiten in einem Querformat vorliegen, kann über die Option +% |landscape| automatisch gedreht werden. Zusätzlich kann über die Option |angle=270| auch die +% Datei selbst vor dem Einbinden um einen beliebigen Winkel gedreht werden. Mehrere Dateien +% können mit den selben Optionen in einem Aufruf über |\includepdfmerge| eingefügt werden: +% +% \begin{lstlisting}[gobble=9,numbers=none] +% \includepdfmerge[pages=-,landscape,angle=270]% +% {Abiturzeugnis1.pdf,Abiturzeugnis2.pdf} +% \end{lstlisting} +% +% Eventuell kann auch die Option |nup=XxY| hilfreich sein. Dadurch werden jeweils mehrere +% Seiten eines mehrseitigen Dokumentes zusammen auf einer Seite mit |X|"~Seiten pro Länge und +% |Y|"~Seiten pro Höhe dargestellt. Für weitere Informationen sei auf die Paketdokumentation +% verwiesen \autocite[vgl.][]{pdfpages}. +% +% \begin{beispiel}[bsp:bewerbungsmappe][Vollständige Bewerbungsmappe]{% +% Beispiel für den Quellcode einer vollständigen Bewerbungsmappe} +% \begin{lstlisting}[gobble=11,multicols=2,title={Datei: \texttt{bewerbung.tex}},% +% xleftmargin=5pt,linewidth=0.95\columnwidth] +% \documentclass[% +% lebenslaufColor=light-gray,% +% %lebenslaufStyle=classic, +% idPlain% +% ]{bewerbung} +% \usepackage[utf8]{inputenc} +% \usepackage[T1]{fontenc} +% \usepackage[ngerman]{babel} +% % zusätzliche +% % Farbdefinitionen: +% \definecolor{light-gray}% +% {gray}{0.6} +% \definecolor{titlecolor}% +% {gray}{0.62} +% \definecolor{addresscolor}% +% {gray}{0.45} +% +% \begin{document} +% \begin{anschreiben} +% Hier kommt das +% Anschreiben hin +% \end{anschreiben} +% +% \begin{lebenslauf}[none][] +% \maketitle +% \makePerson +% +% \section{Studium} +% \cventry{03/13}{% +% Abschluss: % +% Dipl.-Pädagogin % +% (Univ.)% +% }{}{}{}{} +% +% \section{Führerschein} +% \cvlistitem{% +% Klasse B % +% (eigener PKW)} +% +% \section{Sprachen} +% \cvlanguage{Deutsch}{% +% Muttersprache}{} +% \cvlanguage{Englisch}{% +% gut}{} +% \end{lebenslauf} +% \ end{document} +% \end{lstlisting} +% +% \begin{lstlisting}[gobble=11,multicols=2,title={Datei: \texttt{config.inc}},% +% xleftmargin=5pt,linewidth=0.95\columnwidth] +% \Name{Musterfrau} +% \Vorname{Maja} +% \Street{Musterstraße 9} +% \Plz{45878} +% \Stadt{Musterstadt} +% \MeinBeruf{Dipl.-Pädagogin% +% (Univ.)} +% \EMail{mail@email.com} +% \Tel{03131~465488} +% \Mobile{01534~6324524353} +% \Sta{deutsch} +% \GebDatum{31.02.1990} +% \ID{47} +% \Anhang{% +% Abiturzeugnis.\newline +% Diplomzeugnis. +% }{% +% \item Abiturzeugnis +% \item Diplomzeugnis +% } +% \end{lstlisting} +% +% \begin{lstlisting}[gobble=11,language=bash,title={Datei: \texttt{anschrift.csv}}] +% ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle, Rueckmeldung,Sonstiges +% 2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n +% 1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n +% \end{lstlisting} +% \end{beispiel} +% +% \begin{landscape} +% \begin{beispiel}[bsp:bewerbungsmappepdf][Ergebnis einer vollständigen Mappe]{% +% Ergebnis des Quellcodes aus \prettyref{bsp:bewerbungsmappe}} +% \begin{minipage}{0.5\textwidth} +% \fbox{\includegraphics[page=1,width=\textwidth]{bewerbung-example.pdf}} +% \end{minipage}\quad\ +% \begin{minipage}{0.5\textwidth} +% \fbox{\includegraphics[page=2,width=\textwidth]{bewerbung-example.pdf}} +% \end{minipage}\quad\ +% \begin{minipage}{0.5\textwidth} +% \fbox{\includegraphics[page=3,width=\textwidth]{bewerbung-example.pdf}} +% \end{minipage} +% \end{beispiel} +% \end{landscape} +% \FloatBarrier +% \subsection[Dokumentationstabelle]{Erstellung einer Dokumentationstabelle} +% \label{sec:dokutabelle} +% Die Agentur für Arbeit verlangt von ihren \textit{Kunden} typischerweise den Nachweis über die +% Vertragstreue. Im Klartext heißt dies, dass Menschen eine Vorgabe an Bewerbungen pro Woche oder +% Monat und die Bindung an das Bewerben auf jede von der Agentur für Arbeit vorgeschlagene Stelle +% unterschreiben müssen, um den Almosen Grundsicherung, auch HartzIV genannt, zu erhalten. Wird +% gegen diese Auflagen verstoßen ist mit Abzügen der Grundsicherung zu rechnen. Da Kunden +% typischerweise nicht zu trauen ist, müssen diese über ihre Bewerbungsversuche detailliert +% Aufschluss geben. +% +% Um sich bei dieser oftmals lästigen Dokumentationsarbeit Zeit zu sparen, entstand die Grundidee +% zu dieser Zusammenstellung. Dafür wird eine Tabelle automatisiert erstellt, indem eine csv-Datei +% (vgl. \prettyref{sec:bewerbung}) ausgewertet wird. Die Klasse |argetabelle| ermöglicht das Setzen +% solch einer Tabelle auch über mehrere Seiten hinweg. +% +% Der Klasse können dabei Optionen an |scrartcl| weiter gereicht werden. Allerdings ist es nicht +% ratsam die Dimensionen inkl. Ausrichtung der Seite zu ändern, da die Skalierung der Tabelle +% \DescribeMacro{\argetballe} +% (noch) absolut ist. Die Tabelle wird über den Aufruf des Makros |\argetabelle|\oarg{Datei} +% gesetzt. Sofern die Datei mit den Anschriften zu den Bewerbungen nicht als |anschrift.csv| +% benannt wurde, kann diese im optionalen Argument angegeben werden. +% +% \textit{Hinweis:} Die Tabelle wird immer in der Reihenfolge der Zeilen in der angegebenen +% csv"~Datei gesetzt. Das Feld ID ist hierbei irrelevant. +% +% \begin{beispiel}[bsp:dokutabelle]{Beispiel für das Setzen der Dokumentationstabelle} +% \begin{lstlisting}[gobble=9,title={Datei: \texttt{argetabelle.tex}}] +% \documentclass[11pt,a4paper]{argetabelle} +% \usepackage[utf8]{inputenc} +% \usepackage[T1]{fontenc} +% \usepackage[ngerman]{babel} +% \begin{document} +% \argetabelle +% \ end{document} +% \end{lstlisting} +% +% \begin{lstlisting}[gobble=9,language=bash,title={Datei: \texttt{anschrift.csv}}] +% ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle, Rueckmeldung,Sonstiges +% 2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n +% 1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n +% \end{lstlisting} +% +% \fbox{\includegraphics[width=0.95\textwidth,page=1,viewport=52.815022 610 542.460991 +% 771.024000]{argetabelle-example.pdf}} +% \vspace{1.4em} +% \end{beispiel} +% +% \clearpage +% \addcontentsline{toc}{section}{Literatur} +% \printbibliography +% +% +%\StopEventually{} +%\section{Implementation} +%\iffalse +% \begin{macrocode} +%<*bewerbung-cv-casual.sty> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-casual} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-casual] + %% this file is based on komacv-casual.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\addtokomafont{firstnamefont}{\sffamily\fontsize{38}{40}} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily\small} +\addtokomafont{hintfont}{\sffamily} +\newsavebox\@fboxa +\newsavebox\@fboxb +% \end{macrocode} +% +% \begin{macro}{\@sboxa} +% \begin{macrocode} +\newcommand*\@sboxa[1]{\sbox\@fboxa{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@sboxb} +% \begin{macrocode} +\newcommand*\@sboxb[1]{\sbox\@fboxb{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@uboxa} +% \begin{macrocode} +\newcommand*\@uboxa{\usebox\@fboxa} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@uboxb} +% \begin{macrocode} +\newcommand*\@uboxb{\usebox\@fboxb} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@flushf} +% \begin{macrocode} +\newcommand*\@flushf{\strut\@uboxa\@sboxa{}\@sboxb{}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addtofooter} +% \begin{macrocode} +\newcommand*\addtofooter[2][\@fsymbol]{% + \@sboxb{\@uboxa{}#1#2}% + \settowidth\@fboxwidth{\@uboxb}% + \ifdimgreater{\@footerwidth}{\@fboxwidth}{% + \@sboxa{\@uboxb} + }{% + \@flushf\\ + \@sboxa{#2} + \@sboxb{#2} + } +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \ifdimequal{\footerwidth}{0pt}{}{% + \setlength\@footerwidth{\footerwidth}% + } + \defpagestyle{footer} + {{}{}{}}% head definition (empty) + {% foot definition + {}{}% definition for twoside layout + {% definition for oneside layout + \hspace*{\fill}% + \parbox{\@footerwidth}{% + \centering% + \color{@addresscolor}\usekomafont{addressfont}% + \ifdefempty{\addressstreet}{}{% + \addtofooter[]{\@addresssymbol\addressstreet}% + \ifdefempty{\addresscity}{}{% + \addtofooter[~--~]{\addresscity}}}% + \ifdefempty{\mobile}{}{% + \addtofooter{\@mobilesymbol\mobile}}% + \ifdefempty{\phonenr}{}{% + \addtofooter{\@phonesymbol\phonenr}} + \ifdefempty{\faxnr}{}{% + \addtofooter{\@faxsymbol\faxnr}}% + \ifdefempty{\email}{}{% + \addtofooter{\@emailsymbol\emaillink{\email}}} + \ifdefempty{\homepage}{}{% + \addtofooter{\@homepagesymbol\httplink{\homepage}}}% + \ifdefempty{\extrainfo}{}{% + \addtofooter{\extrainfo}}\@flushf% + }% Ende parbox + \hspace*{\fill}% + \makebox[0pt][r]{\pagemark/\totalpagemark} + }% end definition onesided layout + }% end footer definition +% \end{macrocode} +% +% \begin{macro}{\@cvtitlecasual} +% \begin{macrocode} +\providecommand\@cvtitlecasual{% +\newbox{\@picbox} +\savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname +}% end savebox picbox +\settowidth\@titlepicwidth{\usebox{\@picbox}} +\setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth} + \usebox{\@picbox}% + \hspace*{\@titlesepwidth}% + \parbox[b]{\@titlenamewidth}{% + \raggedleft{\firstnamestyle\firstname}% + ~{\familynamestyle\familyname}\\ + \raggedleft\color{@firstnamecolor}\rule{% + \@titlenamewidth}{.25ex}\par + }% end parbox + \vspace{\@aftertitlevspace} + %% optional acadtitle + \ifdefempty{\acadtitle}{}{% + \raggedleft\acadtitlestyle{\acadtitle}}\\[2.5em]% + %% optional quote + \ifdefempty{\cvquote}{}{% + {\centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote} + \end{minipage}\\[\@afterquotevspace]% + } + }% +}% end @cvtitle-casual +\AtBeginDocument{% + \thispagestyle{footer} +} % end AtBeginDocument +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand{\section}[1]{\@cvbarsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*bewerbung-cv-classic.sty> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-classic} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-classic] + %% this file is based on komacv-classic.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\addtokomafont{firstnamefont}{\sffamily} +\addtokomafont{acadtitlefont}{\sffamily} +\addtokomafont{addressfont}{\sffamily} +\addtokomafont{hintfont}{\sffamily} +\AtEndPreamble{% + %AtBeginDocument{ +% \end{macrocode} +% mframepicshift +% \begin{macrocode} + \ifdimequal{\mframepicshift}{0pt}{% + \setlength\@mframepicshift{.5\@photowidth+\@fboxextra} + }{% + \setlength\@mframepicshift{\mframepicshift} + } +} % end AtBeginDocument +% \end{macrocode} +% +% \begin{macro}{\@cvtitleclassic} +% \begin{macrocode} +\providecommand\@cvtitleclassic{% + %% set cs{@titlenamemaxwidth| to the full name length + %% , capped by cs{@titlenamemaxwidth| +\setlength{\@titlenamemaxwidth}{.525\textwidth} +\settowidth{\@titlenamefullwidth}{% + \firstnamestyle{\firstname~}\familynamestyle{\familyname}} + \ifdimless{\@titlenamemaxwidth}{\@titlenamefullwidth}{% + \setlength{\@titlenamewidth}{\@titlenamemaxwidth} + }{% + \setlength{\@titlenamewidth}{\@titlenamefullwidth} + } +% \end{macrocode} +% set titlenamedetailswidth +% \begin{macrocode} +\setlength{\@titledetailswidth}{% + \textwidth-\@titlenamewidth-\@titlesepwidth}% +\ifundef{\@photoname}{}{% else + \ifdefstring{\@photoframe}{frame}{% + \setlength{\@titledetailswidth}{% + \@titledetailswidth-\@photowidth-2\@fboxextra} + }{% else + \ifdefstring{\@photoframe}{mframe}{% + \setlength{\@titledetailswidth}{% + \@titledetailswidth-\@mframepicshift}% + }{}% +}% +}% +% \end{macrocode} +% name and title +% \begin{macrocode} + \begin{minipage}[b]{\@titlenamewidth}% +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} + \firstnamestyle{\firstname}\\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \\[1.25em]\titlestyle{\lebenslaufTitel}% + \end{minipage}% +% \end{macrocode} +% optional data +% \begin{macrocode} + \begin{minipage}[b]{\@titledetailswidth}% + \raggedleft\addressstyle{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline\@phonesymbol~\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol~\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% + }% +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \end{minipage}% +% \end{macrocode} +% optional photo +% \begin{macrocode} + \ifundef{\@photoname}{}{% with picture: + \hspace*{\@titlesepwidth}% + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \begin{minipage}[b]{\@photowidth}% + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}}% + \end{minipage}}{% without frame: + \begin{minipage}[b]{\@photowidth} + \includegraphics[width=\@photowidth]{\@photoname} + \end{minipage}}} +\\[\@aftertitlevspace] +% \end{macrocode} +% optional quote +% \begin{macrocode} + \ifundef{\cvquote}{}{% + \centering + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand*{\section}[1]{\@cvbarsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvbarsubsection{#1}} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*bewerbung-cv-oldstyle.sty> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv-oldstyle} % + [2015/07/14 v1.1 theme für bewerbungen basiert auf komacv-oldstyle] + %% this file is based on komacv-oldstyle.sty from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +\KOMAoptions{DIV=15} +\setlength{\hintscolwidth}{3cm} +\addtokomafont{addressfont}{\small} +\addtokomafont{hintfont}{\bfseries} +\setkomafont{section}{\Large\bfseries\upshape} +\setkomafont{subsection}{\large\bfseries\itshape} +\colorlet{addresscolor}{gray} +% \end{macrocode} +% +% \begin{macro}{\listitemsymbol} +% \begin{macrocode} +\renewcommand*{\listitemsymbol}{\labelitemi~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresssymbol} +% \begin{macrocode} +\renewcommand*{\addresssymbol}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobilesymbol} +% \begin{macrocode} +\renewcommand*{\mobilesymbol}{\textbf{M}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonesymbol} +% \begin{macrocode} +\renewcommand*{\phonesymbol}{\textbf{T}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxsymbol} +% \begin{macrocode} +\renewcommand*{\faxsymbol}{\textbf{F}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\emailsymbol} +% \begin{macrocode} +\renewcommand*{\emailsymbol}{\textbf{E}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepagesymbol} +% \begin{macrocode} +\renewcommand*{\homepagesymbol}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\setlength{\infocolwidth}{3.5cm} +\setlength{\sepinfocolwidth}{2em} +% \end{macrocode} +% +% \begin{macro}{\@infocontent} +% \begin{macrocode} +\providecommand\@infocontent{% + \ifdefempty{\addressstreet}{}{% + \@titledetailsnewline% + \@addresssymbol\addressstreet% + \ifdefempty{\addresscity}{}{% + \@titledetailsnewline\addresscity}}% + \ifdefempty{\mobile}{}{% + \@titledetailsnewline\@mobilesymbol~\mobile}% + \ifdefempty{\phonenr}{}{% + \@titledetailsnewline \@phonesymbol\phonenr}% + \ifdefempty{\faxnr}{}{% + \@titledetailsnewline\@faxsymbol\faxnr}% + \ifdefempty{\email}{}{% + \@titledetailsnewline\@emailsymbol\emaillink{\email}}% + \ifdefempty{\homepage}{}{% + \@titledetailsnewline\@homepagesymbol\httplink{\homepage}}% + \ifdefempty{\extrainfo}{}{% + \@titledetailsnewline\extrainfo}% +} % end @infocontent + \providecommand{\@makeinfo}{% + \newbox{\@infobox}% + \savebox{\@infobox}{% + \parbox[b]{\@infocolwidth}{% +% \end{macrocode} +% put the first line on the same +% baseline as the first sectiontitle: +% \begin{macrocode} + {\usekomafont{section} + \vspace*{1.6ex} + } + \raggedleft\addressstyle{% + \@infocontent% + } + }% end parbox + } % end savebox @infobox% + \newlength{\@infoheight}% + \setlength{\@infoheight}{% + \totalheightof{\usebox{\@infobox}}% + }% + \usebox{\@infobox}\vspace*{-\@infoheight}% + \par\nointerlineskip% + \vspace*{-\parskip}% + \vspace*{-\@aftersecvspace} + }% end \providecommand @makeinfo + \providecommand{\@cvtitleoldstyle}{% +% \end{macrocode} +% optional picture box +% \begin{macrocode} + \newbox{\@picbox} + \savebox{\@picbox}{% + \ifundef{\@photoname}{}{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \fcolorbox{@framecolor}{@framebackcolor}{% + \includegraphics[width=\@photowidth]{\@photoname}% + }% end fcolorbox + }{% without frame: + \includegraphics[width=\@photowidth]{\@photoname}% + }% end ifdefstring frame + }% end ifundef photoname + }% end savebox picbox + \settowidth\@titlepicwidth{\usebox{\@picbox}} + \setlength\@titlenamewidth{% + \textwidth-\@titlesepwidth-\@titlepicwidth} + \begin{minipage}[b]{\@titlenamewidth}% + \firstnamestyle{\firstname}\ % + \familynamestyle{\familyname}% + \ifdefempty{\acadtitle}{}{% + \\[1.25em]\acadtitlestyle{\acadtitle}}% + \end{minipage}% +% \end{macrocode} +% optional photo +% \begin{macrocode} + \usebox{\@picbox}% + \\[\@aftertitlevspace]% +% \end{macrocode} +% optional quote +% \begin{macrocode} + \ifdefempty{\cvquote}{}{% + {\centering% + \begin{minipage}{\@quotewidth}% + \centering\quotestyle{\cvquote}% + \end{minipage}\\[\@afterquotevspace]% + }% + }% +% \end{macrocode} +% address info box +% \begin{macrocode} + \@makeinfo +\par +\begin{addmargin}[\komacvinfocolextrawidth]{0pt} + } % end @cvtitleoldstyle +\AtEndDocument{% +\end{addmargin} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\section} +% \begin{macrocode} +\renewcommand{\section}[1]{\@cvsimplesection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\renewcommand{\subsection}[1]{\@cvsimplesubsection{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvitem} +% \begin{macrocode} +\renewcommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@maincolwidth}% + @{\hspace{\@sepcolwidth}}p{\@hintscolwidth}@{}% + }% + {#3} & \raggedright\hintstyle{#2}% + \end{tabular}\\[#1]% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvdoubleitem} +% \begin{macrocode} +\renewcommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#4}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#2} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*bewerbung-cv.sty> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung-cv} % + [2015/07/14 v1.1 Importierung der Klasse koma-cv % + für bewerbungen] + %% this file is based on komacv.cls from Salome Södergran + %% every change is marked by + %% %% ahilbig begin + %% CHANGE + %% %% ahilbig end +% \end{macrocode} +% +% \begin{macro}{\mycolor} +% \begin{macrocode} +\providecommand*\mycolor{blue} +% \end{macrocode} +% \end{macro} +% +%% ahilbig begin +%\iffalse +%%\RequirePackage{ifthen,kvoptions,calc} +%%\SetupKeyvalOptions{% +%%family=komacv,% +%%prefix=komacv@,% +%%setkeys=\kvsetkeys% +%%} +%%\DeclareStringOption[mycolor]{color}[mycolor] +%%\DeclareStringOption[x11names]{xcolor}[x11names] +%%\DeclareStringOption[classic]{style}[classic] +%%\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +%%\ProcessKeyvalOptions{komacv} % evaluate keyval options +%%\ProcessOptions\relax % execute given options +%\fi +%% ahilbig end +% \begin{macrocode} +\RequirePackage[\ahbewerbung@lebenslaufXcolor]{xcolor} +\definecolor{myblue}{rgb}{0.2,0.3,0.65} +\colorlet{mycolor}{myblue} +\AtEndPreamble{% + \renewcommand*\mycolor{\ahbewerbung@lebenslaufColor} + \colorlet{colortheme}{\mycolor}% specified in documentclass option + \@ifundefinedcolor{firstnamecolor}{% + \colorlet{@firstnamecolor}{black}}{% + \colorlet{@firstnamecolor}{firstnamecolor}} + \@ifundefinedcolor{familynamecolor}{% + \colorlet{@familynamecolor}{@firstnamecolor}}{% + \colorlet{@familynamecolor}{familynamecolor}} + \@ifundefinedcolor{acadtitlecolor}{% + \colorlet{@acadtitlecolor}{@firstnamecolor}}{% + \colorlet{@acadtitlecolor}{acadtitlecolor}} +% \end{macrocode} +%% ahilbig begin +% additional color for title +% \begin{macrocode} + \@ifundefinedcolor{titlecolor}{% + \colorlet{@titlecolor}{@firstnamecolor}}{% + \colorlet{@titlecolor}{titlecolor}} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \@ifundefinedcolor{addresscolor}{% + \colorlet{@addresscolor}{@firstnamecolor}}{% + \colorlet{@addresscolor}{addresscolor}} +% \end{macrocode} +%% ahilbig begin +% additional handling of coloring of urls +% \begin{macrocode} + \@ifundefinedcolor{urllinkcolor}{% + \colorlet{@urllinkcolor}{@addresscolor}}{% + \colorlet{@urllinkcolor}{urllinkcolor}} + \hypersetup{urlcolor=@urllinkcolor} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \@ifundefinedcolor{quotecolor}{% + \colorlet{@quotecolor}{@firstnamecolor}}{% + \colorlet{@quotecolor}{quotecolor}} + \@ifundefinedcolor{secbarcolor}{% + \colorlet{@secbarcolor}{colortheme}}{% + \colorlet{@secbarcolor}{secbarcolor}} + \@ifundefinedcolor{seccolor}{% + \colorlet{@seccolor}{colortheme}}{% + \colorlet{@seccolor}{seccolor}} + \@ifundefinedcolor{subseccolor}{% + \colorlet{@subseccolor}{colortheme}}{% + \colorlet{@subseccolor}{subseccolor}} + \@ifundefinedcolor{hintcolor}{% + \colorlet{@hintcolor}{black}}{% + \colorlet{@hintcolor}{hintcolor}} + \@ifundefinedcolor{framecolor}{% + \colorlet{@framecolor}{colortheme}}{% + \colorlet{@framecolor}{framecolor}} + \@ifundefinedcolor{framebackcolor}{% + \colorlet{@framebackcolor}{white}}{% + \colorlet{@framebackcolor}{framebackcolor}} +} % end AtEndPreamble +\ifboolexpr{bool{xetex} or bool{luatex}}{% + \RequirePackage{fontspec}% +}{% +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} + %\iffalse + %% \RequirePackage[utf8]{inputenc} + %% \RequirePackage[T1]{fontenc}% + %\fi +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +} +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} +\newkomafont{firstnamefont}{%fontsize{34}{36} + \Huge\mdseries\upshape} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +\newkomafont{familynamefont}{\usekomafont{firstnamefont}} +% \end{macrocode} +%% ahilbig begin +%\iffalse +%%\addtokomafont{familynamefont}{} +%%\setkomafont{\namefont}{\Huge\sffamily\mdseries\upshape}% +%\fi +% \begin{macrocode} +\newkomafont{titlefont}{\Large\sffamily\mdseries\itshape} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +\newkomafont{acadtitlefont}{\LARGE\mdseries\itshape} +\newkomafont{addressfont}{\normalsize\mdseries\itshape} +\newkomafont{quotefont}{\large\itshape} +\newkomafont{hintfont}{} +\newkomafont{linkfont}{} +\newkomafont{httplinkfont}{} +\newkomafont{emaillinkfont}{} +\newkomafont{commentmainfont}{\bfseries} % in cvitemwithcomment +\newkomafont{commentfont}{\footnotesize\itshape} % cvitemwidthcomment +% \end{macrocode} +%% ahilbig begin: +% \begin{macrocode} +\newkomafont{section}{\LARGE\mdseries\upshape} +\newkomafont{subsection}{\Large\mdseries\upshape} +% \end{macrocode} +% +% \begin{macro}{\section} +% \begin{macrocode} +\newcommand{\section}[1]{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\subsection} +% \begin{macrocode} +\newcommand{\subsection}[1]{} +% \end{macrocode} +% \end{macro} +% +%% ahilbig end +% \begin{macrocode} +\setlength\parindent{0pt} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\newlength\@komacvtextwidth +\newlength\@hintscolwidth +\newlength\hintscolwidth +\setlength\hintscolwidth{0pt} +\newlength\@sepcolwidth +\newlength\sepcolwidth +\setlength\sepcolwidth{0pt} +\newlength\@maincolwidth +\newlength\maincolwidth +\setlength\maincolwidth{0pt} +\newlength\@quotewidth +\newlength\quotewidth +\setlength\quotewidth{0pt} +\newlength\@dbitemmaincolwidth +\newlength\dbitemmaincolwidth +\setlength\dbitemmaincolwidth{0pt} +\newlength\@listitemsymbolwidth +\newlength\listitemsymbolwidth +\setlength\listitemsymbolwidth{0pt} +\newlength\@listitemmaincolwidth +\newlength\listitemmaincolwidth +\setlength\listitemmaincolwidth{0pt} +\newlength\@listdbitemmaincolwidth +\newlength\listdbitemmaincolwidth +\setlength\listdbitemmaincolwidth{0pt} +\newlength\@titlepicwidth +\newlength\@titlesepwidth +\setlength\@titlesepwidth{0pt} +\newlength\titlesepwidth +\setlength\titlesepwidth{0pt} +\newlength\@mframepicshift +\newlength\mframepicshift +\setlength\mframepicshift{0pt} +\newlength\@commentmainlength +\newlength\@commentlength +\newlength\@titlenamewidth +\newlength\@titlenamemaxwidth +\newlength\@titlenamefullwidth +\newlength\@titledetailswidth +\newlength\@infocolwidth +\newlength\infocolwidth +\setlength\infocolwidth{0pt} +\newlength\@sepinfocolwidth +\newlength\sepinfocolwidth +\setlength\sepinfocolwidth{0pt} +\newlength\komacvinfocolextrawidth % witout @ for use inside document +\newlength\@footerwidth +\setlength\@footerwidth{.6\textwidth} +\newlength\@fboxwidth +\newlength\footerwidth +\setlength\footerwidth{0pt} +\newlength\@aftertitlevspace +\newlength\aftertitlevspace +\setlength\aftertitlevspace{0pt} +\newlength\@afterquotevspace +\newlength\afterquotevspace +\setlength\afterquotevspace{0pt} +\newlength\@afterelementsvspace +\newlength\afterelementsvspace +\newlength\@beforesecvspace +\newlength\beforesecvspace +\setlength\beforesecvspace{0pt} +\newlength\@aftersecvspace +\newlength\aftersecvspace +\setlength\aftersecvspace{0pt} +\newlength\@beforesubsecvspace +\newlength\beforesubsecvspace +\setlength\beforesubsecvspace{0pt} +\newlength\@aftersubsecvspace +\newlength\aftersubsecvspace +\setlength\aftersubsecvspace{0pt} +\AtEndPreamble{% +% \end{macrocode} +% infocol (oldstyle) +% \begin{macrocode} + \setlength{\@infocolwidth}{\infocolwidth} + \setlength{\@sepinfocolwidth}{\sepinfocolwidth} + \setlength\komacvinfocolextrawidth{\@infocolwidth+\@sepinfocolwidth} + \setlength\@komacvtextwidth{\textwidth-\komacvinfocolextrawidth} +% \end{macrocode} +% fboxextra (picture frame) +% \begin{macrocode} + \newlength\@fboxextra + \setlength\@fboxextra{\fboxsep+\fboxrule} +% \end{macrocode} +% hintscolumn +% \begin{macrocode} + \ifdimequal{\hintscolwidth}{0pt}{% + \setlength\@hintscolwidth{.2\@komacvtextwidth} + }{% + \setlength{\@hintscolwidth}{\hintscolwidth}% + } % +% \end{macrocode} +% separatorcolumn +% \begin{macrocode} + \ifdimequal{\sepcolwidth}{0pt}{% + \setlength\@sepcolwidth{2em}% + }{% + \setlength{\@sepcolwidth}{\sepcolwidth}% + } % +% \end{macrocode} +% maincolumn +% \begin{macrocode} + \ifdimequal{\maincolwidth}{0pt}{% + \setlength{\@maincolwidth}{% + \@komacvtextwidth-\@sepcolwidth-\@hintscolwidth}% + }{% + \setlength{\@maincolwidth}{\maincolwidth}% + } % +% \end{macrocode} +% doubleitem +% \begin{macrocode} + \ifdimequal{\dbitemmaincolwidth}{0pt}{% + \setlength{\@dbitemmaincolwidth}{% + \@maincolwidth-\@hintscolwidth-2\@sepcolwidth}% + \setlength{\@dbitemmaincolwidth}{0.5\@dbitemmaincolwidth}% + }{% + \setlength{\@dbitemmaincolwidth}{\dbitemmaincolwidth}% + } % +% \end{macrocode} +% listitem +% \begin{macrocode} + \ifdimequal{\listitemsymbolwidth}{0pt}{% + \settowidth{\@listitemsymbolwidth}{\listitemsymbol{}~}% + \setlength{\@listitemmaincolwidth}{% + \@maincolwidth-\@listitemsymbolwidth}% + }{% + \setlength{\@listitemsymbolwidth}{\listitemsymbolwidth}% + } % +% \end{macrocode} +% listdoubleitem +% \begin{macrocode} + \ifdimequal{\listdbitemmaincolwidth}{0pt}{% + \setlength{\@listdbitemmaincolwidth}{% + \@maincolwidth-\@listitemsymbolwidth}% + \setlength{\@listdbitemmaincolwidth}{% + 0.475\@listdbitemmaincolwidth}% + }{% + \setlength{\@listdbitemmaincolwidth}{\listdbitemmaincolwidth}% + } % + +% \end{macrocode} +% quote +% \begin{macrocode} + \ifdimequal{\quotewidth}{0pt}{% + \setlength{\@quotewidth}{0.65\textwidth}% + }{% + \setlength{\@quotewidth}{\quotewidth}% + } + \ifdimequal{\afterquotevspace}{0pt}{% + \setlength\@afterquotevspace{2\baselineskip}% + }{% + \setlength\@afterquotevspace{\afterquotevspace}% + } % +% \end{macrocode} +% title +% \begin{macrocode} + \ifundef{\@photoname}{% without picture: + \setlength\@aftertitlevspace{\aftertitlevspace} + }{% with picture: + \ifthenelse{% + \equal{\@photoframe}{frame} \OR + \equal{\@photoframe}{mframe} + }{% with frame: + \ifdimequal{\aftertitlevspace}{0pt}{% + \setlength\@aftertitlevspace{1.5\@fboxextra} + }{% + \setlength\@aftertitlevspace{\aftertitlevspace} + } + }{% without frame: + \setlength\@aftertitlevspace{\aftertitlevspace} + }% + }% + \ifundef{\@photoname}{}{% + \ifdimequal{\titlesepwidth}{0pt}{% + \setlength\@titlesepwidth{\@sepcolwidth} + }{% + \setlength{\@titlesepwidth}{\titlesepwidth} + } + } % +% \end{macrocode} +% afterelementsvspace +% \begin{macrocode} + \ifdimequal{\afterelementsvspace}{0pt}{% + \setlength{\@afterelementsvspace}{0.25em}% + }{% + \setlength{\@afterelementsvspace}{\afterelementsvspace}% + } % +% \end{macrocode} +% beforesecvspace +% \begin{macrocode} + \ifdimequal{\beforesecvspace}{0pt}{% + \setlength{\@beforesecvspace}{3.5ex \@plus -1ex \@minus -.2ex}% + }{% + \setlength{\@beforesecvspace}{\beforesecvspace}% + } % +% \end{macrocode} +% aftersecvspace +% \begin{macrocode} + \ifdimequal{\aftersecvspace}{0pt}{% + \setlength{\@aftersecvspace}{2.3ex \@plus.2ex}% + }{% + \setlength{\@aftersecvspace}{\aftersecvspace}% + } % +% \end{macrocode} +% beforesubsecvspace +% \begin{macrocode} + \ifdimequal{\beforesubsecvspace}{0pt}{% + \setlength{\@beforesubsecvspace}{% + 3.25ex\@plus -1ex \@minus -.2ex}% + }{ % + \setlength{\@beforesubsecvspace}{\beforesubsecvspace}% + } % +% \end{macrocode} +% aftersubsecvspace +% \begin{macrocode} + \ifdimequal{\aftersubsecvspace}{0pt}{% + \setlength{\@aftersubsecvspace}{1.5ex \@plus .2ex}% + }{% + \setlength{\@aftersubsecvspace}{\aftersubsecvspace}% + } % +} % end AtEndPreamble +% \end{macrocode} +% +% \begin{macro}{\@addresssymbol} +% \begin{macrocode} +\providecommand*\@addresssymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresssymbol} +% \begin{macrocode} +\providecommand*\addresssymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@mobilesymbol} +% \begin{macrocode} +\providecommand*\@mobilesymbol{\Mobilefone~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobilesymbol} +% \begin{macrocode} +\providecommand*\mobilesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@phonesymbol} +% \begin{macrocode} +\providecommand*\@phonesymbol{\Telefon~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonesymbol} +% \begin{macrocode} +\providecommand*\phonesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@faxsymbol} +% \begin{macrocode} +\providecommand*\@faxsymbol{\FAX~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxsymbol} +% \begin{macrocode} +\providecommand*\faxsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@emailsymbol} +% \begin{macrocode} +\providecommand*\@emailsymbol{\Letter~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\emailsymbol} +% \begin{macrocode} +\providecommand*\emailsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@homepagesymbol} +% \begin{macrocode} +\providecommand*\@homepagesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepagesymbol} +% \begin{macrocode} +\providecommand*\homepagesymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@fsymbol} +% \begin{macrocode} +\providecommand*\@fsymbol{~~~\textbullet~~~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fsymbol} +% \begin{macrocode} +\providecommand*\fsymbol{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@listitemsymbol} +% \begin{macrocode} +\providecommand*\@listitemsymbol{\textcolor{colortheme}{\Neutral}~} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\listitemsymbol} +% \begin{macrocode} +\providecommand*\listitemsymbol{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\AtEndPreamble{% + \ifdefempty{\addresssymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@addresssymbol} +% \begin{macrocode} +\renewcommand*\@addresssymbol{\addresssymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\mobilesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@mobilesymbol} +% \begin{macrocode} +\renewcommand*\@mobilesymbol{\mobilesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\phonesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@phonesymbol} +% \begin{macrocode} +\renewcommand*\@phonesymbol{\phonesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\faxsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@faxsymbol} +% \begin{macrocode} +\renewcommand*\@faxsymbol{\faxsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\emailsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@emailsymbol} +% \begin{macrocode} +\renewcommand*\@emailsymbol{\emailsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\homepagesymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@homepagesymbol} +% \begin{macrocode} +\renewcommand*\@homepagesymbol{\homepagesymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\fsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@fsymbol} +% \begin{macrocode} +\renewcommand*\@fsymbol{\fsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % + \ifdefempty{\listitemsymbol}{}{% +% \end{macrocode} +% +% \begin{macro}{\@listitemsymbol} +% \begin{macrocode} +\renewcommand*\@listitemsymbol{\listitemsymbol} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +} % +} % end AtEndPreamble +% \end{macrocode} +% +% \begin{macro}{\firstname} +% \begin{macrocode} +\providecommand*{\firstname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\familyname} +% \begin{macrocode} +\providecommand*{\familyname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\acadtitle} +% \begin{macrocode} +\providecommand*{\acadtitle}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addressstreet} +% \begin{macrocode} +\providecommand*{\addressstreet}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\addresscity} +% \begin{macrocode} +\providecommand*{\addresscity}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\address} +% \begin{macrocode} +\providecommand*{\address}[2]{\addressstreet{#1}\addresscity{#2}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobile} +% \begin{macrocode} +\providecommand*{\mobile}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\phonenr} +% \begin{macrocode} +\providecommand*{\phonenr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\faxnr} +% \begin{macrocode} +\providecommand*{\faxnr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\email} +% \begin{macrocode} +\providecommand*{\email}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\homepage} +% \begin{macrocode} +\providecommand*{\homepage}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\extrainfo} +% \begin{macrocode} +\providecommand*{\extrainfo}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvquote} +% \begin{macrocode} +\providecommand*{\cvquote}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\newlist{compactitem}{itemize}{3} +\newlist{compactenum}{enumerate}{3} +\newlist{compactdesc}{description}{3} +\setlist[compactitem,compactenum,compactdesc]{% + topsep=0pt,% + partopsep=0pt,% + itemsep=0pt,% + parsep=0pt,% + leftmargin=*% +} % end setlist +\AtEndPreamble{% +\setlist[compactitem,1]{label=\@listitemsymbol} +\setlist[compactitem,2]{label={\textcolor{colortheme}\textendash}} +\setlist[compactitem,3]{label={% + \textcolor{colortheme}\textperiodcentered}} % +\setlist[compactenum,1]{label={\textcolor{colortheme}{\arabic*.}}} +\setlist[compactenum,2]{label={\textcolor{colortheme}{\alph*.}}} +\setlist[compactenum,3]{label={\textcolor{colortheme}{\roman*.}}} +} % end AtEndPreamble +\newlength\@photowidth +% \end{macrocode} +% +% \begin{macro}{\photo} +% \begin{macrocode} +\providecommand{\photo}[3][]{% + \providecommand{\@photoframe}{#1}% + \setlength{\@photowidth}{#2}% + \providecommand{\@photoname}{#3}} +\newif\if@firstdetailselement\@firstdetailselementtrue +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@titledetailsnewline} +% \begin{macrocode} +\providecommand*{\@titledetailsnewline}{ % + \if@firstdetailselement% + \@firstdetailselementfalse% + \else% + \\[.4ex] + \fi% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\maketitle} +%% ahilbig begin +% \begin{macrocode} +\renewcommand\maketitle{% + \csexpandonce{@cvtitle\ahbewerbung@lebenslaufStyle}} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} +\RequirePackage{lastpage} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\totalpagemark} +% \begin{macrocode} +\providecommand*{\totalpagemark}{% page and pagetotal +\usekomafont{pagenumber}\pageref{LastPage}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \newcommand*{\firstnamestyle}[1]{{% + \usekomafont{firstnamefont}% + \textcolor{@firstnamecolor}{#1}}} + \newcommand*{\familynamestyle}[1]{{% + \usekomafont{familynamefont}% + \textcolor{@familynamecolor}{#1}}} + \newcommand*{\acadtitlestyle}[1]{{% + \usekomafont{acadtitlefont}% + \textcolor{@acadtitlecolor}{#1}}} +% \end{macrocode} +%% ahilbig begin +% \begin{macrocode} + \newcommand*{\titlestyle}[1]{{% + \usekomafont{titlefont}% + \textcolor{@titlecolor}{#1}}} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \newcommand*{\addressstyle}[1]{{% + \usekomafont{addressfont}% + \textcolor{@addresscolor}{#1}}} + \newcommand*{\quotestyle}[1]{{% + \usekomafont{quotefont}% + \textcolor{@quotecolor}{#1}}} + \newcommand*{\hintstyle}[1]{{% + \usekomafont{hintfont}% + \textcolor{@hintcolor}{#1}}} + \newcommand*{\sectionstyle}[1]{% + \usekomafont{section}% + \textcolor{@seccolor}{#1}} + \newcommand*{\subsectionstyle}[1]{% + \usekomafont{subsection}% + \textcolor{@subseccolor}{#1}} +% \end{macrocode} +% +% \begin{macro}{\cvitem} +% \begin{macrocode} +\providecommand*{\cvitem}[3][\@afterelementsvspace]{% + \begin{tabular}{% + @{}p{\@hintscolwidth}% + @{\hspace{\@sepcolwidth}}p{\@maincolwidth}@{}% + }% + \raggedleft\hintstyle{#2} &{#3}% + \end{tabular}\\[#1]% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvdoubleitem} +% \begin{macrocode} +\providecommand*{\cvdoubleitem}[5][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@hintscolwidth}% + \noindent\raggedleft\hintstyle{#4} + \end{minipage}% + \hspace*{\@sepcolwidth}% + \begin{minipage}[t]{\@dbitemmaincolwidth}% + \noindent #5 + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlistitem} +% \begin{macrocode} +\providecommand*{\cvlistitem}[2][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listitemmaincolwidth}% + #2% + \end{minipage}% + }% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlistdoubleitem} +% \begin{macrocode} +\providecommand*{\cvlistdoubleitem}[3][\@afterelementsvspace]{% + \cvitem[#1]{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #2% + \end{minipage}% + \hspace*{\@sepcolwidth} + \ifstrempty{#3}{}{% + \@listitemsymbol% + \begin{minipage}[t]{\@listdbitemmaincolwidth}% + #3% + \end{minipage} + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cventry} +% \begin{macrocode} +\providecommand*{\cventry}[7][\@afterelementsvspace]{% + \cvitem[#1]{#2}{% + {\bfseries#3}% + \ifstrempty{#4}{}{, {\itshape#4}}% + \ifstrempty{#5}{}{, #5}% + \ifstrempty{#6}{}{, #6}% + .% + \ifx&% + \else{% + \newline{}\begin{minipage}[t]{\linewidth}% + \small#7% + \end{minipage}% + }% + \fi% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cvlanguage} +%% ahilbig begin +% \begin{macrocode} +\providecommand{\cvlanguage}[3]{% + \cvitemwithcomment{#1}{#2}{#3}% +} +% \end{macrocode} +% \end{macro} +% +%% ahilbig end +% \begin{macrocode} +\newbox{\@commentmainbox} +% \end{macrocode} +% +% \begin{macro}{\cvitemwithcomment} +% \begin{macrocode} +\providecommand*{\cvitemwithcomment}[4][\@afterelementsvspace]{% + \savebox{\@commentmainbox}{{\usekomafont{commentmainfont}#3}}% + \settowidth\@commentmainlength{\usebox{\@commentmainbox}}% + \setlength{\@commentlength}{% + \@maincolwidth-\@sepcolwidth-\@commentmainlength% + }% + \cvitem[#1]{#2}{% + \begin{minipage}[t]{\@commentmainlength}% + \usekomafont{commentmainfont} #3% + \end{minipage}% + \hfill% + \begin{minipage}[t]{\@commentlength}% + \raggedleft\usekomafont{commentfont} #4% + \end{minipage}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \providecommand*{\link}[2][]{% + \ifstrempty{#1}{% + \href{#2}{\usekomafont{linkfont}#2}}{% + \href{#2}{\usekomafont{linkfont}#1}}% + } + \providecommand*{\httplink}[2][]{% + \ifstrempty{#1}{% + \href{http://#2}{\usekomafont{httplinkfont}#2}}{% + \href{http://#2}{\usekomafont{httplinkfont}#1}}% + } + \providecommand*{\emaillink}[2][]{% + \ifstrempty{#1}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#2}}{% + \href{mailto:#2}{\usekomafont{emaillinkfont}#1}}% + } +% \end{macrocode} +% +% \begin{macro}{\origsection} +% \begin{macrocode} +\providecommand\origsection{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\let\origsection\section +% \end{macrocode} +% +% \begin{macro}{\origsubsection} +% \begin{macrocode} +\providecommand\origsubsection{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\let\origsubsection\subsection +% \end{macrocode} +% +% \begin{macro}{\@cvsimplesection} +% \begin{macrocode} +\providecommand\@cvsimplesection[1]{% + \origsection*{\sectionstyle{#1}} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvsimplesubsection} +% \begin{macrocode} +\providecommand\@cvsimplesubsection[1]{% + \origsubsection*{\subsectionstyle{#1}} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvbarsection} +% \begin{macrocode} +\providecommand\@cvbarsection[1]{% +% \end{macrocode} +%% ahilbig begin +% needed some additional space between the sections to look nicer +% \begin{macrocode} + \vspace{0.75em} +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + \origsection*{% + \phantomsection{}% reset the anchor for hyperrefs + \addcontentsline{toc}{section}{#1}% + \cvitem[0pt]{% + \raggedleft\hintstyle{\color{@secbarcolor}% + \rule{\@hintscolwidth}{1ex}}% +% \end{macrocode} +%% ahilbig begin +% we need more space^^ +% \begin{macrocode} + }{\sectionstyle{#1}\vspace{0.4em}} % +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + }% end origsection +} % end cvbarsection +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cvbarsubsection} +% \begin{macrocode} +\providecommand\@cvbarsubsection[1]{% + \origsubsection*{% + \cvitem[0pt]{}{\subsectionstyle{#1}}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\hypersetup{% + breaklinks,% + unicode, % +% \end{macrocode} +%% ahilbig begin +% make links look nicer +% \begin{macrocode} + colorlinks = true,% +% \end{macrocode} +%% ahilbig end +% \begin{macrocode} + pdfborder = {0 0 .3},% + pdfstartview = FitH,% +% \end{macrocode} +%% ahilbig begin +%\iffalse +%% pdfstartpage = 1,% +%% pdfcreator = \LaTeX{},% +%% pdfproducer = \LaTeX{} % +%\fi +%% ahilbig end +% \begin{macrocode} +}% +\urlstyle{same} +% \end{macrocode} +% +% \begin{macro}{\@citebordercolor} +% \begin{macrocode} +\providecommand*\@citebordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\citebordercolor} +% \begin{macrocode} +\providecommand*\citebordercolor{\@citebordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@filebordercolor} +% \begin{macrocode} +\providecommand*\@filebordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\filebordercolor} +% \begin{macrocode} +\providecommand*\filebordercolor{\@filebordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@linkbordercolor} +% \begin{macrocode} +\providecommand*\@linkbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\linkbordercolor} +% \begin{macrocode} +\providecommand*\linkbordercolor{\@linkbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@menubordercolor} +% \begin{macrocode} +\providecommand*\@menubordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\menubordercolor} +% \begin{macrocode} +\providecommand*\menubordercolor{\@menubordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@runbordercolor} +% \begin{macrocode} +\providecommand*\@runbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\runbordercolor} +% \begin{macrocode} +\providecommand*\runbordercolor{\@runbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@urlbordercolor} +% \begin{macrocode} +\providecommand*\@urlbordercolor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\urlbordercolor} +% \begin{macrocode} +\providecommand*\urlbordercolor{\@urlbordercolor} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\allbordercolors} +% \begin{macrocode} +\providecommand*\allbordercolors{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfauthor} +% \begin{macrocode} +\providecommand*\pdfauthor{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfsubject} +% \begin{macrocode} +\providecommand*\pdfsubject{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdftitle} +% \begin{macrocode} +\providecommand*\pdftitle{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfkeywords} +% \begin{macrocode} +\providecommand*\pdfkeywords{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\AtEndPreamble{% +% \end{macrocode} +% +% \begin{macro}{\@allbordercolors} +% \begin{macrocode} +\providecommand*\@allbordercolors{colortheme} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ifdefempty{\allbordercolors}{}{% + \renewcommand*\@allbordercolors{\allbordercolors}} +% \end{macrocode} +% +% \begin{macro}{\@pdfauthor} +% \begin{macrocode} +\providecommand*\@pdfauthor{\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ifdefempty{\pdfauthor}{}{\renewcommand*\@pdfauthor{\pdfauthor}} +% \end{macrocode} +% +% \begin{macro}{\@pdfsubject} +% \begin{macrocode} +\providecommand*\@pdfsubject{\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfsubject} +% \begin{macrocode} +\providecommand*\pdfsubject{\@pdfsubject} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@pdftitle} +% \begin{macrocode} +\providecommand*\@pdftitle{\title~\firstname~\familyname} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdftitle} +% \begin{macrocode} +\providecommand*\pdftitle{\@pdftitle} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@pdfkeywords} +% \begin{macrocode} +\providecommand*\@pdfkeywords{% + \firstname~\familyname{} curriculum~vit\ae{} CV{}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\pdfkeywords} +% \begin{macrocode} +\providecommand*\pdfkeywords{\@pdfkeywords} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + \hypersetup{% + allbordercolors = \@allbordercolors,% + citebordercolor = \citebordercolor,% + filebordercolor = \filebordercolor,% + linkbordercolor = \linkbordercolor,% + menubordercolor = \menubordercolor,% + runbordercolor = \runbordercolor,% + urlbordercolor = \urlbordercolor,% + pdfauthor = \@pdfauthor,% + pdfsubject = \pdfsubject,% + pdftitle = \pdftitle,% + pdfkeywords = \pdfkeywords,% + }% +} % end AtEndPreamble +\AtBeginDocument{% + \raggedbottom % +} % End AtBeginDocument +% \end{macrocode} +%% ahilbig begin +%\iffalse +%%\clearscrheadfoot +%\fi +% \begin{macrocode} +\RequirePackage{bewerbung-cv-\ahbewerbung@lebenslaufStyle} +% \end{macrocode} +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*bewerbung.sty> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung} + [2015/07/14 v1.1 makros zum setzen der bewerbung] +% \end{macrocode} +% +% \begin{macro}{\name} +% Macros for setting up your personal informations +% \begin{macrocode} +\providecommand{\name}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Name} +% \begin{macrocode} +\providecommand{\Name}[1]{\renewcommand{\name}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\vorname} +% \begin{macrocode} +\providecommand{\vorname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Vorname} +% \begin{macrocode} +\providecommand{\Vorname}[1]{\renewcommand{\vorname}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fullname} +% the optional argument indicates wether to print vor + nachname +% or nachname, vorname +% \begin{macrocode} +\providecommand{\fullname}[1][n]{% + \ifthenelse{\equal{#1}{n}}{% + \vorname\xspace\name % + }{% + \name, \vorname % + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\street} +% \begin{macrocode} +\providecommand{\street}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Street} +% \begin{macrocode} +\providecommand{\Street}[1]{\renewcommand{\street}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\plz} +% \begin{macrocode} +\providecommand{\plz}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Plz} +% \begin{macrocode} +\providecommand{\Plz}[1]{\renewcommand{\plz}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\stadt} +% \begin{macrocode} +\providecommand{\stadt}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Stadt} +% \begin{macrocode} +\providecommand{\Stadt}[1]{\renewcommand{\stadt}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\anschrift} +% \begin{macrocode} +\providecommand{\anschrift}[1][n]{% + \ifthenelse{\equal{#1}{n}}{% + \street\\% + \plz\xspace\stadt% + }{% + \street, \plz\xspace\stadt% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\meinBeruf} +% \begin{macrocode} +\providecommand{\meinBeruf}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\meinberuf} +% \begin{macrocode} +\providecommand{\meinberuf}{\meinBeruf} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\MeinBeruf} +% \begin{macrocode} +\providecommand{\MeinBeruf}[1]{\renewcommand{\meinBeruf}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\gebDatum} +% \begin{macrocode} +\providecommand{\gebDatum}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\GebDatum} +% \begin{macrocode} +\providecommand{\GebDatum}[1]{\renewcommand{\gebDatum}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\sta} +% \begin{macrocode} +\providecommand{\sta}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Sta} +% \begin{macrocode} +\providecommand{\Sta}[1]{\renewcommand{\sta}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\email} +% \begin{macrocode} +\providecommand{\email}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\EMail} +% \begin{macrocode} +\providecommand{\EMail}[1]{\renewcommand{\email}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\tel} +% \begin{macrocode} +\providecommand{\tel}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Tel} +% \begin{macrocode} +\providecommand{\Tel}[1]{\renewcommand{\tel}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobile} +% \begin{macrocode} +\providecommand{\mobile}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Mobile} +% \begin{macrocode} +\providecommand{\Mobile}[1]{\renewcommand{\mobile}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ProvideDocumentCommand{\anhang}{o}{% + \IfNoValueTF{#1}{% + Curriculum Vitae.\anhangTmpFlat + }{% + \item Anschreiben + \item Curriculum Vitae + \anhangTmpList + } % +} +% \end{macrocode} +% +% \begin{macro}{\anhangTmpFlat} +% \begin{macrocode} +\providecommand{\anhangTmpFlat}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\anhangTmpList} +% \begin{macrocode} +\providecommand{\anhangTmpList}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Anhang} +% \begin{macrocode} +\providecommand{\Anhang}[2]{% + \renewcommand{\anhangTmpFlat}{\\ #1} + \renewcommand{\anhangTmpList}{#2} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\todayOrt} +% \begin{macrocode} +\providecommand{\todayOrt}{\stadt} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\TodayOrt} +% \begin{macrocode} +\providecommand{\TodayOrt}[1]{\renewcommand{\todayOrt}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\todayTime} +% \begin{macrocode} +\providecommand{\todayTime}{\today} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\TodayTime} +% \begin{macrocode} +\providecommand{\TodayTime}[1]{\renewcommand{\todayTime}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\lebenslaufTitel} +% \begin{macrocode} +\providecommand{\lebenslaufTitel}{Curriculum Vitae} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LebenslaufTitel} +% \begin{macrocode} +\providecommand{\LebenslaufTitel}[1]{% + \renewcommand{\lebenslaufTitel}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firma} +% Macros for setting up the information of the company +% \begin{macrocode} +\providecommand{\firma}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaAnrede} +% \begin{macrocode} +\providecommand{\firmaAnrede}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaName} +% \begin{macrocode} +\providecommand{\firmaName}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaStreet} +% \begin{macrocode} +\providecommand{\firmaStreet}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaPlz} +% \begin{macrocode} +\providecommand{\firmaPlz}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaStadt} +% \begin{macrocode} +\providecommand{\firmaStadt}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\beruf} +% \begin{macrocode} +\providecommand{\beruf}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\setzekomma} +% \begin{macrocode} +\providecommand{\setzekomma}{,} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungKW} +% \begin{macrocode} +\providecommand{\bewerbungKW}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungKW} +% \begin{macrocode} +\providecommand{\BewerbungKW}[1]{% + \renewcommand{\bewerbungKW}{#1}}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungDatum} +% \begin{macrocode} +\providecommand{\bewerbungDatum}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungDatum} +% \begin{macrocode} +\providecommand{\BewerbungDatum}[1]{% + \renewcommand{\bewerbungDatum}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirma} +% \begin{macrocode} +\providecommand{\bewerbungFirma}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirma} +% \begin{macrocode} +\providecommand{\BewerbungFirma}[1]{% + \renewcommand{\bewerbungFirma}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaAnrede} +% \begin{macrocode} +\providecommand{\bewerbungFirmaAnrede}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaAnrede} +% \begin{macrocode} +\providecommand{\BewerbungFirmaAnrede}[1]{% + \renewcommand{\bewerbungAnrede}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaName} +% \begin{macrocode} +\providecommand{\bewerbungFirmaName}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaName} +% \begin{macrocode} +\providecommand{\BewerbungFirmaName}[1]{% + \renewcommand{\bewerbungName}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaStr} +% \begin{macrocode} +\providecommand{\bewerbungFirmaStr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaStr} +% \begin{macrocode} +\providecommand{\BewerbungFirmaStr}[1]{% + \renewcommand{\bewerbungFirmaStr}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaPlz} +% \begin{macrocode} +\providecommand{\bewerbungFirmaPlz}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaPlz} +% \begin{macrocode} +\providecommand{\BewerbungFirmaPlz}[1]{% + \renewcommand{\bewerbungPlz}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaOrt} +% \begin{macrocode} +\providecommand{\bewerbungFirmaOrt}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaOrt} +% \begin{macrocode} +\providecommand{\BewerbungFirmaOrt}[1]{% + \renewcommand{\bewerbungOrt}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungStelle} +% \begin{macrocode} +\providecommand{\bewerbungStelle}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungStelle} +% \begin{macrocode} +\providecommand{\BewerbungStelle}[1]{% + \renewcommand{\bewerbungStelle}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungRueckmeldung} +% \begin{macrocode} +\providecommand{\bewerbungRueckmeldung}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungRueckmeldung} +% \begin{macrocode} +\providecommand{\BewerbungRueckmeldung}[1]{% + \renewcommand{\bewerbungRueckmeldung}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungSonstiges} +% \begin{macrocode} +\providecommand{\bewerbungSonstiges}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungSonstiges} +% \begin{macrocode} +\providecommand{\BewerbungSonstiges}[1]{% + \renewcommand{\bewerbungSonstiges}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\RequirePackage{datatool} +% \end{macrocode} +% +% \begin{macro}{\id} +% Need to know which company you mean today +% \begin{macrocode} +\providecommand{\id}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\ID} +% \begin{macrocode} +\providecommand{\ID}[1]{\renewcommand{\id}{#1}} +% \end{macrocode} +% \end{macro} +% +% How does the table of applications look like? +% ID, KW, Datum, Firma, FirmaAnrede, FirmaName, Str, PLZ, +% Ort, Stelle, Rueckmeldung, Sonstiges +% +% +% \begin{macro}{\getBewerbung} +% Get the information of the current company out of the table +% \begin{macrocode} +\providecommand{\getBewerbung}[1][anschrift.csv]{ + \IfFileExists{#1}{% +% \end{macrocode} +% load the table +% \begin{macrocode} + \DTLloaddb[ % + ]{anschrift}{#1} % +% \end{macrocode} +% 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) +% \begin{macrocode} + \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.} % + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\runKomaVar} +% Change the komavars for komacv implementation of this project +% \begin{macrocode} +\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}{} % +% \end{macrocode} +%\iffalse +%% \renewcommand*{\title}{\}% PDF metadata +%\fi +% \begin{macrocode} + \renewcommand*{\firstname}{\vorname} % + \renewcommand*{\familyname}{\name} % +% \end{macrocode} +%\iffalse +%% \renewcommand*{\acadtitle}{} +%\fi +% \begin{macrocode} + \renewcommand*{\addressstreet}{\street} % + \renewcommand*{\addresscity}{\plz\xspace\stadt} % + \renewcommand*{\address}{\street\\\plz\xspace\stadt} % + \renewcommand*{\phonenr}{\tel} % +% \end{macrocode} +%\iffalse +%% \renewcommand*{\extrainfo}{Some extra info} +%\fi +% \begin{macrocode} +} % +% \end{macrocode} +% Provide the right paper for a nice titlepage +% \begin{macrocode} +\ProvideDocumentEnvironment{titlepage}{}{% + \thispagestyle{empty} % + \newgeometry{top=4cm,left=3cm,right=2.5cm,bottom=2cm} % +}{ % + \clearpage % + \restoregeometry % +} % +% \end{macrocode} +% This environment will make a nice letter to you company +% \begin{macrocode} +\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} +} +% \end{macrocode} +% \end{macro} +% +% This environment will produce a nice cv like komacv +% but within the same document +% \begin{macrocode} +\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 +} +% \end{macrocode} +% +% \begin{macro}{\makePerson} +% Make the entry of your personality in the cv-environment +% \begin{macrocode} +\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} % +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\argetabelle} +% Print a table with all your latest applications +% \begin{macrocode} +\providecommand{\argetabelle}[1][anschrift.csv]{ % + \IfFileExists{#1}{% +% \end{macrocode} +% load the table +% \begin{macrocode} + \DTLloaddb{anschrift}{anschrift.csv} % +% \end{macrocode} +% create a nice table environment for printing +% over more than one page +% \begin{macrocode} + \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 +% \end{macrocode} +% read the whole table-file and print it nicely into the table +% \begin{macrocode} + \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.} % + } % +} +% \end{macrocode} +% \end{macro} +% +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*argetabelle.cls> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{argetabelle}[2015/07/14 v1.1 % + Klasse zur automatisierten Erstellen von Tabellen % + zur Dokumentation der eigenen Bewerbungsversuche] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ProcessOptions\relax +\LoadClass[]{scrartcl} +\RequirePackage{marvosym} +\RequirePackage[% + left=1cm, % + top=2.5cm, % + bottom=1.5cm, % + right=1cm % +]{geometry} +\RequirePackage{datatool} +\RequirePackage[right]{eurosym} +\RequirePackage{xspace} +\RequirePackage{multicol} +\RequirePackage{pdfpages} +\RequirePackage{comment} +\RequirePackage{xparse} +\RequirePackage{longtable} +\RequirePackage{booktabs} +\RequirePackage{array} +\RequirePackage{ragged2e} +\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} +\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} +\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} +\RequirePackage{bewerbung} +\AtBeginDocument{% + %\hypersetup{colorlinks=true} + \InputIfFileExists{config.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei config.inc ist nicht lesbar.}% + } % +} +% \end{macrocode} +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*bewerbung.cls> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{bewerbung}[2015/07/14 v1.1 % + Klasse zur Erstellung von Bewerbungsschreiben] +\RequirePackage{ifthen,kvoptions,calc} +\SetupKeyvalOptions{% +family=ahbewerbung,% +prefix=ahbewerbung@,% +setkeys=\kvsetkeys% +} +% \end{macrocode} +%% +%% for komacv are some color options available, that % +%% needed to get passed to the new cv package +%% ALL OPTIONS ARE CHANGED TO THE IDENTIFIER ahbewerbung +%% +% \begin{macrocode} +\DeclareStringOption[mycolor]{lebenslaufColor}[mycolor] +\DeclareStringOption[x11names]{lebenslaufXcolor}[x11names] +\DeclareStringOption[classic]{lebenslaufStyle}[classic] +\DeclareStringOption[anschrift.csv]{anschrift}[anschrift.csv] +\DeclareBoolOption{idPlain} +\ProcessKeyvalOptions{ahbewerbung} % evaluate keyval options +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrlttr2}} +\ProcessOptions\relax +\LoadClass[ + DIN, pagenumber=botright, backaddress=true, parskip=half,% + fromalign=left, fromemail=true, fromfax=true, % + fromphone=true, fromurl=false, fromalign=right, % + fromlogo=false, fromrule=true, foldmarks=true, % + paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false +]{scrlttr2} +% \end{macrocode} +%\iffalse +%% import from komacv.cls for easier maintaining +%\fi +% \begin{macrocode} +\RequirePackage{% + etoolbox,% + ifpdf,% + ifluatex,% + ifxetex,% + marvosym, % + scrlayer-scrpage, % + array,% + graphicx,% + microtype,% + enumitem, % + hyperref, % +} +\RequirePackage[% +% \end{macrocode} +%\iffalse +%% xcolor=\ahbewerbung@lebenslaufXcolor,% +%% color=\ahbewerbung@lebenslaufColor,% +%% style=\ahbewerbung@lebenslaufStyle,% +%\fi +% \begin{macrocode} +]{bewerbung-cv} +\RequirePackage[autostyle,german=guillemets]{csquotes} +\RequirePackage[top=2.5cm]{geometry} +\RequirePackage{datatool} +\RequirePackage[right]{eurosym} +\RequirePackage{xspace} +\RequirePackage{multicol} +\RequirePackage{pdfpages} +\RequirePackage{comment} +\RequirePackage{xparse} +\RequirePackage{bewerbung} +\AtBeginDocument{% + \hypersetup{colorlinks=true}% + \InputIfFileExists{config.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei config.inc ist nicht lesbar.}% + } + \getBewerbung[\ahbewerbung@anschrift] % + \runKomaVar % + \InputIfFileExists{titlepage.inc}{}{% + \@latex@warning@no@line{% + Achtung die Datei titlepage.inc ist nicht lesbar.}% + } % +} +% \end{macrocode} +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*neueBewerbung.sh> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +#!/bin/bash +mkdir -v $1 +cp -v bewerbung.tex $1/bewerbung-$1.tex +cp -v config.inc $1 +cd $1 +ln -sv ../Anhang ./Anhang +ln -sv ../Foto.jpg ./Foto.jpg +ln -sv ../Foto.pdf ./Foto.pdf +ln -sv ../anschrift.csv ./anschrift.csv +cd .. +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*config.inc> +% \end{macrocode} +%\fi +%\iffalse +%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +%% + +%% Konfiguration der eigenen Daten + +%% + +%\fi +% \begin{macrocode} + \Name{Musterfrau} + \Vorname{Maja} + \Street{Musterstraße 9} + \Plz{45878} + \Stadt{Musterstadt} + \MeinBeruf{Dipl.-Pädagogin (Univ.)} + \EMail{mail@email.com} + \Tel{03131~465488} + \Mobile{01534~6324524353} + \Sta{deutsch} + \GebDatum{31.02.1990} +% \end{macrocode} +%\iffalse +%% + +%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +%% + +%% +----Achtung--------------------------------------+ +%% + ID meint (Zeilennummer-1) und nicht das Feld id + +%% + Bsp: Eintrag in Zeile 48: ID 47 + +%% + + +%% + Außer der Klasse ahilbig-bewerbung wird die + +%% + Option idPlain mitgegeben. Dann wird nach dem + +%% + exakten Match im Feld id gesucht. + +%\fi +% \begin{macrocode} + \ID{1} +% \end{macrocode} +%\iffalse +%% +-------------------------------------------------+ +%\fi +% \begin{macrocode} + \Anhang{Abiturzeugnis.\newline Diplomzeugnis.}{% + \item Abiturzeugnis + \item Diplomzeugnis + } +% \end{macrocode} +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*titlepage.inc> +% \end{macrocode} +%\fi +% \begin{macrocode} +\begin{titlepage} + \begin{comment} + \applyCSVfile{../anschrift.csv}{ + \ifthenelse{\equal{\insertbyname{ID}}{\id}}{ + \renewcommand{\firma}{\insertbyname{Firma}} + \renewcommand{\firmaAnrede}{\insertbyname{FirmaAnrede}} + \renewcommand{\firmaName}{\insertbyname{FirmaName}} + \renewcommand{\firmaStreet}{\insertbyname{Str}} + \renewcommand{\firmaPlz}{\insertbyname{PLZ}} + \renewcommand{\firmaStadt}{\insertbyname{Ort}} + \renewcommand{\beruf}{\insertbyname{Stelle}} +% \end{macrocode} +%\iffalse +%% \hrule +%\fi +% \begin{macrocode} + \end{comment} + \begin{multicols*}{2}[][0cm] + \setlength{\columnseprule}{1pt} + + \textbf{\fullname}\\ + \textbf{\meinBeruf} \\ \ \\ + \street\\ + \plz\ \stadt\\ + \Letter\enskip \email\\ + \Telefon\enskip \tel\\ + \Mobilefone\enskip \mobile + + \vfill + \textbf{Inhalt} + \renewcommand{\labelitemi}{} + \begin{itemize} + \anhang[title] + \end{itemize} + \columnbreak + \vspace*{1.8cm} + \hspace*{0.5cm}\textsc{\Huge{\textbf{Bewerbung}}} + \vspace*{2cm} + \begin{flushleft} + \setlength{\parindent}{-0.1cm} + \leftskip=0.3cm + \hspace*{0.1cm}\textit{bei}\\ % hier gehört bei rein + \textbf{\bewerbungFirma}\\ + \bewerbungFirmaAnrede\ + \bewerbungFirmaName\\ + \bewerbungFirmaStr\\ + \bewerbungFirmaPlz\ \bewerbungFirmaOrt +% \end{macrocode} +% hier kann der Abstand zwischen Anschrift und Berufsbezeichnung eingestellt werden +% \begin{macrocode} + \vspace*{1.5cm} + \hspace*{0.1cm}\textit{als}\\ + \textbf{\bewerbungStelle}\\ + \end{flushleft} + \vfill + %\vfill + \hspace*{0.2cm}\includegraphics[width=5cm]{Foto.pdf} %\\ +% \end{macrocode} +% \ \\ +% \begin{macrocode} + \end{multicols*} +\end{titlepage} +% \end{macrocode} +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/bewerbung/bewerbung.ins b/bewerbung/bewerbung.ins new file mode 100644 index 0000000..a9754f3 --- /dev/null +++ b/bewerbung/bewerbung.ins @@ -0,0 +1,48 @@ +% bewerbung.ins generated using makedtx version 0.94b 2022-01-17:16:26:37 -- Version 1.3/1/17 16:26 +\input docstrip + +\preamble + + bewerbung.dtx + Copyright 2022-01-17:16:26:37 -- Version 1.3 André Hilbig, mail@andrehilbig.de + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license of (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is André Hilbig, mail@andrehilbig.de. + + This work consists of the files bewerbung.dtx and bewerbung.ins and the derived files bewerbung-cv-casual.sty, bewerbung-cv-classic.sty, bewerbung-cv-oldstyle.sty, bewerbung-cv.sty, bewerbung.sty, argetabelle.cls, bewerbung.cls, neueBewerbung.sh, config.inc, titlepage.inc. + +\endpreamble + +\askforoverwritefalse + +\generate{\file{bewerbung-cv-casual.sty}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{bewerbung-cv-casual.sty,package}} +\file{bewerbung-cv-classic.sty}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{bewerbung-cv-classic.sty,package}} +\file{bewerbung-cv-oldstyle.sty}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{bewerbung-cv-oldstyle.sty,package}} +\file{bewerbung-cv.sty}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{bewerbung-cv.sty,package}} +\file{bewerbung.sty}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{bewerbung.sty,package}} +\file{argetabelle.cls}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{argetabelle.cls,package}} +\file{bewerbung.cls}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{bewerbung.cls,package}} +\file{neueBewerbung.sh}{\nopreamble\nopostamble\from{bewerbung.dtx}{neueBewerbung.sh}} +\file{config.inc}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{config.inc,package}} +\file{titlepage.inc}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{bewerbung.dtx}{titlepage.inc,package}} +} + +\endbatchfile diff --git a/bewerbung/bewerbung.pdf b/bewerbung/bewerbung.pdf new file mode 100644 index 0000000..0580e5f Binary files /dev/null and b/bewerbung/bewerbung.pdf differ diff --git a/bewerbung/bewerbung.sty b/bewerbung/bewerbung.sty new file mode 100644 index 0000000..64e991a --- /dev/null +++ b/bewerbung/bewerbung.sty @@ -0,0 +1,744 @@ +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{bewerbung} + [2015/07/14 v1.1 makros zum setzen der bewerbung] +% \end{macrocode} +% +% \begin{macro}{\name} +% Macros for setting up your personal informations +% \begin{macrocode} +\providecommand{\name}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Name} +% \begin{macrocode} +\providecommand{\Name}[1]{\renewcommand{\name}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\vorname} +% \begin{macrocode} +\providecommand{\vorname}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Vorname} +% \begin{macrocode} +\providecommand{\Vorname}[1]{\renewcommand{\vorname}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fullname} +% the optional argument indicates wether to print vor + nachname +% or nachname, vorname +% \begin{macrocode} +\providecommand{\fullname}[1][n]{% + \ifthenelse{\equal{#1}{n}}{% + \vorname\xspace\name % + }{% + \name, \vorname % + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\street} +% \begin{macrocode} +\providecommand{\street}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Street} +% \begin{macrocode} +\providecommand{\Street}[1]{\renewcommand{\street}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\plz} +% \begin{macrocode} +\providecommand{\plz}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Plz} +% \begin{macrocode} +\providecommand{\Plz}[1]{\renewcommand{\plz}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\stadt} +% \begin{macrocode} +\providecommand{\stadt}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Stadt} +% \begin{macrocode} +\providecommand{\Stadt}[1]{\renewcommand{\stadt}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\anschrift} +% \begin{macrocode} +\providecommand{\anschrift}[1][n]{% + \ifthenelse{\equal{#1}{n}}{% + \street\\% + \plz\xspace\stadt% + }{% + \street, \plz\xspace\stadt% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\meinBeruf} +% \begin{macrocode} +\providecommand{\meinBeruf}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\meinberuf} +% \begin{macrocode} +\providecommand{\meinberuf}{\meinBeruf} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\MeinBeruf} +% \begin{macrocode} +\providecommand{\MeinBeruf}[1]{\renewcommand{\meinBeruf}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\gebDatum} +% \begin{macrocode} +\providecommand{\gebDatum}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\GebDatum} +% \begin{macrocode} +\providecommand{\GebDatum}[1]{\renewcommand{\gebDatum}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\sta} +% \begin{macrocode} +\providecommand{\sta}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Sta} +% \begin{macrocode} +\providecommand{\Sta}[1]{\renewcommand{\sta}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\email} +% \begin{macrocode} +\providecommand{\email}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\EMail} +% \begin{macrocode} +\providecommand{\EMail}[1]{\renewcommand{\email}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\tel} +% \begin{macrocode} +\providecommand{\tel}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Tel} +% \begin{macrocode} +\providecommand{\Tel}[1]{\renewcommand{\tel}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\mobile} +% \begin{macrocode} +\providecommand{\mobile}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Mobile} +% \begin{macrocode} +\providecommand{\Mobile}[1]{\renewcommand{\mobile}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ProvideDocumentCommand{\anhang}{o}{% + \IfNoValueTF{#1}{% + Curriculum Vitae.\anhangTmpFlat + }{% + \item Anschreiben + \item Curriculum Vitae + \anhangTmpList + } % +} +% \end{macrocode} +% +% \begin{macro}{\anhangTmpFlat} +% \begin{macrocode} +\providecommand{\anhangTmpFlat}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\anhangTmpList} +% \begin{macrocode} +\providecommand{\anhangTmpList}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Anhang} +% \begin{macrocode} +\providecommand{\Anhang}[2]{% + \renewcommand{\anhangTmpFlat}{\\ #1} + \renewcommand{\anhangTmpList}{#2} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\todayOrt} +% \begin{macrocode} +\providecommand{\todayOrt}{\stadt} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\TodayOrt} +% \begin{macrocode} +\providecommand{\TodayOrt}[1]{\renewcommand{\todayOrt}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\todayTime} +% \begin{macrocode} +\providecommand{\todayTime}{\today} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\TodayTime} +% \begin{macrocode} +\providecommand{\TodayTime}[1]{\renewcommand{\todayTime}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\lebenslaufTitel} +% \begin{macrocode} +\providecommand{\lebenslaufTitel}{Curriculum Vitae} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\LebenslaufTitel} +% \begin{macrocode} +\providecommand{\LebenslaufTitel}[1]{% + \renewcommand{\lebenslaufTitel}{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firma} +% Macros for setting up the information of the company +% \begin{macrocode} +\providecommand{\firma}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaAnrede} +% \begin{macrocode} +\providecommand{\firmaAnrede}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaName} +% \begin{macrocode} +\providecommand{\firmaName}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaStreet} +% \begin{macrocode} +\providecommand{\firmaStreet}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaPlz} +% \begin{macrocode} +\providecommand{\firmaPlz}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\firmaStadt} +% \begin{macrocode} +\providecommand{\firmaStadt}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\beruf} +% \begin{macrocode} +\providecommand{\beruf}{a} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\setzekomma} +% \begin{macrocode} +\providecommand{\setzekomma}{,} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungKW} +% \begin{macrocode} +\providecommand{\bewerbungKW}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungKW} +% \begin{macrocode} +\providecommand{\BewerbungKW}[1]{% + \renewcommand{\bewerbungKW}{#1}}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungDatum} +% \begin{macrocode} +\providecommand{\bewerbungDatum}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungDatum} +% \begin{macrocode} +\providecommand{\BewerbungDatum}[1]{% + \renewcommand{\bewerbungDatum}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirma} +% \begin{macrocode} +\providecommand{\bewerbungFirma}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirma} +% \begin{macrocode} +\providecommand{\BewerbungFirma}[1]{% + \renewcommand{\bewerbungFirma}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaAnrede} +% \begin{macrocode} +\providecommand{\bewerbungFirmaAnrede}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaAnrede} +% \begin{macrocode} +\providecommand{\BewerbungFirmaAnrede}[1]{% + \renewcommand{\bewerbungAnrede}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaName} +% \begin{macrocode} +\providecommand{\bewerbungFirmaName}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaName} +% \begin{macrocode} +\providecommand{\BewerbungFirmaName}[1]{% + \renewcommand{\bewerbungName}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaStr} +% \begin{macrocode} +\providecommand{\bewerbungFirmaStr}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaStr} +% \begin{macrocode} +\providecommand{\BewerbungFirmaStr}[1]{% + \renewcommand{\bewerbungFirmaStr}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaPlz} +% \begin{macrocode} +\providecommand{\bewerbungFirmaPlz}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaPlz} +% \begin{macrocode} +\providecommand{\BewerbungFirmaPlz}[1]{% + \renewcommand{\bewerbungPlz}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungFirmaOrt} +% \begin{macrocode} +\providecommand{\bewerbungFirmaOrt}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungFirmaOrt} +% \begin{macrocode} +\providecommand{\BewerbungFirmaOrt}[1]{% + \renewcommand{\bewerbungOrt}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungStelle} +% \begin{macrocode} +\providecommand{\bewerbungStelle}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungStelle} +% \begin{macrocode} +\providecommand{\BewerbungStelle}[1]{% + \renewcommand{\bewerbungStelle}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungRueckmeldung} +% \begin{macrocode} +\providecommand{\bewerbungRueckmeldung}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungRueckmeldung} +% \begin{macrocode} +\providecommand{\BewerbungRueckmeldung}[1]{% + \renewcommand{\bewerbungRueckmeldung}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\bewerbungSonstiges} +% \begin{macrocode} +\providecommand{\bewerbungSonstiges}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\BewerbungSonstiges} +% \begin{macrocode} +\providecommand{\BewerbungSonstiges}[1]{% + \renewcommand{\bewerbungSonstiges}{#1}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\RequirePackage{datatool} +% \end{macrocode} +% +% \begin{macro}{\id} +% Need to know which company you mean today +% \begin{macrocode} +\providecommand{\id}{} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\ID} +% \begin{macrocode} +\providecommand{\ID}[1]{\renewcommand{\id}{#1}} +% \end{macrocode} +% \end{macro} +% +% How does the table of applications look like? +% ID, KW, Datum, Firma, FirmaAnrede, FirmaName, Str, PLZ, +% Ort, Stelle, Rueckmeldung, Sonstiges +% +% +% \begin{macro}{\getBewerbung} +% Get the information of the current company out of the table +% \begin{macrocode} +\providecommand{\getBewerbung}[1][anschrift.csv]{ + \IfFileExists{#1}{% +% \end{macrocode} +% load the table +% \begin{macrocode} + \DTLloaddb[ % + ]{anschrift}{#1} % +% \end{macrocode} +% 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) +% \begin{macrocode} + \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.} % + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\runKomaVar} +% Change the komavars for komacv implementation of this project +% \begin{macrocode} +\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}{} % +% \end{macrocode} +%\iffalse +%% \renewcommand*{\title}{\}% PDF metadata +%\fi +% \begin{macrocode} + \renewcommand*{\firstname}{\vorname} % + \renewcommand*{\familyname}{\name} % +% \end{macrocode} +%\iffalse +%% \renewcommand*{\acadtitle}{} +%\fi +% \begin{macrocode} + \renewcommand*{\addressstreet}{\street} % + \renewcommand*{\addresscity}{\plz\xspace\stadt} % + \renewcommand*{\address}{\street\\\plz\xspace\stadt} % + \renewcommand*{\phonenr}{\tel} % +% \end{macrocode} +%\iffalse +%% \renewcommand*{\extrainfo}{Some extra info} +%\fi +% \begin{macrocode} +} % +% \end{macrocode} +% Provide the right paper for a nice titlepage +% \begin{macrocode} +\ProvideDocumentEnvironment{titlepage}{}{% + \thispagestyle{empty} % + \newgeometry{top=4cm,left=3cm,right=2.5cm,bottom=2cm} % +}{ % + \clearpage % + \restoregeometry % +} % +% \end{macrocode} +% This environment will make a nice letter to you company +% \begin{macrocode} +\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} +} +% \end{macrocode} +% \end{macro} +% +% This environment will produce a nice cv like komacv +% but within the same document +% \begin{macrocode} +\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 +} +% \end{macrocode} +% +% \begin{macro}{\makePerson} +% Make the entry of your personality in the cv-environment +% \begin{macrocode} +\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} % +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\argetabelle} +% Print a table with all your latest applications +% \begin{macrocode} +\providecommand{\argetabelle}[1][anschrift.csv]{ % + \IfFileExists{#1}{% +% \end{macrocode} +% load the table +% \begin{macrocode} + \DTLloaddb{anschrift}{anschrift.csv} % +% \end{macrocode} +% create a nice table environment for printing +% over more than one page +% \begin{macrocode} + \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 +% \end{macrocode} +% read the whole table-file and print it nicely into the table +% \begin{macrocode} + \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.} % + } % +} +% \end{macrocode} +% \end{macro} +% diff --git a/bewerbung/config.inc b/bewerbung/config.inc new file mode 100644 index 0000000..b48b2b9 --- /dev/null +++ b/bewerbung/config.inc @@ -0,0 +1,43 @@ +%\iffalse +%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +%% + +%% Konfiguration der eigenen Daten + +%% + +%\fi +% \begin{macrocode} + \Name{Musterfrau} + \Vorname{Maja} + \Street{Musterstraße 9} + \Plz{45878} + \Stadt{Musterstadt} + \MeinBeruf{Dipl.-Pädagogin (Univ.)} + \EMail{mail@email.com} + \Tel{03131~465488} + \Mobile{01534~6324524353} + \Sta{deutsch} + \GebDatum{31.02.1990} +% \end{macrocode} +%\iffalse +%% + +%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +%% + +%% +----Achtung--------------------------------------+ +%% + ID meint (Zeilennummer-1) und nicht das Feld id + +%% + Bsp: Eintrag in Zeile 48: ID 47 + +%% + + +%% + Außer der Klasse ahilbig-bewerbung wird die + +%% + Option idPlain mitgegeben. Dann wird nach dem + +%% + exakten Match im Feld id gesucht. + +%\fi +% \begin{macrocode} + \ID{1} +% \end{macrocode} +%\iffalse +%% +-------------------------------------------------+ +%\fi +% \begin{macrocode} + \Anhang{Abiturzeugnis.\newline Diplomzeugnis.}{% + \item Abiturzeugnis + \item Diplomzeugnis + } +% \end{macrocode} diff --git a/bewerbung/makedtx.pl b/bewerbung/makedtx.pl new file mode 100644 index 0000000..41516e7 --- /dev/null +++ b/bewerbung/makedtx.pl @@ -0,0 +1,979 @@ +#!/usr/bin/perl + +# File : makedtx +# Author : Nicola L. C. Talbot +# Date : 29 Oct 2004 +# Last Modified : 19 Aug 2007 +# Version : 0.94b + +# usage : makedtx [options] -src => -doc +# +# -h : help message +# -src => : e.g. -src "(foo)src\.(bar)=>$1.$2" will add foosrc.bar to .dtx to be extracted to foo.bar +# -doc : file containing documentation. +# -prefinale : text to add to dtx file just before \Finale (added to version 0.91b) +# : create .dtx and .ins + +use Getopt::Long; + +$version = "0.94b"; + +# process command line options + + %optctl = (); + +&GetOptions(\%optctl, "h", "help", "v", "src=s@", "doc=s", +"dir=s", "op=s", "askforoverwrite!", "ins!", +"preamble=s", "postamble=s", "setambles=s@", "macrocode=s@", +"author=s", "date=s", "stopeventually=s", +"prefinale=s", "codetitle=s", "comment=s@", +"version", "license=s") or &syntaxerror(); + +$srcdir = "."; +$patternop = "="; +$verbose = 0; +$noins = 0; +$askforoverwrite = 0; +$preamble = ""; +$postamble = ""; +$author = (getpwuid($<))[6] || 'Unknown'; +$stopeventually = ""; +$prefinale = ""; +$codetitle = "The Code"; +$license = "lppl"; + +($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); + +$year = $year + 1900; + +foreach $setting (keys %optctl) +{ + if (($setting eq "h") || ($setting eq "help")) + { + &help(); + } + elsif ($setting eq "version") + { + die "makedtx version $version\n"; + } + elsif ($setting eq "doc") + { + $docsrc = $optctl{$setting}; + } + elsif ($setting eq "src") + { + @source = @{ $optctl{$setting} }; + } + elsif ($setting eq "dir") + { + $srcdir = $optctl{$setting}; + } + elsif ($setting eq "op") + { + $patternop = $optctl{$setting}; + } + elsif ($setting eq "v") + { + $verbose = 1; + } + elsif ($setting eq "ins") + { + $noins = 1-$optctl{$setting}; + } + elsif ($setting eq "askforoverwrite") + { + $askforoverwrite = $optctl{$setting}; + } + elsif ($setting eq "preamble") + { + $preamble = $optctl{$setting}; + } + elsif ($setting eq "postamble") + { + $postamble = $optctl{$setting}; + } + elsif ($setting eq "setambles") + { + @setambles = @{ $optctl{$setting} }; + } + elsif ($setting eq "macrocode") + { + @macrocode = @{ $optctl{$setting} }; + } + elsif ($setting eq "author") + { + $author = $optctl{$setting}; + } + elsif ($setting eq "date") + { + $year = $optctl{$setting}; + } + elsif ($setting eq "stopeventually") + { + $stopeventually = $optctl{$setting}; + } + elsif ($setting eq "prefinale") + { + $prefinale = $optctl{$setting}; + } + elsif ($setting eq "codetitle") + { + $codetitle = $optctl{$setting}; + } + elsif ($setting eq "comment") + { + @comment = @{ $optctl{$setting} }; + } + elsif ($setting eq "license") + { + $license = $optctl{$setting}; + } +} + +if ($#ARGV != 0) +{ + print "No basename specified\n"; + &syntaxerror(); +} + +$basename = $ARGV[0]; + +if ($docsrc eq "") +{ + print "No document source specified (missing -doc)\n"; + &syntaxerror(); +} + +if ($#source == -1) +{ + print "No source code specified (missing -src)\n"; + &syntaxerror(); +} + +open DTX, ">$basename.dtx" or die "Can't open '$basename.dtx'\n"; + +if ($verbose) +{ + print "Documentation source : " . $docsrc . "\n"; +} + +# work out the derived files + + @srcdirfile = glob("$srcdir/*"); + + @derivedfiles = (); + + @outputfiles = (); + +$numoutput = 0; + +foreach $source (@source) +{ + ($infile, $outfile, $remainder) = split /=>/, $source; + + if ($outfile eq "") + { + print "-src $source argument invalid (no output file specified)\n"; + + &syntaxerror(); + } + + if (not ($remainder eq "")) + { + print "-src $source argument invalid (too many => specified)\n"; + + &syntaxerror(); + } + + foreach $srcdirfile (@srcdirfile) + { + $fileexp = $srcdir . "/" . $infile; + + $_ = $srcdirfile; + + $expr = "s$patternop$fileexp$patternop$outfile$patternop"; + + if (eval($expr)) + { + $thisoutfile = $_; + + $thisinfile = $srcdirfile; + + $file{$thisinfile} = $thisoutfile; + $derivedfiles[$numoutput]{'in'} = $thisinfile; + $derivedfiles[$numoutput]{'out'} = $thisoutfile; + $outputfiles[$numoutput] = $thisoutfile; + + $numoutput++; + } + } +} + +if ($preamble eq "") +{ + if ($license eq "lppl") + { + $preamble = <<_END_LICENSE + + $basename.dtx + Copyright $year $author + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license of (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is $author. + +_END_LICENSE + } + elsif ($license eq 'bsd') + { + $preamble = <<_END_LICENSE + + $basename.dtx + Copyright (c) $year $author + All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +_END_LICENSE + } + elsif ($license eq 'gpl') + { + $preamble = <<_END_LICENSE + + $basename.dtx + Copyright (c) $year $author + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +_END_LICENSE + } + else + { + die "Unknown license '$license'\n". + "Known licenses: lppl, bsd, gpl"; + } + + $preamble .= " This work consists of the files " + . "$basename.dtx and $basename.ins and the derived " + . ($numoutput > 1 ? "files" : "file") + . " " . join(', ', @outputfiles) . ".\n"; +} + +open DOC, $docsrc or die "Can't open '$docsrc'\n"; + +print DTX "\%\\iffalse\n"; +print DTX "\% $basename.dtx generated using makedtx version $version (c) Nicola Talbot\n"; +print DTX "\% Command line args:\n"; + +foreach $setting (keys %optctl) +{ + if ($setting eq "src") + { + foreach $source (@source) + { + print DTX "\% -src \"$source\"\n"; + } + } + elsif ($setting eq "setambles") + { + foreach $setamble (@setambles) + { + print DTX "\% -setambles \"$setamble\"\n"; + } + } + elsif ($setting eq "macrocode") + { + foreach $macrocode (@macrocode) + { + print DTX "\% -macrocode \"$macrocode\"\n"; + } + } + elsif ($setting eq "comment") + { + foreach $comment (@comment) + { + print DTX "\% -comment \"$comment\"\n"; + } + } + else + { + $val = $optctl{$setting}; + $val=~s/\\/\\\\/g; + print DTX "\% -", $setting, " \"", $val, "\"\n"; + } +} + +print DTX "\% $basename\n"; + +print DTX "\% Created on $year/", $mon+1, "/$mday $hour:", $min<10?"0$min" : $min,"\n"; +print DTX "\%\\fi\n"; +print DTX "\%\\iffalse\n"; +print DTX "\%<*package>\n"; +print DTX "\%\% \\CharacterTable\n"; +print DTX "\%\% {Upper-case \\A\\B\\C\\D\\E\\F\\G\\H\\I\\J\\K\\L\\M\\N\\O\\P\\Q\\R\\S\\T\\U\\V\\W\\X\\Y\\Z\n"; +print DTX "\%\% Lower-case \\a\\b\\c\\d\\e\\f\\g\\h\\i\\j\\k\\l\\m\\n\\o\\p\\q\\r\\s\\t\\u\\v\\w\\x\\y\\z\n"; +print DTX "\%\% Digits \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\n"; +print DTX "\%\% Exclamation \\! Double quote \\\" Hash (number) \\#\n"; +print DTX "\%\% Dollar \\\$ Percent \\\% Ampersand \\&\n"; +print DTX "\%\% Acute accent \\\' Left paren \\( Right paren \\)\n"; +print DTX "\%\% Asterisk \\* Plus \\+ Comma \\,\n"; +print DTX "\%\% Minus \\- Point \\. Solidus \\/\n"; +print DTX "\%\% Colon \\: Semicolon \\; Less than \\<\n"; +print DTX "\%\% Equals \\= Greater than \\> Question mark \\?\n"; +print DTX "\%\% Commercial at \\\@ Left bracket \\[ Backslash \\\\\n"; +print DTX "\%\% Right bracket \\] Circumflex \\^ Underscore \\_\n"; +print DTX "\%\% Grave accent \\\` Left brace \\{ Vertical bar \\|\n"; +print DTX "\%\% Right brace \\} Tilde \\~}\n"; +print DTX "\%\n"; +print DTX "\%\\fi\n"; + +print DTX "\% \\iffalse\n"; +print DTX "\% Doc-Source file to use with LaTeX2e\n"; +print DTX "\% Copyright (C) $year $author, all rights reserved.\n"; +print DTX "\% \\fi\n"; + +# driver + +print DTX "\% \\iffalse\n"; +print DTX "\%<*driver>\n"; + +$indoc=0; + +while () +{ + s/\\usepackage{creatdtx}//; + + $restofline = $_; + + $beginline = ""; + $line = $restofline; + + while ($restofline =~ /(.*)\\ifmakedtx(.*)/) + { + $beginline = $1; + + ($group,$restofline,$done) = &getnextgroup($2); + + $startline = $.; + + while (!$done) + { + if ($nextline = ) + { + $line = $line . $nextline; + + $restofline = $restofline . $nextline; + + ($group,$restofline,$done) = &getnextgroup($restofline); + } + else + { + die "EOF found whilst scanning first argument to \\ifmakedtx on line $startline\n"; + } + } + + # print first arg, ignore second + + $beginline = $beginline . $group; + + ($group,$restofline,$done) = &getnextgroup($restofline); + + while (!$done) + { + if ($nextline = ) + { + $line = $line . $nextline; + + $restofline = $restofline . $nextline; + + ($group,$restofline,$done) = &getnextgroup($restofline); + } + else + { + die "EOF found whilst scanning second argument to \\ifmakedtx on line $startline\n"; + } + } + + $line = $restofline; + } + + $line = $beginline . $restofline; + + print DTX $line; + + if ($line=~/\\begin{document}/) + { + $indoc = 1; + + last; + } +} + +print DTX "\\DocInput{$basename.dtx}\n"; +print DTX "\\end{document}\n"; +print DTX "\%\n"; +print DTX "\%\\fi\n"; + +$inverb=0; +$stopfound=0; + +print DTX "\%"; + +while () +{ + if (/\\begin{verbatim}/) + { + $inverb=1; + } + + if (/\\end{verbatim}/) + { + $inverb=0; + } + + if (/\\StopEventually/ && ($inverb==0)) + { + $stopfound=1; + } + + $restofline = $_; + + $beginline = ""; + $line = $restofline; + + while ($restofline =~ /(.*)\\ifmakedtx(.*)/) + { + $beginline = $1; + + ($group,$restofline,$done) = &getnextgroup($2); + + $startline = $.; + + while (!$done) + { + if ($nextline = ) + { + $line = $line . $nextline; + + $restofline = $restofline . $nextline; + + ($group,$restofline,$done) = &getnextgroup($restofline); + } + else + { + die "EOF found whilst scanning first argument to \\ifmakedtx on line $startline\n"; + } + } + + # print first arg, ignore second + + $beginline = $beginline . $group; + + ($group,$restofline,$done) = &getnextgroup($restofline); + + while (!$done) + { + if ($nextline = ) + { + $line = $line . $nextline; + + $restofline = $restofline . $nextline; + + ($group,$restofline,$done) = &getnextgroup($restofline); + } + else + { + die "EOF found whilst scanning second argument to \\ifmakedtx on line $startline\n"; + } + } + + $line = $restofline; + } + + $line = $beginline . $restofline; + + if (($line=~/\\end{document}/) and not $inverb) + { + $indoc=0; + + $line=~s/\\end{document}//; + } + + $line=~s/\n/\n\%/mg; + + print DTX "$line"; +} + +close DOC; + +print DTX "\n"; + +if ($stopfound==0) +{ + print DTX "\%\\StopEventually{$stopeventually}\n"; +} + +print DTX "\%\\section{$codetitle}\n"; + +for (my $idx = 0; $idx <= $#derivedfiles; $idx++) +{ + $thisinfile = $derivedfiles[$idx]{'in'}; + $thisoutfile = $derivedfiles[$idx]{'out'}; + + if ($verbose) + { + print "$srcdirfile -> $_ \n"; + } + + open SRC, $thisinfile or die "Can't open $thisinfile\n"; + + print DTX "\%\\iffalse\n"; + print DTX "\% \\begin{macrocode}\n"; + print DTX "\%<*$thisoutfile>\n"; + print DTX "\% \\end{macrocode}\n"; + print DTX "\%\\fi\n"; + + $macrocode = 0; + $comment = 0; + + foreach $expr (@comment) + { + if ($thisoutfile =~ m/$expr/) + { + print DTX "\%\\iffalse\n"; + + $comment = 1; + } + } + + foreach $expr (@macrocode) + { + if ($thisoutfile =~ m/$expr/) + { + print DTX "\% \\begin{macrocode}\n"; + + $macrocode = 1; + } + } + + while () + { + print DTX "$_"; + } + + if ($macrocode == 1) + { + print DTX "\% \\end{macrocode}\n"; + } + + if ($comment == 1) + { + print DTX "\%\\fi\n"; + } + + print DTX "\%\\iffalse\n"; + print DTX "\% \\begin{macrocode}\n"; + print DTX "\%\n"; + print DTX "\% \\end{macrocode}\n"; + print DTX "\%\\fi\n"; + + close SRC; +} + +print DTX "\%$prefinale\n" if ($prefinale); +print DTX "\%\\Finale\n"; +print DTX "\\endinput\n"; + +close DTX; + +if (!$noins) +{ + open INS, ">$basename.ins" or die "Can't open '$basename.ins'\n"; + + print INS "\% $basename.ins generated using makedtx version $version $year/",$mon+1,"/$mday $hour:", $min<10?"0$min":$min,"\n"; + + print INS "\\input docstrip\n\n"; + print INS "\\preamble\n"; + print INS "$preamble\n"; + print INS "\\endpreamble\n\n"; + + if ($postamble ne "") + { + print INS "\\postamble\n"; + print INS "$postamble\n"; + print INS "\\endpostamble\n\n"; + } + + if ($askforoverwrite) + { + print INS "\\askforoverwritetrue\n\n"; + } + else + { + print INS "\\askforoverwritefalse\n\n"; + } + + print INS "\\generate{"; + + for (my $idx = 0; $idx <= $#derivedfiles; $idx++) + { + $file = $derivedfiles[$idx]{'in'}; + $outfile = $derivedfiles[$idx]{'out'}; + + print INS "\\file{$outfile}{"; + + $ambleset = 0; + $noamble = 0; + + foreach $setamble (@setambles) + { + ($fileexp, $amble, $remainder) = split /=>/, $setamble; + + if (not ($remainder eq "")) + { + die "-setambles $setamble argument invalid (too many => specified)\n"; + } + + if ($outfile =~ m/$fileexp/) + { + if ($verbose) + { + print "$fileexp matches $outfile -> setting \"$amble\"\n"; + } + + print INS $amble; + + $ambleset = 1; + + if ($amble =~ m/\\nopreamble/) + { + $noamble = 1; + } + } + } + + if (!$ambleset) + { + print INS "\\usepreamble\\defaultpreamble\n\\usepostamble\\defaultpostamble"; + } + + print INS "\\from{$basename.dtx}{$outfile"; + + if ($noamble == 0) + { + # this will add the character table to all files except those that use \nopreamble + + print INS ",package"; + } + + print INS "}}\n"; + } + + print INS "}\n\n"; + + print INS "\\endbatchfile\n"; + + close INS; +} + +sub syntaxerror +{ + die "Syntax : makedtx [options] \nUse -h for help\n"; +} + +sub help +{ + print "makedtx Help\n\n"; + + print "Current Version : $version\n\n"; + + print "usage : makedtx [options] -src \"=>\" -doc \n\n"; + + print "makedtx can be used to construct a LaTeX2e dtx and ins file from\n"; + print "the specified source code. The final command line argument\n"; + print " should be used to specify the basename of the dtx\n"; + print "and ins files.\n\n"; + + print "-src \"=>\"\n"; + print "The command line switch -src identifies the original source code and the name\n"; + print "of the file to which it will utimately be extracted on latexing the ins file\n"; + print " can be a Perl expression, such as (foo)src.(sty), and can\n"; + print "a Perl substitution style expression, such as $1.$2\n"; + print "Note that double quotes must be used to prevent shell expansion\n"; + print "Multiple invocations of -src are permitted\n"; + print "See examples below.\n\n"; + + print "-doc \n"; + print "The name of the documentation source code. This should be a LaTeX2e document\n\n"; + + print "Optional Arguments:\n\n"; + + print "-dir : search for source files in \n"; + print "-op : set the pattern matching operator (default '$patternop')\n"; + print "-askforoverwrite : set askforoverwrite switch in INS file to true\n"; + print "-noaskforoverwrite : set askforoverwrite switch in INS file to false (default)\n"; + print "-preamble : set the preamble. Standard one inserted if omitted\n"; + print "-postamble : set the postamble.\n"; + print "-setambles \"=>\" : set pre- and postambles to if file matches pattern\n"; + print "-author : name of author (inserted into standard preamble. User name inserted if omitted)\n"; + print "-date : copyright date\n"; + print "-ins : create the ins file (default)\n"; + print "-noins : don't create the ins file\n"; + print "-prefinale : add immediately prior to \\Finale\n"; + print "-macrocode : surround any file which matches in a macrocode environment\n"; + print "-comment : surround any file which matches with \\iffalse \\fi pair\n"; + print "-codetitle : The title for the documented code section (default: The Code)\n"; + print "-license : use the given license for the preamble.\n"; + print " Known licenses: lppl (default), bsd, gpl.\n"; + print "-h : help message\n"; + print "-v : verbose\n\n"; + + print "Examples:\n\n"; + + print "Example 1:\n"; + print "Documenation is in foodoc.tex\n"; + print "Source code is in foosrc.sty. The final extracted version should be \n"; + print "called foo.sty. The dtx file should be called foo.dtx and the ins file\n"; + print " should be called foo.ins\n\n"; + + print "makedtx -src \"foosrc\\.sty=>foo.sty\" -doc foodoc.tex foo\n\n"; + + print "Example 2:\n"; + print "Documenation is in bardoc.tex\n"; + print "Source code is in barsrc.sty. The final extracted version should be\n"; + print "called bar.sty. Source code is also in barsrc.bst. The final extracted\n"; + print "version should be called bar.bst. The dtx file should be called bar.dtx and\n"; + print "the ins file should be called bar.ins\n\n"; + + print "makedtx -src \"barsrc\\.sty=>bar.sty\" -src \"barsrc\\.bst=>bar.bst\" -doc bardoc.tex bar\n\n"; + + print "Or\n\n"; + + print "makedtx -src \"barsrc\\.(bst|sty)=>bar.\$1\" -doc bardoc.tex bar\n\n"; + + die; +} + +sub eatinitialspaces +{ + my ($STR) = @_; + + while (substr($STR,0,1) eq "\s") + { + $STR = substr($STR,1); + } + + return $STR; +} + +sub getnextgroup +{ + my($curline) = @_; + + $curline = &eatinitialspaces($curline); + + # check to see if current string is blank + + if ($curline!~/[^\s]+/m) + { + return ("","",0); + } + + if (($group = substr($curline,0,1)) ne "{") + { + # next group hasn't been delimited with braces + # return first non-whitespace character + + $curline = substr($curline,1); + + # unless it's a backslash, in which case get command name + + if ($group eq "\\") + { + if ($curline=~/([a-zA-Z]+)(^[a-zA-Z].*)/m) + { + $group = $1; + + $curline = $2; + } + else + { + # command is made up of backslash followed by symbol + + $curline=~/([\W_0-9\s\\])(.*)/m; + + $group = $1; + + $curline = $2; + } + } + + return ($group,$curline,1); + } + + my $pos=index($curline, "{"); + my $startpos=$pos; + my $posopen=0; + my $posclose=0; + + my $bracelevel = 1; + + my $done=0; + + while (!$done) + { + $pos++; + + $posopen = index($curline, "{", $pos); + + # check to make sure it's not a \{ + + while ((substr($curline, $posopen-1,1) eq "\\") and ($posopen > 0)) + { + # count how many backlashes come before it. + + $i = $posopen-1; + + $numbs = 1; + + while ((substr($curline, $i-1,1) eq "\\") and ($i > 0)) + { + $numbs++; + $i--; + } + + # is $numbs is odd, we have a \{, otherwise we have \\{ + + if ($numbs%2 == 0) + { + last; + } + else + { + $posopen = index($curline, "{", $posopen+1); + } + } + + $posclose= index($curline, "}", $pos); + + # check to make sure it's not a \} + + while ((substr($curline, $posclose-1,1) eq "\\") and ($posclose > 0)) + { + # count how many backlashes come before it. + + $i = $posclose-1; + + $numbs = 1; + + while ((substr($curline, $i-1,1) eq "\\") and ($i > 0)) + { + $numbs++; + $i--; + } + + # is $numbs is odd, we have a \}, otherwise we have \\} + + if ($numbs%2 == 0) + { + last; + } + else + { + $posclose = index($curline, "}", $posclose+1); + } + } + + if (($posopen==-1) and ($posclose==-1)) + { + $done=1; + } + elsif ($posopen==-1) + { + $pos=$posclose; + + $bracelevel--; + + if ($bracelevel==0) + { + $group = substr($curline, $startpos+1, $pos-$startpos-1); + + $curline = substr($curline, $pos+1); + + return ($group,$curline,1); + } + } + elsif ($posclose==-1) + { + $pos=$posopen; + + $bracelevel++; + } + elsif ($posopen<$posclose) + { + $pos=$posopen; + + $bracelevel++; + } + elsif ($posclose<$posopen) + { + $pos=$posclose; + + $bracelevel--; + + if ($bracelevel==0) + { + $group = substr($curline, $startpos+1, $pos-$startpos-1); + + $curline = substr($curline, $pos+1); + + return ($group,$curline,1); + } + } + } + + # closing brace must be on another line + + return ("", $curline, 0); +} +1; diff --git a/bewerbung/neueBewerbung.sh b/bewerbung/neueBewerbung.sh new file mode 100644 index 0000000..34188cf --- /dev/null +++ b/bewerbung/neueBewerbung.sh @@ -0,0 +1,10 @@ +#!/bin/bash +mkdir -v $1 +cp -v bewerbung.tex $1/bewerbung-$1.tex +cp -v config.inc $1 +cd $1 +ln -sv ../Anhang ./Anhang +ln -sv ../Foto.jpg ./Foto.jpg +ln -sv ../Foto.pdf ./Foto.pdf +ln -sv ../anschrift.csv ./anschrift.csv +cd .. diff --git a/bewerbung/titlepage.inc b/bewerbung/titlepage.inc new file mode 100644 index 0000000..0a980ff --- /dev/null +++ b/bewerbung/titlepage.inc @@ -0,0 +1,64 @@ +% \begin{macrocode} +\begin{titlepage} + \begin{comment} + \applyCSVfile{../anschrift.csv}{ + \ifthenelse{\equal{\insertbyname{ID}}{\id}}{ + \renewcommand{\firma}{\insertbyname{Firma}} + \renewcommand{\firmaAnrede}{\insertbyname{FirmaAnrede}} + \renewcommand{\firmaName}{\insertbyname{FirmaName}} + \renewcommand{\firmaStreet}{\insertbyname{Str}} + \renewcommand{\firmaPlz}{\insertbyname{PLZ}} + \renewcommand{\firmaStadt}{\insertbyname{Ort}} + \renewcommand{\beruf}{\insertbyname{Stelle}} +% \end{macrocode} +%\iffalse +%% \hrule +%\fi +% \begin{macrocode} + \end{comment} + \begin{multicols*}{2}[][0cm] + \setlength{\columnseprule}{1pt} + + \textbf{\fullname}\\ + \textbf{\meinBeruf} \\ \ \\ + \street\\ + \plz\ \stadt\\ + \Letter\enskip \email\\ + \Telefon\enskip \tel\\ + \Mobilefone\enskip \mobile + + \vfill + \textbf{Inhalt} + \renewcommand{\labelitemi}{} + \begin{itemize} + \anhang[title] + \end{itemize} + \columnbreak + \vspace*{1.8cm} + \hspace*{0.5cm}\textsc{\Huge{\textbf{Bewerbung}}} + \vspace*{2cm} + \begin{flushleft} + \setlength{\parindent}{-0.1cm} + \leftskip=0.3cm + \hspace*{0.1cm}\textit{bei}\\ % hier gehört bei rein + \textbf{\bewerbungFirma}\\ + \bewerbungFirmaAnrede\ + \bewerbungFirmaName\\ + \bewerbungFirmaStr\\ + \bewerbungFirmaPlz\ \bewerbungFirmaOrt +% \end{macrocode} +% hier kann der Abstand zwischen Anschrift und Berufsbezeichnung eingestellt werden +% \begin{macrocode} + \vspace*{1.5cm} + \hspace*{0.1cm}\textit{als}\\ + \textbf{\bewerbungStelle}\\ + \end{flushleft} + \vfill + %\vfill + \hspace*{0.2cm}\includegraphics[width=5cm]{Foto.pdf} %\\ +% \end{macrocode} +% \ \\ +% \begin{macrocode} + \end{multicols*} +\end{titlepage} +% \end{macrocode} diff --git a/bewerbung_latest.zip b/bewerbung_latest.zip new file mode 100644 index 0000000..8467e17 Binary files /dev/null and b/bewerbung_latest.zip differ diff --git a/build b/build new file mode 100644 index 0000000..c01420b --- /dev/null +++ b/build @@ -0,0 +1,53 @@ +#!/bin/bash +echo "===================================================================" >> build.log +echo "=+-Lauf vom `date +%Y-%m-%d:%H:%M:%S`----------------------------------+=" >> build.log +sty2dtx -O -c bewerbung.sty -o bewerbung/bewerbung.sty >> build.log +sty2dtx -O -c bewerbung.cls -o bewerbung/bewerbung.cls >> build.log +sty2dtx -O -c argetabelle.cls -o bewerbung/argetabelle.cls >> build.log +sty2dtx -O -c bewerbung-cv.sty -o bewerbung/bewerbung-cv.sty >> build.log +sty2dtx -O -c bewerbung-cv-casual.sty -o bewerbung/bewerbung-cv-casual.sty >> build.log +sty2dtx -O -c bewerbung-cv-classic.sty -o bewerbung/bewerbung-cv-classic.sty >> build.log +sty2dtx -O -c bewerbung-cv-oldstyle.sty -o bewerbung/bewerbung-cv-oldstyle.sty >> build.log +sty2dtx -O -c config.inc -o bewerbung/config.inc >> build.log +sty2dtx -O -c titlepage.inc -o bewerbung/titlepage.inc >> build.log +echo "=+-sty2dtx abgeschlossen-----------------------------------------+=" >> build.log +cp -v argetabelle-example.tex bewerbung/ +cp -v bewerbung-example.tex bewerbung/ +cp -v anschrift.csv bewerbung/ +cp -v neueBewerbung.sh bewerbung/ +sed -e s/\\date\{[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\}/\\date\{`date +%Y-%m-%d`\}/1 dokumentation.tex > output.tex +rm dokumentation.tex +mv output.tex dokumentation.tex +sed "s/Version: [0-9].[0-9]*/Version: $1/1" README > /tmp/output.readme +sed "s/Last Change: [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/Last Change: `date +%Y-%m-%d`/1" /tmp/output.readme > output.readme +mv -v output.readme bewerbung/README +sed "s/Version: [0-9].[0-9]*/Version: $1/1" README_DE > /tmp/output.readme +sed "s/Last Change: [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/Last Change `date +%Y-%m-%d`/1" /tmp/output.readme > output_de.readme +mv -v output_de.readme bewerbung/README_DE +echo "=+-Kopieren und Anpassen abgeschlossen---------------------------+=" >> build.log +cd bewerbung +echo "=+-setze Beispiele-----------------------------------------------+=" >> build.log +latexmk -pdf argetabelle-example.tex +latexmk -pdf bewerbung-example.tex +echo "=+-Packe DTX-----------------------------------------------------+=" >> build.log +./makedtx.pl -src "(.*)\.sty=>\1.sty" -src "(.*)\.cls=>\1.cls" -doc ../dokumentation.tex \ + -src "neueBewerbung.sh=>neueBewerbung.sh" -src "(.*)\.inc=>\1.inc" \ + -macrocode "neueBewerbung.sh" -comment "neueBewerbung.sh"\ + -setambles "neueBewerbung.sh=>\\nopreamble\\nopostamble"\ + -comment "config.inc=>config.inc" \ + -date "`date +%Y-%m-%d:%H:%M:%S` -- Version $1" \ + -author "André Hilbig, mail@andrehilbig.de" -codetitle "Implementation" bewerbung +pdflatex bewerbung.dtx +CHECKSUM=$(grep "The checksum should be" bewerbung.log | grep -o "[0-9]*") +echo "The checksum is: $CHECKSUM" +sed -e s/CheckSum\{[0-9]*\}/CheckSum\{$CHECKSUM\}/1 bewerbung.dtx > output.dtx +rm bewerbung.dtx +mv output.dtx bewerbung.dtx +latexmk -pdf bewerbung.dtx +cd .. +#rm bewerbung_latest.zip +zip -r bewerbung_latest.zip bewerbung/bewerbung.dtx bewerbung/bewerbung.ins bewerbung/anschrift.csv \ + bewerbung/argetabelle-example.tex bewerbung/argetabelle-example.pdf bewerbung/bewerbung.pdf \ + bewerbung/bewerbung-example.tex bewerbung/bewerbung-example.pdf bewerbung/Foto.pdf \ + bewerbung/README bewerbung/README_DE + diff --git a/config.inc b/config.inc new file mode 100644 index 0000000..95199e3 --- /dev/null +++ b/config.inc @@ -0,0 +1,41 @@ +%\iffalse +%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +%% + +%% Konfiguration der eigenen Daten + +%% + +%\fi + \Name{Musterfrau} + \Vorname{Maja} + \Street{Musterstraße 9} + \Plz{45878} + \Stadt{Musterstadt} + \MeinBeruf{Dipl.-Pädagogin (Univ.)} + \EMail{mail@email.com} + \Tel{03131~465488} + \Mobile{01534~6324524353} + \Sta{deutsch} + \GebDatum{31.02.1990} +%\iffalse +%% + +%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +%% + +%% +----Achtung--------------------------------------+ +%% + ID meint (Zeilennummer-1) und nicht das Feld id + +%% + Bsp: Eintrag in Zeile 48: ID 47 + +%% + + +%% + Außer der Klasse ahilbig-bewerbung wird die + +%% + Option idPlain mitgegeben. Dann wird nach dem + +%% + exakten Match im Feld id gesucht. + +%\fi + \ID{1} +%\iffalse +%% +-------------------------------------------------+ +%\fi + \Anhang{Abiturzeugnis.\newline Diplomzeugnis.}{% + \item Abiturzeugnis + \item Diplomzeugnis + } +%\iffalse +%% + +%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +%\fi diff --git a/dokumentation.pdf b/dokumentation.pdf new file mode 100644 index 0000000..96766bb Binary files /dev/null and b/dokumentation.pdf differ diff --git a/dokumentation.synctex.gz b/dokumentation.synctex.gz new file mode 100644 index 0000000..76cd189 Binary files /dev/null and b/dokumentation.synctex.gz differ diff --git a/dokumentation.tex b/dokumentation.tex new file mode 100644 index 0000000..356fe5a --- /dev/null +++ b/dokumentation.tex @@ -0,0 +1,987 @@ +\documentclass[a4paper]{ltxdoc} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english,ngerman]{babel} +\usepackage{xparse,xargs} +\usepackage{newfloat} +\usepackage[usenames,dvipsnames,svgnames,table]{xcolor} +\definecolor{blau}{rgb}{0,0,0.75} +\definecolor{orange}{rgb}{0.8,0.3,0} +\usepackage{filecontents} +\begin{filecontents}{bewerbung.bib} + @electronic{komacv, + author = "Salome Södergan", + month = {Aug}, + year = "2014", + title = "komacv", + subtitle = "Typesetting a beuatiful CV with various style options", + url = {http://www.ctan.org/pkg/komacv}, + urldate = {2015-07-09}, + } + + @electronic{scrlttr2, + author = "Markus Kohm", + month = {Jul}, + year = "2015", + title = "scrlttr2", + subtitle = "Koma-Script ‘letter’ class", + url = {http://www.ctan.org/pkg/scrlttr2}, + urldate = {2015-07-09}, + } + + @electronic{datatool, + author = "Nicola Talbot", + year = "2014", + title = "datatool", + subtitle = "Tools to load and manipulate data", + url = {http://www.ctan.org/pkg/datatool}, + urldate = {2015-07-09}, + } + + @electronic{pdfpages, + author = "Andreas Matthias", + year = "2015", + title = "pdfpages", + subtitle = "Include PDF documents in LaTeX", + url = {http://www.ctan.org/pkg/pdfpages}, + urldate = {2015-07-09}, + } +\end{filecontents} +\usepackage[% + backend=biber, + sortlocale=de_DE, + style=authoryear, + bibencoding=UTF8, + block=space, + autocite=inline, + language=ngerman, +]{biblatex} +\addglobalbib{bewerbung.bib} +\renewcommand*{\mkbibnamelast}{\textsc} + +\DeclareCiteCommand{\citeauthorfull} + {% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex% + {\indexnames{labelname}} + {}% + \printnames[first-last]{author}} + {\multicitedelim} + {\usebibmacro{postnote}} + + +\usepackage{hyperref} +\hypersetup{% + pdftitle = {\LaTeX-classes and -packages for typesetting nice applications and % + tables of applications - \LaTeX-Klassen und -Pakete zum Setzen schöner % + Bewerbungsmappen und einer Übersichtstabelle zur Dokumentation der % + Bewerbungsversuche}, % + pdfsubject = {}, % + pdfkeywords = {LaTeX,CTAN,applications,bewerbungen,cv,lebenslauf,arge,Agentur für Arbeit}, % + pdfauthor = {Andr\'e Hilbig}, % + colorlinks = true, % + hypertexnames = true, % + linkcolor=blau, % + filecolor=orange, % + citecolor=blau, % + menucolor=orange, % + urlcolor=orange, % + breaklinks=true % +} + +\usepackage{graphics,graphicx,textcomp} +\usepackage{placeins,float,caption,prettyref} +\usepackage{pdfpages,listings,xspace} +\usepackage{amssymb,multicol,pdflscape} +\usepackage[german=guillemets]{csquotes} +\newrefformat{sec}{Abschnitt\,\ref{#1}, S.\,\pageref{#1}} +\newrefformat{paket}{Paket~\ref{#1}, S.\,\pageref{#1}} +\newrefformat{klasse}{Klasse~\ref{#1}, S.\,\pageref{#1}} +\newrefformat{fig}{Abb.\,\ref{#1}} +\newrefformat{tab}{Tab.\,\ref{#1}} +\newrefformat{bsp}{Bsp.\,\ref{#1}, S.\,\pageref{#1}} +\newcommand{\refMacro}[1]{Makro \texttt{\textbackslash#1}, S.\,\pageref{#1}} +\DeclareFloatingEnvironment[name={Bsp.}, + listname={Beispielverzeichnis}, within=section]{example} +\floatstyle{ruled} +\restylefloat{example} +\NewDocumentEnvironment{beispiel}{o o m}{ + \begin{example}[ht!] + \centering + \vspace{0.2cm} + \IfNoValueTF{#2}{ + \caption{#3} + }{ + \caption[#2]{#3} + } + }{ + \IfNoValueTF{#1}{ + \label{\theexample} + }{ + \label{#1} + } + \vspace{0.2cm} + \end{example} + } +\DisableCrossrefs +\makeatletter +\makeatother +\lstset{ % + language=[LaTeX]TeX, + basicstyle=\small, + numbers=left, + numberstyle=\footnotesize, + stepnumber=1, + numbersep=5pt, + backgroundcolor=\color{Peach!30!white}, + showspaces=false, + showstringspaces=false, + showtabs=false, + frame=single, + tabsize=2, + resetmargins=true, + captionpos=b, + title={}, + caption={}, + breaklines=true, + breakautoindent=true, + prebreak=\mbox{ $\curvearrowright$}, + postbreak=\mbox{$\rightsquigarrow$ }, + linewidth=\columnwidth, + breakatwhitespace=true, + numberstyle=\tiny\color{gray}, + keywordstyle=\color{OliveGreen}\textbf, + commentstyle=\color{gray}\itshape, + stringstyle=\color{mauve}, + morekeywords={ + minisec, subsection, glqq, grqq, euro, Name, Vorname, Street, + Plz, Stadt, MeinBeruf, EMail, Tel, Mobile, Sta, GebDatum, ID, + Anhang, includepdf, includepdfmerge, cventry, cvlistitem, + cvlanguage, definecolor, maketitle, makePerson, cp, ln, mkdir, + todayOrt, todayDatum, + }, + literate=% + {Ö}{{\"O}}1 + {Ä}{{\"A}}1 + {Ü}{{\"U}}1 + {ß}{\ss}2 + {ü}{{\"u}}1 + {ä}{{\"a}}1 + {ö}{{\"o}}1 + {»}{{\frqq}}4 + {«}{{\flqq}}4 + {~}{$\sim$}1 +} + +\xspaceaddexceptions{\guillemotright,\guillemotleft} + +\CheckSum{0} + + +\begin{document} + \title{\LaTeX-classes and -packages for typesetting nice applications and + tables of applications\newline\ \newline + \LaTeX-Klassen und -Pakete zum Setzen schöner Bewerbungsmappen und einer + Übersichtstabelle zur Dokumentation der Bewerbungsversuche} + \author{Andr\'e Hilbig \\ \texttt{mail@andrehilbig.de} \\ + \url{https://git.andrehilbig.de/ahilbig/vorlagebewerbung}} + \date{2022-01-17} + \maketitle + \begin{abstract} + \foreignlanguage{english}{ + This project has the aim to provide packages and classes for + typesetting an application with titlepage, letter, cv and + additional documents in just one document. Also there is a class + for printing a table with the latest applications that can be + shown to the german authorities. The data of the applications can + be edited in a simple csv file. + } + + Dieses Projekt hat das Ziel, Pakete und Klassen zum Setzen von + Bewerbungsmappen mit Titelseite, Brief, Lebenslauf und + zusätzlichen Dokumenten bereitzustellen. Außerdem gibt es eine + Klasse zum Setzen einer Tabelle mit den aktuellen + Bewerbungsversuchen, die der Agentur für Arbeit vorgelegt werden kann. Die + Daten der Bewerbungsversuche werden in einer simplen csv-Datei + verwaltet. + \end{abstract} +\begin{multicols}{2} + \tableofcontents +\end{multicols} +\vrule +\begin{multicols}{2} + \listofexample +\end{multicols} + \clearpage + \begingroup + \selectlanguage{english} + \section{Introduction} + There are a lot of great projects for writing documents of an application in \LaTeX. But they + all got two problems you will have to find a workaround for. A normal application has a + titlepage, a letter, a cv and some additional documents like your diploma. There is a package + or class in \LaTeX\ for every part -- but in the end your application is split up in at least + three documents you'll have to merge. Also you'll have to put the data of yourself and the + company you're writing to in every document in a different way. + + It's a little bit complicated to merge the functionality of all the different projects into one + document on \TeX-level, because you can not load different classes at one time. So I thought + of rewriting some of the packages. Mainly I want to thank \citeauthorfull{komacv} for his great + work. I simply copied his class and packages and rewrote the class to use it as a package. So + all the credit for the cv belongs to him. + + If you loose your job in germany, you'll have to report to the authorities every application you + wrote to get the small charity. Otherwise the charity gets smaller. I wanted to have a + document that \enquote{knows} all your latest applications and throws out a table for that + issue. Of course that is a job for the great \citetitle{datatool} project of + \citeauthorfull{datatool}. + + Last but not least there is the great \citetitle{scrlttr2} class for writing letters by + \citeauthorfull{scrlttr2}. I use it to print the letter within the document and added the + possibility to show a titlepage. + + \subsection{Thanks} + Of course without the \verb|CTAN|-project none of this could have happened. + + Special thanks goes to these three people for their awesome work: + \begin{itemize} + \item \citeauthorfull{scrlttr2} \autocite{scrlttr2}, + \item \citeauthorfull{komacv} \autocite{komacv} and + \item \citeauthorfull{datatool} \autocite{datatool}. + \end{itemize} + + \subsection{Hint} + This documentation is mainly written in german, because the package itself provides only + german macros. Aside from that it was designed to get applications and documentation for the + german authorities working together. Maybe the work could be usefull for non german too. Then + someone should write a wrapper for my macros -- in fact I did not touch so much of the + koma-internals of \verb|scrlttr2| or \verb|komacv|, perhaps it is not that bigger work. + + I think the authorities in Germany demand very much work of a person potentially not + responsible for her/his situation. You get only a very small charity. So you have to write a + huge amount of applications -- even to jobs you and the companies don't care about you applying + for. And of course you can not be trusted to really write applications like hell. Because of + that you'll have to show a documentation of all your applications to get your money. I thought + we'd need a \LaTeX-package to automate this stuff and so I made it. + \endgroup + \selectlanguage{ngerman} + + \section{Änderungen} + \begin{description} + \item[v1.0] Veröffentlichung + \item[v1.1] + \begin{itemize} + \item Leerzeichen in Anrede hinzugefügt + \item Kodierungs- und Spracheinstellungen aus der Klasse entfernt + \item Leerzeichenproblematiken entfernt + \item Satz in der Dokumentation überarbeitet + \item Kontaktdaten in den READMEs korrigiert + \end{itemize} + \end{description} + + \section{Installation} + \subsection{Automatische Installation} + Die Pakete sind über \verb|CTAN| verfügbar und können so über den \verb|tlmgr| bzw. die + Paketverwaltung des Betriebssystems\footnote{Leider halten viele Distributionen ihre + \LaTeX-Installationen nicht aktuell. Daher wird empfohlen die direkten Quellen, etwa von + |texlive|, zu verwenden.} abgerufen werden. + + \subsection{Manuelle Installation} + Falls eine automatisierte Installation nicht möglich ist, können die Pakete auch manuell + installiert werden. Es wird jedoch empfohlen, eine aktuelle Distribution zu verwenden, etwa + \verb|texlive2015|. Für Versionen davor kann keine Kompatibilität gewährleistet werden. Zur + Installation werden die Dateien \verb|bewerbung.ins| und \verb|bewerbung.dtx| benötigt. + Ergänzend können die Beispieldateien \verb|bewerbung.tex|, \verb|argetabelle.tex| und + \verb|Foto.pdf| sinnvoll sein. + + \begin{itemize} + \item Erzeugung der Paket- und Klassendateien + + \begin{lstlisting}[gobble=9,numbers=none,language=bash,% + linewidth=0.7\textwidth,resetmargins=false] + latex bewerbung.dtx + \end{lstlisting} + \item Die erzeugten Paket- (*.sty) und Klassendateien (*.cls) und die Datei + \verb|titlepage.inc| müssen in einem für \TeX\ lesbarem Verzeichnis platziert werden. Für + eine lokale Installation bietet sich dafür + + \verb|~/texmf/tex/latex/bewerbung/| + + an. + \item Außerdem wird die Datei \verb|config.inc| erzeugt. Diese Datei stellt die + Konfiguration der jeweiligen Bewerbung dar. Daher sollte diese Datei immer in das jeweils + aktuelle Verzeichnis kopiert werden (vgl. \prettyref{sec:struktur}). + \item Aktualisieren der \TeX-Distribution + + \begin{lstlisting}[gobble=9,numbers=none,language=bash,% + linewidth=0.7\textwidth,resetmargins=false] + texhash + \end{lstlisting} + \item Erzeugen der Dokumentation + + \begin{lstlisting}[gobble=9,numbers=none,language=bash,% + linewidth=0.7\textwidth,resetmargins=false] + latexmk -pdf bewerbung.dtx + \end{lstlisting} + \end{itemize} + + \section{Benutzung}\label{sec:benutzung} + \subsection{Konfigurationen}\label{sec:konfiguration} + \subsubsection{Eigene Person}\label{sec:eigeneperson} + Bei der Erstellung wurde die Datei \verb|config.inc| erzeugt. In dieser Datei werden die + persönlichen Informationen konfiguriert. Die Datei wird beim Erstellen einer + Bewerbungsmappe (vgl. \prettyref{sec:bewerbungsmappe}) automatisch eingebunden und ist + notwendig. + + Die folgenden Makros definieren für eine \textit{konkrete} Bewerbung die persönlichen + Informationen. Als jeweils kleingeschriebenes Makro existiert ein Befehl, der im Dokument + verwendet werden kann, um diese Information zu drucken. Z.\,B. könnte |\name| zu + \enquote{Hilbig} führen. + + \DescribeMacro{\Vorname} + \DescribeMacro{\Name} + \DescribeMacro{\fullname} + Durch |\Vorname|\marg{Vorname} und |\Name|\marg{Vorname} können Vor- und Nachname + festgelegt werden. Das Makro |\fullname|\oarg{Reihenfolge} wird aus |\Name| und + |\Vorname| erstellt und gibt bei Verwendung ohne Argument den vollen Namen inklusive des + Vornamens aus, z.\,B. \enquote{André Hilbig}. Soll die Reihenfolge von Vor- und Nachname + durch ein Komma getrennt ausgegeben werden, so sollte |\fullname[verkehrt]| gewählt + werden: \enquote{Hilbig, André}. + + \DescribeMacro{\Street} + \DescribeMacro{\Plz} + \DescribeMacro{\Stadt} + Über |\Street|\marg{Straße Hnr.} kann die Straße mit Hausnummer festgelegt + werden.\footnote{Mit Absicht wurde hier aus Kompatibilitätsgründen die englische + Schreibweise für das Makro gewählt, da \textit{Straße} bzw. \textit{Strasse} zu + Kompatibilitätsproblemen führten.} + Mit |\Plz|\marg{Postleitzahl} und |\Stadt|\marg{Stadt} können Postleitzahl und Ort + festgelegt werden. + + \DescribeMacro{\anschrift} + Aus |\Street|, |\Plz| und |\Stadt| wird die Anschrift zusammengesetzt und bei Angabe von + |\anschrift|\oarg{Umbruch} ohne optionalem Argument mit einem Umbruch nach der Straße + ausgegeben. Wird |\anschrift[none]| gewählt, wird die Straße durch ein Komma vom Ort + getrennt. + + \DescribeMacro{\MeinBeruf} + Über |\MeinBeruf|\marg{Berufsbezeichnung} kann die eigene Berufsbezeichnung festgelegt + werden. Diese wird etwa im Lebenslauf und auf der Titelseite verwendet. Sie stellt jedoch + nicht die Bezeichnung der zu bewerbenden Stelle dar. Diese wird gesondert + (vgl. \prettyref{sec:bewerbung}) angegeben. + + \DescribeMacro{\Tel} + \DescribeMacro{\Mobile} + \DescribeMacro{\EMail} + Über + + \noindent|\Tel|\marg{Telefonnummer}, + + \noindent|\Mobile|\marg{Mobiltelefonnummer} und + + \noindent|\EMail|\marg{E-Mail} + + können Telefonnumer, zusätzliche Mobilnummer und eine E"~Mailadresse + angegeben werden. + + \DescribeMacro{\Sta} + \DescribeMacro{\GebDatum} + Der Befehl |\Sta|\marg{Staatsangehörigkeit} legt die Staatsangehörigkeit fest und + |\GebDatum|\marg{Geburtsdatum} definiert das Geburtsdatum. + + \DescribeMacro{\LebenslaufTitel} + Der Befehl |\LebenslaufTitel|\marg{Titel} ändert den Titel des Lebenslauf. Standardmäßig + wird \textit{Curriculum Vitae} verwendet. So kann bspw. auch \textit{Lebenslauf} als Titel + gesetzt werden. + + \DescribeMacro{\ID} + Durch das Makro |\ID|\marg{Identifikation} wird die Nummer der aktuellen Bewerbung + angegeben. Damit werden die Daten der aktuellen Bewerbung aus einer Datei ausgelesen. + Diese Datei enthält pro Zeile eine Bewerbung, die durch einen Eintrag \textit{ID} + identifiziert wird. Die mit dem Makro eingegebene Identifikation stellt entweder die + gemeinte \textbf{Zeile} oder die Bewerbung mit der entsprechenden \textbf{ID} (vgl. + \prettyref{sec:bewerbung}) dar. + + Der Klasse |bewerbung| kann die Option |idPlain| übergeben werden. Dann wird nach + der exakten Übereinstimmung der hier notierten Identifikation mit dem Feld ID gesucht. + Dies muss keine Zahl sein. Wird keine Option übergeben wird die notierte Zahl als + Zeilennummer startend bei 0 interpretiert. + + \DescribeMacro{\Anhang}\label{Anhang} + An zwei Stellen in einer Bewerbung werden angehangene Dokumente ausgewiesen: Titelseite + und Anschreiben. Dabei handelt es sich um Anschreiben und Lebenslauf bzw. nur den + Lebenslauf. Werden zusätzliche Dokumente angehangen sollten diese mit + |\Anhang|\marg{Liste}\marg{Aufzählung} hinzugefügt werden. Allerdings müssen die Dokumente + im Makro doppelt angegeben werden. Zuerst werden sie in einer Liste mit einem Punkt endend + und getrennt durch |\newline| notiert. Danach als Aufzählung mit einem vorangestellten + |\item|. So wird die korrekte Darstellung in Titelseite und Anschreiben sichergestellt + (vgl. \prettyref{bsp:konfiguration}). + + \textit{Hinweis:} Die hier angegebenen Dokumente werden nicht automatisch eingebunden, + sondern sollten manuell hinzugefügt werden. Es werden lediglich die angegebenen + Bezeichnungen als Text eingefügt. + + \DescribeMacro{\todayOrt} + \DescribeMacro{\todayDatum} + Der Lebenslauf wird typischerweise unter Ausweisung eines Ortes und Datums unterschrieben. + Im Anschreiben wird ebenfalls das aktuelle Datum ausgewiesen. Um den Ort und dieses Datum + zu konfigurieren stehen die Makros |\todayOrt|\marg{Ort} und |\today|Datum\marg{Datum} zur + Verfügung. + + Werden diese Werte nicht gesetzt, so wird automatisch |\stadt| als Ort und |\today| als + Datum verwendet. + + \begin{beispiel}[bsp:konfiguration][Konfiguration der persönlichen Informationen]{% + Beispiel einer möglichen Konfiguration der persönlichen Informationen} + \begin{lstlisting}[gobble=15,caption={}] + \Name{Musterfrau} + \Vorname{Maja} + \Street{Musterstraße 9} + \Plz{45878} + \Stadt{Musterstadt} + \MeinBeruf{Dipl.-Pädagogin (Univ.)} + \EMail{mail@email.com} + \Tel{03131~465488} + \Mobile{01534~6324524353} + \Sta{deutsch} + \GebDatum{31.02.1990} + \todayOrt{Musterstadt} + \todayDatum{12.12.2012} + + \ID{47} + \Anhang{Abiturzeugnis.\newline Diplomzeugnis.}{% + \item Abiturzeugnis + \item Diplomzeugnis + } + \end{lstlisting} + \end{beispiel} + + \subsubsection[Bewerbungen]{Bewerbungsversuche}\label{sec:bewerbung} + Sämtliche zu verwaltenden Bewerbungen werden in einer csv-Datei abgespeichert. Vor allem die + Tabelle zur Dokumentation (vgl. \prettyref{sec:dokutabelle}) verwendet sämtliche Einträge. + Jedoch wird auch die jeweilige Anschrift etc. der Firma in der Bewerbungsmappe (vgl. + \prettyref{sec:bewerbungsmappe}) daraus ausgelesen. Die Syntax dieser Datei muss der im + folgenden beschriebenen entsprechen. + + Die Datei enthält in der ersten Zeile die Bezeichner aller Spalten jeweils getrennt durch + ein Komma. Es ist die hier aufgeführte Schreibweise \textit{exakt} genauso zu + verwenden: + \begin{lstlisting}[% + numbers=none,gobble=11,% + language=bash,% + keywordstyle=\color{black},% + basicstyle={\tiny}% + ] + ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle,Rueckmeldung,Sonstiges + \end{lstlisting} + + \paragraph{Erläuterung der Spalten:} + \DescribeMacro{ID} + Jede Bewerbung wird in einer Zeile notiert. Dabei erhält jede Bewerbung zusätzlich einen + Identifikationsbezeichner, der jedoch leer gelassen werden kann. In der Bewerbungsmappe + erfolgt die Zuordnung einer konkreten Bewerbung entweder über die Zeile oder der hier + hinterlegten Identifikation. + + \DescribeMacro{KW} + \DescribeMacro{Datum} + Die Kalendarwoche muss angegeben werden, um die Dokumentationstabelle zur Vorlage bei der + Agentur für Arbeit zu formatieren. Das Datum der Bewerbung wird sowohl in der Tabelle als + auch der Bewerbungsmappe benutzt. + + \DescribeMacro{Firma} + \DescribeMacro{FirmaAnrede} + \DescribeMacro{FirmaName} + Im Anschreiben setzt sich die Anschrift und Anrede jeweils aus |FirmaAnrede| und |FirmaName| + zusammen. Dabei kann die Anrede mit Herr oder Frau erfolgen. Theoretisch sind auch beliebige + Werte möglich. Dann sollte jedoch die automatische Konfiguration der Anrede im Anschreiben + angepasst werden (vgl. \prettyref{sec:anschreiben}). Im Feld |Firma| kann die Bezeichnung + der Firma hinterlegt werden. + + \DescribeMacro{Str} + \DescribeMacro{PLZ} + \DescribeMacro{Ort} + Die Postanschrift der Bewerbung kann über |Str|, |PLZ| und |Ort| konfiguriert werden. + + \DescribeMacro{Stelle} + Die meisten Bewerbungen haben eine konkrete Stellenbezeichnung, die unter Umständen von der + eigenen Berufsbezeichnung abweicht. In |Stelle| kann die Bezeichnung angegeben werden. + + \DescribeMacro{Rueckmeldung} + Für die Agentur für Arbeit muss ausgewiesen werden, welche Art von Rückmeldung auf die + geschriebene Bewerbung durch den Arbeitgeber erfolgt ist. Dies ist vor allem bei Stellen, + die von der Agentur für Arbeit vermittelt wurden, wichtig, da hier die Arbeitgeber teilweise + überprüft werden. + + Sinnvolle Werte könnten \enquote{keine Rückmeldung}, \enquote{Absage}, \enquote{Einladung} + usw. sein. + + \DescribeMacro{Sonstiges} + Ein zusätzliches Feld, das in der Dokumentationstabelle aufgeführt wird, kann hier mit + zusätzlichen Hinweisen an die Agentur für Arbeit gefüllt werden. + + \begin{beispiel}[bsp:anschrift][Auflistung der Bewerbungsversuche]{% + Beispiel für eine mögliche Auflistung der Bewerbungsversuche} + \begin{lstlisting}[language=bash,gobble=13,caption={},stepnumber=1] + ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle, Rueckmeldung,Sonstiges + 2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n + 1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n + \end{lstlisting} + \end{beispiel} + + \paragraph{Zusätzliche Hinweise} + \begin{description} + \item[Datei] Die Datei sollte als |anschrift.csv| benannt werden. Wird ein anderer + Dateiname gewünscht, so kann dies über die Option |anschrift| der Klasse |bewerbung| + übergeben werden. Sie sollte im selben Verzeichnis wie die zu setzende Bewerbungsmappe + platziert werden. Hier kann ein entsprechender logischer Link nützlich sein. + \item[Kodierung] Die Datei sollte als |UTF-8| kodiert werden, um Umlaute usw. korrekt + darzustellen. Zusätzlich können einzelne Einträge mit doppelten Anführungszeichen + markiert werden. + \item[GUI] Selbstverständlich können graphische Programme, etwa |libreoffice|, zur + Verwaltung dieser Datei verwendet werden. Es zeigte sich jedoch, dass hierbei häufig + Kodierungsprobleme entstehen. Daher sollte bei Fehlern die Kodierung per Hand + kontrolliert werden. + \item[Feldtrenner] Die Spalten bzw. Felder werden standardmäßig über ein Komma getrennt. + Entsprechend den Befehlen aus \cite{datatool} ist es sicherlich möglich den Feldtrenner + manuell zu ändern. Hier sei auf die entsprechende Dokumentation verwiesen. + \end{description} + + \subsubsection{Struktur}\label{sec:struktur} + Prinzipiell ist es nicht notwendig eine besondere Verzeichnisstruktur einzuhalten. Allerdings + erleichtert es die Arbeit deutlich, wenn einige Dateien und Verzeichnisse am selben Ort + liegen. Die folgenden Erläuterungen stellen eine beispielhafte Beschreibung einer sinnvollen + Struktur dar. + + \begin{lstlisting}[numbers=none,gobble=9,language=bash] + Bewerbungen: + | + +-----Anhang: + |-diplom.pdf + |-zeugnis.pdf + | + +-----bewerbung-Traumjob: + |-Anhang -> ../Anhang + |-Foto.pdf -> ../Foto.pdf + |-anschrift.csv -> ../anschrift.csv + |-bewerbung-Traumjob.tex + |-config.inc + |-Foto.pdf + |-anschrift.csv + |-argetabelle.tex + |-bewerbung.tex + |-config.inc + \end{lstlisting} + + Durch die symbolischen Links ist es möglich, die globalen Dateien |Foto.pdf| und + |anschrift.csv| sowie die Dateien im |Anhang/| praktisch vorzuhalten und Änderungen + entsprechend global vornehmen zu können. So kann beispielsweise |argetabelle.tex| immer + aktuell gesetzt werden -- dennoch blähen nicht viele einzelne Bewerbungen mit zugehörigen + Konfigurationsdateien das Verzeichnis auf. + + \paragraph{Anlegen einer neuen Bewerbung} + Sofern exakt diese Struktur gewählt wird, kann ein einfaches Script das Anlegen erleichtern. + \begin{lstlisting}[gobble=9,language=bash,title={Datei: \texttt{neueBewerbung.sh}}] + #!/bin/bash + mkdir -v $1 + cp -v bewerbung.tex $1/bewerbung-$1.tex + cp -v config.inc $1 + cd $1 + ln -sv ../Anhang ./Anhang + ln -sv ../Foto.jpg ./Foto.jpg + ln -sv ../Foto.pdf ./Foto.pdf + ln -sv ../anschrift.csv ./anschrift.csv + cd .. + \end{lstlisting} + Das Script erwartet als Argument einen eindeutigen Bezeichner für die neue Bewerbung. + \textit{Vorsicht:} Bereits existierende Dateien werden überschrieben. + + \begin{lstlisting}[gobble=9,language=bash,numbers=none] + ./neueBewerbung bewerbung-LatexCompany + \end{lstlisting} + + \noindent So würde automatisch ein neues Verzeichnis |bewerbung-LatexCompany| mit allen + notwendigen Links angelegt. Außerdem werden aus dem Stammverzeichnis die Dateien + |bewerbung.tex| und |config.inc| kopiert und entsprechend umbenannt. Somit können diese im + Stammverzeichnis als eine Art Vorlage verwendet werden. In der Konfiguration müssen nun nur + noch die |ID| der aktuellen Bewerbung und in der |anschrift.csv| der entsprechende Eintrag + eingetragen werden. + + Das Script gehört zum Umfang dieses Pakets und kann somit auch über |CTAN| bezogen werden. + + \subsection[Bewerbungsmappe]{Erstellung einer Bewerbungsmappe}\label{sec:bewerbungsmappe} + Um eine neue Bewerbungsmappe anzulegen, wird eine \TeX-Datei mit der Klasse |bewerbung| + angelegt. Der Klasse können folgende Optionen übergeben werden: + \begin{description} + \item{|anschrift|} Hier kann eine alternative Datei zur Angabe der Bewerbungsversuche + |anschrift.csv| (vgl. \prettyref{sec:bewerbung}) angegeben werden, z.\,B. + |anschrift=versuche.csv|. + \item{|lebenslaufColor|} Hier wird das Farbthema des Lebenslaufs festgesetzt. Die + verfügbaren Themen entsprechen denen der |komacv|-Klasse \autocite{komacv}. Der Lebenslauf + wurde für |light-gray| optimiert. + \item{|lebenslaufStyle|} Hier kann der Stil des Lebenslaufs angegeben werde. Standardmäßig + wird |classic| verwendet. Dieser Stil wurde leicht an den aus |komacv| angepasst. Außerdem + wurden die Stile |casual| und |old-style| aus |komacv| ohne Bearbeitung importiert + \autocite[vgl.][]{komacv}. + \item{|idPlain|} In der Datei |anschrift| müssen bereits die aktuellen Daten zu + dieser Bewerbung vorliegen. Über den Befehl |\ID|\marg{Identifikation} kann die zu + verwendende Bewerbung angegeben werden (vgl. \prettyref{sec:konfiguration}). Durch die + Angabe der Option |idPlain| kann erzwungen werden, dass nach dem exakten Eintrag in + \textbf{ID} zur Verknüpfung gesucht werden soll (vgl. \prettyref{sec:bewerbung}). + Ansonsten wird die angegebene Nummer als Zeilennummer interpretiert. Dabei wird die erste + Zeile als 0 gewertet. + \end{description} + + \begin{beispiel}[bsp:documentclass][Laden der Klasse \texttt{bewerbung}]{% + Beispiel für die Angabe der Klasse bewerbung} + \begin{lstlisting}[gobble=11] + \documentclass[% + lebenslaufColor=light-gray,% + lebenslaufStyle=classic,% + idPlain% + ]{bewerbung} + \end{lstlisting} + + \begin{minipage}{\textwidth} + Sinnvoll sind gerade für den Einsatz im deutschen Sprachraum folgende Pakete, die in Version + v1.1 aus der Klasse entfernt wurden, um eine breitere Unterstützung bzgl. Sprach- und + Kodierungswahl zu ermöglichen (Dank an \textsc{Kohm} für die Hinweise). + \end{minipage} + + \begin{lstlisting}[gobble=11] + \usepackage[utf8]{inputenc} + \usepackage[T1]{fontenc} + \usepackage[ngerman]{babel} + \end{lstlisting} + \end{beispiel} + + Im selben Verzeichnis sollten eine |config.inc| (vgl. \prettyref{sec:eigeneperson}) und eine + |anschrift.csv| (vgl. \prettyref{sec:bewerbung}) platziert werden -- ggfs. als Link. Außerdem + wird die Datei |Foto.pdf| als einzubindendes Bild in der Titelseite verwendet. Entsprechende + Bilder in anderen Formaten müssen demnach umgewandelt werden, z.\,B. mit dem Tool + ImageMagick\footnote{\url{http://imagemagick.org/script/index.php} [zuletzt besucht + 2015-07-09]}: + + \begin{lstlisting}[numbers=none,gobble=9,language=bash] + convert Bild.jpg Foto.pdf + \end{lstlisting} + + \subsubsection{Titelseite}\label{sec:titelseite} + Die Titelseite wird automatisch konfiguriert und eingefügt. Sämtliche notwendigen Definitionen + werden geladen. + \begin{beispiel}[bsp:titelseite]{Beispiel für eine Titelseite} + \fbox{\includegraphics[page=1,scale=0.35]{bewerbung-example.pdf}} + \end{beispiel} + + \subsubsection{Anschreiben}\label{sec:anschreiben} + Das Anschreiben einer Bewerbung stellt einen Brief an den potentiellen Arbeitgeber dar. Je + ordentlicher dieser Brief gesetzt ist, desto angenehmer fällt der Personalchefin das Lesen und + desto eher fallen wichtige Inhalte auf. + + \DescribeEnv{anschreiben} + Innerhalb der Umgebung |{anschreiben}|\oarg{Anrede}\oarg{Enlarge} wird das Anschreiben + notiert. Die gedruckte Anrede wird automatisch aus den Inhalten der Felder |firmaAnrede| + |firmaName| generiert. Die Anpassung an den Genus der Anrede erfolgt über die Wahl von + \enquote{Frau} oder \enquote{Mann} in |firmaAnrede|. Alternativ kann das erste optionale + Argument mit dem richtigen Terminus von \enquote{geehrt} gesetzt werden. Dies kann hilfreich + sein, wenn die Anrede beispielsweise aus \enquote{Herr Dr.} besteht. + + Als Faustregel für ein gutes Anschreiben wird häufig genannt, dass nicht mehr als eine DinA4 + Seite verwendet werden sollte. Manchmal wird für einen einzelnen Satz eine neue Seite + angefangen, obwohl noch genügend leerer Platz zur Verfügung stünde. Hier versucht \LaTeX\ + einen Fließtext zu optimieren. Um dem entgegenzuwirken kann als zweites optionales Argument + eine Größeneinheit, z.\,B. |2em|, angegeben werden. Dann wird \LaTeX\ versuchen das + Anschreiben um die angegebene Länge zu strecken. + + Alle Optionen an |\documentclass{bewerbung}|, die nicht an diese Klasse gerichtet sind, werden + automatisch an |scrlttr2| \autocite[vgl.][]{scrlttr2} weitergereicht. Ansonsten werden + standardmäßig folgende Optionen geladen: + \begin{lstlisting}[gobble=9] + DIN, pagenumber=botright, backaddress=true, parskip=half, + fromalign=left, fromemail=true, fromfax=true, + fromphone=true, fromurl=false, fromalign=right, + fromlogo=false, fromrule=true, foldmarks=true, + paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false + \end{lstlisting} + Dadurch werden automatisch die deutschen DIN-Normen inklusive Schnittkanten gewählt. Als + Betreff wird »Bewerbung als |\meinBeruf|« gewählt. Über das Makro + |\setkomavar{subject}|\marg{Betreffstext} kann die Betreffszeile geändert werden, sofern hier + ein anderer Betreff gewünscht wird. + + Sollten zusätzlich zum Lebenslauf weitere Anhänge angehangen werden, können diese mit dem + \refMacro{Anhang} in |config.inc| ausgewiesen werden. + + \begin{beispiel}[bsp:anschreiben][Anschreiben]{Beispiel für ein Anschreiben} + \begin{lstlisting}[gobble=11] + \begin{anschreiben} + Hier kommt das Anschreiben hin + \end{anschreiben} + \end{lstlisting} + \fbox{\includegraphics[page=2,scale=0.4]{bewerbung-example.pdf}} + \end{beispiel} + \FloatBarrier + + \subsubsection{Lebenslauf}\label{sec:lebenslauf} + Jedem guten Bewerbungsschreiben sollte ein tabellarischer Lebenslauf angefügt werden. + Innerhalb dieses Dokuments wird nicht erläutert, welche Inhalte dort hinein gehören. Die + technische Realisierung basiert nahezu vollkommen auf der Arbeit von \citeauthorfull{komacv} + in \citetitle{komacv}. Einige Anpassungen und Ergänzungen wurden allerdings vor allem für das + Thema |classic| vorgenommen. Die hier aufgeführten Erklärungen beziehen sich nur auf einen + kleinen Teil der Möglichkeiten von |komacv|. Alle Makros und Umgebungen wurden vollständig + portiert und sind verfügbar. Damit ist das Importieren eines Dokumentes mit der Klasse + |komacv| (evtl. unter Verwendung von |standalone|) möglich. In jedem Fall sollte bei + tiefergehenden Fragen die entsprechende Dokumentation konsultiert werden + \autocite[vgl.][]{komacv}. + + \DescribeEnv{lebenslauf} + Die Umgebung |{lebenslauf}|\oarg{Listensymbol}\oarg{Addendum} erstellt einen Bereich in dem + sämtliche Befehle aus der Klasse |komacv| benutzt werden können. Über das erste optionale + Argument kann bei Bedarf das Listensymbol bei der Aufzählung von Einträgen durch Angabe von + |none| ausgeschaltet werden. Im zweiten optionalen Argument kann ein Addendum nach der + Unterschrift auf einer neuen Seite dem Lebenslauf angehangen werden. \textit{Achtung:} Um die + Register von \TeX\ nicht zu sprengen, dürfen hier zwar Sektionen und alle Befehle aus |komacv| + benutzt werden, jedoch dürfen keine Leerzeilen (im Zweifel auskommentieren) und erzwungene + Umbrüche mit |\\| (im Zweifel |\newline| verwenden) angegeben werden. + + \DescribeMacro{\maktitle} + Das Makro |\maketitle| wurde angepasst und sollte zu Beginn des Lebenslaufs aufgerufen werden, + um den Titelkopf aus |komacv| aufzurufen. + + \DescribeMacro{\makePerson} + Aus der Konfigurationsdatei werden die notwendigen Daten herausgelesen und ein passender + Eintrag für die eigene Person über |\makePerson| erzeugt. Dazu wird die Sektion + \enquote{Persönliche Angaben} mit |cvitem|s zu Name, Anschrift, Staatsangehörigkeit, + Geburtstdatum und eigenem Beruf angelegt. + + Der Befehl führt zu keinem erzwungenen Umbruch. Somit kann die Sektion beliebig erweitert + werden. + + \DescribeMacro{\cventry} + Mit |\cventry|\marg{Monat/Jahr}\marg{Bezeichnung}\marg{Ergänzung}\marg{Inhalt} kann + ein zeitlicher Eintrag nach |komacv| angelegt werden. + + \DescribeMacro{\cvlistitem} + Um in einer Sektion eine Aufzählung zu führen, kann |\cvlistitem|\marg{Eintrag} verwendet + werden. Die letzten beiden Beschreibungen sollten ausführlicher den entsprechenden + Dokumentationen zu |komacv| entnommen werden. + + \DescribeMacro{\cvlanguage} + \DescribeMacro{\cvitemwithcomment} + Der normalen |komacv|-Klasse fehlt eine Möglichkeit Sprachkenntnisse anzugeben. Mit dem + Wrapper |\cvlanguage|\marg{Sprache}\marg{Kenntnisse}\marg{Kommentar} kann dies erledigt + werden. Letztlich wird dadurch ein |\cvitemwithcomment| nach selber Syntax erzeugt, der auch + für andere kommentierte Aufzählungen bzw. Einträge verwendet werden kann. + + \begin{beispiel}[bsp:lebenslauf][Lebenslauf]{Beispiel für einen Lebenslauf} + \begin{lstlisting}[gobble=11] + \begin{lebenslauf}[none][] + \maketitle + \makePerson + + \section{Studium} + \cventry{03/13}{Abschluss: Dipl.-Pädagogin (Univ.)}{}{}{}{} + + \section{Führerschein} + \cvlistitem{Klasse B (eigener PKW)} + + \section{Sprachen} + \cvlanguage{Deutsch}{Muttersprache}{} + \cvlanguage{Englisch}{gut}{} + \end{lebenslauf} + \end{lstlisting} + \fbox{\includegraphics[page=3,scale=0.4]{bewerbung-example.pdf}} + \end{beispiel} + \FloatBarrier + + \subsubsection{Anhang}\label{sec:anhang} + Gerade bei Bewerbungen per E"~Mail ist es häufig notwendig digitale Kopien von Zeugnissen, + Zertifikaten usw. mitzuschicken. In jedem Fall sollten entsprechende Anhänge bei einer + schriftlichen Einreichung als Anhang auf dem Deckblatt und dem Anschreiben ausgewiesen werden. + \DescribeMacro{\Anhang} + Dazu sollte das Makro |\Anhang| verwendet werden (vgl. \refMacro{Anhang}). + + Um Anhänge nicht händisch an das PDF anzufügen, kann dies mit dem Paket \citetitle{pdfpages} + von \citeauthorfull{pdfpages} sehr elegant innerhalb des \TeX-Dokuments geschehen. Hier werden + dazu nur kleine Ausschnitte dieses mächtigen Werkzeugs dargestellt. Prinzipiell ist damit jede + nur erdenkliche Einbindung von Dateien im PDF"~Format möglich \autocite[vgl.][]{pdfpages}. + + \DescribeMacro{\includepdf} + Mit dem Befehl |\includepdf|\oarg{Optionen}\marg{Dateien} können PDF-Dateien beliebigen + Formats und Länge eingebunden werden. Bei Angabe ohne Optionen wird automatisch die erste + Seite im \textit{Vollbildmodus} über eine gesamte Seite in die Bewerbungsmappe integriert. + + Um etwa ein mehrseitiges Diplomzeugnis einzubinden, ist der Aufruf + \begin{lstlisting}[gobble=9,numbers=none] + \includepdf[pages=-]{diplomzeugnis.pdf} + \end{lstlisting} + sinnvoll. Die Option |pages=-| + weist |includepdf| dabei an, alle Seiten der Datei |diplomzeugnis.pdf| zu verwenden. Hier wäre + auch eine beliebige alphanumerische Angabe, etwa |2-9|, möglich. Das Format aller Seiten wird + automatisch auf das gewählte Format (DinA4) der Mappe skaliert. Über die Option |scale=0.5| + kann dies bei Bedarf angepasst werden. + + \DescribeMacro{\includepdfmerge} + Sofern die anzuhängenden Seiten in einem Querformat vorliegen, kann über die Option + |landscape| automatisch gedreht werden. Zusätzlich kann über die Option |angle=270| auch die + Datei selbst vor dem Einbinden um einen beliebigen Winkel gedreht werden. Mehrere Dateien + können mit den selben Optionen in einem Aufruf über |\includepdfmerge| eingefügt werden: + + \begin{lstlisting}[gobble=9,numbers=none] + \includepdfmerge[pages=-,landscape,angle=270]% + {Abiturzeugnis1.pdf,Abiturzeugnis2.pdf} + \end{lstlisting} + + Eventuell kann auch die Option |nup=XxY| hilfreich sein. Dadurch werden jeweils mehrere + Seiten eines mehrseitigen Dokumentes zusammen auf einer Seite mit |X|"~Seiten pro Länge und + |Y|"~Seiten pro Höhe dargestellt. Für weitere Informationen sei auf die Paketdokumentation + verwiesen \autocite[vgl.][]{pdfpages}. + + \begin{beispiel}[bsp:bewerbungsmappe][Vollständige Bewerbungsmappe]{% + Beispiel für den Quellcode einer vollständigen Bewerbungsmappe} + \begin{lstlisting}[gobble=11,multicols=2,title={Datei: \texttt{bewerbung.tex}},% + xleftmargin=5pt,linewidth=0.95\columnwidth] + \documentclass[% + lebenslaufColor=light-gray,% + %lebenslaufStyle=classic, + idPlain% + ]{bewerbung} + \usepackage[utf8]{inputenc} + \usepackage[T1]{fontenc} + \usepackage[ngerman]{babel} + % zusätzliche + % Farbdefinitionen: + \definecolor{light-gray}% + {gray}{0.6} + \definecolor{titlecolor}% + {gray}{0.62} + \definecolor{addresscolor}% + {gray}{0.45} + + \begin{document} + \begin{anschreiben} + Hier kommt das + Anschreiben hin + \end{anschreiben} + + \begin{lebenslauf}[none][] + \maketitle + \makePerson + + \section{Studium} + \cventry{03/13}{% + Abschluss: % + Dipl.-Pädagogin % + (Univ.)% + }{}{}{}{} + + \section{Führerschein} + \cvlistitem{% + Klasse B % + (eigener PKW)} + + \section{Sprachen} + \cvlanguage{Deutsch}{% + Muttersprache}{} + \cvlanguage{Englisch}{% + gut}{} + \end{lebenslauf} + \ end{document} + \end{lstlisting} + + \begin{lstlisting}[gobble=11,multicols=2,title={Datei: \texttt{config.inc}},% + xleftmargin=5pt,linewidth=0.95\columnwidth] + \Name{Musterfrau} + \Vorname{Maja} + \Street{Musterstraße 9} + \Plz{45878} + \Stadt{Musterstadt} + \MeinBeruf{Dipl.-Pädagogin% + (Univ.)} + \EMail{mail@email.com} + \Tel{03131~465488} + \Mobile{01534~6324524353} + \Sta{deutsch} + \GebDatum{31.02.1990} + \ID{47} + \Anhang{% + Abiturzeugnis.\newline + Diplomzeugnis. + }{% + \item Abiturzeugnis + \item Diplomzeugnis + } + \end{lstlisting} + + \begin{lstlisting}[gobble=11,language=bash,title={Datei: \texttt{anschrift.csv}}] + ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle, Rueckmeldung,Sonstiges + 2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n + 1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n + \end{lstlisting} + \end{beispiel} + + \begin{landscape} + \begin{beispiel}[bsp:bewerbungsmappepdf][Ergebnis einer vollständigen Mappe]{% + Ergebnis des Quellcodes aus \prettyref{bsp:bewerbungsmappe}} + \begin{minipage}{0.5\textwidth} + \fbox{\includegraphics[page=1,width=\textwidth]{bewerbung-example.pdf}} + \end{minipage}\quad\ + \begin{minipage}{0.5\textwidth} + \fbox{\includegraphics[page=2,width=\textwidth]{bewerbung-example.pdf}} + \end{minipage}\quad\ + \begin{minipage}{0.5\textwidth} + \fbox{\includegraphics[page=3,width=\textwidth]{bewerbung-example.pdf}} + \end{minipage} + \end{beispiel} + \end{landscape} + \FloatBarrier + \subsection[Dokumentationstabelle]{Erstellung einer Dokumentationstabelle} + \label{sec:dokutabelle} + Die Agentur für Arbeit verlangt von ihren \textit{Kunden} typischerweise den Nachweis über die + Vertragstreue. Im Klartext heißt dies, dass Menschen eine Vorgabe an Bewerbungen pro Woche oder + Monat und die Bindung an das Bewerben auf jede von der Agentur für Arbeit vorgeschlagene Stelle + unterschreiben müssen, um den Almosen Grundsicherung, auch HartzIV genannt, zu erhalten. Wird + gegen diese Auflagen verstoßen ist mit Abzügen der Grundsicherung zu rechnen. Da Kunden + typischerweise nicht zu trauen ist, müssen diese über ihre Bewerbungsversuche detailliert + Aufschluss geben. + + Um sich bei dieser oftmals lästigen Dokumentationsarbeit Zeit zu sparen, entstand die Grundidee + zu dieser Zusammenstellung. Dafür wird eine Tabelle automatisiert erstellt, indem eine csv-Datei + (vgl. \prettyref{sec:bewerbung}) ausgewertet wird. Die Klasse |argetabelle| ermöglicht das Setzen + solch einer Tabelle auch über mehrere Seiten hinweg. + + Der Klasse können dabei Optionen an |scrartcl| weiter gereicht werden. Allerdings ist es nicht + ratsam die Dimensionen inkl. Ausrichtung der Seite zu ändern, da die Skalierung der Tabelle + \DescribeMacro{\argetballe} + (noch) absolut ist. Die Tabelle wird über den Aufruf des Makros |\argetabelle|\oarg{Datei} + gesetzt. Sofern die Datei mit den Anschriften zu den Bewerbungen nicht als |anschrift.csv| + benannt wurde, kann diese im optionalen Argument angegeben werden. + + \textit{Hinweis:} Die Tabelle wird immer in der Reihenfolge der Zeilen in der angegebenen + csv"~Datei gesetzt. Das Feld ID ist hierbei irrelevant. + + \begin{beispiel}[bsp:dokutabelle]{Beispiel für das Setzen der Dokumentationstabelle} + \begin{lstlisting}[gobble=9,title={Datei: \texttt{argetabelle.tex}}] + \documentclass[11pt,a4paper]{argetabelle} + \usepackage[utf8]{inputenc} + \usepackage[T1]{fontenc} + \usepackage[ngerman]{babel} + \begin{document} + \argetabelle + \ end{document} + \end{lstlisting} + + \begin{lstlisting}[gobble=9,language=bash,title={Datei: \texttt{anschrift.csv}}] + ID,KW,Datum,Firma,FirmaAnrede,FirmaName,Str,PLZ,Ort,Stelle, Rueckmeldung,Sonstiges + 2,13,26.09.15,Packisbar GmbH,Frau,Nauti,Traumstraße 19,59888,Traumort,Traumberuf,n,n + 1,12,14.09.15,Packbar GmbH,Herr,Nubil,Traumstraße 4,59888,Traumort,Traumberuf,n,n + \end{lstlisting} + + \fbox{\includegraphics[width=0.95\textwidth,page=1,viewport=52.815022 610 542.460991 + 771.024000]{argetabelle-example.pdf}} + \vspace{1.4em} + \end{beispiel} + + \clearpage + \addcontentsline{toc}{section}{Literatur} + \printbibliography +\end{document} diff --git a/neueBewerbung.sh b/neueBewerbung.sh new file mode 100644 index 0000000..34188cf --- /dev/null +++ b/neueBewerbung.sh @@ -0,0 +1,10 @@ +#!/bin/bash +mkdir -v $1 +cp -v bewerbung.tex $1/bewerbung-$1.tex +cp -v config.inc $1 +cd $1 +ln -sv ../Anhang ./Anhang +ln -sv ../Foto.jpg ./Foto.jpg +ln -sv ../Foto.pdf ./Foto.pdf +ln -sv ../anschrift.csv ./anschrift.csv +cd .. diff --git a/titlepage.inc b/titlepage.inc new file mode 100644 index 0000000..2e5792e --- /dev/null +++ b/titlepage.inc @@ -0,0 +1,70 @@ +\begin{titlepage} + \begin{comment} + \applyCSVfile{../anschrift.csv}{ + \ifthenelse{\equal{\insertbyname{ID}}{\id}}{ + \renewcommand{\firma}{\insertbyname{Firma}} + \renewcommand{\firmaAnrede}{\insertbyname{FirmaAnrede}} + \renewcommand{\firmaName}{\insertbyname{FirmaName}} + \renewcommand{\firmaStreet}{\insertbyname{Str}} + \renewcommand{\firmaPlz}{\insertbyname{PLZ}} + \renewcommand{\firmaStadt}{\insertbyname{Ort}} + + \renewcommand{\beruf}{\insertbyname{Stelle}} +%\iffalse +%% \hrule +%\fi + \end{comment} + \begin{multicols*}{2}[][0cm] + \setlength{\columnseprule}{1pt} + + \textbf{\fullname}\\ + \textbf{\meinBeruf} \\ \ \\ + \street\\ + \plz\ \stadt\\ + \Letter\enskip \email\\ + \Telefon\enskip \tel\\ + \Mobilefone\enskip \mobile + + \vfill + \textbf{Inhalt} + \renewcommand{\labelitemi}{} + \begin{itemize} + \anhang[title] + \end{itemize} + + \columnbreak + + \vspace*{1.8cm} + \hspace*{0.5cm}\textsc{\Huge{\textbf{Bewerbung}}} + + \vspace*{2cm} + \begin{flushleft} + \setlength{\parindent}{-0.1cm} + \leftskip=0.3cm + \hspace*{0.1cm}\textit{bei}\\ % hier gehört bei rein + \textbf{\bewerbungFirma}\\ + \bewerbungFirmaAnrede\ + \bewerbungFirmaName\\ + \bewerbungFirmaStr\\ + \bewerbungFirmaPlz\ \bewerbungFirmaOrt + + % hier kann der Abstand zwischen Anschrift und Berufsbezeichnung eingestellt werden + \vspace*{1.5cm} + \hspace*{0.1cm}\textit{als}\\ + \textbf{\bewerbungStelle}\\ + \end{flushleft} + + \vfill + %\vfill + \hspace*{0.2cm}\includegraphics[width=5cm]{Foto.pdf} %\\ + % \ \\ + \end{multicols*} +\end{titlepage} + + + + + + + +