Computational mechanics · Scientific computing
Academic CV built in LaTeX from one shared style file, in two languages, with three interchangeable palettes.
Two passes are required. The second resolves lastpage, which supplies the total in the 1 / 5 footer.
pdflatex main_en.tex && pdflatex main_en.tex # English
pdflatex main_tr.tex && pdflatex main_tr.tex # TürkçeNo shell escape, no bibliography pass, no external assets. pdflatex only.
The two language builds share one style file, so a change to spacing, colour or a macro lands in both at once.
cv-preamble.tex style, palette library, macros ← shared by both builds
├── cv-body-en.tex English content
└── cv-body-tr.tex Türkçe content
main_en.tex English build ┐ each selects \cvtheme and \cvlang,
main_tr.tex Türkçe build ┘ then inputs the preamble and a body
headshot.jpg square source for the circular crop
slop-check.py writing audit tool
yazim-rehberi.md writing guideline (Türkçe)
Each build file opens with the only two switches that matter:
\def\cvtheme{oxford} % oxford | claret | petrol
\def\cvlang{en} % en | tr
\phototrue % \photofalse for US / UK / NL applicationsThree palettes, one hue each plus a neutral ink ramp. Change one line in the build file.
Seven colour roles, not three. The extra ones each carry exactly one job — accentii appears only on funding badges, badgebg and panel are tints that never carry text — which is what lets the page hold more colour without looking decorated.
Every one of these is commented in cv-preamble.tex next to the code that implements it.
Hierarchy survives greyscale. Each accent is chosen so it collapses toward black under BT.601 luma. The page's structure is carried by size, tracking, caps and hairlines, so nothing is lost on a monochrome printer. Colour is a bonus on screen.
Contrast is measured, not guessed. Every colour that carries text clears WCAG AA at body size; ink, heading and accent clear AAA.
| Theme | ink | accent | accentii |
|---|---|---|---|
oxford |
15.6:1 | 11.4:1 | 4.9:1 |
claret |
17.4:1 | 11.1:1 | 8.0:1 |
petrol |
16.6:1 | 9.2:1 | 6.3:1 |
Single column, no layout tables, no text boxes. University HR portals (Workday, Taleo) read strictly left to right and drop right-column content. The same choice is what makes the PDF skim well for a human.
Section headings are 9 pt tracked uppercase over a 0.6 pt hairline. Caps at a small size read as a label; caps at a large size shout. Tracking is mandatory with caps, and 0.6 pt is the thinnest rule that survives an office laser printer.
Latin Modern, sized for itself. It sets about 8 % looser than a text face, so point size and leading are calibrated for it rather than inherited from a Charter-based spec.
Turkish is written, not translated. cv-body-tr.tex follows Turkish academic-CV convention: Öğrenim Durumu, İş Deneyimi ve Stajlar, Uzmanlık Alanları; dates as Mart 2025 – halen; and field terminology rather than dictionary equivalents — sonlu elemanlar (plural; the singular is wrong in Turkish literature), sanal iş, şekil değiştirme, rijitlik, yama testi, metraj, hakediş.
The dotted-İ problem is handled. \MakeUppercase maps i → I, but Turkish needs i → İ; small caps do the same. Left alone, Seçilmiş would set as SEÇILMIŞ. The Turkish build therefore writes headings pre-uppercased and uses bold in place of small caps for inline labels.
slop-check.py measures the rendered PDF text, not th
7168
e LaTeX source, against published thresholds for AI-writing patterns.
pip install pymupdf
python slop-check.py main_en.pdf main_tr.pdfIt reports style-word density, em-dash density, negative parallelism, copula avoidance, superficial -ing clauses, vague attribution, importance puffery, throat-clearing openers, sentence-length burstiness, type-token ratio and opener distribution. Turkish patterns are checked too — -mektedir stacking, rol oynamaktadır, böylece, sadece X değil — which none of the English tools cover.
Current state of both documents:
Burstiness is the measure worth knowing: machine text clusters at 0.2–0.4, human text runs 0.6–1.2.
The tool deliberately does not auto-fix. Its thresholds are calibrated for essay prose, and a CV is largely technical lists —
rule of threereads high here becausesurge, heave and pitchandlabour, material and equipmentare closed technical sets, not rhetorical triplets. Breaking an accurate list to hit a number makes the document worse. Reasoning is inyazim-rehberi.md.
Bu depo, LaTeX ile hazırlanmış iki dilli akademik özgeçmişi barındırır. İki dil tek bir stil dosyasını
(cv-preamble.tex) paylaşır; aralık, renk veya makro değişikliği ikisine birden işler. Tema ve dil,
main_en.tex / main_tr.tex içindeki iki satırla seçilir.
Türkçe sürüm İngilizceden çeviri değildir: bölüm başlıkları YÖK yerleşik adlandırmasıyla, tarihler
Türkçe CV usulüyle (Mart 2025 – halen), terimler ise Türkçe mühendislik literatüründeki
karşılıklarıyla yazılmıştır. Yazım kuralları ve ölçüm yöntemi yazim-rehberi.md
dosyasındadır.
Source, macros and tooling — cv-preamble.tex, slop-check.py, .gitignore, this README — are MIT;
reuse the template freely. The CV content and headshot.jpg are CC BY-NC-ND 4.0: they describe a
specific person and are not a template to fill in.