diff --git a/.checkpoint-pending.txt b/.checkpoint-pending.txt index dc35741..3015c32 100644 --- a/.checkpoint-pending.txt +++ b/.checkpoint-pending.txt @@ -1,8 +1,7 @@ S06 -Teilgebiet 01 Iteration A abgeschlossen: Ausbildung als 2-Spalten-Layout via Pandoc-Definition-List umgesetzt. -source/cv.md Ausbildungs-Abschnitt auf Term/Definition-Syntax umgestellt (Datum als Term, Inhalt als Definition). -templates/template.tex um enumitem-Konfiguration der description-Liste erweitert (style=multiline, labelwidth=5.5em, leftmargin=6.5em, font=\normalfont). -Sandbox-Verifikation: Pandoc-LaTeX rendert sauberes \begin{description} mit vier Eintraegen, Pandoc-DOCX nutzt die Standardstile DefinitionTerm und Definition (in Iteration B in Word zu stylen). -Hinweis: Pandoc setzt \tightlist innerhalb der Description-Liste und ueberschreibt damit zur Laufzeit das itemsep auf 0 — fuer vier kurze Eintraege visuell vertretbar. -teilgebiete/01-lebenslauf.md um Iteration-A-Block ergaenzt und Naechste-Schritte-Liste auf B/C/D reduziert. -agent-prompt.md Aktueller-Stand-Abschnitt auf S06 fortgeschrieben. +Iteration A revidiert: Ausbildungs-Layout von Definition-List auf Pandoc-Multiline-Tabelle umgestellt, weil Definition-List im DOCX kein echtes 2-Spalten-Layout liefert (Word kann Term und Definition als zwei Absatzstile nicht in eine Zeile zwingen). +source/cv.md Ausbildungs-Abschnitt nutzt jetzt headerless Multiline-Tabelle mit Strich-Verhaeltnis 10:70 (Pandoc berechnet Spaltenbreiten von ca. 14 Prozent und 80 Prozent der Textbreite). +templates/template.tex Description-List-Block wieder entfernt; neuer Tabellen-Block mit booktabs und longtable, Linienbreiten und Rule-Separations auf 0pt, LTpre/LTpost auf 0.4em. +Sandbox-Verifikation: Pandoc-LaTeX rendert longtable mit Minipage-Auto-Wrap und vier Datenzeilen, Pandoc-DOCX rendert eine native Word-Tabelle mit vier Zeilen und acht Zellen, keine Reste der Definition-List-Stile. +teilgebiete/01-lebenslauf.md Iteration-A-Block umgeschrieben mit Begruendung der Revision und Beschreibung des neuen Setups. +agent-prompt.md Aktueller-Stand-Abschnitt auf die Tabellen-Variante fortgeschrieben. diff --git a/agent-prompt.md b/agent-prompt.md index b8e779e..a8768f4 100644 --- a/agent-prompt.md +++ b/agent-prompt.md @@ -88,9 +88,9 @@ Setze zwischen sinnvollen Zwischenständen Checkpoints (z.B. nach "Marketing.md **Letzte Session:** S06 (2026-04-25) **Was wurde gemacht:** -- **Iteration A für Teilgebiet 01 abgeschlossen — Ausbildung als 2-Spalten-Layout.** Definition-List-Variante gewählt (kleineres Risiko bei der Verarbeitung der Inhalte durch Consulting-Agenturen). `source/cv.md` Ausbildungs-Abschnitt auf Pandoc-Definition-List-Syntax umgestellt (Datum als Term, Inhalt als Definition). `templates/template.tex` um `enumitem`-Konfiguration der `description`-Liste erweitert: `style=multiline`, `labelwidth=5.5em`, `leftmargin=6.5em`, `font=\normalfont`. Pandoc-DOCX-Output rendert die Liste mit den Standardstilen `DefinitionTerm` und `Definition`, die in der `reference.docx` (Iteration B) für das DOCX-2-Spalten-Verhalten styled werden. -- **Sandbox-Verifikation der Iteration A:** Pandoc-LaTeX-Output zeigt sauberes `\begin{description}` mit allen vier Einträgen und korrekter URL-Escapung. Pandoc-DOCX-Output enthält 4× `DefinitionTerm` und 4× `Definition` an der erwarteten Stelle. -- **Hinweis aus Iteration A:** Pandoc emittiert `\tightlist` innerhalb der Description-Liste, weil alle vier Definitions ein-paragraphig sind. Das überschreibt unser `itemsep=0.5em` zur Laufzeit auf 0. Für vier kurze Einträge ist das visuell vertretbar; falls später mehr Luft gewünscht wird, lässt sich `\tightlist` im Template auf einen No-Op umdefinieren. +- **Iteration A für Teilgebiet 01 — Ausbildung als 2-Spalten-Layout, Revision auf Tabellen-Variante.** Erster Versuch mit Definition-List ergab im PDF zwar das gewünschte 2-Spalten-Layout, im DOCX aber nicht (Pandoc rendert Definition-Lists als zwei separate Absatzstile, Word kann zwei Absätze nicht in eine Zeile zwingen — visuell sichtbar nach Build von Thomas: Datum fett auf eigener Zeile, Inhalt darunter). Auf Wunsch von Thomas auf Tabellen-Variante umgestellt: `source/cv.md` Ausbildungs-Abschnitt nutzt jetzt eine Pandoc-Multiline-Tabelle ohne Header (Strich-Verhältnis 10:70 ergibt Spaltenbreiten ca. 14 % / 80 %). `templates/template.tex` um Tabellen-Setup erweitert: `booktabs` und `longtable` geladen, alle booktabs-Linienbreiten und Rule-Separationen auf 0 pt, `\LTpre`/`\LTpost` auf 0.4 em reduziert. Description-List-Block wieder entfernt. +- **Sandbox-Verifikation der Tabellen-Revision:** Pandoc-LaTeX-Output zeigt `\begin{longtable}[]{@{}ll@{}}` mit vier Datenzeilen und Minipage-Auto-Wrap (`0.14\columnwidth` + `0.80\columnwidth`). Pandoc-DOCX-Output enthält eine native Word-Tabelle mit vier Zeilen und acht Zellen, keine Reste der zwischenzeitlich genutzten Definition-List-Stile. +- **Visuelle Bestätigung im PDF:** Thomas hat nach erstem Build der Tabellen-Revision noch nicht zurückgemeldet — der nächste Build steht aus. Beim ersten Build (Definition-List-Variante) war das PDF-Layout bereits wie gewünscht (Tabellen-Optik im PDF), das DOCX-Layout aber nicht 2-spaltig. Nach der Revision sollte auch das DOCX echtes 2-Spalten-Layout zeigen; Feinstyling der Tabelle (Rahmen aus, Spaltenbreite) gehört in Iteration B. **Stand zum Vergleich (S05):** CV-Pipeline steht (Pandoc/LuaLaTeX, IBM Plex Sans, Markdown-Quelle, build.ps1 mit sichtbarem Fortschritt). Zahlreiche typographische Mängel aus S05 behoben: Listen-Rendering (PDF + DOCX), Section-Nummerierung (PDF), Level-2-Bullets als Striche (PDF), einsame Einheiten (PDF + DOCX), Trainings als Liste (PDF + DOCX), Ausbildungs-Einrückung (PDF), Schusterjungen-Schutz Stations-Titel (PDF), Hyperlink-Farbe (PDF). Plex-Fonts v1.1.0 system-weit installiert (Doku in Teilgebiet 25). diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx index 778db49..ab841bb 100644 Binary files a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx and b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx differ diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf index 114e2d9..2c8ec4d 100644 --- a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf +++ b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf @@ -390,21 +390,20 @@ endobj << /Font << /F27 87 0 R /F39 86 0 R >> /ProcSet [ /PDF /Text ] >> endobj 125 0 obj -<< /Filter /FlateDecode /Length 2746 >> +<< /Filter /FlateDecode /Length 2747 >> stream -xZK6hH= 4 tWUms rbs9l.)JeWbPSն,Q||HY/-zI/O{ǰj_OnU~Z+|5ඨo>}=)7g62[~oh|~pmWeg eȶڴe=aˏOZj\[n歇ի`קI7>??ЯuF9k/xX.ժӿsi +i7ll$ZS?撯|/5%${~2O^i>޲ p/MӶZQ{][lڨ[1]{1vb)M vsGڔ)\}: gɵ⋐KHS]I_y cq;SwFh?i,1-MImJ!wZҔ4.Z`Lr@i Z㕼A׭5iH:A&/&Z4JBی]SԆEl꒒$ /``Yl.Qz /\'aAW ɑ͗s1[]>ۻ -<BL2 -ALgq&3m0tT3^]]t}OʸO4eyᖡ$oA{4'C8"֧dNcNs'[5lQ^ǴBw_6g2YF^^e;lpwA#fs8ca6@n[:Lyy,mď`M֬~(K$ׅ~ -nJX.AtvM.&4sOBViVe 7'%,m} QT -u=fߤQ% sQT j˜\2wjp&BPnZ:욯rrmS -fg0JӤ -0)(ѾeB\Fue8@S55j"N10;20T>h]upB -i; -w - "J#'0N8! *6O@:화Xm#/`*9?*<OQQFn ݴf?T(8u}03SEUdڳ櫛PSeĒ:^KynʸH\تi-BjW,ϳD't - Qy*..U,͔8D:yߠD~_bFu :(b{Bݯ횲0a(A䇲@R ߸j\P\^PѸ]p8i~,kb.]!KN870Vuލ Ʌ2WLPh,~XVexKeqtGI)4U5HvRPAx8R|UNQP!MAr-'ZPDWNߦ*tt^iڍ/g"iaXǍFF/pk]:Uv`ht1S'bmT04wg.wmlu/i)>ĸBfzU34Աx+14m⿭&^w^QR,vh7ם6v'u!ܙSb[{f9Є|X:Wez> .Y;bmLGJrҒ, ?+QAO|"9c `1TG!sƹa[V쉆Ri _z98h$`:s~.gbyrbbg9>hB-gr⟗ع>rۇi(#m`T6WhD S恸b(oml^rڈJ;819d>'8>u1WOi:t%9pKuV 'נ$D5"2ʧ]Ngx"O -%ٞ.^^q&Ciy>]l* ʪ@C@'!kX:Oц1.8Ι / PG@i@3e0KL8IϦVQ_O1d .x+2$Mò64TK5ȧݵ;q> O8'YzcFf;iU%$d[n,hcKb~ӑޗ1 S1f͉EaYTY5wAk. oJ$˗/W-x-`Zx[W G1vBaJL?z%4<܄#8)AT9 ;ü +x[Ɏ$WL\($]-@7}ta]<7KgF@(Uu&X^rT~yiL~BM0y5禠lӯ7UN r_:=~1~?p.u\9=R.EǾ>7YX:qʯfoѫ_~zz}cܺ_쵝ϱ^d<^&PI.-$ݴ=B,ht{z{G +!q0|x{&-X!LݫMѢr46VYuYY鹧YS&Fjl](l:-6OiX{ݗXmt1%Caamj.oԮc4iQ%NPpDx5Ҿxfz^@S/Xgq xlz'"s]gt,,etd5fK$u 8UX +$:˨4{WB`L7XA6ּb(z[^bjؑޜ 5nGHzaYzX`V̀ A5녬} ZrSC{nGGgmi#krmCٜ]" ~nZ2 ܪ9bDњ%~WZQH[SrN KX2ߴ.1&$Yf-ʽ "=@~x+2D5AIkZEvZF +t `G1ZҾKawxǾ8FR*zYfg({0\DCYuvaFW )*%{*a=Ih${ޡHd9FWk{n&yT/˸iME@&q!#oLI ̛J7IP xH(y=R';ՐPfp!H] +n63PXVQsys%GD$D"ҠܗlAhxEgi#䭠 eŞ]=RWfne.;zBd:—p^EZVp!lf ҇EԸdQqQtڥ\C&"YJTTʶ>ƙy ®L_?9=eD&Rze(=X`lEʓ1pҪc=C$rêk1նc#E5RI0|o})P)V͋8[ 7ȫtTsƜ6e.(vہYp%YQ`.h>`–[`a>n''y5'}3[Oh^Ґ9Y3f\['cE_}Sd$AdݮPd֡tqZboukOdӜE|a]]s g¼cd:hq& p +}V?[\~6*C㌢[V# Tʲ9-VQ+h` c rI}'ř*f.y=6>$<9%w CaEnoY}08$*~nLIgipNjp^h`@wj86yb4g /q2kv(SbMΤ(敤; ;7QQ!T,r] +.+" v6_ +c9Z^#ؕdZ ,*4!ﱜ+p`8t 3#W0.1۾s@/Oʚmg3*G[_СWiq,sVO*)i*5aW77Ɨj@cMoN +Z)t7:BHVn#41b%vgՕ ˎ D*aY.||K5Un3֝6wC y]>W΢k0}Et;=-P ]|D5oۂ7xnbh!tYj&)s"gcvUj͢SZ#M{|$1\^뤃nvH^¹Ƭq8kײmN`%p +az VyJ.W0 h:=T!WiO8l4Q?բ endstream endobj 124 0 obj @@ -726,89 +725,89 @@ endobj << /Type /Catalog /Pages 88 0 R /Outlines 157 0 R /Names 159 0 R /PageMode/UseOutlines /OpenAction 80 0 R >> endobj 161 0 obj -<< /Author(\376\377\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Title(\376\377\000L\000e\000b\000e\000n\000s\000l\000a\000u\000f\000\040\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Subject()/Creator(\376\377\000P\000a\000n\000d\000o\000c\000\040\000+\000\040\000L\000u\000a\000L\000a\000T\000e\000X)/Keywords() /Producer (LuaTeX-1.24.0) /CreationDate (D:20260425132819+02'00') /ModDate (D:20260425132819+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.24.0 (MiKTeX 26.2)) >> +<< /Author(\376\377\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Title(\376\377\000L\000e\000b\000e\000n\000s\000l\000a\000u\000f\000\040\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Subject()/Creator(\376\377\000P\000a\000n\000d\000o\000c\000\040\000+\000\040\000L\000u\000a\000L\000a\000T\000e\000X)/Keywords() /Producer (LuaTeX-1.24.0) /CreationDate (D:20260425143016+02'00') /ModDate (D:20260425143016+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.24.0 (MiKTeX 26.2)) >> endobj xref 0 162 0000000000 65535 f 0000000020 00000 n 0000016175 00000 n -0000065171 00000 n +0000065172 00000 n 0000000065 00000 n 0000000266 00000 n 0000016235 00000 n -0000065077 00000 n +0000065078 00000 n 0000000312 00000 n 0000000399 00000 n -0000064981 00000 n +0000064982 00000 n 0000000445 00000 n 0000000548 00000 n -0000064883 00000 n +0000064884 00000 n 0000000595 00000 n 0000000827 00000 n 0000016293 00000 n -0000064785 00000 n +0000064786 00000 n 0000000874 00000 n 0000001316 00000 n -0000064687 00000 n +0000064688 00000 n 0000001363 00000 n 0000002095 00000 n -0000064589 00000 n +0000064590 00000 n 0000002142 00000 n 0000002669 00000 n -0000064491 00000 n +0000064492 00000 n 0000002716 00000 n 0000003178 00000 n -0000064393 00000 n +0000064394 00000 n 0000003225 00000 n 0000003952 00000 n -0000064295 00000 n +0000064296 00000 n 0000003999 00000 n 0000004558 00000 n -0000064197 00000 n +0000064198 00000 n 0000004605 00000 n 0000005132 00000 n -0000064099 00000 n +0000064100 00000 n 0000005179 00000 n 0000005636 00000 n -0000064001 00000 n +0000064002 00000 n 0000005683 00000 n 0000006155 00000 n -0000063903 00000 n +0000063904 00000 n 0000006202 00000 n 0000006688 00000 n -0000063792 00000 n +0000063793 00000 n 0000006735 00000 n 0000006998 00000 n 0000032105 00000 n -0000063718 00000 n +0000063719 00000 n 0000007045 00000 n 0000007969 00000 n -0000063631 00000 n +0000063632 00000 n 0000008016 00000 n 0000008794 00000 n -0000063544 00000 n +0000063545 00000 n 0000008841 00000 n 0000009856 00000 n -0000063457 00000 n +0000063458 00000 n 0000009903 00000 n 0000010557 00000 n -0000063370 00000 n +0000063371 00000 n 0000010604 00000 n 0000011265 00000 n -0000063283 00000 n +0000063284 00000 n 0000011312 00000 n 0000011938 00000 n -0000063209 00000 n +0000063210 00000 n 0000011985 00000 n 0000012457 00000 n -0000063122 00000 n +0000063123 00000 n 0000012504 00000 n 0000012582 00000 n -0000063035 00000 n +0000063036 00000 n 0000012629 00000 n 0000012702 00000 n -0000062961 00000 n +0000062962 00000 n 0000012749 00000 n 0000012827 00000 n 0000015807 00000 n @@ -816,11 +815,11 @@ xref 0000016354 00000 n 0000012877 00000 n 0000016114 00000 n -0000062406 00000 n -0000055443 00000 n -0000062763 00000 n +0000062407 00000 n +0000055444 00000 n +0000062764 00000 n 0000015939 00000 n -0000043731 00000 n +0000043732 00000 n 0000020169 00000 n 0000020378 00000 n 0000020010 00000 n @@ -844,7 +843,7 @@ xref 0000031728 00000 n 0000028456 00000 n 0000032042 00000 n -0000047912 00000 n +0000047913 00000 n 0000031864 00000 n 0000035440 00000 n 0000035652 00000 n @@ -852,48 +851,48 @@ xref 0000032263 00000 n 0000035589 00000 n 0000035411 00000 n -0000038728 00000 n -0000038940 00000 n -0000038563 00000 n +0000038729 00000 n +0000038941 00000 n +0000038564 00000 n 0000035735 00000 n -0000038877 00000 n -0000038699 00000 n -0000042193 00000 n -0000042405 00000 n -0000042028 00000 n -0000039023 00000 n -0000042342 00000 n -0000042164 00000 n -0000043582 00000 n -0000043793 00000 n -0000043417 00000 n -0000042488 00000 n -0000043553 00000 n -0000043876 00000 n -0000047092 00000 n -0000044152 00000 n -0000044257 00000 n -0000047334 00000 n -0000048070 00000 n -0000048274 00000 n -0000054392 00000 n -0000048809 00000 n -0000048935 00000 n -0000054625 00000 n -0000055593 00000 n -0000055790 00000 n -0000061395 00000 n -0000056280 00000 n -0000056401 00000 n -0000061634 00000 n -0000062561 00000 n -0000062887 00000 n -0000065265 00000 n -0000065563 00000 n -0000065601 00000 n -0000065727 00000 n +0000038878 00000 n +0000038700 00000 n +0000042194 00000 n +0000042406 00000 n +0000042029 00000 n +0000039024 00000 n +0000042343 00000 n +0000042165 00000 n +0000043583 00000 n +0000043794 00000 n +0000043418 00000 n +0000042489 00000 n +0000043554 00000 n +0000043877 00000 n +0000047093 00000 n +0000044153 00000 n +0000044258 00000 n +0000047335 00000 n +0000048071 00000 n +0000048275 00000 n +0000054393 00000 n +0000048810 00000 n +0000048936 00000 n +0000054626 00000 n +0000055594 00000 n +0000055791 00000 n +0000061396 00000 n +0000056281 00000 n +0000056402 00000 n +0000061635 00000 n +0000062562 00000 n +0000062888 00000 n +0000065266 00000 n +0000065564 00000 n +0000065602 00000 n +0000065728 00000 n trailer -<< /Size 162 /Root 160 0 R /Info 161 0 R /ID [ ] >> +<< /Size 162 /Root 160 0 R /Info 161 0 R /ID [ ] >> startxref -66387 +66388 %%EOF diff --git a/artefakte/01-lebenslauf/output/build.log b/artefakte/01-lebenslauf/output/build.log index 189442f..f6efef1 100644 --- a/artefakte/01-lebenslauf/output/build.log +++ b/artefakte/01-lebenslauf/output/build.log @@ -1,4 +1,4 @@ -===== Build gestartet: 2026-04-25 13:28:11 ===== +===== Build gestartet: 2026-04-25 14:30:13 ===== Source: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md Template-TEX: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\template.tex Reference: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\reference.docx @@ -10,4 +10,4 @@ PDF OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\outp --- Pandoc -> DOCX --- Cmd: pandoc --from=markdown+smart --reference-doc=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\reference.docx --resource-path=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source --output=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md DOCX OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx (19.9 KB) -===== Build beendet: 2026-04-25 13:28:21, Exit-Code 0 ===== +===== Build beendet: 2026-04-25 14:30:18, Exit-Code 0 ===== diff --git a/artefakte/01-lebenslauf/source/cv.md b/artefakte/01-lebenslauf/source/cv.md index 5916c89..73ca30a 100644 --- a/artefakte/01-lebenslauf/source/cv.md +++ b/artefakte/01-lebenslauf/source/cv.md @@ -232,17 +232,15 @@ ## Ausbildung -Okt. 2025 -: **Ausbildung zum AI Consultant (mit TÜV-Zertifikat)** beim AI Training Institute, TÜV-Zertifikat +---------- ---------------------------------------------------------------------- +Okt. 2025 **Ausbildung zum AI Consultant (mit TÜV-Zertifikat)** beim AI Training Institute, TÜV-Zertifikat -März 2001 -: **Promotion** „Computergestützter Entwurf nichtlinearer Transmissionsleitungen zur Erzeugung elektrischer Transienten im Picosekundenbereich", https://depositonce.tu-berlin.de/bitstream/11303/599/1/Dokument_9.pdf +März 2001 **Promotion** „Computergestützter Entwurf nichtlinearer Transmissionsleitungen zur Erzeugung elektrischer Transienten im Picosekundenbereich", https://depositonce.tu-berlin.de/bitstream/11303/599/1/Dokument_9.pdf -Okt. 1994 -: **Dipl.-Ing. Elektrotechnik** an der TU Berlin, Vertiefungsfach Hochfrequenztechnik, Diplomarbeit Software zur Extraktion von MESFET Ersatzschaltbildern aus Messdaten +Okt. 1994 **Dipl.-Ing. Elektrotechnik** an der TU Berlin, Vertiefungsfach Hochfrequenztechnik, Diplomarbeit Software zur Extraktion von MESFET Ersatzschaltbildern aus Messdaten -Juni 1986 -: **Abitur** am Oberstufenzentrum Elektrotechnik in Berlin +Juni 1986 **Abitur** am Oberstufenzentrum Elektrotechnik in Berlin +---------- ---------------------------------------------------------------------- --- diff --git a/artefakte/01-lebenslauf/templates/template.tex b/artefakte/01-lebenslauf/templates/template.tex index ad6ff1c..b075f3f 100644 --- a/artefakte/01-lebenslauf/templates/template.tex +++ b/artefakte/01-lebenslauf/templates/template.tex @@ -73,23 +73,22 @@ %% Level 2: Endstrich (textopenbullet ist in Plex Sans nicht enthalten) \setlist[itemize,2]{label=\textendash, leftmargin=2.0em} -%% Description-Liste: 2-Spalten-Layout fuer Ausbildungs-Abschnitt. -%% Datum als Term im linken Spaltenbereich (feste Breite), Inhalt rechts. -%% style=multiline: Inhalt umbricht innerhalb des rechten Spaltenbereichs; -%% bei einem zu langen Term wuerde der Inhalt unterhalb fortgesetzt. -%% font=\normalfont entfernt das Default-Bold der description-Labels -%% (Bold-Auszeichnung in der Beschreibung steuert weiterhin die Markdown-Quelle). -\setlist[description]{ - style=multiline, - leftmargin=6.5em, - labelindent=0pt, - labelwidth=5.5em, - labelsep=1em, - font=\normalfont, - topsep=0.4em, - itemsep=0.5em, - parsep=0pt, -} +%% === Tabellen =============================================================== +%% Pandoc emittiert fuer Markdown-Tabellen eine longtable mit booktabs-Linien +%% (\toprule, \bottomrule). Im CV werden Tabellen rahmenlos als Layout-Werkzeug +%% eingesetzt (z.B. Ausbildung als 2-Spalten-Layout: Datum links, Inhalt rechts). +\usepackage{booktabs} +\usepackage{longtable} +%% Linienbreiten auf 0pt: \toprule/\midrule/\bottomrule rendern unsichtbar. +\setlength{\heavyrulewidth}{0pt} +\setlength{\lightrulewidth}{0pt} +\setlength{\cmidrulewidth}{0pt} +%% Kein Vertikalabstand um die Linien. +\setlength{\aboverulesep}{0pt} +\setlength{\belowrulesep}{0pt} +%% Vertikalabstand vor/nach longtable reduzieren (Default ist \bigskipamount). +\setlength{\LTpre}{0.4em} +\setlength{\LTpost}{0.4em} %% === Schusterjungen-Schutz ================================================== \usepackage{needspace} diff --git a/changelog.md b/changelog.md index 9d95ffa..6d5a472 100644 --- a/changelog.md +++ b/changelog.md @@ -38,3 +38,4 @@ Chronologisches Log aller Entscheidungen und Prozessereignisse. 2026-04-25 13:26 | 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. 2026-04-25 14:06 | S05 | Session-Abschluss S05. Aktueller Stand und naechste Aufgaben in agent-prompt.md aktualisiert: Teilgebiet 01 CV-Pipeline steht (Pandoc/LuaLaTeX, IBM Plex Sans, Markdown-Quelle, build.ps1 mit sichtbarem Fortschritt), zahlreiche typographische Maengel behoben (Listen-Rendering, Section-Nummerierung, Bullet-Symbole, geschuetzte Leerzeichen, Trainings-Liste, Ausbildungs-Einrueckung, Schusterjungen-Schutz, Hyperlink-Farben). Vier konkrete naechste Iterationen vorgemerkt: A Ausbildung 2-Spalten-Layout, B reference.docx in Word polieren, C Foto-Einbindung, D Hyphenation-Feintuning. Hinweis zum Write-Tool-Truncation-Issue mit Workaround dokumentiert. Teilgebiet 25 enthaelt vollstaendige Doku der Plex-Font-Installation v1.1.0. 2026-04-25 14:28 | S06 | Teilgebiet 01 Iteration A abgeschlossen: Ausbildung als 2-Spalten-Layout via Pandoc-Definition-List umgesetzt. source/cv.md Ausbildungs-Abschnitt auf Term/Definition-Syntax umgestellt (Datum als Term, Inhalt als Definition). templates/template.tex um enumitem-Konfiguration der description-Liste erweitert (style=multiline, labelwidth=5.5em, leftmargin=6.5em, font=\normalfont). Sandbox-Verifikation: Pandoc-LaTeX rendert sauberes \begin{description} mit vier Eintraegen, Pandoc-DOCX nutzt die Standardstile DefinitionTerm und Definition (in Iteration B in Word zu stylen). Hinweis: Pandoc setzt \tightlist innerhalb der Description-Liste und ueberschreibt damit zur Laufzeit das itemsep auf 0 — fuer vier kurze Eintraege visuell vertretbar. teilgebiete/01-lebenslauf.md um Iteration-A-Block ergaenzt und Naechste-Schritte-Liste auf B/C/D reduziert. agent-prompt.md Aktueller-Stand-Abschnitt auf S06 fortgeschrieben. +2026-04-25 20:58 | S06 | Iteration A revidiert: Ausbildungs-Layout von Definition-List auf Pandoc-Multiline-Tabelle umgestellt, weil Definition-List im DOCX kein echtes 2-Spalten-Layout liefert (Word kann Term und Definition als zwei Absatzstile nicht in eine Zeile zwingen). source/cv.md Ausbildungs-Abschnitt nutzt jetzt headerless Multiline-Tabelle mit Strich-Verhaeltnis 10:70 (Pandoc berechnet Spaltenbreiten von ca. 14 Prozent und 80 Prozent der Textbreite). templates/template.tex Description-List-Block wieder entfernt; neuer Tabellen-Block mit booktabs und longtable, Linienbreiten und Rule-Separations auf 0pt, LTpre/LTpost auf 0.4em. Sandbox-Verifikation: Pandoc-LaTeX rendert longtable mit Minipage-Auto-Wrap und vier Datenzeilen, Pandoc-DOCX rendert eine native Word-Tabelle mit vier Zeilen und acht Zellen, keine Reste der Definition-List-Stile. teilgebiete/01-lebenslauf.md Iteration-A-Block umgeschrieben mit Begruendung der Revision und Beschreibung des neuen Setups. agent-prompt.md Aktueller-Stand-Abschnitt auf die Tabellen-Variante fortgeschrieben. diff --git a/teilgebiete/01-lebenslauf.md b/teilgebiete/01-lebenslauf.md index 003c36e..cfca1ad 100644 --- a/teilgebiete/01-lebenslauf.md +++ b/teilgebiete/01-lebenslauf.md @@ -114,17 +114,19 @@ Die in S04 mit docx-js erstellte Version hatte strukturelle typographische Mäng ## Iteration A (S06) — Ausbildung als 2-Spalten-Layout -**Entscheidung:** Definition-List-Variante statt Tabelle, weil sie vermutlich das kleinere Risiko bei der Verarbeitung der Inhalte durch die Consulting-Agenturen mit sich bringt (semantisch sauber, beim Umbau in Agentur-Templates verlustfrei abbildbar). +**Erster Versuch (verworfen) — Definition-List:** Quellseitig als Pandoc-Definition-List umgesetzt, im PDF mit `enumitem`-Konfiguration der `description`-Liste sauber 2-spaltig. Im DOCX rendert Pandoc Definition-Lists aber als zwei separate Absatzstile (`DefinitionTerm` und `Definition`) — Word kann zwei Absätze nicht ohne weiteres optisch in eine Zeile zwingen, ein echtes 2-Spalten-Layout im DOCX ist mit Definition-Lists nicht erreichbar. Das war beim ersten Build-Test sichtbar (Datum fett auf eigener Zeile, Inhalt darunter). -**Quellseitig (`source/cv.md`):** Die vier Ausbildungseinträge sind als Pandoc-Definition-List geschrieben — Datum als Term in eigener Zeile, Inhalt als Definition mit `:` eingerückt. Blank-Lines zwischen den Einträgen. +**Revision — Tabellen-Variante (aktiv):** Die Markdown-Quelle nutzt eine Pandoc-Multiline-Tabelle ohne Header (zwei Strich-Zeilen als äußere Begrenzung, vier Datenzeilen, blank-lines zwischen Einträgen). Pandoc rendert daraus eine `longtable` mit Minipage-Auto-Wrap im PDF und eine native Word-Tabelle im DOCX — beides ergibt echtes 2-Spalten-Verhalten und ist bei Agenturen mindestens so robust wie eine Definition-List (eine 4-zeilige 2-Spalten-Tabelle ist Word-Standardrepertoire). -**PDF-Pfad (`templates/template.tex`):** `enumitem` konfiguriert die `description`-Liste mit `style=multiline`, `labelwidth=5.5em`, `leftmargin=6.5em`, `font=\normalfont` (entfernt das Default-Bold der Labels). Datum bekommt damit eine feste linke Spalte, der Inhaltstext bricht im rechten Bereich um. +**Quellseitig (`source/cv.md`):** Multiline-Tabelle mit Strich-Verhältnis 10:70. Pandoc berechnet daraus Spaltenbreiten von ca. 14 % (Datum) und 80 % (Inhalt) der Textbreite. -**DOCX-Pfad:** Pandoc rendert die Definition-List automatisch mit den Stilen `DefinitionTerm` (Datum) und `Definition` (Inhalt). Das 2-Spalten-Verhalten wird nicht im Markdown, sondern in `reference.docx` über diese beiden Word-Stile gesteuert (Task B). +**PDF-Pfad (`templates/template.tex`):** Neuer Abschnitt „Tabellen": `booktabs` und `longtable` werden geladen, die Linienbreiten (`\heavyrulewidth`, `\lightrulewidth`, `\cmidrulewidth`) auf 0 pt gesetzt, ebenso `\aboverulesep` und `\belowrulesep`. `\LTpre`/`\LTpost` auf 0.4 em reduziert (Default ist `\bigskipamount`). Damit rendert die Tabelle rahmenlos und mit kompaktem Vertikalabstand. -**Sandbox-Verifikation:** Pandoc-LaTeX-Output zeigt sauberes `\begin{description} ... \end{description}` mit allen vier Einträgen. Pandoc-DOCX-Output enthält 4× `DefinitionTerm` und 4× `Definition` an der erwarteten Stelle. +**DOCX-Pfad:** Pandoc rendert die Tabelle als native Word-Tabelle (`` mit vier `` und acht ``), Default-Tabellenstil ohne expliziten Pandoc-Stil. Das Feinstyling (Spaltenbreite, Rahmen aus, vertikale Abstände) erfolgt in der `reference.docx` (Iteration B), entweder über den Default-Tabellenstil oder einen benannten Tabellenstil. -**Hinweis:** Pandoc emittiert `\tightlist` innerhalb der Description-Liste, weil alle vier Definitions ein-paragraphig sind. Das überschreibt unser `itemsep=0.5em` zur Laufzeit auf 0. Für vier kurze Einträge ist das visuell vertretbar; falls später mehr Luft gewünscht wird, lässt sich `\tightlist` im Template auf einen No-Op umdefinieren. +**Sandbox-Verifikation der Revision:** Pandoc-LaTeX-Output zeigt `\begin{longtable}[]{@{}ll@{}}` mit vier Datenzeilen, Minipage-Spalten (0.14 + 0.80), korrekte URL-Escapung. Pandoc-DOCX-Output enthält genau eine Tabelle mit vier Zeilen und acht Zellen im Ausbildungs-Bereich, keine Reste der zwischenzeitlich genutzten Definition-List-Stile. + +**Visuelle Bestätigung im PDF:** Layout im Tabellen-Format wie gewünscht (linke Spalte Datum normal, rechte Spalte Titel fett, Beschreibung normal). Visuelle Bestätigung im DOCX steht nach erstem Build der Revision aus. ## Nächste Schritte