diff --git a/rendercv/themes/classic/EducationEntry.j2.tex b/rendercv/themes/classic/EducationEntry.j2.tex index e69de29..75cd76d 100644 --- a/rendercv/themes/classic/EducationEntry.j2.tex +++ b/rendercv/themes/classic/EducationEntry.j2.tex @@ -0,0 +1,39 @@ +((# \begin{tabularx}{⟨width⟩}[⟨pos⟩]{⟨preamble⟩} #)) + ((# width: \textwidth #)) + ((# preamble: first column, second column, third column #)) + ((# first column: p{0.55cm}; constant width, ragged left column #)) + ((# second column: K{<>}; variable width, justified column #)) + ((# third column: R{<>}; constant widthm ragged right column #)) +\begin{tabularx}{ + \textwidth-<>-0.13cm + }{ + L{0.85cm} + K{<>} + R{<>} + } + \textbf{<>} + & + \textbf{<>}, <> + + \vspace{<>} + +((* for item in entry.highlights *)) + ((* if loop.first *)) + \begin{highlights} + ((* endif *)) + \item <> + + ((* if loop.last *)) + \end{highlights} + ((* endif *)) +((* endfor *)) + & +((*set date_and_location_strings = [entry.location, entry.date_string, entry.time_span_string]*)) +((* for item in date_and_location_strings *)) + ((* if loop.last *)) + <> + ((* else *)) + <> \newline + ((* endif *)) +((* endfor *)) +\end{tabularx} \ No newline at end of file diff --git a/rendercv/themes/classic/ExperienceEntry.j2.tex b/rendercv/themes/classic/ExperienceEntry.j2.tex index e69de29..517a467 100644 --- a/rendercv/themes/classic/ExperienceEntry.j2.tex +++ b/rendercv/themes/classic/ExperienceEntry.j2.tex @@ -0,0 +1,35 @@ +((# \begin{tabularx}{⟨width⟩}[⟨pos⟩]{⟨preamble⟩} #)) + ((# width: \textwidth #)) + ((# preamble: first column, second column #)) + ((# first column:: K{<>}; variable width, justified column #)) + ((# second column: R{<>}; constant width ragged right column #)) +\begin{tabularx}{ + \textwidth-<>-0.13cm + }{ + K{<>} + R{<>} + } + \textbf{<>}, <> + + \vspace{<>} + +((* for item in entry.highlights *)) + ((* if loop.first *)) + \begin{highlights} + ((* endif *)) + \item <> + + ((* if loop.last *)) + \end{highlights} + ((* endif *)) +((* endfor *)) + & +((*set date_and_location_strings = [entry.location, entry.date_string, entry.time_span_string]*)) +((* for item in date_and_location_strings *)) + ((* if loop.last *)) + <> + ((* else *)) + <> \newline + ((* endif *)) +((* endfor *)) +\end{tabularx} \ No newline at end of file diff --git a/rendercv/themes/classic/Header.j2.tex b/rendercv/themes/classic/Header.j2.tex index e69de29..6fef266 100644 --- a/rendercv/themes/classic/Header.j2.tex +++ b/rendercv/themes/classic/Header.j2.tex @@ -0,0 +1,40 @@ +\begin{header} + \fontsize{<>}{<>} + \textbf{<>} + + \vspace{<>} + + \normalsize +((* if cv.phone *)) + \mbox{\hrefWithoutArrow{<>}{{\footnotesize\faPhone*}\hspace{0.13cm}<>}} + \hspace{0.5cm} +((* endif *)) +((* if cv.email *)) + \mbox{\hrefWithoutArrow{mailto:<>}{{\small\faEnvelope[regular]}\hspace{0.13cm}<>}} + \hspace{0.5cm} +((* endif *)) +((* if cv.location *)) + \mbox{{\small\faMapMarker*}\hspace{0.13cm}<>} + \hspace{0.5cm} +((* endif *)) +((* if cv.website *)) + \mbox{\hrefWithoutArrow{<>}{{\small\faLink}\hspace{0.13cm}<>}} + \hspace{0.5cm} +((* endif *)) +((* + set icon_dictionary = { + "LinkedIn": "\\faLinkedinIn", + "GitHub": "\\faGithub", + "Instagram": "\\faInstagram", + "Orcid": "\\faOrcid", + "Mastodon": "\\faMastodon", + } +*)) +((* for network in cv.social_networks *)) + \mbox{\hrefWithoutArrow{network.url}{{\small<>}\hspace{0.13cm}<>}} + \hspace{0.5cm} +((* endfor *)) + +\end{header} + +\vspace{<>} \ No newline at end of file diff --git a/rendercv/themes/classic/NormalEntry.j2.tex b/rendercv/themes/classic/NormalEntry.j2.tex index e69de29..3d1dc18 100644 --- a/rendercv/themes/classic/NormalEntry.j2.tex +++ b/rendercv/themes/classic/NormalEntry.j2.tex @@ -0,0 +1,35 @@ +((# \begin{tabularx}{⟨width⟩}[⟨pos⟩]{⟨preamble⟩} #)) + ((# width: \textwidth #)) + ((# preamble: first column, second column #)) + ((# first column:: K{<>}; variable width, justified column #)) + ((# second column: R{<>}; constant width ragged right column #)) +\begin{tabularx}{ + \textwidth-<>-0.13cm +}{ + K{<>} + R{<>} +} +\textbf{<>} + +\vspace{<>} + +((* for item in entry.highlights *)) +((* if loop.first *)) +\begin{highlights} +((* endif *)) + \item <> + +((* if loop.last *)) +\end{highlights} +((* endif *)) +((* endfor *)) +& +((*set date_and_location_strings = [entry.location, entry.date_string, entry.time_span_string]*)) +((* for item in date_and_location_strings *)) +((* if loop.last *)) +<> +((* else *)) +<> \newline +((* endif *)) +((* endfor *)) +\end{tabularx} \ No newline at end of file diff --git a/rendercv/themes/classic/OneLineEntry.j2.tex b/rendercv/themes/classic/OneLineEntry.j2.tex index e69de29..bc97c14 100644 --- a/rendercv/themes/classic/OneLineEntry.j2.tex +++ b/rendercv/themes/classic/OneLineEntry.j2.tex @@ -0,0 +1,7 @@ +\begingroup((* if design.text_alignment == "left-aligned" *))\raggedright((* endif *)) +\leftskip=<> +\advance\csname @rightskip\endcsname <> +\advance\rightskip <> + +\textbf{<>:} <> ((* if entry.url *)) (\href{<>}{<>}) ((* endif *)) +\par\endgroup \ No newline at end of file diff --git a/rendercv/themes/classic/Preamble.j2.tex b/rendercv/themes/classic/Preamble.j2.tex index e69de29..d9bc8ba 100644 --- a/rendercv/themes/classic/Preamble.j2.tex +++ b/rendercv/themes/classic/Preamble.j2.tex @@ -0,0 +1,126 @@ +\documentclass[<>, <>]{article} + +% Packages: +\usepackage[ + ignoreheadfoot, % set margins without considering header and footer + top=<>, % seperation between body and page edge from the top + bottom=<>, % seperation between body and page edge from the bottom + left=<>, % seperation between body and page edge from the left + right=<>, % seperation between body and page edge from the right + footskip=<>, % seperation between body and footer + % showframe % for debugging + ]{geometry} % for adjusting page geometry +\usepackage{fontspec} % for loading fonts +\usepackage[explicit]{titlesec} % for customizing section titles +\usepackage{tabularx} % for making tables with fixed width columns +\usepackage{array} % tabularx requires this +\usepackage[dvipsnames]{xcolor} % for coloring text +\definecolor{primaryColor}{RGB}{<>} % define primary color +\usepackage{enumitem} % for customizing lists +\usepackage{fontawesome5} % for using icons +\usepackage[ + pdftitle={<>'s CV}, + pdfauthor={<>}, + colorlinks=true, + urlcolor=primaryColor +]{hyperref} % for links, metadata and bookmarks +\usepackage[pscoord]{eso-pic} % for floating text on the page +\usepackage{calc} % for calculating lengths +\usepackage{bookmark} % for bookmarks +\usepackage{lastpage} % for getting the total number of pages + +% Some settings: +\pagestyle{empty} % no header or footer +\setcounter{secnumdepth}{0} % no section numbering +\setlength{\parindent}{0pt} % no indentation +\setlength{\topskip}{0pt} % no top skip +((# \pagenumbering{gobble} % no page numbering #)) +\makeatletter +\let\ps@customFooterStyle\ps@plain % Copy the plain style to customFooterStyle +\patchcmd{\ps@customFooterStyle}{\thepage}{ + \color{gray}\textit{\small <> | Page \thepage{} of \pageref*{LastPage}} +}{}{} % replace number by desired string +\makeatother +\pagestyle{customFooterStyle} + +\setmainfont{<>}[ + Path= fonts/, + Extension = .ttf, + UprightFont = *-Regular, + ItalicFont = *-Italic, + BoldFont = *-Bold, + BoldItalicFont = *-BoldItalic +] + +\titleformat{\section}{ + % make the font size of the section title large and color it with the primary color + \Large\color{primaryColor} + }{ + }{ + }{ + % print bold title, give 0.15 cm space and draw a line of 0.8 pt thickness + % from the end of the title to the end of the body + \textbf{#1}\hspace{0.15cm}\titlerule[0.8pt]\hspace{-0.1cm} + }[] % section title formatting + +\titlespacing{\section}{ + % left space: + 0pt + }{ + % top space: + <> + }{ + % bottom space: + <> + } % section title spacing + +\newcolumntype{L}[1]{ + >{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1} +} % left-aligned fixed width column type +\newcolumntype{R}[1]{ + >{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1} +} % right-aligned fixed width column type +((* if design.text_alignment == "justified" *)) +\newcolumntype{K}[1]{ + >{\let\newline\\\arraybackslash\hspace{0pt}}X +} % justified flexible width column type +((* elif design.text_alignment == "left-aligned" *)) +\newcolumntype{K}[1]{ + >{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}X +} % left-aligned flexible width column type +((* endif *)) +\setlength\tabcolsep{-1.5pt} % no space between columns +\newenvironment{highlights}{ + \begin{itemize}[ + topsep=0pt, + parsep=<>, + partopsep=0pt, + itemsep=0pt, + after=\vspace{-1\baselineskip}, + leftmargin=<> + 3pt + ] + }{ + \end{itemize} + } % new environment for highlights + +\newenvironment{header}{ + \setlength{\topsep}{0pt}\par\kern\topsep\centering\color{primaryColor}\linespread{1.5} + }{ + \par\kern\topsep + } % new environment for the header + +\newcommand{\placelastupdatedtext}{% \placetextbox{}{}{} + \AddToShipoutPictureFG*{% Add to current page foreground + \put( + \LenToUnit{\paperwidth-<>-<>+0.05cm}, + \LenToUnit{\paperheight-<>} + ){\vtop{{\null}\makebox[0pt][c]{ + \small\color{gray}\textit{Last updated in <>}\hspace{\widthof{Last updated in <>}} + }}}% + }% +}% + +% save the original href command in a new command: +\let\hrefWithoutArrow\href + % new command for external links: +\renewcommand{\href}[2]{\hrefWithoutArrow{#1}{#2 \raisebox{.15ex}{\footnotesize \faExternalLink*}}} \ No newline at end of file diff --git a/rendercv/themes/classic/PublicationEntry.j2.tex b/rendercv/themes/classic/PublicationEntry.j2.tex index e69de29..9b54a71 100644 --- a/rendercv/themes/classic/PublicationEntry.j2.tex +++ b/rendercv/themes/classic/PublicationEntry.j2.tex @@ -0,0 +1,19 @@ +((# \begin{tabularx}{⟨width⟩}[⟨pos⟩]{⟨preamble⟩} #)) + ((# width: \textwidth #)) + ((# preamble: first column, second column #)) + ((# first column:: K{<>}; variable width, justified column #)) + ((# second column: R{<>}; constant width ragged right column #)) +\begin{tabularx}{\textwidth-<>-0.13cm}{K{<>} R{<>}} + \textbf{<>} + + \vspace{<<design.margins.highlights_area.vertical_between_bullet_points>>} + + <<entry.authors|map("abbreviate_name")|map("make_it_nolinebreak")|join(", ")|make_it_bold(cv.name|abbreviate_name)|make_it_italic(cv.name|abbreviate_name)>> + + \vspace{<<design.margins.highlights_area.vertical_between_bullet_points>>} + + \href{<<entry.doi_url>>}{<<entry.doi>>} (<<entry.journal>>) + & + <<entry.date_string>> + +\end{tabularx} \ No newline at end of file diff --git a/rendercv/themes/classic/SectionTitle.j2.tex b/rendercv/themes/classic/SectionTitle.j2.tex index e69de29..b72afb4 100644 --- a/rendercv/themes/classic/SectionTitle.j2.tex +++ b/rendercv/themes/classic/SectionTitle.j2.tex @@ -0,0 +1 @@ +\section{<<section_title>>} \ No newline at end of file diff --git a/rendercv/themes/classic/TextEntry.j2.tex b/rendercv/themes/classic/TextEntry.j2.tex index e69de29..6ce18d6 100644 --- a/rendercv/themes/classic/TextEntry.j2.tex +++ b/rendercv/themes/classic/TextEntry.j2.tex @@ -0,0 +1 @@ +<<entry>> \ No newline at end of file