Skip to content

Commit

Permalink
feat: modernize project
Browse files Browse the repository at this point in the history
rebase on moderncv 2.3.1
switch to lualatex
remove comments
remove biblatex
optimize orphaned sections workaround
use the DINish font

Signed-off-by: Martin Dünkelmann <[email protected]>
  • Loading branch information
MartinX3 committed Aug 19, 2024
1 parent 4ce8354 commit 7b8f836
Show file tree
Hide file tree
Showing 14 changed files with 130 additions and 165 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ jobs:
steps:
- name: Install TeX Live
run: sudo apt update && sudo apt install biber latexmk texlive texlive-bibtex-extra texlive-fonts-extra texlive-lang-german texlive-latex-extra texlive-luatex
- name: Install the arial font
run: |
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt-get install ttf-mscorefonts-installer
- name: Set up Git repository
uses: actions/checkout@v4
- name: Compile LaTeX document
Expand Down
9 changes: 2 additions & 7 deletions Bewerbung.tex
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
%! Author = martin
%! Date = 29.06.21

% Preamble
\documentclass[11pt,a4paper]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
\include{Meta}
\documentclass{moderncv}
\input{datenbanken/Meta}
\RequirePackage{aussehen/CV}

% Document
\begin{document}
\input{abschnitte/Anschreiben}
\clearpage
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
DOCUMENT_NAME = Bewerbung
COMPILER = latexmk -pdf --output-directory=out
COMPILER = latexmk -lualatex --output-directory=out

default | help:
@echo 'make | Zeigt die Hilfe'
Expand Down
40 changes: 0 additions & 40 deletions Meta.tex

This file was deleted.

7 changes: 0 additions & 7 deletions abschnitte/Anschreiben.tex
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
%! Author = martin
%! Date = 29.06.21


\section{Anschreiben}\label{sec:anschreiben}
\opening{Sehr geehrte Damen und Herren,}
\closing{Mit freundlichen Grüßen}
\enclosure[Anhang]{Lebenslauf} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
\makelettertitle

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Expand Down
45 changes: 20 additions & 25 deletions abschnitte/Lebenslauf.tex
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
%! Author = martin
%! Date = 29.06.21


\makecvtitle


\section{Bildung}\label{sec:bildung}
\tlcventry{2009}{2012}{Abschluss 1}{Institut}{Stadt}{\textit{Note}}{Beschreibung} % arguments 3 to 6 can be left empty
\tlcventry{2012}{2017}{Abschluss 2}{Institut}{Stadt}{\textit{Note}}{Beschreibung}
\cventry{2009--2012}{Abschluss 1}{Institut}{Stadt}{\textit{Note}}{Beschreibung}
\cventry{2012--2017}{Abschluss 2}{Institut}{Stadt}{\textit{Note}}{Beschreibung}


\section{Master Thesis}\label{sec:master-thesis}
Expand All @@ -19,28 +15,28 @@ \section{Master Thesis}\label{sec:master-thesis}
\section{Erfahrung}\label{sec:erfahrung}

\subsection{Beruflich}\label{subsec:beruflich}
\tlcventry{2017}{2021}{Jobtitel}{Arbeitgeber}{Stadt}{}{Generelle Beschreibung, die nicht länger als 1--2 Zeilen ist.\newline{}
\cventry{2017--2021}{Jobtitel}{Arbeitgeber}{Stadt}{}{Generelle Beschreibung, die nicht länger als 1--2 Zeilen ist.\newline
Detaillierte Leistungen:
\begin{itemize}
\item Leistung 1
\item Leistung 2 (with sub-leistungen)
\item Leistung 2 (mit Unter-leistungen)
\begin{itemize}
\item Sub-leistung (a);
\item Sub-leistung (b), with sub-sub-leistungen (nicht machen!);
\item Unter-leistung (a);
\item Unter-leistung (b), mit Unter-unter-leistungen (nicht machen!);
\begin{itemize}
\item Sub-sub-leistung i;
\item Sub-sub-leistung ii;
\item Sub-sub-leistung iii;
\item Unter-unter-leistung i;
\item Unter-unter-leistung ii;
\item Unter-unter-leistung iii;
\end{itemize}
\item Sub-leistung (c);
\item Unter-leistung (c);
\end{itemize}
\item Leistung 3
\item Leistung 4
\end{itemize}}
\tlcventry{2021}{2022}{Jobtitel}{Arbeitgeber}{Stadt}{}{Beschreibung Zeile 1\newline{}Beschreibung Zeile 2}
\cventry{2021--2022}{Jobtitel}{Arbeitgeber}{Stadt}{}{Beschreibung Zeile 1\newline{}Beschreibung Zeile 2}

\subsection{Verschiedenes}\label{subsec:verschiedenes}
\tlcventry{2013}{2013}{Jobtitel}{Arbeitgeber}{Stadt}{}{Beschreibung}
\cventry{2013--2013}{Jobtitel}{Arbeitgeber}{Stadt}{}{Beschreibung}


\section{Sprachen}\label{sec:sprachen}
Expand All @@ -54,33 +50,36 @@ \section{IT-Erfahrungen}\label{sec:it-erfahrungen}
\cvdoubleitem{Kategorie 1}{XXX, YYY, ZZZ}{Kategorie 4}{XXX, YYY, ZZZ}
\cvdoubleitem{Kategorie 2}{XXX, YYY, ZZZ}{Kategorie 5}{XXX, YYY, ZZZ}
\cvdoubleitem{Kategorie 3}{XXX, YYY, ZZZ}{Kategorie 6}{XXX, YYY, ZZZ}
% \cvtripleitem{Kategorie 7}{XYZ}{Kategorie 8}{XYZ}{Kategorie 9}{XYZ} % TODO Only with moderncv 2.4.1


\section{Fähigkeitenmatrix}\label{sec:faehigkeitenmatrix}
\cvskilllegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende}
\cvskillhead[0em][Level][Fähigkeit][Jahre][Bemerkung]
\cvitem{Fähigkeitenmatrix}{Alternativ können Sie auch eine Kompetenzmatrix erstellen, um Ihre Fähigkeiten zu präsentieren.}
\cvskilllegend*[1em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende}
\cvskillhead[-0.1em][Level][Fähigkeit][Jahre][Bemerkung]
\cvskillentry*{Sprache:}{3}{Python}{2}{Ich bin so erfahren in Python und habe schon eine Million Projekte realisiert. Mindestens.}
\cvskillentry{}{2}{LilyPond}{14}{So viele Notenblätter! Mann, ich bin der Beste!}
\cvskillentry{}{3}{\LaTeX}{14}{Offensichtlich rocke ich bei \LaTeX}
\cvskillentry*{OS:}{3}{Linux}{2}{Ich benutze übrigends nur Archlinux}
\cvskillentry*[1em]{Methoden}{4}{SCRUM}{8}{SCRUM Master seit 5 years}
\cvskillentry*[1em]{Methoden}{4}{SCRUM}{8}{SCRUM Master seit 5 Jahren}


\section{Interessen}\label{sec:Interessen}
\cvitem{Hobby 1}{Beschreibung}
\cvitem{Hobby 2}{Beschreibung}
\cvitem{Hobby 3}{Beschreibung}
\cvitem{Hobby 4}{Beschreibung}


\section{Extra 1}\label{sec:extra-1}
\sectionavoidpagebreak{Extra 1}{extra-1}
\cvlistitem{Element 1}
\cvlistitem{Element 2}
\cvlistitem{Element 3. Dieser Punkt ist besonders lang und erstreckt sich daher normalerweise über mehrere Zeilen. Haben Sie die Einrückung beim Zeilenumbruch bemerkt?}


\section{Extra 2}\label{sec:extra-2}
\cvlistdoubleitem{Element 1}{Element 4}
\cvlistdoubleitem{Element 2}{Element 5~\parencite{MaxMustermann2021a}}
\cvlistdoubleitem{Element 2}{Element 5}
\cvlistdoubleitem{Element 3}{Element 6. Wie Element 3 in der einspaltigen Liste zuvor ist dieses Element besonders lang, so dass es über mehrere Zeilen umgebrochen wird.}


Expand All @@ -94,7 +93,3 @@ \section{Referenzen}\label{sec:referenzen}
\end{itemize}(Mehr auf Anfrage)}
\cvcolumn[0.5]{Der ganze Rest \& einiges mehr}{\textit{Diese} Person, und auch \textbf{solche} (Alles auf Anfrage verfügbar).}
\end{cvcolumns}


~\nocite{*} % Zum Auflisten aller Einträge, auch wenn sie nicht zitiert werden.
\printbibliography[title={Veröffentlichungen}]
56 changes: 23 additions & 33 deletions aussehen/CV.sty
Original file line number Diff line number Diff line change
@@ -1,45 +1,35 @@
%! Package = cv
%! Author = martin
%! Date = 30.06.21

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{aussehen/CV}[2021/06/30 cv theming Package]

\RequirePackage[ngerman]{babel}
\RequirePackage{csquotes}
\RequirePackage[ngerman]{isodate}
\ProvidesPackage{aussehen/CV}[2024/08/19 cv theming Package]

% moderncv themes
\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
\moderncvcolor{blue}
\moderncvstyle{casual}

\RequirePackage[firstyear=2009,lastyear=2022,marksyr=0.4ex,marksmo=0.2ex]{moderntimeline}

% adjust the page margins
% Die Seitenränder anpassen
\RequirePackage[scale=0.75]{geometry}
\setlength{\footskip}{136.00005pt} % depending on the amount of information in the footer, you need to change this value. comment this line out and set it to the size given in the warning
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...

% Use the helvet font. A font similliar to Arial
\RequirePackage{helvet}
\renewcommand{\familydefault}{\sfdefault}

% Veröffentlichungen nach ISO 690 (Nachfolger von DIN 1505)
% Further help at https://github.com/michal-h21/biblatex-iso690
\RequirePackage[style=iso-authoryear]{biblatex}
\addbibresource{datenbanken/Veroeffentlichungen.bib}
% Dinish Schriftart. Siehe https://github.com/playbeing/dinish
\RequirePackage{fontspec}
\RequirePackage{unicode-math}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[
Extension = .otf,
Path = aussehen/font/,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic
]{DINish}
\setsansfont{Latin Modern Sans}
\setmonofont{Latin Modern Mono}
\setmathfont{Latin Modern Math}

% bibliography with mutiple entries
%\usepackage{multibib}
%\newcites{book,misc}{{Books},{Others}}
\RequirePackage[ngerman]{babel}

% TODO WORKAROUND avoid orphaned section headers
% TODO WORKAROUND avoid orphaned section headers until moderncv 2.4.1
% https://github.com/moderncv/moderncv/issues/10
% https://github.com/xdanaux/moderncv/issues/82
\RequirePackage{needspace}
\let\oldsection=\section
\renewcommand{\section}{
\newcommand{\sectionavoidpagebreak}[2]{
\needspace{3\baselineskip}
\oldsection
\section{#1}\label{sec:#2}
}
Binary file added aussehen/font/DINish-Bold.otf
Binary file not shown.
Binary file added aussehen/font/DINish-BoldItalic.otf
Binary file not shown.
Binary file added aussehen/font/DINish-Italic.otf
Binary file not shown.
Binary file added aussehen/font/DINish-Regular.otf
Binary file not shown.
20 changes: 20 additions & 0 deletions datenbanken/Meta.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
% Brief
\recipient{Company Recruitment team}{Company, Inc.\\Somestreet 123\\Somestadt}
\date{\today}
\opening{Sehr geehrte Damen und Herren,}
\closing{Mit freundlichen Grüßen}
\enclosure[Anhang]{Lebenslauf}

% Lebenslauf
\name{Max}{Mustermann}
\title{Zusammenfassender Titel}
\born{4. Juli 1776}
\address{Musterstr. 42}{53123 Bonn}{Germany}
\phone[mobile]{+1~(234)~567~890}
\phone[fixed]{+2~(345)~678~901}
\email{[email protected]}
\homepage{https://www.maxmustermann.com}

\extrainfo{Zusätzliche Informationen}
\photo[64pt][0.4pt]{bilder/Profilfoto}
\quote{Irgendein Zitat}
38 changes: 0 additions & 38 deletions datenbanken/Veroeffentlichungen.bib

This file was deleted.

74 changes: 64 additions & 10 deletions latexmkrc
Original file line number Diff line number Diff line change
@@ -1,10 +1,64 @@
add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' );
add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
$clean_ext .= " acr acn alg glo gls glg";
sub makeglossaries {
my ($base_name, $path) = fileparse( $_[0] );
pushd $path;
my $return = system "makeglossaries", $base_name;
popd;
return $return;
}
# https://mirrors.ctan.org/support/latexmk/example_rcfiles/glossaries_latexmkrc

# This shows how to use the glossaries package
# (http://www.ctan.org/pkg/glossaries) and the glossaries-extra package
# (http://www.ctan.org/pkg/glossaries-extra) with latexmk.

# N.B. There is also the OBSOLETE glossary package
# (http://www.ctan.org/pkg/glossary), which has some differences. See item 3.

# 1. If you use the glossaries or the glossaries-extra package, then you can use:

add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' );
add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
$clean_ext .= " acr acn alg glo gls glg";

sub makeglossaries {
my ($base_name, $path) = fileparse( $_[0] );
my @args = ( "-q", "-d", $path, $base_name );
if ($silent) { unshift @args, "-q"; }
return system "makeglossaries", "-d", $path, $base_name;
}

# 2. The above will tend to run makeglossaries more often than needed, since
# each out of date file will trigger the use of makeglossaries, even
# though makeglossaries makes all the glossaries. The following solution
# solves this, but at the expense of not having the convenience that
# makeglossaries can change how it makes the glossaries depending on the
# settings of the glossaries package.
# A better solution will need more advanced work.
#
# add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' );
# add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
# $clean_ext .= " acr acn alg glo gls glg";
#
# sub makeglossaries {
# my @args = ( "-s", "$_[0].ist", "-t", "$$Psource.ilg",
# "-o", $$Pdest, $$Psource );
# if ($silent) { unshift @args, "-q"; }
# return system "makeindex", @args;
# }

# 3. If you use the OBSOLETE glossary package, then you can do the following:
# (Note that the code lines are commented out to avoid trouble when this
# file is simply copied into a latexmkrc or this file is arranged to be
# read by latexmk, and one of the modern packages glossaries and
# glossaries-extra is used.)

## For the main glossary:
#add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
#sub makeglo2gls {
# system("makeindex -s \"$_[0].ist\" -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
#}

## For acronyms:
##
## ===> WARNING: The code below is ONLY FOR PACKAGE glossary, NOT FOR
## glossaries and glossaries-extra. In the current glossaries and
## glossaries-extra packages the roles of the .acr and .acn files are
## exchanged compared with the old glossary package. Hence the the
## code below will fail with the more modern packages.
#add_cus_dep( 'acr', 'acn', 0, 'makeacr2acn' );
#sub makeacr2acn {
# system( "makeindex -s \"$_[0].ist\" -t \"$_[0].alg\" -o \"$_[0].acn\" \"$_[0].acr\"" );
#}

0 comments on commit 7b8f836

Please sign in to comment.