Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sdavids/sdavids-latex-german-job-application

LaTeX classes, commands, and environments for a German job application
https://github.com/sdavids/sdavids-latex-german-job-application

cv latex

Last synced: 7 days ago
JSON representation

LaTeX classes, commands, and environments for a German job application

Awesome Lists containing this project

README

        

// SPDX-FileCopyrightText: © 2024 Sebastian Davids
// SPDX-License-Identifier: Apache-2.0
= sdavids-latex-german-job-application
Sebastian Davids
// Metadata:
:description: CV of Sebastian Davids
// Settings:
:sectnums:
:sectanchors:
:sectlinks:
:toc: macro
:toclevels: 4
:toc-placement!:
:hide-uri-scheme:
:source-highlighter: rouge
:rouge-style: github
// Refs:
:docker-install-url: https://docs.docker.com/install/
:jetbrains-latex-install-url: https://plugins.jetbrains.com/plugin/9473-texify-idea
:mactex-install-url: https://www.tug.org/mactex/mactex-download.html
:sops-install-url: https://github.com/getsops/sops/releases
:texifier-install-url: https://www.texifier.com
:texlive-install-url: https://www.tug.org/texlive/acquire-netinstall.html
:texmaker-install-url: https://www.xm1math.net/texmaker/download.html
:texstudio-install-url: https://www.texstudio.org/#download
:vs-code-latex-install-url: https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop
:uri-apache-license: https://www.apache.org/licenses/LICENSE-2.0
:uri-contributor-covenant: https://www.contributor-covenant.org
:uri-google-style: https://github.com/google/gts

ifdef::env-browser[:outfilesuffix: .adoc]

ifdef::env-github[]
:outfilesuffix: .adoc
:important-caption: :heavy_exclamation_mark:
:note-caption: :information_source:
:badges:
endif::[]

ifdef::badges[]
image:https://img.shields.io/github/license/sdavids/sdavids-latex-german-job-application[Apache License,Version 2.0,link={uri-apache-license}]
image:https://img.shields.io/osslifecycle/sdavids/sdavids-latex-german-job-application[OSS Lifecycle]
image:https://img.shields.io/maintenance/yes/2024[Maintenance]
image:https://img.shields.io/github/last-commit/sdavids/sdavids-latex-german-job-application[GitHub last commit]
endif::[]

toc::[]

This repository contains LaTeX classes, commands, and environments for a German job application.

germancv:: a link:src/germancv.cls[class] for a German curriculum vitae
+
image::docs/asciidoc/images/example-cv.png[]

== Usage

=== germancv

Apply the `germancv` class:

[source,tex]
----
\documentclass{germancv}
----

Add one or more <>.

==== Environments

[#cvsection]
===== cvsection

Starts a new section with the given Title.

[source,tex]
----
\begin{cvsection}{Qualifikationen und Zusätzliches}
...
\end{cvsection}
----

image::docs/asciidoc/images/cvsection1.png[]

Inside the `cvsection` use the following environments:

<>:: will display an item without formatting
<>:: will display the item in bold
<>:: will display an item.
<>:: will display an item with list content

[#cvitemplain]
===== cvitemplain

`cvitemplain` will display an item without formatting.

[source,tex]
----
\begin{cvitemplain}{Sprachkenntnisse}
Deutsch: Muttersprache, Englisch: verhandlungsicher
\end{cvitemplain}
----

image::docs/asciidoc/images/cvitemplain.png[]

[#cvitembold]
===== cvitembold

`cvitembold` will display the item in bold.

[source,tex]
----
\begin{cvitembold}
{\range{01/2024}{03/2024}}
Persönliche Auszeit
\end{cvitembold}
----

image::docs/asciidoc/images/cvitembold.png[]

[#cvitem]
===== cvitem

`cvitem` will display an item.

[source,tex]
----
\begin{cvitem}
{\range{11/2018}{07/2019}}
{Studentenwerk}
{Musterstadt}
{Werksstudent}
{Administration eines Studentenwohnheim-Netzwerkes mit 5 Nutzern}
\end{cvitem}
----

image::docs/asciidoc/images/cvitem1.png[]

[source,tex]
----
\begin{cvitem}
{\range{09/2015}{08/2016}}
{Altenheim Seniorenparadies}
{Musterstadt}
{Freiwilliges Soziales Jahr}
{}
\end{cvitem}
----

image::docs/asciidoc/images/cvitem2.png[]

[#cvitemlist]
===== cvitemlist

`cvitemlist` will display an item with list content.

[source,tex]
----
\begin{cvitemlist}
{\range{06/2022}{12/2023}}
{Weyland-Yutani Corp.}
{Musterstadt}
{IT-Projektmanager}
{3 Projekte \textendash\ unterschiedlicher Tätigkeitsumfang, Teamgröße und Laufzeit}
\item Konzeption, Organisation und Optimierung von Prozessen
\item Technische Projektleitung
\item Berichte und Dokumentation
\end{cvitemlist}
----

image::docs/asciidoc/images/cvitemlist.png[]

==== Commands

[#range]
===== range

`range` will display a range

[source,tex]
----
\range{04/2017}{03/2022}
----

image::docs/asciidoc/images/range.png[]

==== Change Fonts

[IMPORTANT]
====
Ensure that you have https://www.fontfabric.com/blog/fonts-licensing-the-ins-and-outs-of-legally-using-fonts/#personal-commercial-projects[proper licenses] for the new fonts.

Having a `ttf`-file does not equate to having a license to use it.

Having a license for a font does not automatically mean that it can be used for https://www.fontfabric.com/blog/fonts-licensing-the-ins-and-outs-of-legally-using-fonts/#font-licensing-examples[all usages] (e.g. Desktop, Webfonts, or ePub).

So be careful when you use fonts supplied with Software you have installed (e.g. Microsoft Office or Adobe Software).

You have been warned!
====

To change the fonts used you have to do the following:

. Add the new fonts to `src/fonts`.
. Change the fonts in `src/germancv.cls`:
+
.src/germancv.cls
[source,tex]
----
\setmainfont{Nunito}[
...
]

\setsansfont{Lora}[
...
]
----
+
[NOTE]
====
`setsansfont` is used for the section titles.

`setmainfont` is used for the rest
====

. Delete the unused fonts from `src/fonts`.

. Declare the proper licenses in `REUSE.toml`:
+
.REUSE.toml
[source,toml]
----
[[annotations]]
path = "src/fonts/Lora-**"
SPDX-FileCopyrightText = "© 2011 The Lora Project Authors (https://github.com/cyrealtype/Lora-Cyrillic)"
SPDX-License-Identifier = "OFL-1.1"

[[annotations]]
path = "src/fonts/Nunito-**"
SPDX-FileCopyrightText = "© 2014 The Nunito Project Authors (https://github.com/googlefonts/nunito)"
SPDX-License-Identifier = "OFL-1.1"
----

==== No Section Underlines

.src/germancv.cls
[source,tex]
----
\titleformat{\section}{\normalfont\Large\bfseries\sffamily}{\thesection}{1em}{}[\titlerule\vspace*{4pt}]
----

.src/germancv.cls
[source,tex]
----
\titleformat{\section}{\normalfont\Large\bfseries\sffamily}{\thesection}{1em}{}
----

image::docs/asciidoc/images/cvsection1.png[]

image::docs/asciidoc/images/cvsection2.png[]

[#examples]
== Examples

[NOTE]
====
Only Docker has to be <> on your machine for building the examples.
====

=== germancv

Source:: link:src/example-cv.tex[]
Typeset PDF:: link:examples/example-cv.pdf[]
Build::
+
[source,shell]
----
$ scripts/latex-pdf-build.sh -r example-cv.tex
----
+
=> `build/example-cv.pdf`
+
[NOTE]
====
You can remove the metadata from the generated PDF via:

[source,shell]
----
$ scripts/pdf-remove-metadata.sh build/example-cv.pdf
----

=> `build/example-cv.pdf`
====

== License

Apache License, Version 2.0 (link:LICENSES/Apache-2.0.txt[Apache-2.0.txt] or {uri-apache-license}).

== Contribution

See link:CONTRIBUTING{outfilesuffix}[].

== Code of Conduct

We abide by the {uri-contributor-covenant}[Contributor Covenant, Version 2.1] and ask that you do as well.

For more information, please see link:CODE_OF_CONDUCT.md[Code of Conduct].

== Development Environment Setup

[IMPORTANT]
====
After initializing this repository you need to install the Git hooks via:

[source,shell]
----
$ git config core.hooksPath .githooks
----
====

[#dev-env-installation]
=== Installation

[#age]
==== age

===== Linux

[source,shell]
----
$ sudo apt-get install age
----

===== Mac

[source,shell]
----
$ brew install age
----

[#docker]
==== Docker

Install {docker-install-url}[Docker].

[#exiftool]
==== exiftool

===== Linux

[source,shell]
----
$ sudo apt-get install exiftool
----

===== Mac

[source,shell]
----
$ brew install exiftool
----

[#qpdf]
==== qpdf

===== Linux

[source,shell]
----
$ sudo apt-get install qpdf
----

===== Mac

[source,shell]
----
$ brew install qpdf
----

[#shellcheck]
==== shellcheck

===== Linux

[source,shell]
----
$ sudo apt-get install shellcheck
----

===== Mac

[source,shell]
----
$ brew install shellcheck
----

==== shfmt

===== Linux

[source,shell]
----
$ sudo apt-get install shfmt
----

===== Mac

[source,shell]
----
$ brew install shfmt
----

[#sops]
==== sops

===== Linux

Install {sops-install-url}[sops].

===== Mac

[source,shell]
----
$ brew install sops
----

[#yamllint]
==== yamllint

===== Linux

[source,shell]
----
$ sudo apt-get install yamllint
----

===== Mac

[source,shell]
----
$ brew install yamllint
----

[#ide]
=== IDE

See link:CODING_STYLE.adoc#ide-configuration[IDE Configuration].

[#latex-tools]
=== LaTeX Tools

==== LaTeX Editor

If you need a graphical editor you might want to use:

* {texifier-install-url}[Texifier] (paid)
* {texmaker-install-url}[Texmaker] (free)
* {texstudio-install-url}[TeXstudio] (free)

or IDE extensions:

* {jetbrains-latex-install-url}[JetBrains IDEs] (free)
* {vs-code-latex-install-url}[VS Code] (free)

==== LaTeX Toolchain

[NOTE]
====
The link:scripts/latex_pdf_build.sh[build script] does not need a locally installed LaTeX toolchain.
====

===== Linux

Install {texlive-install-url}[TeX Live] (around 5.5GB).

===== Mac

Install {mactex-install-url}[MacTeX] (around 5.7GB).