New Repo due to file problems in old commits

This commit is contained in:
André Hilbig 2023-02-01 16:02:14 +01:00
commit 75759d61b8
Signed by: ahilbig
GPG Key ID: 7CD69479C2659156
51 changed files with 14094 additions and 0 deletions

33
.gitignore vendored Executable file
View File

@ -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

BIN
Foto.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
Foto.pdf Normal file

Binary file not shown.

87
README Normal file
View File

@ -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.
| |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+

90
README_DE Normal file
View File

@ -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.
| |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+

3
anschrift.csv Normal file
View File

@ -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
1 ID KW Datum Firma FirmaAnrede FirmaName Str PLZ Ort Stelle Rueckmeldung Sonstiges
2 2 13 26.09.15 Packisbar GmbH Frau Nauti Traumstraße 19 59888 Traumort Traumberuf n n
3 1 12 14.09.15 Packbar GmbH Herr Nubil Traumstraße 4 59888 Traumort Traumberuf n n

BIN
argetabelle-example.pdf Normal file

Binary file not shown.

28
argetabelle-example.tex Normal file
View File

@ -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}

49
argetabelle.cls Normal file
View File

@ -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

112
bewerbung-cv-casual.sty Normal file
View File

@ -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'.

106
bewerbung-cv-classic.sty Normal file
View File

@ -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'.

142
bewerbung-cv-oldstyle.sty Normal file
View File

@ -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'.

662
bewerbung-cv.sty Normal file
View File

@ -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&#7&%
\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'.

BIN
bewerbung-example.pdf Normal file

Binary file not shown.

81
bewerbung-example.tex Normal file
View File

@ -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}

41
bewerbung.bib Normal file
View File

@ -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},
}

88
bewerbung.cls Normal file
View File

@ -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

3021
bewerbung.dtx Normal file

File diff suppressed because it is too large Load Diff

57
bewerbung.ins Normal file
View File

@ -0,0 +1,57 @@
%% Copyright (C) 2015 by A. 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 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 <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 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

329
bewerbung.sty Normal file
View File

@ -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

BIN
bewerbung/Foto.pdf Normal file

Binary file not shown.

87
bewerbung/README Normal file
View File

@ -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.
| |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+

90
bewerbung/README_DE Normal file
View File

@ -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.
| |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+

3
bewerbung/anschrift.csv Normal file
View File

@ -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
1 ID KW Datum Firma FirmaAnrede FirmaName Str PLZ Ort Stelle Rueckmeldung Sonstiges
2 2 13 26.09.15 Packisbar GmbH Frau Nauti Traumstraße 19 59888 Traumort Traumberuf n n
3 1 12 14.09.15 Packbar GmbH Herr Nubil Traumstraße 4 59888 Traumort Traumberuf n n

Binary file not shown.

View File

@ -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}

38
bewerbung/argetabelle.cls Normal file
View File

@ -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}

View File

@ -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}
%

View File

@ -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}
%

View File

@ -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}
%

1246
bewerbung/bewerbung-cv.sty Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -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}

41
bewerbung/bewerbung.bib Normal file
View File

@ -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},
}

83
bewerbung/bewerbung.cls Normal file
View File

@ -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}

3895
bewerbung/bewerbung.dtx Normal file

File diff suppressed because it is too large Load Diff

48
bewerbung/bewerbung.ins Normal file
View File

@ -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

BIN
bewerbung/bewerbung.pdf Normal file

Binary file not shown.

744
bewerbung/bewerbung.sty Normal file
View File

@ -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}
%

43
bewerbung/config.inc Normal file
View File

@ -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}

979
bewerbung/makedtx.pl Normal file
View File

@ -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 <expr>=><expr> -doc <filename> <basename>
#
# -h : help message
# -src <expr>=><expr> : e.g. -src "(foo)src\.(bar)=>$1.$2" will add foosrc.bar to <basename>.dtx to be extracted to foo.bar
# -doc <filename> : file containing documentation.
# -prefinale <string> : text to add to dtx file just before \Finale (added to version 0.91b)
# <basename> : create <basename>.dtx and <basename>.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 "\%</package>\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 (<DOC>)
{
s/\\usepackage{creatdtx}//;
$restofline = $_;
$beginline = "";
$line = $restofline;
while ($restofline =~ /(.*)\\ifmakedtx(.*)/)
{
$beginline = $1;
($group,$restofline,$done) = &getnextgroup($2);
$startline = $.;
while (!$done)
{
if ($nextline = <DOC>)
{
$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 = <DOC>)
{
$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 "\%</driver>\n";
print DTX "\%\\fi\n";
$inverb=0;
$stopfound=0;
print DTX "\%";
while (<DOC>)
{
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 = <DOC>)
{
$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 = <DOC>)
{
$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 (<SRC>)
{
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 "\%</$thisoutfile>\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] <basename>\nUse -h for help\n";
}
sub help
{
print "makedtx Help\n\n";
print "Current Version : $version\n\n";
print "usage : makedtx [options] -src \"<expr>=><expr>\" -doc <filename> <basename>\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 "<basename> should be used to specify the basename of the dtx\n";
print "and ins files.\n\n";
print "-src \"<expr1>=><expr2>\"\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 "<expr1> can be a Perl expression, such as (foo)src.(sty), and <expr2> 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 <filename>\n";
print "The name of the documentation source code. This should be a LaTeX2e document\n\n";
print "Optional Arguments:\n\n";
print "-dir <directory> : search for source files in <directory>\n";
print "-op <character> : 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 <text> : set the preamble. Standard one inserted if omitted\n";
print "-postamble <text> : set the postamble.\n";
print "-setambles \"<pattern>=><text>\" : set pre- and postambles to <text> if file matches pattern\n";
print "-author <text> : name of author (inserted into standard preamble. User name inserted if omitted)\n";
print "-date <text> : copyright date\n";
print "-ins : create the ins file (default)\n";
print "-noins : don't create the ins file\n";
print "-prefinale <text> : add <text> immediately prior to \\Finale\n";
print "-macrocode <expr> : surround any file which matches <expr> in a macrocode environment\n";
print "-comment <expr> : surround any file which matches <expr> with \\iffalse \\fi pair\n";
print "-codetitle <text> : The title for the documented code section (default: The Code)\n";
print "-license <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;

View File

@ -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 ..

64
bewerbung/titlepage.inc Normal file
View File

@ -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}

BIN
bewerbung_latest.zip Normal file

Binary file not shown.

53
build Normal file
View File

@ -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

41
config.inc Normal file
View File

@ -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

BIN
dokumentation.pdf Normal file

Binary file not shown.

BIN
dokumentation.synctex.gz Normal file

Binary file not shown.

987
dokumentation.tex Normal file
View File

@ -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}

10
neueBewerbung.sh Normal file
View File

@ -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 ..

70
titlepage.inc Normal file
View File

@ -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}