S05: Zweite Iteration auf Inspektions-Befunde. cv.md: 25 Vorkommen Zahl-plus-Einheit (Hz/kHz/KHz/MHz/GHz/THz) per geschuetztem Leerzeichen U+00A0 vor Zerreissen geschuetzt; Trainings-Sektion von Fliesstext auf Bullet-Liste umgestellt. template.tex: parindent=0 mit parskip-Vertikalabstand statt Erstzeilen-Einrueckung (behebt Ausbildungs-Inkonsistenz), Level-2-Bullet von textopenbullet (in Plex Sans nicht enthalten, Rechtecke) auf textendash umgestellt, linkcolor auf schwarz fuer interne Links (LastPage-Seitennummer nicht mehr blau, URLs bleiben blau), Hyphenation-Penalty erhoeht (kuerzere Worte am Zeilenanfang seltener), Section-Hierarchie korrigiert (H2 jetzt groesser als H3, beide mit destengsblau und Trennlinie), Schusterjungen-Schutz per needspace+nopagebreak vor und nach jedem Stations-Titel (verhindert dass Stations-Anfang am Seitenende landet). Sandbox-Verifikation: 51 LaTeX-itemize-Bloecke, 558 DOCX-Numbering-Marker, alle Template-Eingriffe im Output sichtbar. Hinweis: Write-Tool hatte das Template beim ersten Versuch verstuemmelt; Heredoc-Workaround per bash hat geklappt.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
%% template.tex — Pandoc-LaTeX-Template für den DesTEngS-Lebenslauf
|
||||
%% Engine: LuaLaTeX (wegen fontspec + OpenType-Schrift IBM Plex Sans)
|
||||
%% Status: erstes funktionsfähiges Grundgerüst; Typographie-Feinarbeit erfolgt iterativ.
|
||||
%% Status: zweite Iteration mit typographischen Tiefen-Eingriffen.
|
||||
|
||||
\documentclass[11pt,a4paper]{article}
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
headheight=16pt, headsep=0.6cm,
|
||||
footskip=1.0cm]{geometry}
|
||||
|
||||
%% === Absatz-Layout ==========================================================
|
||||
%% CV-Stil: keine Erstzeilen-Einrückung, stattdessen Vertikalabstand
|
||||
\setlength{\parindent}{0pt}
|
||||
\setlength{\parskip}{0.5em plus 0.2em minus 0.1em}
|
||||
|
||||
%% === Widow/Orphan-Kontrolle (strikt) ========================================
|
||||
\widowpenalty=10000
|
||||
\clubpenalty=10000
|
||||
@@ -32,16 +37,24 @@
|
||||
\brokenpenalty=10000
|
||||
\raggedbottom
|
||||
|
||||
%% === Hyphenation tunen ======================================================
|
||||
%% Hoehere Penalty: lieber leichte Ueberlaenge als unschoene Trennungen
|
||||
\hyphenpenalty=500
|
||||
\exhyphenpenalty=500
|
||||
\tolerance=400
|
||||
\emergencystretch=2em
|
||||
|
||||
%% === Farbe ==================================================================
|
||||
\usepackage{xcolor}
|
||||
\definecolor{destengsblue}{HTML}{0B5394}
|
||||
\definecolor{rulegray}{HTML}{BFBFBF}
|
||||
|
||||
%% === Hyperlinks =============================================================
|
||||
%% URLs blau, interne Links (\pageref u.ae.) schwarz
|
||||
\usepackage[hidelinks]{hyperref}
|
||||
\hypersetup{
|
||||
colorlinks=true,
|
||||
linkcolor=destengsblue,
|
||||
linkcolor=black,
|
||||
urlcolor=destengsblue,
|
||||
citecolor=destengsblue,
|
||||
pdfauthor={Dr.-Ing. Thomas Langer},
|
||||
@@ -55,24 +68,46 @@
|
||||
%% === Listen =================================================================
|
||||
\usepackage{enumitem}
|
||||
\setlist{nosep, leftmargin=1.2em, topsep=0.2em, partopsep=0pt, parsep=0pt, itemsep=0.15em}
|
||||
%% Level 1: gefuellter Bullet
|
||||
\setlist[itemize,1]{label=\textbullet}
|
||||
\setlist[itemize,2]{label=\textopenbullet, leftmargin=2.0em}
|
||||
%% Level 2: Endstrich (textopenbullet ist in Plex Sans nicht enthalten)
|
||||
\setlist[itemize,2]{label=\textendash, leftmargin=2.0em}
|
||||
|
||||
%% === Schusterjungen-Schutz ==================================================
|
||||
\usepackage{needspace}
|
||||
|
||||
%% === Abschnitte =============================================================
|
||||
\usepackage{titlesec}
|
||||
|
||||
%% H1 (\section): gross, blau, mit Trennlinie. Im CV nur einmal (Name oben).
|
||||
\titleformat{\section}
|
||||
{\Large\bfseries\color{destengsblue}}
|
||||
{}{0em}
|
||||
{}
|
||||
[\vspace{-0.3em}{\color{rulegray}\titlerule[0.4pt]}]
|
||||
|
||||
%% H2 (\subsection): mittelgross, blau, mit Trennlinie.
|
||||
%% Hauptabschnitte (Kontaktdaten, Zusammenfassung, Stationen, Ausbildung, Kenntnisse)
|
||||
\titleformat{\subsection}
|
||||
{\normalsize\bfseries}
|
||||
{\large\bfseries\color{destengsblue}}
|
||||
{}{0em}
|
||||
{}
|
||||
\titlespacing*{\section}{0pt}{1.4em}{0.5em}
|
||||
\titlespacing*{\subsection}{0pt}{0.9em}{0.2em}
|
||||
[\vspace{-0.3em}{\color{rulegray}\titlerule[0.3pt]}]
|
||||
|
||||
%% === Kopf- und Fußzeile =====================================================
|
||||
%% H3 (\subsubsection): normal-fett, jeweils Stations-Titel.
|
||||
%% needspace verhindert Fast-Schusterjunge: kein Pagebreak, wenn weniger
|
||||
%% als 6 Zeilen Platz; nopagebreak nach: Titel und erste Liste bleiben zusammen.
|
||||
\titleformat{\subsubsection}
|
||||
{\needspace{6\baselineskip}\normalsize\bfseries}
|
||||
{}{0em}
|
||||
{}
|
||||
[\nopagebreak]
|
||||
|
||||
\titlespacing*{\section}{0pt}{1.4em}{0.5em}
|
||||
\titlespacing*{\subsection}{0pt}{1.0em}{0.4em}
|
||||
\titlespacing*{\subsubsection}{0pt}{0.7em}{0.2em}
|
||||
|
||||
%% === Kopf- und Fusszeile ====================================================
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{lastpage}
|
||||
\pagestyle{fancy}
|
||||
@@ -91,11 +126,10 @@
|
||||
}
|
||||
|
||||
%% === Pandoc-Hilfen ==========================================================
|
||||
%% Pandoc-Output nutzt \tightlist für dichte Listen
|
||||
\providecommand{\tightlist}{%
|
||||
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||
|
||||
%% Bei Bedarf längere URL-Zeilen brechen
|
||||
%% Lange URL-Zeilen brechen
|
||||
\usepackage{xurl}
|
||||
|
||||
%% === Dokument ===============================================================
|
||||
|
||||
Reference in New Issue
Block a user