Initial release — claude-resume-kit v1.0
Complete AI-assisted resume/CV generation framework: - 6 Claude Code skills (setup-extract, setup-build-kb, make-resume, make-cl, edit-resume, critique) - LaTeX templates (resume, CV, cover letter) with .cls class files - 6 reference docs (shared_ops, resume_reference, cl_reference, critical_rules, session_file_template, critique_framework) - Fictional Dr. Jordan Chen examples (extraction, experience, bundle, config, session, JD) - Knowledge base scaffolding and config template - README with setup guide and workflow documentation
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,43 @@
|
||||
\documentclass[11pt,a4paper,roman]{moderncv}
|
||||
\usepackage[english]{babel}
|
||||
\moderncvstyle{classic}
|
||||
\moderncvcolor{green}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{ragged2e}
|
||||
\usepackage[scale=0.79]{geometry}
|
||||
\usepackage[version=4,arrows=pgf-filled]{mhchem}
|
||||
\renewcommand*{\makeletterclosing}{\par\vspace{2ex}\closingname\par}
|
||||
|
||||
% ========== CUSTOMIZE THESE ==========
|
||||
\name{[YOUR FIRST]}{[YOUR LAST]}
|
||||
\address{[Your City, State ZIP]}
|
||||
\phone[mobile]{[+1 XXXXXXXXXX]}
|
||||
\email{[your@email.com]}
|
||||
% ======================================
|
||||
|
||||
\begin{document}
|
||||
|
||||
\recipient{To}{Hiring Committee\\[Department/Group Name]\\[Division Name]\\[Company/Institution Name]\\[City, State ZIP]}
|
||||
\date{\today}
|
||||
\opening{Dear Members of the Hiring Committee,}
|
||||
\makelettertitle
|
||||
|
||||
\begin{justify}
|
||||
% GENERATE: Paragraph 1 — Hook. Connect their work to your methodology. State the position.
|
||||
|
||||
% GENERATE: Paragraph 2 — Current position. Key results with quantified metrics.
|
||||
|
||||
% GENERATE: Paragraph 3 — Previous positions. Transferable methodology arc. Quantify.
|
||||
|
||||
% GENERATE: Paragraph 4 (if National Lab/Academic) — Closing. Vision + collaboration + call to action.
|
||||
\end{justify}
|
||||
|
||||
\vspace{0.3cm}
|
||||
% ========== CUSTOMIZE THESE ==========
|
||||
{Sincerely,\\
|
||||
[Your Full Name, Degree]\\
|
||||
[Your Current Title]\\
|
||||
[Your Current Institution]}
|
||||
% ======================================
|
||||
|
||||
\end{document}
|
||||
@@ -0,0 +1,214 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Medium Length Professional CV - CV CLASS FILE
|
||||
%
|
||||
% This template has been downloaded from:
|
||||
% http://www.LaTeXTemplates.com
|
||||
%
|
||||
% This class file defines the structure and design of the template.
|
||||
%
|
||||
% Original header:
|
||||
% Copyright (C) 2010 by Trey Hunner
|
||||
%
|
||||
% Copying and distribution of this file, with or without modification,
|
||||
% are permitted in any medium without royalty provided the copyright
|
||||
% notice and this notice are preserved. This file is offered as-is,
|
||||
% without any warranty.
|
||||
%
|
||||
% Created by Trey Hunner and modified by www.LaTeXTemplates.com
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\ProvidesClass{cv}[2018/09/25 v1.0 CV class]
|
||||
|
||||
\LoadClass[11pt, a4paper]{article} % Font size and paper type
|
||||
\usepackage{lastpage}
|
||||
\usepackage[parfill]{parskip} % Remove paragraph indentation
|
||||
\usepackage{array} % Required for boldface (\bf and \bfseries) tabular columns
|
||||
\usepackage{ifthen} % Required for ifthenelse statements
|
||||
\usepackage{enumitem}
|
||||
% \usepackage{fancyhdr}
|
||||
|
||||
% Page style with page numbers at true bottom right (page edge)
|
||||
% \pagestyle{fancy}
|
||||
% \fancyhf{} % Clear all header and footer fields
|
||||
% \renewcommand{\headrulewidth}{0pt} % Remove header line
|
||||
% \renewcommand{\footrulewidth}{0pt} % Remove footer line
|
||||
% Extend footer to full page width to get true right alignment
|
||||
% \fancyhfoffset[R]{0.75in} % Match right margin from geometry
|
||||
% \rfoot{\thepage/\pageref{LastPage}} % Page number at bottom right as X/Y
|
||||
% \fancyfoot[R]{\hfill \thepage/\pageref{LastPage}}
|
||||
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% HEADINGS COMMANDS: Commands for printing name and address
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\def \name#1{\def\@name{#1}} % Defines the \name command to set name
|
||||
\def \@name {} % Sets \@name to empty by default
|
||||
|
||||
\def \addressSep {$|$} % Set default address separator to a diamond
|
||||
|
||||
% One, two or three address lines can be specified
|
||||
\let \@addressone \relax
|
||||
\let \@addresstwo \relax
|
||||
\let \@addressthree \relax
|
||||
\let \@addressfour \relax
|
||||
|
||||
% \address command can be used to set the first, second, and third address (last 2 optional)
|
||||
\def \address #1{
|
||||
\@ifundefined{@addresstwo}{
|
||||
\def \@addresstwo {#1}
|
||||
}{
|
||||
\@ifundefined{@addressthree}{
|
||||
\def \@addressthree {#1}
|
||||
}{
|
||||
\@ifundefined{@addressfour}{
|
||||
\def \@addressfour {#1}
|
||||
} {\def \@addressone {#1}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
% \printaddress is used to style an address line (given as input)
|
||||
\def \printaddress #1{
|
||||
\begingroup
|
||||
\def \\ {\addressSep\ }
|
||||
{#1}
|
||||
% \centerline{#1}
|
||||
\endgroup
|
||||
\par
|
||||
% \addressskip
|
||||
}
|
||||
|
||||
% \printname is used to print the name as a page header
|
||||
\def \printname {
|
||||
\begingroup
|
||||
% \MakeUppercase
|
||||
{\namesize\bf \@name} \hfil
|
||||
% \hfil{\MakeUppercase{\namesize\bf \@name}}\hfil
|
||||
\nameskip\break
|
||||
\endgroup
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% PRINT THE HEADING LINES
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\let\ori@document=\document
|
||||
\renewcommand{\document}{
|
||||
\ori@document % Begin document
|
||||
% \begin{center}
|
||||
\printname % Print the name specified with \name
|
||||
\@ifundefined{@addressone}{}{ % Print the first address if specified
|
||||
\printaddress{\@addressone}}
|
||||
\@ifundefined{@addresstwo}{}{ % Print the second address if specified
|
||||
\printaddress{\@addresstwo}}
|
||||
\@ifundefined{@addressthree}{}{ % Print the third address if specified
|
||||
\printaddress{\@addressthree}}
|
||||
\@ifundefined{@addressfour}{}{ % Print the third address if specified
|
||||
\printaddress{\@addressfour}}
|
||||
|
||||
% \end{center}
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% SECTION FORMATTING
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% Defines the rSection environment for the large sections within the CV
|
||||
\newenvironment{rSection}[1]{ % 1 input argument - section name
|
||||
\sectionskip
|
||||
{\bf #1}
|
||||
% \MakeUppercase{\bf #1} % Section title
|
||||
\sectionlineskip
|
||||
\hrule % Horizontal line
|
||||
\begin{list}{}{ % List for each individual item in the section
|
||||
\setlength{\leftmargin}{0.50em} % Margin within the section
|
||||
}
|
||||
\item[]
|
||||
}{
|
||||
\end{list}
|
||||
}
|
||||
|
||||
\newenvironment{rSection2}[1]{ % 1 input argument - section name
|
||||
\sectionskip
|
||||
{\bf #1} % Section title
|
||||
\sectionlineskip
|
||||
\hrule % Horizontal line
|
||||
\medskip
|
||||
\begin{list}{$\bullet$}{\setlength{\leftmargin}{1.5em}}
|
||||
\itemsep -0.3em \vspace{-0.5em} % Compress items in list together for aesthetics
|
||||
}{
|
||||
\end{list}
|
||||
\vspace{0.5em}
|
||||
}
|
||||
|
||||
\newenvironment{rSection3}[1]{ % 1 input argument - section name
|
||||
\sectionskip
|
||||
{\bf #1} % Section title
|
||||
\sectionlineskip
|
||||
\hrule % Horizontal line
|
||||
\medskip
|
||||
\begin{enumerate}[]{\setlength{\leftmargin}{1.5em}}
|
||||
\itemsep -0.3em \vspace{-0.5em} % Compress items in list together for aesthetics
|
||||
}{
|
||||
\end{enumerate}
|
||||
\vspace{0.5em}
|
||||
}
|
||||
%----------------------------------------------------------------------------------------
|
||||
% WORK EXPERIENCE FORMATTING
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\newenvironment{rSubsection}[4]{ % 4 input arguments - company name, year(s) employed, job title and location
|
||||
{\bf #1} \hfill {#2} % Bold company name and date on the right
|
||||
\ifthenelse{\equal{#3}{}}{}{ % If the third argument is not specified, don't print the location line
|
||||
\\
|
||||
{\em #3} % Italic location on its own line
|
||||
}
|
||||
\ifthenelse{\equal{#4}{}}{}{ % If the fourth argument is not specified, don't print the mentors line
|
||||
\\
|
||||
{\em #4} % Italic mentors on its own line
|
||||
}\smallskip
|
||||
\begin{list}{$\cdot$}{\leftmargin=1.5em} % \cdot used for bullets, no indentation
|
||||
\itemsep -0.2em \vspace{-0.2em} % Compress items in list together for aesthetics
|
||||
}{
|
||||
\end{list}
|
||||
\vspace{0.2 em} % Some space after the list of bullet points
|
||||
}
|
||||
|
||||
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% FORMAT C SKILLS COMMANDS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% Skills group environment: \begin{skillgroup}{Group Name} ... \end{skillgroup}
|
||||
% CV uses LOCKED 4-4-3-3-3 structure (17 body lines).
|
||||
\newenvironment{skillgroup}[1]{%
|
||||
\textbf{#1}\par\nopagebreak%
|
||||
\vspace{-\parskip}%
|
||||
\begin{list}{--}{\leftmargin=0.8em \labelsep=0.3em \itemsep=0pt \topsep=0.1em \parsep=0pt \partopsep=0pt}%
|
||||
}{%
|
||||
\end{list}%
|
||||
\vspace{-\parskip}\vspace{0.45em}%
|
||||
}
|
||||
|
||||
% Single dash sub-item within a skillgroup. Content must fit 1 rendered line.
|
||||
% Char limit: 91 - (0.25 x bold_char_count) at 11pt
|
||||
\newcommand{\skilldash}[1]{\item #1}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EXPERIENCE SUB-THEME COMMAND
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% Sub-theme underline header within rSubsection
|
||||
\newcommand{\subtheme}[1]{\item[] \underline{#1}}
|
||||
|
||||
% The below commands define the whitespace after certain things in the document - they can be \smallskip, \medskip or \bigskip
|
||||
\def\namesize{\huge} % Size of the name at the top of the document
|
||||
\def\addressskip{\smallskip} % The space between the two address (or phone/email) lines
|
||||
\def\sectionlineskip{\medskip} % The space above the horizontal line for each section
|
||||
\def\nameskip{\medskip} % The space after your name at the top
|
||||
\def\sectionskip{\medskip} % The space after the heading section
|
||||
@@ -0,0 +1,295 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% TEMPLATE: Academic CV (cv.cls)
|
||||
% FIXED sections contain actual content — copy verbatim during generation
|
||||
% JD-DEPENDENT sections have [GENERATE: ...] placeholders — replace per JD
|
||||
%
|
||||
% SETUP INSTRUCTIONS:
|
||||
% 1. Fill [CONFIG: ...] with values from your config.md
|
||||
% 2. Fill ALL FIXED sections with your actual content
|
||||
% 3. Leave [GENERATE: ...] markers -- Claude fills these per JD
|
||||
% 4. After setup, compile and calibrate the line budget below
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\documentclass{cv}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{fontawesome}
|
||||
\usepackage{enumitem}
|
||||
\usepackage{tikz}
|
||||
\usepackage{graphicx}
|
||||
\hypersetup{
|
||||
colorlinks = true,
|
||||
linkcolor = [rgb]{0.1,0.1,0.6},
|
||||
citecolor = [rgb]{0.4,0.4,0.4},
|
||||
urlcolor = [rgb]{0.0,0.0,0.7},
|
||||
pdftitle = {[CONFIG: Full Name] - Academic CV},
|
||||
pdfauthor = {[CONFIG: Full Name]}
|
||||
}
|
||||
\usepackage{xcolor}
|
||||
\usepackage[version=4,arrows=pgf-filled]{mhchem}
|
||||
\usepackage[includefoot,left=0.75in,top=0.76in,right=0.75in,bottom=0.7in,textwidth=7.5in,textheight=10.9in]{geometry}
|
||||
\usepackage{fancyhdr}
|
||||
\pagestyle{fancy}
|
||||
\fancyhf{}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\rfoot{\thepage/\pageref{LastPage}}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% HEADER — FIXED (3 rendered lines)
|
||||
%----------------------------------------------------------------------------------------
|
||||
\name{[CONFIG: Full Name, Degree]}
|
||||
\address{\faEnvelope~\href{mailto:[CONFIG: email]}{[CONFIG: email]}}
|
||||
\address{\faMapMarker~[CONFIG: City, State] $|$ \faLinkedin~\href{[CONFIG: LinkedIn URL]}{LinkedIn} $|$ \includegraphics[height=1em]{orcid.png}~\href{[CONFIG: ORCID URL]}{ORCID: [CONFIG: ORCID ID]} $|$ \includegraphics[height=1em]{GS.png}~\href{[CONFIG: Google Scholar URL]}{Google Scholar}}
|
||||
|
||||
\begin{document}
|
||||
\vspace{-0.03cm}
|
||||
|
||||
%========================================================================================
|
||||
% CV LINE BUDGET — calibrate after filling FIXED sections
|
||||
%========================================================================================
|
||||
%
|
||||
% HOW TO CALIBRATE:
|
||||
% 1. Fill all FIXED sections with your actual content
|
||||
% 2. Compile with dummy GENERATE content
|
||||
% 3. Count rendered lines per page
|
||||
% 4. Update the budget numbers below
|
||||
%
|
||||
% TARGET: 5 pages total (A4, 11pt cv.cls)
|
||||
% Typical budget: ~209 rendered text lines across 5 pages
|
||||
% 1-2 lines slack at bottom of last page is acceptable.
|
||||
%
|
||||
% FIXED = content that never changes across JDs
|
||||
% JD-DEPENDENT = Claude generates per JD, but line COUNT is fixed
|
||||
%
|
||||
% CHARACTER LIMITS (rendered chars at 11pt, cv.cls geometry):
|
||||
% Chars per line (CPL): ~93-97
|
||||
%
|
||||
% CV-2L bullet: target 168-182 chars | HARD MAX 190 | orphan >= 65 chars
|
||||
% CV-3L bullet: target 250-268 chars | HARD MAX 280 | orphan >= 65 chars
|
||||
%
|
||||
% AIM FOR TARGET MIDDLE (175 for 2L, 260 for 3L) — NOT the hard max.
|
||||
% Em-dash (---) counts as 1 char but renders ~2x wide. Budget 2 extra per em-dash.
|
||||
% Bold in bullets: ~0.33 penalty/bold char (10 bold chars ≈ lose 3 chars capacity).
|
||||
%
|
||||
% EXPERIENCE BULLET BUDGET:
|
||||
% After calibrating, determine how many rendered lines are available for
|
||||
% experience bullets. Typical: ~45 rendered lines.
|
||||
% Mix: 2L (2 rendered lines) + 3L (3 rendered lines)
|
||||
% Example: 18x2L + 3x3L = 21 bullets in 45 lines
|
||||
%========================================================================================
|
||||
|
||||
%========================================================================================
|
||||
% RESEARCH SUMMARY — JD-DEPENDENT
|
||||
%========================================================================================
|
||||
% Generate per JD using bundle Section 2 building blocks.
|
||||
% Target: 6 body lines (5-6 sentences). Broader scope than resume summary.
|
||||
% Include key methods, current + past work, metrics.
|
||||
|
||||
\begin{rSection}{Research Summary}
|
||||
[GENERATE: Rewrite per JD. 6 body lines. Include primary methods, key accomplishments across positions, and publication/citation metrics. Broader than resume summary — cover full research arc.]
|
||||
\end{rSection}
|
||||
\vspace{-0.01cm}
|
||||
|
||||
%========================================================================================
|
||||
% EDUCATION — FIXED
|
||||
%========================================================================================
|
||||
% Fill with your actual education. Format matches cv.cls styling.
|
||||
|
||||
\begin{rSection}{Education}
|
||||
\textbf{[FIXED: Degree Title]} \hfill {[FIXED: Start -- End]}\\
|
||||
[FIXED: Institution, Location] \hfill GPA: [FIXED: X.XX/Y]\\
|
||||
\textit{Dissertation:} [FIXED: Title]\\
|
||||
\textit{Advisors:} [FIXED: Names]
|
||||
|
||||
\textbf{[FIXED: Degree Title]} \hfill {[FIXED: Start -- End]}\\
|
||||
[FIXED: Institution, Location] \hfill GPA: [FIXED: X.XX/Y]
|
||||
\end{rSection}
|
||||
\vspace{-0.0cm}
|
||||
|
||||
%========================================================================================
|
||||
% TECHNICAL EXPERTISE — JD-DEPENDENT
|
||||
% LOCKED: 4-4-3-3-3 ALWAYS (5 groups, 17 body lines). No variants.
|
||||
%========================================================================================
|
||||
% Generate from: JD + skills_taxonomy.md + bundle Section 6.
|
||||
% Top 2 JD-relevant groups get "4" (1 header + 3 dashes), rest get "3" (1 header + 2 dashes).
|
||||
% Last group (Programming & HPC): always last, always "3".
|
||||
% Group names, ordering, dash content, bold tools ALL vary per JD.
|
||||
%
|
||||
% DASH RULES:
|
||||
% Each dash = exactly 1 rendered line. Bold 6-8 JD-relevant tools.
|
||||
% BOLD PENALTY: target 83-88 rendered chars when bold tools present; ~93 without bold.
|
||||
|
||||
\begin{rSection}{Technical Expertise}
|
||||
% FORMAT C: Use \skillgroup{} and \skilldash{} from cv.cls
|
||||
% LOCKED: 4-4-3-3-3 ALWAYS (17 body lines)
|
||||
% Each \skilldash = exactly 1 rendered line. Char limit: 91 - (0.25 x bold_chars)
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Top JD-Relevant Domain]}
|
||||
\skilldash{[GENERATE: max ~83-88 chars with bold penalty]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Second Domain]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Third Domain]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Fourth Domain]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Programming \& HPC]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\end{rSection}
|
||||
\vspace{-0.0cm}
|
||||
|
||||
%========================================================================================
|
||||
% RESEARCH EXPERIENCE — MIXED FIXED/JD-DEPENDENT
|
||||
% Position headers: FIXED | Sub-theme count: FIXED per position | Content: JD-DEPENDENT
|
||||
%========================================================================================
|
||||
% cv.cls rSubsection: {Title}{Dates}{Location}{Mentors/Advisors}
|
||||
% CRITICAL: cv.cls puts Args 3 and 4 on SEPARATE italic lines (unlike resume.cls!)
|
||||
% Sub-themes via \subtheme{...}
|
||||
% NEVER use code folder names as package names.
|
||||
|
||||
\begin{rSection}{Research Experience}
|
||||
|
||||
% --- Position 1 (most recent): FIXED header, N sub-themes, M bullets ---
|
||||
% Replace sub-theme names and bullets per JD. Keep sub-theme COUNT fixed.
|
||||
\begin{rSubsection}{[FIXED: Title]}{\textcolor{black!60}{[FIXED: Start -- Present]}}{[FIXED: Institution, Department]}{[FIXED: Mentors/Advisors]}
|
||||
|
||||
\subtheme{[GENERATE: Sub-theme 1 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
\item [GENERATE: Bullet]
|
||||
\subtheme{[GENERATE: Sub-theme 2 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
\item [GENERATE: Bullet]
|
||||
\subtheme{[GENERATE: Sub-theme 3 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
|
||||
\end{rSubsection}
|
||||
|
||||
% --- Position 2: FIXED header, N sub-themes, M bullets ---
|
||||
\begin{rSubsection}{[FIXED: Title]}{\textcolor{black!60}{[FIXED: Start -- End]}}{[FIXED: Institution]}{[FIXED: Advisors]}
|
||||
|
||||
\subtheme{[GENERATE: Sub-theme 1 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
\item [GENERATE: Bullet]
|
||||
\subtheme{[GENERATE: Sub-theme 2 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
\subtheme{[GENERATE: Sub-theme 3 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
|
||||
\end{rSubsection}
|
||||
|
||||
% --- Position 3: FIXED header, N sub-themes, M bullets ---
|
||||
\begin{rSubsection}{[FIXED: Title]}{\textcolor{black!60}{[FIXED: Start -- End]}}{[FIXED: Institution]}{[FIXED: Advisors]}
|
||||
|
||||
\subtheme{[GENERATE: Sub-theme 1 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
\subtheme{[GENERATE: Sub-theme 2 name]}
|
||||
\item [GENERATE: Bullet]
|
||||
|
||||
\end{rSubsection}
|
||||
|
||||
% --- Optional: FIXED position (bullets never change) ---
|
||||
% \begin{rSubsection}{[FIXED: Theme]}{\textcolor{black!60}{[FIXED: Dates]}}{[FIXED: Title, Institution]}{}
|
||||
% \item [FIXED: Bullet — same in every CV]
|
||||
% \end{rSubsection}
|
||||
|
||||
\end{rSection}
|
||||
|
||||
%========================================================================================
|
||||
% FELLOWSHIPS & HONORS — FIXED
|
||||
%========================================================================================
|
||||
% Fill with your actual fellowships and honors.
|
||||
% Format: \item \textbf{Name}, Granting Body (Year)---context.
|
||||
% Target: 2 rendered lines per entry.
|
||||
|
||||
\begin{rSection2}{Fellowships \& Honors}
|
||||
\item \textbf{[FIXED: Fellowship/Award]}, [FIXED: Body] ([FIXED: Year])---[FIXED: context and significance].
|
||||
\item \textbf{[FIXED: Fellowship/Award]}, [FIXED: Body] ([FIXED: Year])---[FIXED: context].
|
||||
\item \textbf{[FIXED: Fellowship/Award]}, [FIXED: Body] ([FIXED: Year])---[FIXED: context].
|
||||
\end{rSection2}
|
||||
|
||||
%========================================================================================
|
||||
% PUBLICATIONS — FIXED (copy your full publication list)
|
||||
%========================================================================================
|
||||
% All content is FIXED. Copy verbatim during generation. Never modify per JD.
|
||||
% Use et al. format per Generation Rule 4.
|
||||
% Never include "In Preparation" or "Submitted" unless actually submitted.
|
||||
% $\dagger$ marks equal-contribution first authors.
|
||||
|
||||
\begin{rSection}{Publications}
|
||||
\textit{[FIXED: N] peer-reviewed articles $|$ [FIXED: N]+ citations $|$ h-index: [FIXED: N]} \hfill \href{[CONFIG: Google Scholar URL]}{[Google Scholar]}\\
|
||||
\vspace{0.07cm}
|
||||
$\dagger$ - equal contribution as first author.
|
||||
\vspace{0.15cm}
|
||||
|
||||
\textbf{Published}
|
||||
\begin{enumerate}[leftmargin=1.5em, labelsep=0.5em, itemsep=0.1em]
|
||||
% List publications in reverse chronological order.
|
||||
% Format per entry:
|
||||
% \item[N.] \textbf{Your Name}, Co-Author, \textit{et al.} ``Title.'' \textit{Journal} \textbf{Vol}, Pages (Year).
|
||||
\item[3.] [FIXED: Author list. ``Title.'' \textit{Journal} \textbf{Vol}, Pages (Year).]
|
||||
\item[2.] [FIXED: ...]
|
||||
\item[1.] [FIXED: ...]
|
||||
\end{enumerate}
|
||||
|
||||
% Optional: Under Review section (only if actually under review -- check config.md provenance)
|
||||
% \textbf{Under Review}
|
||||
% \begin{enumerate}[leftmargin=1.5em, labelsep=0.5em, itemsep=0.1em]
|
||||
% \item[--] [FIXED: Author list. ``Title.'' \textit{Journal}---under review.]
|
||||
% \end{enumerate}
|
||||
\end{rSection}
|
||||
|
||||
%========================================================================================
|
||||
% SELECTED PRESENTATIONS — FIXED
|
||||
%========================================================================================
|
||||
% Format: \item \textbf{Your Name}, Co-Authors. ``Title.'' \textit{Venue}, Location (Year).
|
||||
% Target: 2 rendered lines per entry.
|
||||
|
||||
\begin{rSection2}{Selected Presentations}
|
||||
\item \textbf{[FIXED: Authors]}. ``[FIXED: Title].'' \textit{[FIXED: Venue]}, [FIXED: Location] ([FIXED: Year]).
|
||||
\item [FIXED: ...]
|
||||
\end{rSection2}
|
||||
|
||||
%========================================================================================
|
||||
% MENTORSHIP & SERVICE — FIXED
|
||||
%========================================================================================
|
||||
|
||||
\begin{rSection2}{Mentorship \& Professional Service}
|
||||
\item \textbf{[FIXED: Category]:} [FIXED: Details — number of students, outcomes, etc.]
|
||||
\item \textbf{[FIXED: Category]:} [FIXED: Details]
|
||||
\item \textbf{[FIXED: Category]:} [FIXED: Details]
|
||||
\end{rSection2}
|
||||
|
||||
%========================================================================================
|
||||
% INTERNATIONAL COLLABORATIONS — FIXED (optional section)
|
||||
%========================================================================================
|
||||
|
||||
\begin{rSection2}{International Collaborations}
|
||||
\item \textbf{[FIXED: Institution]} ([FIXED: Years]): [FIXED: Description and collaborators].
|
||||
\item [FIXED: ...]
|
||||
\end{rSection2}
|
||||
|
||||
%========================================================================================
|
||||
% COMPUTING RESOURCES — FIXED (optional section)
|
||||
%========================================================================================
|
||||
|
||||
\begin{rSection2}{Computing Resources \& Code Development}
|
||||
\item [FIXED: HPC resources, CPU/GPU hours, clusters managed.]
|
||||
\item [FIXED: Code development roles, frameworks, tools built.]
|
||||
\end{rSection2}
|
||||
|
||||
\end{document}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 108 KiB |
@@ -0,0 +1,199 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Medium Length Professional CV - RESUME CLASS FILE
|
||||
%
|
||||
% This template has been downloaded from:
|
||||
% http://www.LaTeXTemplates.com
|
||||
%
|
||||
% This class file defines the structure and design of the template.
|
||||
%
|
||||
% Original header:
|
||||
% Copyright (C) 2010 by Trey Hunner
|
||||
%
|
||||
% Copying and distribution of this file, with or without modification,
|
||||
% are permitted in any medium without royalty provided the copyright
|
||||
% notice and this notice are preserved. This file is offered as-is,
|
||||
% without any warranty.
|
||||
%
|
||||
% Created by Trey Hunner and modified by www.LaTeXTemplates.com
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\ProvidesClass{resume}[2018/09/25 v1.0 Resume class]
|
||||
|
||||
\LoadClass[10pt, a4paper]{article} % Font size and paper type
|
||||
\usepackage{lastpage}
|
||||
\usepackage[parfill]{parskip} % Remove paragraph indentation
|
||||
\usepackage{array} % Required for boldface (\bf and \bfseries) tabular columns
|
||||
\usepackage{ifthen} % Required for ifthenelse statements
|
||||
\usepackage{enumitem}
|
||||
\pagestyle{empty} % Suppress page numbers
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% HEADINGS COMMANDS: Commands for printing name and address
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\def \name#1{\def\@name{#1}} % Defines the \name command to set name
|
||||
\def \@name {} % Sets \@name to empty by default
|
||||
|
||||
\def \addressSep {$|$} % Set default address separator to a diamond
|
||||
|
||||
% One, two or three address lines can be specified
|
||||
\let \@addressone \relax
|
||||
\let \@addresstwo \relax
|
||||
\let \@addressthree \relax
|
||||
\let \@addressfour \relax
|
||||
|
||||
% \address command can be used to set the first, second, and third address (last 2 optional)
|
||||
\def \address #1{
|
||||
\@ifundefined{@addresstwo}{
|
||||
\def \@addresstwo {#1}
|
||||
}{
|
||||
\@ifundefined{@addressthree}{
|
||||
\def \@addressthree {#1}
|
||||
}{
|
||||
\@ifundefined{@addressfour}{
|
||||
\def \@addressfour {#1}
|
||||
} {\def \@addressone {#1}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
% \printaddress is used to style an address line (given as input)
|
||||
\def \printaddress #1{
|
||||
\begingroup
|
||||
\def \\ {\addressSep\ }
|
||||
{#1}
|
||||
% \centerline{#1}
|
||||
\endgroup
|
||||
\par
|
||||
% \addressskip
|
||||
}
|
||||
|
||||
% \printname is used to print the name as a page header
|
||||
\def \printname {
|
||||
\begingroup
|
||||
% \MakeUppercase
|
||||
{\namesize\bf \@name} \hfil
|
||||
% \hfil{\MakeUppercase{\namesize\bf \@name}}\hfil
|
||||
\nameskip\break
|
||||
\endgroup
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% PRINT THE HEADING LINES
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\let\ori@document=\document
|
||||
\renewcommand{\document}{
|
||||
\ori@document % Begin document
|
||||
% \begin{center}
|
||||
\printname % Print the name specified with \name
|
||||
\@ifundefined{@addressone}{}{ % Print the first address if specified
|
||||
\printaddress{\@addressone}}
|
||||
\@ifundefined{@addresstwo}{}{ % Print the second address if specified
|
||||
\printaddress{\@addresstwo}}
|
||||
\@ifundefined{@addressthree}{}{ % Print the third address if specified
|
||||
\printaddress{\@addressthree}}
|
||||
\@ifundefined{@addressfour}{}{ % Print the third address if specified
|
||||
\printaddress{\@addressfour}}
|
||||
|
||||
% \end{center}
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% SECTION FORMATTING
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% Defines the rSection environment for the large sections within the CV
|
||||
\newenvironment{rSection}[1]{ % 1 input argument - section name
|
||||
\sectionskip
|
||||
{\bf #1}
|
||||
% \MakeUppercase{\bf #1} % Section title
|
||||
\sectionlineskip
|
||||
\hrule % Horizontal line
|
||||
\begin{list}{}{ % List for each individual item in the section
|
||||
\setlength{\leftmargin}{0.50em} % Margin within the section
|
||||
}
|
||||
\item[]
|
||||
}{
|
||||
\end{list}
|
||||
}
|
||||
|
||||
\newenvironment{rSection2}[1]{ % 1 input argument - section name
|
||||
\sectionskip
|
||||
{\bf #1} % Section title
|
||||
\sectionlineskip
|
||||
\hrule % Horizontal line
|
||||
\medskip
|
||||
\begin{list}{$\bullet$}{\setlength{\leftmargin}{1.5em}}
|
||||
\itemsep -0.3em \vspace{-0.5em} % Compress items in list together for aesthetics
|
||||
}{
|
||||
\end{list}
|
||||
\vspace{0.5em}
|
||||
}
|
||||
|
||||
\newenvironment{rSection3}[1]{ % 1 input argument - section name
|
||||
\sectionskip
|
||||
{\bf #1} % Section title
|
||||
\sectionlineskip
|
||||
\hrule % Horizontal line
|
||||
\medskip
|
||||
\begin{enumerate}[]{\setlength{\leftmargin}{1.5em}}
|
||||
\itemsep -0.3em \vspace{-0.5em} % Compress items in list together for aesthetics
|
||||
}{
|
||||
\end{enumerate}
|
||||
\vspace{0.5em}
|
||||
}
|
||||
%----------------------------------------------------------------------------------------
|
||||
% WORK EXPERIENCE FORMATTING
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\newenvironment{rSubsection}[4]{ % 4 input arguments - company name, year(s) employed, job title and location
|
||||
{\bf #1} \hfill {#2} % Bold company name and date on the right
|
||||
\ifthenelse{\equal{#3}{}}{}{ % If the third argument is not specified, don't print the job title and location line
|
||||
\\
|
||||
{\em #3} \quad {\em #4} % Italic job title and location
|
||||
}\smallskip
|
||||
\begin{list}{$\cdot$}{\leftmargin=1.5em} % \cdot used for bullets, no indentation
|
||||
\itemsep -0.2em \vspace{-0.2em} % Compress items in list together for aesthetics
|
||||
}{
|
||||
\end{list}
|
||||
\vspace{0.2 em} % Some space after the list of bullet points
|
||||
}
|
||||
|
||||
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% FORMAT C SKILLS COMMANDS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% Skills group environment: \begin{skillgroup}{Group Name} ... \end{skillgroup}
|
||||
% Renders bold header + indented dash sub-items. Each \skilldash = exactly 1 rendered line.
|
||||
\newenvironment{skillgroup}[1]{%
|
||||
\textbf{#1}\par\nopagebreak%
|
||||
\vspace{-\parskip}%
|
||||
\begin{list}{--}{\leftmargin=0.8em \labelsep=0.3em \itemsep=0pt \topsep=0.1em \parsep=0pt \partopsep=0pt}%
|
||||
}{%
|
||||
\end{list}%
|
||||
\vspace{-\parskip}\vspace{0.45em}%
|
||||
}
|
||||
|
||||
% Single dash sub-item within a skillgroup. Content must fit 1 rendered line.
|
||||
% Char limit: 119 - (0.5 x bold_char_count) at 10pt
|
||||
\newcommand{\skilldash}[1]{\item #1}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EXPERIENCE SUB-THEME COMMAND
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% Sub-theme underline header within rSubsection
|
||||
\newcommand{\subtheme}[1]{\item[] \underline{#1}}
|
||||
|
||||
% The below commands define the whitespace after certain things in the document - they can be \smallskip, \medskip or \bigskip
|
||||
\def\namesize{\huge} % Size of the name at the top of the document
|
||||
\def\addressskip{\smallskip} % The space between the two address (or phone/email) lines
|
||||
\def\sectionlineskip{\medskip} % The space above the horizontal line for each section
|
||||
\def\nameskip{\medskip} % The space after your name at the top
|
||||
\def\sectionskip{\medskip} % The space after the heading section
|
||||
@@ -0,0 +1,236 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% TEMPLATE: Resume (resume.cls) -- structural reference for Claude generation
|
||||
% Copy this structure exactly. Replace [GENERATE: ...] placeholders with JD-tailored content.
|
||||
% FIXED sections: contain actual data -- never modify during generation
|
||||
% GENERATE sections: Claude fills in per JD using the uploaded bundle
|
||||
%
|
||||
% SETUP INSTRUCTIONS:
|
||||
% 1. Fill [CONFIG: ...] markers with values from your config.md
|
||||
% 2. Fill FIXED sections (Education, Awards, etc.) with your actual content
|
||||
% 3. Leave [GENERATE: ...] markers -- Claude fills these per JD
|
||||
% 4. Calibrate page budget after filling FIXED content (compile + count lines)
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\documentclass{resume}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{enumitem}
|
||||
\usepackage{fontawesome}
|
||||
\usepackage{tikz}
|
||||
\usepackage{graphicx}
|
||||
\hypersetup{
|
||||
colorlinks = true,
|
||||
linkcolor = [rgb]{0.9,0.4,0.4},
|
||||
anchorcolor = [rgb]{0.9,0.4,0.4},
|
||||
citecolor = [rgb]{0.4,0.4,0.4},
|
||||
filecolor = [rgb]{0.4,0.4,0.4},
|
||||
urlcolor = [rgb]{0.0,0.0,0.99},
|
||||
}
|
||||
\usepackage{xcolor}
|
||||
\usepackage[version=4,arrows=pgf-filled]{mhchem}
|
||||
\usepackage[includefoot,left=0.5in,top=0.5in,right=0.5in,bottom=0.2in,textwidth=7.5in,textheight=10.8in]{geometry}
|
||||
\usepackage{fancyhdr}
|
||||
\pagestyle{fancy}
|
||||
\fancyhf{}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\fancyfoot[R]{\hfill \thepage/\pageref{LastPage}}
|
||||
\newcommand{\tab}[1]{\hspace{.2667\textwidth}\rlap{#1}}
|
||||
\newcommand{\itab}[1]{\hspace{0em}\rlap{#1}}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% HEADER — FIXED (fill from config.md)
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% FIXED: Name -- from config.md
|
||||
\name{[CONFIG: Full Name, Degree]}
|
||||
|
||||
% FIXED: Links -- include whichever you have; delete unused lines
|
||||
\address{\href{[CONFIG: website URL]}{[CONFIG: site display]} \\ \href{[CONFIG: LinkedIn URL]}{LinkedIn} \\ \href{[CONFIG: Google Scholar URL]}{Google Scholar}}
|
||||
% FIXED: Contact
|
||||
\address{[CONFIG: email] \\ [CONFIG: phone]}
|
||||
% GENERATE: Relocation target per JD
|
||||
\address{[CONFIG: City, State] (Open to relocation to [Target City])}
|
||||
% GENERATE: Tagline -- rewrite per JD using bundle Section 2 building blocks
|
||||
% Use $\vert$ as separator between tagline phrases
|
||||
\address{{[GENERATE: Role Title $\vert$ Domain Specialty $\vert$ Key Method or Impact]}}
|
||||
|
||||
\begin{document}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% GENERATION REFERENCE (for Claude -- not rendered in PDF)
|
||||
%----------------------------------------------------------------------------------------
|
||||
% CHARACTER LIMITS (rendered chars — strip \textbf{}, \textit{}, \ce{}, $..$ before counting):
|
||||
% Chars per line (CPL): ~111-115 at 10pt (varies with char width distribution)
|
||||
%
|
||||
% Resume-1L bullet: target 105-111 chars | HARD MAX 117
|
||||
% Resume-2L bullet: target 189-205 chars | HARD MAX 218 | orphan >= 78 chars
|
||||
%
|
||||
% AIM FOR TARGET MIDDLE (200 for 2L) — NOT the hard max.
|
||||
% Em-dash (---) counts as 1 char but renders ~2x wide. Budget 2 extra per em-dash.
|
||||
% Bold in bullets: ~0.42 penalty/bold char (10 bold chars ≈ lose 4 chars capacity).
|
||||
%
|
||||
% PAGE FILL BUDGET:
|
||||
% After filling FIXED sections, compile and count rendered lines per page.
|
||||
% Remaining lines = your variable bullet budget.
|
||||
% Example for 2-page resume with 5 skill groups:
|
||||
% Skills 4-3-2-2-2 (13 lines): ~21 variable bullets (2L each)
|
||||
% Skills 4-4-2-2-2 (14 lines): ~20 variable bullets
|
||||
% Variable bullets = sum of all GENERATE position bullets
|
||||
% FIXED position bullets are NOT counted in the variable budget.
|
||||
%
|
||||
% POSITION FORMAT (FLIPPED):
|
||||
% Bold line = JD-customized domain theme (strongest customization lever)
|
||||
% Subtitle (italic) = formal role + institution
|
||||
% FIXED positions keep the same theme in every resume.
|
||||
|
||||
\vspace{-0.15cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% SUMMARY — GENERATE per JD
|
||||
%----------------------------------------------------------------------------------------
|
||||
% GENERATE: Rewrite per JD using bundle Section 2 building blocks
|
||||
% 5 body lines (4-5 sentences). Lead with years of experience + primary methods.
|
||||
% End with publication/citation metrics if applicable.
|
||||
% Max 1 paragraph -- no line breaks.
|
||||
\begin{rSection}{Summary}
|
||||
[GENERATE: [Domain] scientist with [N]+ years combining \textbf{[primary method]} and \textbf{[secondary method]} for [application domain]. [1-2 sentences on key accomplishments tailored to JD]. [Metrics: publications, citations, awards if applicable].]
|
||||
\end{rSection}
|
||||
\vspace{-0.15cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% TECHNICAL SKILLS — GENERATE per JD (Format C)
|
||||
%----------------------------------------------------------------------------------------
|
||||
% GENERATE: 5 groups in Format C (categorized dash sub-items)
|
||||
% Default config from config.md (e.g. 4-3-2-2-2 = 13 content lines)
|
||||
% Load skills_taxonomy.md to map JD keywords to skill entries
|
||||
% Group names are JD-customizable; order most JD-relevant first
|
||||
% Bold 6-8 tools that most directly match JD keywords
|
||||
% Each dash item = exactly 1 rendered line (~105-111 chars), no wrapping
|
||||
\begin{rSection}{Technical Skills}
|
||||
% FORMAT C: Use \skillgroup{} and \skilldash{} commands from resume.cls
|
||||
% Each \skilldash = exactly 1 rendered line. Char limit: 119 - (0.5 x bold_chars)
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Most JD-Relevant Domain]}
|
||||
\skilldash{[GENERATE: tools, methods — max ~105-111 chars with bold penalty]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Second Domain]}
|
||||
\skilldash{[GENERATE]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Third Domain]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Fourth Domain]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\begin{skillgroup}{[GENERATE: Programming \& Tools]}
|
||||
\skilldash{[GENERATE]}
|
||||
\end{skillgroup}
|
||||
|
||||
\end{rSection}
|
||||
\vspace{-0.15cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EXPERIENCE — GENERATE bullets per JD; position headers are FIXED
|
||||
%----------------------------------------------------------------------------------------
|
||||
% Add one rSubsection per position. Most recent first.
|
||||
% FLIPPED format: Bold line = JD-customized theme; italic = formal role + institution.
|
||||
% Mark any position as FIXED if its bullets never change across JDs.
|
||||
\begin{rSection}{Research Experience}
|
||||
|
||||
% --- Position 1 (most recent) ---
|
||||
% GENERATE: Select bullets from bundle; bold theme line customized to JD
|
||||
\begin{rSubsection}{[GENERATE: JD-Customized Theme]}{\textcolor{black!60}{[FIXED: Start -- End]}}{[FIXED: Title, Institution]}{}
|
||||
\item [GENERATE: Bullet 1 -- strongest JD-relevant accomplishment]
|
||||
\item [GENERATE: Bullet 2]
|
||||
\item [GENERATE: ...]
|
||||
\end{rSubsection}
|
||||
|
||||
% --- Position 2 ---
|
||||
\begin{rSubsection}{[GENERATE: JD-Customized Theme]}{\textcolor{black!60}{[FIXED: Start -- End]}}{[FIXED: Title, Institution]}{}
|
||||
\item [GENERATE: Bullet 1]
|
||||
\item [GENERATE: ...]
|
||||
\end{rSubsection}
|
||||
|
||||
% --- Position 3 ---
|
||||
\begin{rSubsection}{[GENERATE: JD-Customized Theme]}{\textcolor{black!60}{[FIXED: Start -- End]}}{[FIXED: Title, Institution]}{}
|
||||
\item [GENERATE: Bullet 1]
|
||||
\item [GENERATE: ...]
|
||||
\end{rSubsection}
|
||||
|
||||
% --- Optional: FIXED position (e.g. early-career internship that never changes) ---
|
||||
% Uncomment and fill if you have a short position whose bullets are always the same:
|
||||
% \begin{rSubsection}{[FIXED: Theme]}{\textcolor{black!60}{[FIXED: Dates]}}{[FIXED: Title, Institution]}{}
|
||||
% \item [FIXED: Bullet — same in every resume]
|
||||
% \item [FIXED: Bullet — same in every resume]
|
||||
% \end{rSubsection}
|
||||
|
||||
\end{rSection}
|
||||
\vspace{-0.15cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EDUCATION — FIXED: Fill with your actual education
|
||||
%----------------------------------------------------------------------------------------
|
||||
% Each entry: {Degree (honors)} \hfill {Years} \\ {Institution}, Location \hfill GPA
|
||||
|
||||
\begin{rSection}{Education}
|
||||
{[FIXED: Degree Title]} \hfill {\textcolor{black!60}{[FIXED: Start -- End]}}\\
|
||||
{[FIXED: Institution]}, [FIXED: Location] \hfill GPA: \textbf{[FIXED]}/[FIXED]
|
||||
|
||||
{[FIXED: Degree Title]} \hfill {\textcolor{black!60}{[FIXED: Start -- End]}}\\
|
||||
{[FIXED: Institution]}, [FIXED: Location] \hfill GPA: \textbf{[FIXED]}/[FIXED]
|
||||
\end{rSection}
|
||||
\vspace{-0.15cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% SELECTED PUBLICATIONS — GENERATE: Claude picks 5 per JD relevance
|
||||
%----------------------------------------------------------------------------------------
|
||||
% GENERATE: Score publications per JD relevance using pub_metadata.md
|
||||
% Copy-paste FIXED author + journal LaTeX blocks from pub_metadata.md
|
||||
% GENERATE JD-shortened title + JD-relevant keyword tags at runtime
|
||||
% 2-line hard limit per entry, last line >= 70% filled
|
||||
% Prioritize: first-author > co-first > contributing; high-impact > standard
|
||||
\begin{rSection2}{Selected Publications (\href{[CONFIG: Google Scholar URL]}{Google Scholar}: [FIXED: N] papers $\vert$ [FIXED: N]+ citations)}
|
||||
|
||||
\item [GENERATE: Publication 1 -- most JD-relevant, short format]
|
||||
|
||||
\item [GENERATE: Publication 2]
|
||||
|
||||
\item [GENERATE: Publication 3]
|
||||
|
||||
\item [GENERATE: Publication 4]
|
||||
|
||||
\item [GENERATE: Publication 5]
|
||||
|
||||
\end{rSection2}
|
||||
\vspace{-0.15cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% HONORS & AWARDS — FIXED: Fill with your actual awards
|
||||
%----------------------------------------------------------------------------------------
|
||||
% Format: \item \textbf{Award}, Granting Body (Year)---brief context.
|
||||
% Aim for 1 rendered line each. Adjust count to fit page budget.
|
||||
|
||||
\begin{rSection2}{Honors \& Awards}
|
||||
\item \textbf{[FIXED: Award]}, [FIXED: Body] ([FIXED: Year])---[FIXED: context].
|
||||
\item \textbf{[FIXED: Award]}, [FIXED: Body] ([FIXED: Year])---[FIXED: context].
|
||||
\item \textbf{[FIXED: Award]}, [FIXED: Body] ([FIXED: Year])---[FIXED: context].
|
||||
\end{rSection2}
|
||||
\vspace{-0.1cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% IMMIGRATION — FIXED content, include/exclude per JD
|
||||
% USA JD: keep this block | Non-USA JD: delete (frees ~2 lines)
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\begin{center}
|
||||
\vspace{0.15cm}
|
||||
\textit{[CONFIG: Immigration status line from config.md]}
|
||||
\end{center}
|
||||
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user