mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 08:36:25 +00:00
Merge pull request #8 from MadsLorentzen/feat/moderncv-color-overrides-and-itemize-cleanup
- cv/main_example.tex: add color1 overrides for firstnamestyle, lastnamestyle, and sectionstyle so the first name, last name, and section headings render in the moderncv blue accent instead of black (default banking on modern MiKTeX). Strip 21 inter-item \vspace{1pt} lines from itemize lists, which intermittently produced an oversized gap before a single bullet because the inter-item \vspace creates a paragraph break that interacts with the list's internal \itemsep.
- .claude/skills/job-application-assistant/05-cv-templates.md: document both patterns so /apply produces CVs that match the example template.
- SETUP.md: fix two stale pdflatex references that contradicted the rest of the docs (README, CLAUDE.md, and 05-cv-templates.md already specified lualatex).
This commit is contained in:
@@ -25,6 +25,13 @@ Expected output: `Output written on main_<company>.pdf (2 pages, ...)`. Any page
|
||||
\moderncvstyle{banking}
|
||||
\moderncvcolor{blue}
|
||||
|
||||
% Force both first and last name AND section headings to render in moderncv
|
||||
% blue (color1). Default banking on lualatex+MiKTeX leaves these black, which
|
||||
% looks inconsistent with the rest of the blue accent scheme.
|
||||
\renewcommand*{\firstnamestyle}[1]{{\fontsize{34}{36}\bfseries\upshape\color{color1}#1}}
|
||||
\renewcommand*{\lastnamestyle}[1]{{\fontsize{34}{36}\bfseries\upshape\color{color1}#1}}
|
||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\color{color1}#1}}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
@@ -59,6 +66,36 @@ Expected output: `Output written on main_<company>.pdf (2 pages, ...)`. Any page
|
||||
\end{document}
|
||||
```
|
||||
|
||||
### Color overrides
|
||||
|
||||
The three `\renewcommand*` lines in the preamble are required on lualatex+MiKTeX. Without them the firstname, lastname, and section headings render in black even though `\moderncvcolor{blue}` is set, which looks inconsistent with the rest of the blue accent scheme (links, bullet markers, contact icons). The override forces all three to use `color1` (moderncv's accent colour, which becomes blue under `\moderncvcolor{blue}`). Both names render bold; if you prefer the firstname in regular weight, change the firstnamestyle override from `\bfseries` to `\mdseries`. Don't drop the override - on most modern installs the defaults render visibly wrong.
|
||||
|
||||
### Spacing inside itemize lists (important)
|
||||
|
||||
**Do not place `\vspace{...}` between `\item` entries in an `itemize` list.** Even though the source looks symmetric, this pattern occasionally produces a noticeably oversized gap before a single item: the inter-item `\vspace` creates a paragraph break that interacts unpredictably with the list's internal `\itemsep`, so LaTeX renders one of the gaps wider than the rest. Remove the inter-item `\vspace` and let `itemize` use its native uniform spacing.
|
||||
|
||||
```latex
|
||||
% WRONG - intermittently produces an oversized gap before one bullet
|
||||
\begin{itemize}
|
||||
\item \textbf{Foo}: ...
|
||||
\vspace{1pt}
|
||||
\item \textbf{Bar}: ...
|
||||
\vspace{1pt}
|
||||
\item \textbf{Baz}: ...
|
||||
\end{itemize}
|
||||
|
||||
% RIGHT - uniform spacing using the list's native itemsep
|
||||
\begin{itemize}
|
||||
\item \textbf{Foo}: ...
|
||||
\item \textbf{Bar}: ...
|
||||
\item \textbf{Baz}: ...
|
||||
\end{itemize}
|
||||
```
|
||||
|
||||
Two related patterns are fine and should be kept:
|
||||
- `\vspace{1pt}` immediately after `\section{...}` (between section heading and first item) - this is between the heading and the list, not between list items.
|
||||
- `\vspace{3pt}` between top-level `\cventry` blocks in Professional Experience or Education - this gives breathing room between roles and renders consistently.
|
||||
|
||||
## Section-by-Section Tailoring
|
||||
|
||||
### Profile Statement / Elevator Pitch (Best Practice)
|
||||
|
||||
@@ -143,7 +143,7 @@ After `/apply` creates the LaTeX files:
|
||||
|
||||
```bash
|
||||
# Compile CV
|
||||
cd cv && pdflatex main_<company>.tex && cd ..
|
||||
cd cv && lualatex main_<company>.tex && cd ..
|
||||
|
||||
# Compile cover letter
|
||||
cd cover_letters && xelatex cover_<company>_<role>.tex && cd ..
|
||||
@@ -158,7 +158,7 @@ This is expected if you haven't set up salary benchmarking. The `/apply` workflo
|
||||
Make sure Bun is installed and you ran `bun install` in each CLI directory. The tools require network access to fetch job listings.
|
||||
|
||||
### LaTeX compilation errors
|
||||
- CV: uses `pdflatex` (standard LaTeX)
|
||||
- CV: uses `lualatex` (pdflatex often fails on modern MiKTeX with `fontawesome5` font-expansion errors; lualatex handles the same sources cleanly)
|
||||
- Cover letter: uses `xelatex` (for custom fonts in `OpenFonts/fonts/`)
|
||||
- Make sure your LaTeX distribution includes the `moderncv` package
|
||||
|
||||
|
||||
+9
-11
@@ -3,12 +3,20 @@
|
||||
%% Use as a master reference when tailoring role-specific CVs.
|
||||
%%
|
||||
%% SETUP: Run /setup to populate this with your actual information.
|
||||
%% Compile with: pdflatex main_example.tex
|
||||
%% Compile with: lualatex main_example.tex
|
||||
%% (pdflatex often fails on modern MiKTeX with fontawesome5 font-expansion errors.)
|
||||
|
||||
\documentclass[11pt,a4paper,sans]{moderncv}
|
||||
\moderncvstyle{banking}
|
||||
\moderncvcolor{blue}
|
||||
|
||||
% Force both first and last name AND section headings to render in moderncv
|
||||
% blue (color1). Default banking on lualatex+MiKTeX leaves these black, which
|
||||
% looks inconsistent with the rest of the blue accent scheme.
|
||||
\renewcommand*{\firstnamestyle}[1]{{\fontsize{34}{36}\bfseries\upshape\color{color1}#1}}
|
||||
\renewcommand*{\lastnamestyle}[1]{{\fontsize{34}{36}\bfseries\upshape\color{color1}#1}}
|
||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\color{color1}#1}}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
@@ -49,16 +57,12 @@
|
||||
\begin{itemize}
|
||||
|
||||
\item \textbf{[Skill Category 1]}: [Specific skills, frameworks, tools. Be concrete.]
|
||||
\vspace{1pt}
|
||||
|
||||
\item \textbf{[Skill Category 2]}: [Specific skills, frameworks, tools.]
|
||||
\vspace{1pt}
|
||||
|
||||
\item \textbf{[Skill Category 3]}: [Specific skills, frameworks, tools.]
|
||||
\vspace{1pt}
|
||||
|
||||
\item \textbf{[Skill Category 4]}: [Domain expertise, methods, approaches.]
|
||||
\vspace{1pt}
|
||||
|
||||
\item \textbf{[Skill Category 5]}: [Tools, platforms, software.]
|
||||
|
||||
@@ -76,11 +80,8 @@
|
||||
\item{\cventry{[YYYY--Present]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
|
||||
\begin{itemize}
|
||||
\item [Achievement or responsibility 1 - be specific, use numbers where possible]
|
||||
\vspace{1pt}
|
||||
\item [Achievement or responsibility 2]
|
||||
\vspace{1pt}
|
||||
\item [Achievement or responsibility 3]
|
||||
\vspace{1pt}
|
||||
\item [Achievement or responsibility 4]
|
||||
\end{itemize}}}
|
||||
|
||||
@@ -90,9 +91,7 @@
|
||||
\item{\cventry{[YYYY--YYYY]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
|
||||
\begin{itemize}
|
||||
\item [Achievement or responsibility 1]
|
||||
\vspace{1pt}
|
||||
\item [Achievement or responsibility 2]
|
||||
\vspace{1pt}
|
||||
\item [Achievement or responsibility 3]
|
||||
\end{itemize}}}
|
||||
|
||||
@@ -102,7 +101,6 @@
|
||||
\item{\cventry{[YYYY--YYYY]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
|
||||
\begin{itemize}
|
||||
\item [Achievement or responsibility 1]
|
||||
\vspace{1pt}
|
||||
\item [Achievement or responsibility 2]
|
||||
\end{itemize}}}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user