New Repo due to file problems in old commits

This commit is contained in:
2023-02-01 16:02:14 +01:00
commit 75759d61b8
51 changed files with 14094 additions and 0 deletions

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}