Compare commits

..

No commits in common. "main" and "2023-06-27" have entirely different histories.

9 changed files with 882 additions and 2056 deletions

View file

@ -1,13 +1,9 @@
.PHONY: clean .PHONY: all clean
all: resume_*.qmd templates/jb2resume.latex letter.qmd templates/letter.latex all: cv
poetry run quarto render
cv: resume_de.qmd resume_en.qmd templates/jb2resume.latex cv: resume_de.qmd resume_en.qmd templates/jb2resume.latex
poetry run quarto render resume_de.qmd resume_en.qmd poetry run quarto render
letter: letter.qmd templates/letter.latex
poetry run quarto render letter.qmd
clean: clean:
rm -f *CV.aux *CV.bcf *CV.log *CV.out *CV.run.xml *CV.pdf short_CV.tex long_CV.tex *CV.bbl *CV.blg *yaml_CV.md rm -f *CV.aux *CV.bcf *CV.log *CV.out *CV.run.xml *CV.pdf short_CV.tex long_CV.tex *CV.bbl *CV.blg *yaml_CV.md

View file

@ -7,9 +7,9 @@ summary:
mit einem Fokus auf Arbeitsmarktpolitiken, ihren Auswirkungen auf Armut und kollektive Organisation, mit einem Fokus auf Arbeitsmarktpolitiken, ihren Auswirkungen auf Armut und kollektive Organisation,
sowie multi-dimensionaler Ungleichheitsreduktion. sowie multi-dimensionaler Ungleichheitsreduktion.
Ich besitze ein breites Spektrum an Fähigkeiten in Datenerfassung, -organisation und -analyse, Ich habe ein breites Spektrum an Fähigkeiten in Datenerfassung, -organisation und -analyse,
Manuskriptbearbeitung und Literaturverwaltung, Manuskriptbearbeitung und Literaturverwaltung entwickelt,
und konnte erste Einblicke in Veranstaltungsmanagement, Lehrassistenz, Website-verwaltung und -inhaltserstellung gewinnen. sowie erste Einblicke in Veranstaltungsmanagement, Lehrassistenz, Website-verwaltung und -inhaltserstellung gewonnen.
Der Rahmen meiner akademischen Arbeit erstreckt sich über Entwicklungsstudien, sozialen Schutz, Öko-Tourismus, und Arbeitsmarktstudien. Der Rahmen meiner akademischen Arbeit erstreckt sich über Entwicklungsstudien, sozialen Schutz, Öko-Tourismus, und Arbeitsmarktstudien.
Abseits meiner professionellen Tätigkeiten interessiere ich mich für, Abseits meiner professionellen Tätigkeiten interessiere ich mich für,
@ -35,62 +35,27 @@ summary:
experience: experience:
- date: - date:
de: 2024 de: 2022--2023
en: 2024 en: 2022--2023
title: title:
de: Co-Autor, Formalisierung und sozialer Schutz, World Development de: Co-Autor, Formalisierung und sozialer Schutz, World Development
en: Co-Author, Formalization and social protection, World Development en: Co-Author, Formalization and social protection, World Development
publication: publication:
de: 'Torm, N., \& Oehme, M. (2024). Social protection and formalization in low-and middle-income countries: A scoping review of the literature. World Development, 181.' de: 'Torm, N., \& Oehme, M. (unveröffentlicht). Social protection, productivity and formalization among low- and middle-income countries: a scoping review of the literature. World Development.'
en: 'Torm, N., \& Oehme, M. (2024). Social protection and formalization in low-and middle-income countries: A scoping review of the literature. World Development, 181.' en: 'Torm, N., \& Oehme, M. (forthcoming). Social protection, productivity and formalization among low- and middle-income countries: a scoping review of the literature. World Development.'
bullets: bullets:
- de: Quantitative Analyse der Verknüpfungen von sozialer Absicherung und Formalisierung - de: Quantitative Analyse der Verknüpfungen von sozialer Absicherung, Formalisierung und Produktivität
en: Quantitative analysis of connections between social protection and formalization en: Quantitative analysis of connections between sozial protection, formalization and productivity
- de: "Durchführung eines 'Scoping Review': Umfassende Quellenrecherche im Umfang von 2000 Überprüfungskandidaten" - de: "Durchführung eines 'Scoping Review': Umfassende Quellenrecherche im Umfang von 2000 Überprüfungskandidaten"
en: "Implementation of a 'scoping review': Comprehensive source research to the extent of 2000 candidates" en: "Implementation of a 'scoping review': Comprehensive source research to the extent of 2000 candidates"
- de: Editorielle Vorbereitung eines Arbeitspapiers auf eine Veröffentlichung durch wissenschaftlichen Verlag - de: Editorielle Anpassungen von einem Arbeitspapier auf eine Veröffentlichung durch zeitschriftlichen Verlag
en: Editorial adaptation from a working paper towards a journal article ready for publishing en: Editorial adaptation from a working paper towards a journal article ready for publishing
- date:
de: 2023--2024
en: 2023--2024
client:
de: ILO
en: ILO
title:
de: Externer Forscher, Ungleichheiten auf dem Arbeitsmarkt
en: External researcher, Inequalities on the Labour market
publication:
de: ILO (angenommen). Addressing Inequalities in the World of Work.
en: ILO (forthcoming). Addressing Inequalities in the World of Work.
bullets:
- de: Zusammenstellung eines systematischen Scoping Review von 4000 globalen Kandidaten für Arbeitsmarktanalysen
en: Compiling a systematic scoping review of 4000 global labour market analysis candidates
- de: Durchführung einer quantitativen Quellenanalyse unter Verwendung neuer Analysen zur Studienvalidität
en: Conducting quantitative source analysis using novel study validity assertions
- de: Erstellung einer umfassenden qualitativen Synthese aus 52 relevanten Arbeitsmarktanalysen
en: Creating a comprehensive qualitative synthesis of 52 relevant labour market analyses
- date:
de: 2023
en: 2023
title:
de: Consultant, Forschungsarbeit für nachhaltige Beschaffung in internationaler Logistik, Refinter Consulting
en: Consultant, Research on sustainable procurement in international logistics, Refinter Consulting
bullets:
- de: Qualitative Gegenüberstellung verschiedener Forschungsperspektiven im Lieferkettenmanagement
en: Qualitative comparison of various research strands within supply chain management
- de: Analyse von Beschaffungsteilprozessen als lineare, zyklische und entscheidungsorientierte Modelle
en: Analysis of procurement sub-processes as linear, cyclic and decision-oriented models
- de: Klare Abgrenzung der Antriebe und Hindernisse für die Erreichung von Nachhaltigkeit in der Beschaffung
en: Clear delineation of primary drivers and barriers of achieving sustainability in procurement
- date: - date:
de: 2022 de: 2022
en: 2022 en: 2022
client:
de: Universität Roskilde
en: Roskilde University
title: title:
de: Consultant, Datenbankforschung internationale Hilfsgelder de: Consultant, Datenbankforschung internationale Hilfsgelder, Universität Roskilde
en: Consultant, Database research international aid funds en: Consultant, Database research international aid funds, Roskilde University
bullets: bullets:
- de: Präsentation zu Einblick in digitaler Forschung in Datenbanken und Kodierungssystemen - de: Präsentation zu Einblick in digitaler Forschung in Datenbanken und Kodierungssystemen
en: Presentation of introduction to digital research in databases and coding systems en: Presentation of introduction to digital research in databases and coding systems
@ -101,11 +66,8 @@ experience:
- date: - date:
de: 2022 de: 2022
en: 2022 en: 2022
client:
de: Universität Roskilde
en: Roskilde University
title: title:
de: Redaktionsarbeit, Soziale Absicherung und Widerstandsfähigkeit de: Redaktionsarbeit, Soziale Absicherung und Widerstandsfähigkeit, Universität Roskilde
en: Editorial work, Social Protection and Resilience, Roskilde University en: Editorial work, Social Protection and Resilience, Roskilde University
publication: publication:
de: 'Torm, N., Gundertofte, C. M., \& Thur, G. E. (2022). Social Protection and Resilience during COVID-19: An Interdisciplinary Analysis of the Role of Informal Worker Associations in Kenya. Roskilde Universitet. SECO Working Paper Series Vol. 2022 No. 6.' de: 'Torm, N., Gundertofte, C. M., \& Thur, G. E. (2022). Social Protection and Resilience during COVID-19: An Interdisciplinary Analysis of the Role of Informal Worker Associations in Kenya. Roskilde Universitet. SECO Working Paper Series Vol. 2022 No. 6.'
@ -120,14 +82,11 @@ experience:
- date: - date:
de: 2022 de: 2022
en: 2022 en: 2022
client:
de: UNU-WIDER
en: UNU-WIDER
title: title:
de: Forschungsassistenz, Entwicklungsprojekte zur Reduzierung Ungleichheitstrends de: Forschungsassistenz, Entwicklungsprojekte zur Reduzierung von Ungleichheitstrends, UNU-WIDER
en: Research Assistant, Development projects to reduce inequality trends en: Research Assistant, Development projects to reduce inequality trends, UNU-WIDER
publication: publication:
de: Niño-Zarazúa, M., \& Morabito, C. (angenommen). Assessing the potential distributional impacts of development interventions. UNU-WIDER. de: Niño-Zarazúa, M., \& Morabito, C. (unveröffentlicht). Assessing the potential distributional impacts of development interventions. UNU-WIDER.
en: Niño-Zarazúa, M., \& Morabito, C. (forthcoming). Assessing the potential distributional impacts of development interventions. UNU-WIDER. en: Niño-Zarazúa, M., \& Morabito, C. (forthcoming). Assessing the potential distributional impacts of development interventions. UNU-WIDER.
bullets: bullets:
- de: Sammlung, Verarbeitung und Bereinigung von 4 quantitativen Datensätzen, u.a. der UN Ungleichheitstrends - de: Sammlung, Verarbeitung und Bereinigung von 4 quantitativen Datensätzen, u.a. der UN Ungleichheitstrends
@ -136,16 +95,12 @@ experience:
en: Conducted descriptive analysis of inequality trends and drivers in 4 countries en: Conducted descriptive analysis of inequality trends and drivers in 4 countries
- de: Erstellen visueller Abbildungen der Daten und beschreibender Analysen der Entwicklungshilfen und ihrer Verteilung - de: Erstellen visueller Abbildungen der Daten und beschreibender Analysen der Entwicklungshilfen und ihrer Verteilung
en: Produced basic time-series visualizations and descriptive analysis of development aid contributions and their distribution en: Produced basic time-series visualizations and descriptive analysis of development aid contributions and their distribution
link: https://www.afd.fr/en/carte-des-projets/distributional-impact-development-cooperation-projects
- date: - date:
de: 2022 de: 2022
en: 2022 en: 2022
client:
de: ILO
en: ILO
title: title:
de: Consultant, Review Verknüpfung sozialer Schutz, Produktivität und Formalisierung de: Consultant, Review Verknüpfung sozialer Schutz, Produktivität und Formalisierung, ILO
en: Consultant, Social Protection, Productivity and Formalization Nexus Review en: Consultant, Social Protection, Productivity and Formalization Nexus Review, ILO
publication: publication:
de: "Torm, N. (forthcoming). The Social Protection, Productivity and Formalization Nexus among low- and middle- income countries: A Scoping Review of the Literature. International Labour Office." de: "Torm, N. (forthcoming). The Social Protection, Productivity and Formalization Nexus among low- and middle- income countries: A Scoping Review of the Literature. International Labour Office."
en: "Torm, N. (forthcoming). The Social Protection, Productivity and Formalization Nexus among low- and middle- income countries: A Scoping Review of the Literature. International Labour Office." en: "Torm, N. (forthcoming). The Social Protection, Productivity and Formalization Nexus among low- and middle- income countries: A Scoping Review of the Literature. International Labour Office."
@ -159,12 +114,9 @@ experience:
- date: - date:
de: 2022 de: 2022
en: 2022 en: 2022
client:
de: Universität Roskilde
en: Roskilde University
title: title:
de: Consultant, Review Arbeitsmarktpolitiken in Asien und dem Pazifik de: Consultant, Review Arbeitsmarktpolitiken in Asien und dem Pazifik, Universität Roskilde
en: Consultant, Labour Market Policies Review in Asia and the Pacific en: Consultant, Labour Market Policies Review in Asia and the Pacific, Roskilde University
publication: publication:
de: 'Niño-Zarazúa, M., \& Torm, N. (2022). Active Labour Market Policies in Asia and the Pacific: A review of the literature. Roskilde Universitet. SECO Working Paper Series Vol. 2022 No. 4.' de: 'Niño-Zarazúa, M., \& Torm, N. (2022). Active Labour Market Policies in Asia and the Pacific: A review of the literature. Roskilde Universitet. SECO Working Paper Series Vol. 2022 No. 4.'
en: 'Niño-Zarazúa, M., \& Torm, N. (2022). Active Labour Market Policies in Asia and the Pacific: A review of the literature. Roskilde Universitet. SECO Working Paper Series Vol. 2022 No. 4.' en: 'Niño-Zarazúa, M., \& Torm, N. (2022). Active Labour Market Policies in Asia and the Pacific: A review of the literature. Roskilde Universitet. SECO Working Paper Series Vol. 2022 No. 4.'
@ -176,12 +128,9 @@ experience:
- date: - date:
de: 2021 de: 2021
en: 2021 en: 2021
client:
de: Universität Roskilde
en: Roskilde University
title: title:
de: Forschungsassistenz, informelle Organisierung und Absicherung de: Forschungsassistenz, informelle Organisierung und Absicherung, Universität Roskilde
en: Research Assistant, informal organization and social security en: Research Assistant, informal organization and social security, Roskilde University
publication: publication:
de: Riisgaard, L. (2020). Worker Organisation and Social Protection amongst Informal Petty Traders in Tanzania. Roskilde Universitet. CAE Working Paper No. 2020:4 de: Riisgaard, L. (2020). Worker Organisation and Social Protection amongst Informal Petty Traders in Tanzania. Roskilde Universitet. CAE Working Paper No. 2020:4
en: Riisgaard, L. (2020). Worker Organisation and Social Protection amongst Informal Petty Traders in Tanzania. Roskilde Universitet. CAE Working Paper No. 2020:4 en: Riisgaard, L. (2020). Worker Organisation and Social Protection amongst Informal Petty Traders in Tanzania. Roskilde Universitet. CAE Working Paper No. 2020:4
@ -195,22 +144,19 @@ experience:
- date: - date:
de: 2021 de: 2021
en: 2021 en: 2021
client:
de: Universität Roskilde
en: Roskilde University
title: title:
de: Redaktionsassistenz, SPIWORK-Projekt de: Redaktionsassistenz, SPIWORK-Projekt, Universität Roskilde
en: Editorial Assistant, SPIWORK Project en: Editorial Assistant, SPIWORK Project, Roskilde University
publication: publication:
de: 'Riisgaard, L., Mitullah, W.V., \& Torm, N. (Eds.). (2021). Social Protection and Informal Workers in Sub-Saharan Africa: Lived Realities and Associational Experiences from Tanzania and Kenya (1st ed.). Routledge.' de: 'Riisgaard, L., Mitullah, W.V., \& Torm, N. (Eds.). (2021). Social Protection and Informal Workers in Sub-Saharan Africa: Lived Realities and Associational Experiences from Tanzania and Kenya (1st ed.). Routledge.'
en: 'Riisgaard, L., Mitullah, W.V., \& Torm, N. (Ed.). (2021). Social Protection and Informal Workers in Sub-Saharan Africa: Lived Realities and Associational Experiences from Tanzania and Kenya (1st ed.). Routledge.' en: 'Riisgaard, L., Mitullah, W.V., \& Torm, N. (Ed.). (2021). Social Protection and Informal Workers in Sub-Saharan Africa: Lived Realities and Associational Experiences from Tanzania and Kenya (1st ed.). Routledge.'
bullets: bullets:
- de: Strukturierung und Bearbeitung einzelner Kapitel einer wissenschaftlichen Anthologie - de: Strukturierung und Bearbeitung einzelner Kapitel einer wissenschaftlichen Anthologie
en: Structured and edited individual chapters of a scientific anthology en: Structured and edited individual chapters of a scientific anthology
- de: Verwaltung von Referenzen und Einhaltung spezifischer akademischer Stilrichtlinien und Verlagsvorgaben - de: Verwaltung von Referenzen und Einhaltung spezifischer akademischer Stilrichtlinien
en: Managed references and adhered to specified academic style guides and publisher's specifications en: Managed references and adhered to specified academic style guides
- de: Koordinierung eines kleinen internationalen Teams für das jeweilige Kapitel - de: Vorbereitung der Buchstruktur, des Titels und des Anhangs gemäß den Vorgaben des Verlages
en: Coordinated small international team for each individual chapter en: Prepared book structure, title, and appendix according to publisher's specifications
- date: - date:
de: 2018--2019 de: 2018--2019
en: 2018--2019 en: 2018--2019
@ -220,8 +166,8 @@ experience:
bullets: bullets:
- de: Digitalisierung und Aufbereitung von Unterrichts- und Forschungsmaterialien - de: Digitalisierung und Aufbereitung von Unterrichts- und Forschungsmaterialien
en: Digitized and optimized teaching and research materials en: Digitized and optimized teaching and research materials
- de: Pflege und Verarbeitung des instituts-internen Content Management Systems - de: Pflege und Verarbeitung des instituts-internen Content Management Systems (SHRIMP)
en: Maintained and prepared internal institute content management system en: Maintained and prepared internal institute content management system (SHRIMP)
- de: Optimierung der optischen Schriftzeichenerkennung und artefaktfreien Bildverarbeitung - de: Optimierung der optischen Schriftzeichenerkennung und artefaktfreien Bildverarbeitung
en: Optimized optical character recognition and artifact-free image processing en: Optimized optical character recognition and artifact-free image processing
- date: - date:
@ -241,8 +187,8 @@ experience:
de: 2018 de: 2018
en: 2018 en: 2018
title: title:
de: Lehrassistenz, Transatlantische Sommerschule Cultures of Security, Universität Leipzig de: Veranstaltungs- und Lehrassistenz, Transatlantische Sommerschule Cultures of Security
en: Teaching Assistant, Trans Atlantic Summer School Cultures of Security, University of Leipzig en: Event and Teaching Assistant, Trans Atlantic Summer School Cultures of Security
bullets: bullets:
- de: Vorbereitung, Organisation und Umsetzung von Lehrveranstaltungen und Events - de: Vorbereitung, Organisation und Umsetzung von Lehrveranstaltungen und Events
en: Prepared, organized, and implemented schedule for teaching and events en: Prepared, organized, and implemented schedule for teaching and events
@ -263,19 +209,6 @@ experience:
en: Created API interface to interact with Twitter, Facebook, and an internal event stream en: Created API interface to interact with Twitter, Facebook, and an internal event stream
- de: Design einfacher statischer HTML- und CSS-Seiten - de: Design einfacher statischer HTML- und CSS-Seiten
en: Designed basic HTML and CSS pages en: Designed basic HTML and CSS pages
- date:
de: 2014--2018
en: 2014--2018
title:
de: Verkaufsassistent und Eventhelfer für historische Märkte, Heureka Gastronomie
en: Sales Assistant and Event Support for Historical Markets, Heureka Gastronomy
bullets:
- de: Betreuung mehrerer Verkaufsstände, darunter Glühwein und Getränke, Grillstände und Handbrote
en: Managed multiple sales stands, including mulled wine and beverages, grill, and handbread stands
- de: Unterstützung der Auf- und Abbauorganisation des gesamten Marktes
en: Supported the setup and teardown organization of the entire market
- de: Koordinierung der Verteilung neuer Ware an Liefertagen
en: Coordinated distribution of new goods on delivery days
education: education:
- place: - place:
@ -398,7 +331,6 @@ skills:
en: GIMP en: GIMP
- de: Adobe Suite - de: Adobe Suite
en: Adobe suite en: Adobe suite
# Add date information for volunteer work
- de: Ehrenamt - de: Ehrenamt
en: Volunteering work en: Volunteering work
content: content:
@ -408,12 +340,6 @@ skills:
items: items:
- de: technische Assistenz zur Vermittlung digitaler Kompetenzen - de: technische Assistenz zur Vermittlung digitaler Kompetenzen
en: technical assistance for conveying digital competencies en: technical assistance for conveying digital competencies
- name:
de: ZeitRaum, Heizhaus e.V.
en: ZeitRaum, Heizhaus association
items:
- de: Vermittlung digitaler Kompetenzen im Alter, Workshop und Fragestunde
en: Transferring Digital Competence in Aging, Workshop and individual sessions
- de: Sprachen - de: Sprachen
en: Languages en: Languages
content: content:

View file

@ -1,53 +0,0 @@
---
backaddress: Marty Oehme, Körnerstraße 54, 04107 Leipzig
fromname: Marty Oehme
fromaddress: |
Körnerstraße 54
04107 Leipzig
fromphone: "0177 / 377 49 49"
place: Leipzig, DAY MONTH YEAR
placeseparator: " "
sendto: |
NAME OF COMPANY
ITS ADDRESS STREET AND NUMBER
LOCATION ZIPCODE
lang: en
subject: Bewerbung für JOBSTELLE
signature: Marty Oehme
opening: Dear CONTACTNAME
closing: Sincerely
format:
pdf:
template: templates/letter.latex
---
After two years of cooperation, I recently finished the final in a row of projects undertaken as consultant for UNU-WIDER and the ILO.
I am glad to have happened upon your job posting for the position of project officer as part-time worker with minimum 32 hours, as for me it may allow a more medium term stability than the previous short-term freelance positions did.
Over the previous two years, I have primarily provided research assistance for three major projects under the helm of the UN, the ILO and Roskilde University:
In addition to the descriptive analysis undertaken for all of these projects,
my consultancy for UNU-WIDER required the creation of a time-series visualization on the basis of empirical analysis over roughly 200.000 observations within the UN's WIID dataset.
The previous work for the ILO and Roskilde University instead consisted of deep research for the creation of wide-ranging scoping reviews,
which necessitated collecting, organizing and cleaning datasets of around 2000 source potentials.
I accomplished both of these tasks more efficiently with the help of Python and its data analysis modules which is also where my primary statistical programming focus lies.
Additionally, I have long been helping publish academic, particularly empirical, works,
first in the role of academic assistant and later on as editorial consultant.
Perhaps most personally beneficial for the current position was the publication of a large academic anthology under the SPIWORK project:
During this time I worked with clients located internationally,
collaborating directly to create clear and concise manuscripts for each individual topic,
before merging the divergent aspects into a final coherent whole while also fulfilling publisher's formal requirements.
I would love to bring both the analytical and editorial skillsets together in my new work,
to be able to push them forward in tandem.
Lastly, my skills of communication, especially international communication skills, have been honed throughout this time as I was both participant and leader of small (from 3 people) to medium-sized (up to 8 people) teams.
Collaboration in this way was both exciting and straightforward for me,
and I firmly believe concise and clear communication both engenders easier productivity flows
and is fundamental to the ability to precisely frame topics as complex as energy transition.
My interactions with processes of both long-term energy planning and renewables-based electrification of end-use sectors primarily stem from research undertaken in Vietnam and Benin under the helm of the Agence française de développement,
where the eventual distributional impact of access to clean water and new energy grids provided the project's focus.
I have, however, both the willingness and curiosity to dive deeper into these topics and their related issues of regulatory frameworks, financing and policy framing.
I will be happy to hear back from you and am confident that I could be a good match.
Should you agree that my profile is a good fit for the offered position then do not hesitate to contact me and I would be delighted to arrange a meeting.

1990
poetry.lock generated

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@ from typing import Any
def summary_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""): def summary_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""):
if "summary" not in data: if "summary" not in data:
return "" return
md = f"{headline}\n\n {data['summary'][lang]}\n\n" md = f"{headline}\n\n {data['summary'][lang]}\n\n"
return md return md
@ -23,28 +23,21 @@ def experience_to_md(
data: dict[str, Any], data: dict[str, Any],
lang: str = "en", lang: str = "en",
headline: str = "", headline: str = "",
subdued_publications: bool = True, # slightly off-color presentation subdued_publications: bool = True,
bulletpoints_show: bool = True, # display detailed bulletpoints per job
): ):
if "experience" not in data: if "experience" not in data:
return "" return
md = f"{headline}\n\n" md = f"{headline}\n\n"
md += "\\definecolor{publication}{rgb}{0.5,0.5,0.5}\n\n" md += "\\definecolor{publication}{rgb}{0.5,0.5,0.5}\n\n"
for exp in data["experience"]: for exp in data["experience"]:
client = exp["client"][lang] if "client" in exp else "" md += f"## {exp['title'][lang]}\\hfill{exp['date'][lang]}\n\n"
title = exp["title"][lang] if "title" in exp else ""
md += (
# new python 3.12 f-string embedding niceness
f"## {title}{f", {client}" if client else ""}\\hfill{exp['date'][lang]}\n\n"
)
if "publication" in exp: if "publication" in exp:
md += _publication_md(exp["publication"][lang], subdued_publications) md += _publication_md(exp["publication"][lang], subdued_publications)
if bulletpoints_show: for point in exp["bullets"]:
for point in exp["bullets"]: md += f"* {point[lang]}\n"
md += f"* {point[lang]}\n"
md += "\n\n" md += "\n\n"
return md return md
@ -63,7 +56,7 @@ def education_to_md(
data: dict[str, Any], lang: str = "en", headline: str = "", thesis: bool = True data: dict[str, Any], lang: str = "en", headline: str = "", thesis: bool = True
): ):
if "education" not in data: if "education" not in data:
return "" return
md = f"{headline}\n\n" md = f"{headline}\n\n"
@ -80,7 +73,7 @@ def education_to_md(
def qualifications_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""): def qualifications_to_md(data: dict[str, Any], lang: str = "en", headline: str = ""):
if "skills" not in data: if "skills" not in data:
return "" return
md = f"{headline}\n\n" md = f"{headline}\n\n"
for skillset in data["skills"]: for skillset in data["skills"]:

View file

@ -4,9 +4,7 @@ version = "0.1.0"
description = "My personal curriculum vitae" description = "My personal curriculum vitae"
authors = ["Marty Oehme <marty.oehme@gmail.com>"] authors = ["Marty Oehme <marty.oehme@gmail.com>"]
license = "GPLv3" license = "GPLv3"
packages = [ readme = "README.md"
{ include = "processing"}
]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.11" python = "^3.11"

View file

@ -4,44 +4,39 @@ subtitle: Marty Oehme
name: Marty Oehme name: Marty Oehme
lang: de lang: de
left-column: left-column:
- "Email: [marty.oehme@gmail.com](mailto:marty.oehme@gmail.com)" - 'Email: [marty.oehme@gmail.com](mailto:marty.oehme@gmail.com)'
- "Telefon: +49 177 377 4949" - 'Telefon: +49 177 377 4949'
right-column: right-column:
- "Homepage: [http://martyoeh.me/](http://martyoeh.me/)" - 'Homepage: [http://martyoeh.me/](http://martyoeh.me/)'
- "GitHub: [https://github.com/marty-oehme/](https://github.com/marty-oehme/)" - 'GitHub: [https://github.com/marty-oehme/](https://github.com/marty-oehme/)'
- 'Stand: \today' - 'Stand: \today'
--- ---
```{python} ```{python}
from processing import yml, content from IPython.core.display import Markdown
from IPython.display import Markdown from IPython.display import display
data = yml.parse("content.yml") from processing import yml
lang = "de" from processing import content
data=yml.parse("content.yml")
lang="de"
``` ```
```{python} ```{python}
#| label: summary
display(Markdown(content.summary_to_md(data, headline="# Zusammenfassung", lang=lang))) display(Markdown(content.summary_to_md(data, headline="# Zusammenfassung", lang=lang)))
``` ```
```{python} ```{python}
#| label: prof experience display(Markdown(
display( content.experience_to_md(data, headline="# Berufserfahrung", lang=lang)))
Markdown(content.experience_to_md(data, headline="# Berufserfahrung", lang=lang))
)
``` ```
```{python} ```{python}
#| label: education
display(Markdown(content.education_to_md(data, headline="# Ausbildung", lang=lang))) display(Markdown(content.education_to_md(data, headline="# Ausbildung", lang=lang)))
``` ```
```{python} ```{python}
#| label: qualifications display(Markdown(
display( content.qualifications_to_md(data, headline="# Qualifikationen", lang=lang)))
Markdown(
content.qualifications_to_md(data, headline="# Qualifikationen", lang=lang)
)
)
``` ```

View file

@ -4,48 +4,38 @@ subtitle: Marty Oehme
name: Marty Oehme name: Marty Oehme
lang: en lang: en
left-column: left-column:
- "Email: [marty.oehme@gmail.com](mailto:marty.oehme@gmail.com)" - 'Email: [marty.oehme@gmail.com](mailto:marty.oehme@gmail.com)'
- "Mobile: +49 177 377 4949" - 'Mobile: +49 177 377 4949'
right-column: right-column:
- "Homepage: [http://martyoeh.me/](http://martyoeh.me/)" - 'Homepage: [http://martyoeh.me/](http://martyoeh.me/)'
- "GitHub: [https://github.com/marty-oehme/](https://github.com/marty-oehme/)" - 'GitHub: [https://github.com/marty-oehme/](https://github.com/marty-oehme/)'
- 'Last Updated: \today' - 'Last Updated: \today'
--- ---
```{python} ```{python}
from processing import yml, content from IPython.display import display, Markdown
from IPython.display import Markdown
data = yml.parse("content.yml") from processing import yml
lang = "en" from processing import content
data=yml.parse("content.yml")
lang="en"
``` ```
```{python} ```{python}
#| label: summary
display(Markdown(content.summary_to_md(data, headline="# Summary", lang=lang))) display(Markdown(content.summary_to_md(data, headline="# Summary", lang=lang)))
``` ```
```{python} ```{python}
#| label: prof experience display(Markdown(
display( content.experience_to_md(data, headline="# Professional experience", lang=lang)))
Markdown(
content.experience_to_md(
data,
headline="# Professional experience",
lang=lang,
)
)
)
``` ```
```{python} ```{python}
#| label: education
display(Markdown(content.education_to_md(data, headline="# Education", lang=lang))) display(Markdown(content.education_to_md(data, headline="# Education", lang=lang)))
``` ```
```{python} ```{python}
#| label: qualifications display(Markdown(
display( content.qualifications_to_md(data, headline="# Qualifications", lang=lang)))
Markdown(content.qualifications_to_md(data, headline="# Qualifications", lang=lang))
)
``` ```

View file

@ -1,645 +0,0 @@
%
% Options for packages loaded elsewhere
%
% taken with gratitude from:
% https://github.com/benedictdudel/pandoc-letter-din5008
%
\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
\PassOptionsToPackage{hyphens}{url}
$if(colorlinks)$
\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor}
$endif$
$if(CJKmainfont)$
\PassOptionsToPackage{space}{xeCJK}
$endif$
%
\documentclass[
$if(fontsize)$
$fontsize$,
$endif$
$if(papersize)$
$papersize$paper,
$endif$
$if(beamer)$
ignorenonframetext,
$if(handout)$
handout,
$endif$
$if(aspectratio)$
aspectratio=$aspectratio$,
$endif$
$endif$
$for(classoption)$
$classoption$$sep$,
$endfor$
]{scrlttr2}
$if(beamer)$
$if(background-image)$
\usebackgroundtemplate{%
\includegraphics[width=\paperwidth]{$background-image$}%
}
$endif$
\usepackage{pgfpages}
\setbeamertemplate{caption}[numbered]
\setbeamertemplate{caption label separator}{: }
\setbeamercolor{caption name}{fg=normal text.fg}
\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$
$for(beameroption)$
\setbeameroption{$beameroption$}
$endfor$
% Prevent slide breaks in the middle of a paragraph
\widowpenalties 1 10000
\raggedbottom
$if(section-titles)$
\setbeamertemplate{part page}{
\centering
\begin{beamercolorbox}[sep=16pt,center]{part title}
\usebeamerfont{part title}\insertpart\par
\end{beamercolorbox}
}
\setbeamertemplate{section page}{
\centering
\begin{beamercolorbox}[sep=12pt,center]{part title}
\usebeamerfont{section title}\insertsection\par
\end{beamercolorbox}
}
\setbeamertemplate{subsection page}{
\centering
\begin{beamercolorbox}[sep=8pt,center]{part title}
\usebeamerfont{subsection title}\insertsubsection\par
\end{beamercolorbox}
}
\AtBeginPart{
\frame{\partpage}
}
\AtBeginSection{
\ifbibliography
\else
\frame{\sectionpage}
\fi
}
\AtBeginSubsection{
\frame{\subsectionpage}
}
$endif$
$endif$
$if(beamerarticle)$
\usepackage{beamerarticle} % needs to be loaded first
$endif$
\usepackage{amsmath,amssymb}
$if(linestretch)$
\usepackage{setspace}
$endif$
\usepackage{iftex}
\ifPDFTeX
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
$if(mathspec)$
\ifXeTeX
\usepackage{mathspec} % this also loads fontspec
\else
\usepackage{unicode-math} % this also loads fontspec
\fi
$else$
\usepackage{unicode-math} % this also loads fontspec
$endif$
\defaultfontfeatures{Scale=MatchLowercase}$-- must come before Beamer theme
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
$if(fontfamily)$
$else$
$-- Set default font before Beamer theme so the theme can override it
\usepackage{lmodern}
$endif$
$-- Set Beamer theme before user font settings so they can override theme
$if(beamer)$
$if(theme)$
\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$}
$endif$
$if(colortheme)$
\usecolortheme{$colortheme$}
$endif$
$if(fonttheme)$
\usefonttheme{$fonttheme$}
$endif$
$if(mainfont)$
\usefonttheme{serif} % use mainfont rather than sansfont for slide text
$endif$
$if(innertheme)$
\useinnertheme{$innertheme$}
$endif$
$if(outertheme)$
\useoutertheme{$outertheme$}
$endif$
$endif$
$-- User font settings (must come after default font and Beamer theme)
$if(fontfamily)$
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
$endif$
\ifPDFTeX\else
% xetex/luatex font selection
$if(mainfont)$
\setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
$endif$
$if(sansfont)$
\setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$}
$endif$
$if(monofont)$
\setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$}
$endif$
$for(fontfamilies)$
\newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$}
$endfor$
$if(mathfont)$
$if(mathspec)$
\ifXeTeX
\setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
\else
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
\fi
$else$
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
$endif$
$endif$
$if(CJKmainfont)$
\ifXeTeX
\usepackage{xeCJK}
\setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
\fi
$endif$
$if(luatexjapresetoptions)$
\ifLuaTeX
\usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset}
\fi
$endif$
$if(CJKmainfont)$
\ifLuaTeX
\usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec}
\setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
\fi
$endif$
\fi
$if(zero-width-non-joiner)$
%% Support for zero-width non-joiner characters.
\makeatletter
\def\zerowidthnonjoiner{%
% Prevent ligatures and adjust kerning, but still support hyphenating.
\texorpdfstring{%
\TextOrMath{\nobreak\discretionary{-}{}{\kern.03em}%
\ifvmode\else\nobreak\hskip\z@skip\fi}{}%
}{}%
}
\makeatother
\ifPDFTeX
\DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner}
\else
\catcode`^^^^200c=\active
\protected\def ^^^^200c{\zerowidthnonjoiner}
\fi
%% End of ZWNJ support
$endif$
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
$if(indent)$
$else$
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
$endif$
$if(verbatim-in-note)$
\usepackage{fancyvrb}
$endif$
\usepackage{xcolor}
$if(geometry)$
$if(beamer)$
\geometry{$for(geometry)$$geometry$$sep$,$endfor$}
$else$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$
$endif$
$if(beamer)$
\newif\ifbibliography
$endif$
$if(listings)$
\usepackage{listings}
\newcommand{\passthrough}[1]{#1}
\lstset{defaultdialect=[5.3]Lua}
\lstset{defaultdialect=[x86masm]Assembler}
$endif$
$if(lhs)$
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
$endif$
$if(highlighting-macros)$
$highlighting-macros$
$endif$
$if(tables)$
\usepackage{longtable,booktabs,array}
$if(multirow)$
\usepackage{multirow}
$endif$
\usepackage{calc} % for calculating minipage widths
$if(beamer)$
\usepackage{caption}
% Make caption package work with longtable
\makeatletter
\def\fnum@table{\tablename~\thetable}
\makeatother
$else$
% Correct order of tables after \paragraph or \subparagraph
\usepackage{etoolbox}
\makeatletter
\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
\makeatother
% Allow footnotes in longtable head/foot
\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}}
\makesavenoteenv{longtable}
$endif$
$endif$
$if(graphics)$
\usepackage{graphicx}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
% Scale images if necessary, so that they will not overflow the page
% margins by default, and it is still possible to overwrite the defaults
% using explicit options in \includegraphics[width, height, ...]{}
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
% Set default figure placement to htbp
\makeatletter
\def\fps@figure{htbp}
\makeatother
$endif$
$if(svg)$
\usepackage{svg}
$endif$
$if(strikeout)$
$-- also used for underline
\usepackage{soul}
$endif$
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
$if(numbersections)$
\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$}
$else$
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
$endif$
$if(beamer)$
$else$
$if(block-headings)$
% Make \paragraph and \subparagraph free-standing
\ifx\paragraph\undefined\else
\let\oldparagraph\paragraph
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
\fi
\ifx\subparagraph\undefined\else
\let\oldsubparagraph\subparagraph
\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
\fi
$endif$
$endif$
$if(pagestyle)$
\pagestyle{$pagestyle$}
$endif$
$if(csl-refs)$
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newlength{\cslentryspacingunit} % times entry-spacing
\setlength{\cslentryspacingunit}{\parskip}
\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing
{% don't indent paragraphs
\setlength{\parindent}{0pt}
% turn on hanging indent if param 1 is 1
\ifodd #1
\let\oldpar\par
\def\par{\hangindent=\cslhangindent\oldpar}
\fi
% set entry spacing
\setlength{\parskip}{#2\cslentryspacingunit}
}%
{}
\usepackage{calc}
\newcommand{\CSLBlock}[1]{#1\hfill\break}
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
$endif$
$if(lang)$
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\else
\usepackage[bidi=default]{babel}
\fi
$if(babel-lang)$
\babelprovide[main,import]{$babel-lang$}
$endif$
$for(babel-otherlangs)$
\babelprovide[import]{$babel-otherlangs$}
$endfor$
% get rid of language-specific shorthands (see #6817):
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
$endif$
$for(header-includes)$
$header-includes$
$endfor$
\ifLuaTeX
\usepackage{selnolig} % disable illegal ligatures
\fi
$if(dir)$
\ifPDFTeX
\TeXXeTstate=1
\newcommand{\RL}[1]{\beginR #1\endR}
\newcommand{\LR}[1]{\beginL #1\endL}
\newenvironment{RTL}{\beginR}{\endR}
\newenvironment{LTR}{\beginL}{\endL}
\fi
$endif$
$if(natbib)$
\usepackage[$natbiboptions$]{natbib}
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
$endif$
$if(biblatex)$
\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex}
$for(bibliography)$
\addbibresource{$bibliography$}
$endfor$
$endif$
$if(nocite-ids)$
\nocite{$for(nocite-ids)$$it$$sep$, $endfor$}
$endif$
$if(csquotes)$
\usepackage{csquotes}
$endif$
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\urlstyle{$if(urlstyle)$$urlstyle$$else$same$endif$}
$if(links-as-notes)$
% Make links footnotes instead of hotlinks:
\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}}
$endif$
$if(verbatim-in-note)$
\VerbatimFootnotes % allow verbatim text in footnotes
$endif$
\hypersetup{
$if(title-meta)$
pdftitle={$title-meta$},
$endif$
$if(author-meta)$
pdfauthor={$author-meta$},
$endif$
$if(lang)$
pdflang={$lang$},
$endif$
$if(subject)$
pdfsubject={$subject$},
$endif$
$if(keywords)$
pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$},
$endif$
$if(colorlinks)$
colorlinks=true,
linkcolor={$if(linkcolor)$$linkcolor$$else$Maroon$endif$},
filecolor={$if(filecolor)$$filecolor$$else$Maroon$endif$},
citecolor={$if(citecolor)$$citecolor$$else$Blue$endif$},
urlcolor={$if(urlcolor)$$urlcolor$$else$Blue$endif$},
$else$
$if(boxlinks)$
$else$
hidelinks,
$endif$
$endif$
pdfcreator={LaTeX via pandoc}}
$if(title)$
\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
$endif$
$if(subtitle)$
$if(beamer)$
$else$
\usepackage{etoolbox}
\makeatletter
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
\apptocmd{\@title}{\par {\large #1 \par}}{}{}
}
\makeatother
$endif$
\subtitle{$subtitle$}
$endif$
\author{$for(author)$$author$$sep$ \and $endfor$}
\date{$date$}
$if(beamer)$
$if(institute)$
\institute{$for(institute)$$institute$$sep$ \and $endfor$}
$endif$
$if(titlegraphic)$
\titlegraphic{\includegraphics{$titlegraphic$}}
$endif$
$if(logo)$
\logo{\includegraphics{$logo$}}
$endif$
$endif$
% OVERRIDES
\newkomavar{opening}
\newkomavar{closing}
\KOMAoptions{fromemail=false}
\KOMAoptions{fromfax=false}
\KOMAoptions{fromlogo=false}
\KOMAoptions{frommobilephone=false}
\KOMAoptions{fromphone=false}
\KOMAoptions{fromurl=false}
\KOMAoptions{fromalign=right}
\setkomavar{opening}{Sehr geehrte Damen und Herren,}
\setkomavar{closing}{Mit freundlichen Grüßen}
\setkomavar*{enclseparator}{Anlagen}
$for(letteroption)$
\LoadLetterOption{$letteroption$}
$endfor$
$if(addresseeimage)$\setkomavar{addresseeimage}{$addresseeimage$}$endif$
$if(backaddress)$\setkomavar{backaddress}{$backaddress$}\KOMAoptions{backaddress=true}$endif$
$if(backaddressseparator)$\setkomavar{backaddressseparator}{$backaddressseparator$}$endif$
$if(ccseparator)$\setkomavar{ccseparator}{$ccseparator$}$endif$
$if(customer)$\setkomavar{customer}{$customer$}$endif$
% $if(date)$\setkomavar{date}{$date$}$endif$
$if(emailseparator)$\setkomavar{emailseparator}{$emailseparator$}$endif$
$if(enclseparator)$\setkomavar{enclseparator}{$enclseparator$}$endif$
$if(faxseparator)$\setkomavar{faxseparator}{$faxseparator$}$endif$
$if(firstfoot)$\setkomavar{firstfoot}{$firstfoot$}$endif$
$if(firsthead)$\setkomavar{firsthead}{$firsthead$}$endif$
$if(fromaddress)$\setkomavar{fromaddress}{$fromaddress$}$endif$
$if(frombank)$\setkomavar{frombank}{$frombank$}$endif$
$if(fromemail)$\setkomavar{fromemail}{$fromemail$}\KOMAoptions{fromemail=true}$endif$
$if(fromfax)$\setkomavar{fromfax}{$fromfax$}\KOMAoptions{fromfax=true}$endif$
$if(fromlogo)$\setkomavar{fromlogo}{$fromlogo$}\KOMAoptions{fromlogo=true}$endif$
$if(frommobilephone)$\setkomavar{frommobilephone}{$frommobilephone$}\KOMAoptions{frommobilephone=true}$endif$
$if(fromname)$\setkomavar{fromname}{$fromname$}$endif$
$if(fromphone)$\setkomavar{fromphone}{$fromphone$}\KOMAoptions{fromphone=true}$endif$
$if(fromurl)$\setkomavar{fromurl}{$fromurl$}\KOMAoptions{fromurl=true}$endif$
$if(fromzipcode)$\setkomavar{fromzipcode}{$fromzipcode$}$endif$
$if(invoice)$\setkomavar{invoice}{$invoice$}$endif$
$if(location)$\setkomavar{location}{$location$}$endif$
$if(myref)$\setkomavar{myref}{$myref$}$endif$
$if(nextfoot)$\setkomavar{nextfoot}{$nextfoot$}$endif$
$if(nexthead)$\setkomavar{nexthead}{$nexthead$}$endif$
$if(phoneseparator)$\setkomavar{phoneseparator}{$phoneseparator$}$endif$
$if(place)$\setkomavar{place}{$place$}$endif$
$if(placeseparator)$\setkomavar{placeseparator}{$placeseparator$}$endif$
$if(PPdatamatrix)$\setkomavar{PPdatamatrix}{$PPdatamatrix$}$endif$
$if(PPcode)$\setkomavar{PPcode}{$PPcode$}$endif$
$if(signature)$\setkomavar{signature}{$signature$}\renewcommand*{\raggedsignature}{\raggedright}$endif$
$if(specialmail)$\setkomavar{specialmail}{$specialmail$}$endif$
$if(subject)$\setkomavar{subject}{$subject$}$endif$
$if(subjectseparator)$\setkomavar{placeseparator}{$placeseparator$}$endif$
$if(title)$\setkomavar{title}{$title$}$endif$
$if(toaddress)$\setkomavar{toaddress}{$toaddress$}\KOMAoptions{toaddress=true}$endif$
$if(toname)$\setkomavar{toname}{$toname$}\KOMAoptions{toname=true}$endif$
$if(yourmail)$\setkomavar{yourmail}{$yourmail$}$endif$
$if(yourref)$\setkomavar{yourref}{$yourref$}$endif$
$if(zipcodeseparator)$\setkomavar{zipcodeseparator}{$zipcodeseparator$}$endif$
$if(enclseparator)$\setkomavar{enclseparator}{$enclseparator$}$endif$
$if(fromalign)$\KOMAoptions{fromalign=$fromalign$}$endif$
$if(customername)$\setkomavar*{customer}{$customername$}$endif$
% $if(datename)$\setkomavar*{date}{$datename$}$endif$
$if(invoicename)$\setkomavar*{invoice}{$invoicename$}$endif$
$if(myrefname)$\setkomavar*{myref}{$myrefname$}$endif$
$if(yourmailname)$\setkomavar*{yourmail}{$yourmailname$}$endif$
$if(yourrefname)$\setkomavar*{yourref}{$yourrefname$}$endif$
$if(opening)$\setkomavar{opening}{$opening$}$endif$
$if(closing)$\setkomavar{closing}{$closing$}$endif$
$if(enclseparator)$\setkomavar*{enclseparator}{$enclseparator$}$endif$
% END OVERRIDES
\begin{document}
$if(has-frontmatter)$
\frontmatter
$endif$
$if(title)$
$if(beamer)$
\frame{\titlepage}
$else$
\maketitle
$endif$
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
$endif$
$for(include-before)$
$include-before$
$endfor$
$if(toc)$
$if(toc-title)$
\renewcommand*\contentsname{$toc-title$}
$endif$
$if(beamer)$
\begin{frame}[allowframebreaks]
$if(toc-title)$
\frametitle{$toc-title$}
$endif$
\tableofcontents[hideallsubsections]
\end{frame}
$else$
{
$if(colorlinks)$
\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$}
$endif$
\setcounter{tocdepth}{$toc-depth$}
\tableofcontents
}
$endif$
$endif$
$if(lof)$
\listoffigures
$endif$
$if(lot)$
\listoftables
$endif$
$if(linestretch)$
\setstretch{$linestretch$}
$endif$
$if(has-frontmatter)$
\mainmatter
$endif$
% OVERRIDES
\begin{letter}{%
$sendto$
}
\opening{\usekomavar{opening}}
% END OVERRIDES
$body$
% OVERRIDES
\closing{\usekomavar{closing}}
$if(ps)$\ps{$ps$}$endif$
$if(encl)$\encl{$encl$}$endif$
% END OVERRIDES
$if(has-frontmatter)$
\backmatter
$endif$
$if(natbib)$
$if(bibliography)$
$if(biblio-title)$
$if(has-chapters)$
\renewcommand\bibname{$biblio-title$}
$else$
\renewcommand\refname{$biblio-title$}
$endif$
$endif$
$if(beamer)$
\begin{frame}[allowframebreaks]{$biblio-title$}
\bibliographytrue
$endif$
\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
$if(beamer)$
\end{frame}
$endif$
$endif$
$endif$
$if(biblatex)$
$if(beamer)$
\begin{frame}[allowframebreaks]{$biblio-title$}
\bibliographytrue
\printbibliography[heading=none]
\end{frame}
$else$
\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
$endif$
$endif$
$for(include-after)$
$include-after$
$endfor$
% OVERRIDES
$if(cc)$
\cc{$cc$}
$endif$
\end{letter}
% END OVERRIDES
\end{document}