1
0
mirror of https://github.com/JuanCanham/fresh-themes.git synced 2024-12-22 12:57:22 +00:00

Awesome: Update from upstream.

Refresh files for "Awesome" theme, now driven by fluentdesk/Awesome-CV,
a templatized fork of posquit0/Awesome-CV.
This commit is contained in:
hacksalot 2016-02-11 10:10:10 -05:00
parent cad46c2270
commit e2a04958b0
36 changed files with 1034 additions and 503 deletions

20
themes/awesome/src/latex/.gitignore vendored Normal file
View File

@ -0,0 +1,20 @@
### TeX ###
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
## Intermediate documents:
*.dvi
*-converted-to.*
<<<<<<< HEAD
### Editor ###
## Vim & Emacs temp files:
.*sw[op]
*~

View File

@ -0,0 +1,3 @@
test:
cd examples/ ; for f in *.tex; do xelatex $$f; done

View File

@ -0,0 +1,59 @@
# Awesome CV
*A template-friendly fork of Byungjin Park's [Awesome-CV][awe] resume template.*
This fork replaces each occurrence of hard-coded resume data in the original
Awesome-CV project with an expandable template tag, allowing you to generate a
personalized copy of Awesome-CV without hand-editing the `.tex` files.
Otherwise, it's identical to the original.
## Use
When expanded with [Underscore.js][und] and a [FRESH resume][fre] object (JSON),
this project yields an Awesome-CV template, in LaTeX, but with your resume data.
You can then use a tool like `xelatex` or similar to generate the final PDF.
**Step 1**: Use a FRESH-aware template expansion tool like [HackMyResume][hmr]
to generate the personalized LaTeX:
```bash
hackmyresume build resume.json -t awesome
```
**Step 2**: Use conventional LaTeX tools to generate a PDF or other destination
format from the (personalized) Awesome-CV LaTeX files:
```bash
xelatex examples/resume.tex
```
**Step 3**: When you need to update your resume, update the source JSON, and
re-generate destination formats as needed.
## Notes
- This project is intermittently synced with the upstream master to get the
benefit of any new changes or tweaks.
- The template tags are based on the Underscore.js template syntax but with a
modified set of template delimiters that reduce conflicts with LaTeX
metacharacters such as `{` or `%`.
- Underscore.js was chosen because its minimalistic template engine supports
custom delimiters (Handlebars [doesn't][hb350], except [unofficially][un]) and
allows execution of arbitrary JavaScript in the template.
- This project indirectly drives the `awesome` theme in HackMyResume and
FluentCV. Technically the latter is a fork of this project, which itself is a
fork of the original Awesome-CV for LaTeX.
## License
See the original project for license information.
[awe]: https://github.com/posquit0/Awesome-CV
[hmr]: http://please.hackmyresume.com
[fre]: http://freshstandard.org
[und]: http://underscorejs.org/#template
[hb350]: https://github.com/wycats/handlebars.js/issues/350
[un]: https://github.com/jonschlinkert/handlebars-delimiters

View File

@ -1,12 +1,27 @@
%% Start of file `awesome-cv.cls'.
%% Copyright 2015 Claud D. Park <posquit0.bj@gmail.com>
% Awesome CV Class File
%
% This class has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Author:
% Claud D. Park <posquit0.bj@gmail.com>
% http://www.posquit0.com
%
% Notes:
% 1) This class file defines the structure and layout of the template file (cv.tex, resume.tex).
% 2) It has been written in such a way that under most circumstances you
% should not need to edit it.
%
% Class license:
% LPPL v1.3c (http://www.latex-project.org/lppl)
%
%-------------------------------------------------------------------------------
% Identification
%-------------------------------------------------------------------------------
\ProvidesClass{awesome-cv}[2015/11/19 v1.1.0 Awesome Curriculum Vitae Class]
\ProvidesClass{awesome-cv}[2016/01/30 v1.5 Awesome Curriculum Vitae Class]
\NeedsTeXFormat{LaTeX2e}
@ -21,7 +36,7 @@
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
% Inherit options of article
\DeclareOption*{
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}
}
\ProcessOptions\relax
@ -49,32 +64,26 @@
\RequirePackage{xifthen}
% Needed to use a toolbox of programming tools
\RequirePackage{etoolbox}
% Needed to change line spacing in specific environment
\RequirePackage{setspace}
% Needed to manage fonts
\ifxetex
\RequirePackage[quiet]{fontspec}
% To support LaTeX quoting style
\defaultfontfeatures{Ligatures=TeX}
\else
\RequirePackage[T1]{fontenc}
% Replace by the encoding you are using
\RequirePackage[utf8]{inputenc}
\fi
\RequirePackage[quiet]{fontspec}
% To support LaTeX quoting style
\defaultfontfeatures{Ligatures=TeX}
% Needed to manage math fonts
\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}
% Needed to use icons from font-awesome
% (https://github.com/furl/latex-fontawesome)
% (https://github.com/posquit0/latex-fontawesome)
\RequirePackage{fontawesome}
% Needed to deal a paragraphs
\RequirePackage{parskip}
% Needed to deal hyperlink
\RequirePackage{hyperref}
\hypersetup{
\RequirePackage[hidelinks]{hyperref}
\hypersetup{%
pdftitle={},
pdfauthor={},
pdfsubject={},
pdfkeywords={},
colorlinks=false,
allbordercolors=white
pdfkeywords={}
}
@ -94,7 +103,7 @@
\geometry{left=2.0cm, top=1.5cm, right=2.0cm, bottom=2.0cm, footskip=.5cm}
%% Header & Footer
% Set offset to each header and offset
% Set offset to each header and footer
\fancyhfoffset{0em}
% Remove head rule
\renewcommand{\headrulewidth}{0pt}
@ -135,21 +144,13 @@
\definecolor{awesome-darknight}{HTML}{131A28}
\colorlet{awesome}{awesome-red}
% Boolean value to switch section color highlighting
\newbool{acvSectionColorHighlight}
\setbool{acvSectionColorHighlight}{true}
% Awesome section color
\newcounter{colorCounter}
\def\@sectioncolor#1#2#3{%
{%
\color{%
\ifcase\value{colorCounter}%
awesome\or%
awesome\or%
awesome\or%
awesome\or%
awesome\else%
awesome\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
\ifbool{acvSectionColorHighlight}{{\color{awesome}#1#2#3}}{#1#2#3}%
}
@ -198,6 +199,15 @@
BoldItalicFont=*-SemiboldIt
]{SourceSansPro}
% Set main font
\setmainfont[
Path=\@fontdir,
UprightFont=*-Regular,
ItalicFont=*-It,
BoldFont=*-Bold,
BoldItalicFont=*-BoldIt
]{SourceSansPro}
%-------------------------------------------------------------------------------
% Configuration for styles
@ -213,6 +223,7 @@
\newcommand*{\footerstyle}[1]{{\fontsize{8pt}{1em}\footerfont\scshape\color{lighttext} #1}}
\newcommand*{\sectionstyle}[1]{{\fontsize{16pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
\newcommand*{\subsectionstyle}[1]{{\fontsize{12pt}{1em}\bodyfont\scshape\textcolor{text}{#1}}}
\newcommand*{\paragraphstyle}{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{graytext}}
% For elements of entry
\newcommand*{\entrytitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
@ -238,6 +249,16 @@
\newcommand*{\skilltypestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
\newcommand*{\skillsetstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\color{text} #1}}
% For elements of the cover letter
\newcommand*{\lettersectionstyle}[1]{{\fontsize{14pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
\newcommand*{\recipientaddressstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\scshape\color{graytext} #1}}
\newcommand*{\recipienttitlestyle}[1]{{\fontsize{11pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
\newcommand*{\lettertitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\bfseries\color{darktext} \underline{#1}}}
\newcommand*{\letterdatestyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
\newcommand*{\lettertextstyle}{\fontsize{10pt}{1.4em}\bodyfontlight\upshape\color{graytext}}
\newcommand*{\letternamestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
\newcommand*{\letterenclosurestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{lighttext} #1}}
%-------------------------------------------------------------------------------
% Commands for personal information
@ -277,31 +298,87 @@
% Usage: \github{<github-nick>}
\newcommand*{\github}[1]{\def\@github{#1}}
% Defines writer's stackoverflow profile (optional)
% Usage: \stackoverflow{<so userid>}{<so username>}
% e.g.https://stackoverflow.com/users/123456/sam-smith
% would be \stackoverflow{123456}{sam-smith}
\newcommand*{\stackoverflow}[2]{\def\@stackoverflowid{#1}\def\@stackoverflowname{#2}}
% Defines writer's linked-in (optional)
% Usage: \linkedin{<linked-in-nick>}
\newcommand*{\linkedin}[1]{\def\@linkedin{#1}}
% Defines writer's skype (optional)
% Usage: \skype{<skype account>}
\newcommand*{\skype}[1]{\def\@skype{#1}}
% Defines writer's twitter (optional)
% Usage: \twitter{<twitter handle>}
\newcommand*{\twitter}[1]{\def\@twitter{#1}}
% Defines writer's skype (optional)
% Usage: \skype{<skype account>}
\newcommand*{\skype}[1]{\def\@skype{#1}}
% Defines writer's reddit (optional)
% Usage: \reddit{<reddit account>}
\newcommand*{\reddit}[1]{\def\@reddit{#1}}
% Defines writer's extra informations (optional)
% Usage: \extrainfo{<extra informations>}
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
% Defines writer's quote (optional)
% Usage: \quote{<quote>}
\renewcommand*{\quote}[1]{\def\@quote{#1}}
% Defines recipient's information (cover letter only)
% Usage: \recipient{<recipient name>}{<recipient address>}
% Usage: \recipientname{<recipient name>}
% Usage: \recipientaddress{<recipient address>}
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
\newcommand*{\recipientname}[1]{\def\@recipientname{#1}}
\newcommand*{\recipientaddress}[1]{\def\@recipientaddress{#1}}
% Defines the title for letter (cover letter only, optional)
% Usage: \lettertitle{<title>}
\newcommand*{\lettertitle}[1]{\def\@lettertitle{#1}}
% Defines the date for letter (cover letter only)
% Usage: \letterdate{<date>}
\newcommand*{\letterdate}[1]{\def\@letterdate{#1}}
% Defines a message of opening for letter (cover letter only)
% Usage: \letteropening{<message>}
\newcommand*{\letteropening}[1]{\def\@letteropening{#1}}
% Defines a message of closing for letter (cover letter only)
% Usage: \letterclosing{<message>}
\newcommand*{\letterclosing}[1]{\def\@letterclosing{#1}}
% Defines an enclosure for letter (cover letter only, optional)
% Usage: \letterenclosure[<enclosure name>]{<enclosure>}
\newcommand*{\letterenclname}[1][Enclosure]{\def\@letterenclname{#1}}
\newcommand*{\letterenclosure}[2][]{%
% if an optional argument is provided, use it to redefine \enclname
\ifthenelse{\equal{#1}{}}{}{\def\@letterenclname{#1}}
\def\@letterenclosure{#2}
}
%-------------------------------------------------------------------------------
% Commands for extra
%-------------------------------------------------------------------------------
% Define separator for social informations in header
% Usage: \headersocialsep{<separator>}
% Default: \quad\textbar\quad
\newcommand*{\headersocialsep}[1][\quad\textbar\quad]{\def\@headersocialsep{#1}}
\headersocialsep
%% Define helper macros a user can change easily
% Header
\newcommand{\acvHeaderNameDelim}{\space}
\newcommand{\acvHeaderAfterNameSkip}{.4mm}
\newcommand{\acvHeaderAfterPositionSkip}{.4mm}
\newcommand{\acvHeaderAfterAddressSkip}{-.5mm}
\newcommand{\acvHeaderIconSep}{\space}
\newcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
\newcommand{\acvHeaderAfterSocialSkip}{6mm}
\newcommand{\acvHeaderAfterQuoteSkip}{5mm}
% Others
\newcommand{\acvSectionTopSkip}{3mm}
\newcommand{\acvEntryTopSkip}{2.5mm}
%-------------------------------------------------------------------------------
@ -312,7 +389,7 @@
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
% Use to draw horizontal line with specific tickness
% Use to draw horizontal line with specific thickness
\def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
% Use to execute conditional statements by checking empty string
@ -324,159 +401,150 @@
%-------------------------------------------------------------------------------
% Define a header for CV
% Usage: \makecvheader
\newcommand*{\makecvheader}{
\newcommand*{\makecvheader}{%
\begin{center}
\headerfirstnamestyle{
\@firstname
}\headerlastnamestyle{
\@lastname
}
\\
\vspace{0.4mm}
\ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\}}
\vspace{0.4mm}
\ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\}}
\vspace{-0.5mm}
\headersocialstyle{
\newbool{isstart}
\setbool{isstart}{true}
\ifthenelse{\isundefined{\@mobile}}
{}
{
\faMobile\ \@mobile
\setbool{isstart}{false}
}
\ifthenelse{\isundefined{\@email}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{mailto:\@email}{\faEnvelope\ \@email}
}
\ifthenelse{\isundefined{\@homepage}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{http://\@homepage}{\faHome\ \@homepage}
}
\ifthenelse{\isundefined{\@github}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{https://github.com/\@github}{\faGithubSquare\ \@github}
}
\ifthenelse{\isundefined{\@linkedin}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\ \@linkedin}
}
\ifthenelse{\isundefined{\@twitter}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{https://twitter.com/\@twitter}{\faTwitter\ \@twitter}
}
\ifthenelse{\isundefined{\@skype}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\faSkype\ \@skype
}
} \\
\ifthenelse{\isundefined{\@quote}}
{}
{\vspace{6.0mm}\headerquotestyle{\@quote\\}\vspace{5.0mm}}
\end{center}
\headerfirstnamestyle{\@firstname}\headerlastnamestyle{{}\acvHeaderNameDelim\@lastname}%
\\[\acvHeaderAfterNameSkip]%
\ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\[\acvHeaderAfterPositionSkip]}}%
\ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\[\acvHeaderAfterAddressSkip]}}%
\headersocialstyle{%
\newbool{isstart}%
\setbool{isstart}{true}%
\ifthenelse{\isundefined{\@mobile}}%
{}%
{%
\faMobile\acvHeaderIconSep\@mobile%
\setbool{isstart}{false}%
}%
\ifthenelse{\isundefined{\@email}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{mailto:\@email}{\faEnvelope\acvHeaderIconSep\@email}%
}%
\ifthenelse{\isundefined{\@homepage}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{http://\@homepage}{\faHome\acvHeaderIconSep\@homepage}%
}%
\ifthenelse{\isundefined{\@github}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://github.com/\@github}{\faGithubSquare\acvHeaderIconSep\@github}%
}%
\ifthenelse{\isundefined{\@stackoverflowid}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://stackoverflow.com/users/\@stackoverflowid}{\faStackOverflow\acvHeaderIconSep\@stackoverflowname}%
}%
\ifthenelse{\isundefined{\@linkedin}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\acvHeaderIconSep\@linkedin}%
}%
\ifthenelse{\isundefined{\@twitter}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://twitter.com/\@twitter}{\faTwitter\acvHeaderIconSep\@twitter}%
}%
\ifthenelse{\isundefined{\@skype}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\faSkype\acvHeaderIconSep\@skype%
}%
\ifthenelse{\isundefined{\@reddit}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://www.reddit.com/user/\@reddit}{\faReddit\acvHeaderIconSep\@reddit}%
}%
\ifthenelse{\isundefined{\@extrainfo}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\@extrainfo%
}%
} \\[\acvHeaderAfterSocialSkip]%
\ifthenelse{\isundefined{\@quote}}%
{}%
{\headerquotestyle{\@quote\\}\vspace{\acvHeaderAfterQuoteSkip}}%
\end{center}%
}
% Define a footer for CV
% Usage: \makecvfooter{<left>}{<center>}{<right>}
\newcommand*{\makecvfooter}[3]{
\newcommand*{\makecvfooter}[3]{%
\fancyfoot{}
\fancyfoot[L]{
\footerstyle{#1}
}
\fancyfoot[C]{
\footerstyle{#2}
}
\fancyfoot[R]{
\footerstyle{#3}
}
\fancyfoot[L]{\footerstyle{#1}}
\fancyfoot[C]{\footerstyle{#2}}
\fancyfoot[R]{\footerstyle{#3}}
}
% Define a section for CV
% Usage: \cvsection{<section-title>}
\newcommand{\cvsection}[1]{
\par\addvspace{1.5ex}
\phantomsection{}
\newcommand{\cvsection}[1]{%
\vspace{\acvSectionTopSkip}
\sectionstyle{#1}
\phantomsection
\color{gray}\vhrulefill{0.9pt}
\par\nobreak\addvspace{1ex}
}
% Define a subsection for CV
% Usage: \cvsubsection{<subsection-title>}
\newcommand{\cvsubsection}[1]{
\phantomsection{}
\newcommand{\cvsubsection}[1]{%
\subsectionstyle{#1}
\phantomsection
}
% Define a paragraph for CV
\newenvironment{cvparagraph}{%
\vspace{-3mm}
\paragraphstyle
}{%
\vspace{1mm}
}
% Define an environment for cventry
\newenvironment{cventries}{
\newenvironment{cventries}{%
\begin{center}
}{
}{%
\end{center}
}
% Define an entry of cv information
% Usage: \cventry{<position>}{<title>}{<location>}{<date>}{<description>}
\newcommand*{\cventry}[5]{
\newcommand*{\cventry}[5]{%
\vspace{\acvEntryTopSkip}
\vspace{-2.0mm}
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}}
\ifempty{#2#3}
{\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
{\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
\multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
\end{tabular*}
\multicolumn{2}{L{\textwidth}}{\descriptionstyle{#5}}
\end{tabular*}%
}
% Define an environment for cvsubentry
\newenvironment{cvsubentries}{
\newenvironment{cvsubentries}{%
\begin{center}
}{
}{%
\end{center}
}
% Define a subentry of cv information
% Usage: \cvsubentry{<position>}{<title>}{<date>}{<description>}
\newcommand*{\cvsubentry}[4]{
\newcommand*{\cvsubentry}[4]{%
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}}
\setlength\leftskip{0.2cm}
\subentrytitlestyle{#2} & \ifthenelse{\equal{#1}{}}
{\subentrydatestyle{#3}}{}
@ -490,48 +558,98 @@
}
% Define an environment for cvhonor
\newenvironment{cvhonors}{
\newenvironment{cvhonors}{%
\begin{center}
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} C{1.5cm} L{13.0cm} R{2.5cm}}
}{
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} C{1.5cm} L{\textwidth - 4.0cm} R{2.5cm}}
}{%
\end{tabular*}
\end{center}
}
% Define a line of cv information(honor, award or something else)
% Usage: \cvhonor{<position>}{<title>}{<location>}{<date>}
\newcommand*{\cvhonor}[4]{
\honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3}
\\
\newcommand*{\cvhonor}[4]{%
\honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3} \\
}
% Define an environment for cvskill
\newenvironment{cvskills}{
\newenvironment{cvskills}{%
\begin{center}
\setlength\tabcolsep{1ex}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} r L{15.2cm}}
}{
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} r L{\textwidth * \real{0.9}}}
}{%
\end{tabular*}
\end{center}
}
% Define a line of cv information(skill)
% Usage: \cvskill{<type>}{<skillset>}
\newcommand*{\cvskill}[2]{
\skilltypestyle{#1} & \skillsetstyle{#2}
\\
\newcommand*{\cvskill}[2]{%
\skilltypestyle{#1} & \skillsetstyle{#2} \\
}
% Define an environment for cvitems(for cventry)
\newenvironment{cvitems}{
\vspace{-4mm}
\newenvironment{cvitems}{%
\vspace{-4.0mm}
\begin{justify}
\begin{itemize}[leftmargin=2ex, nosep, noitemsep]
\setlength{\parskip}{0pt}
\renewcommand{\labelitemi}{\bullet}
}{
}{%
\end{itemize}
\end{justify}
\vspace{-2mm}
\vspace{-4.0mm}
}
%-------------------------------------------------------------------------------
% Commands for elements of Cover Letter
%-------------------------------------------------------------------------------
% Define an environment for cvletter
\newenvironment{cvletter}{%
\lettertextstyle
}{%
}
% Define a section for the cover letter
% Usage: \lettersection{<section-title>}
\newcommand{\lettersection}[1]{%
\par\addvspace{2.5ex}
\phantomsection{}
\lettersectionstyle{#1}
\color{gray}\vhrulefill{0.9pt}
\par\nobreak\addvspace{0.4ex}
}
% Define a title of the cover letter
% Usage: \makelettertitle
\newcommand*{\makelettertitle}{%
\vspace{8.4mm}
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}}
\recipienttitlestyle{\@recipientname} & \letterdatestyle{\@letterdate}
\end{tabular*}
\begin{singlespace}
\recipientaddressstyle{\@recipientaddress} \\\\
\end{singlespace}
\ifthenelse{\isundefined{\@lettertitle}}
{}
{\lettertitlestyle{\@lettertitle} \\}
\lettertextstyle{\@letteropening}
}
% Define a closing of the cover letter
% Usage: \makeletterclosing
\newcommand*{\makeletterclosing}{%
\vspace{3.4mm}
\lettertextstyle{\@letterclosing} \\\\
\letternamestyle{\@firstname\ \@lastname}
\ifthenelse{\isundefined{\@letterenclosure}}
{\\}
{%
\\\\\\
\letterenclosurestyle{\@letterenclname: \@letterenclosure} \\
}
}

View File

@ -0,0 +1 @@
../awesome-cv.cls

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

View File

@ -0,0 +1,129 @@
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
% Awesome CV LaTeX Template for Cover Letter
%
% This template has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Authors:
% Claud D. Park <posquit0.bj@gmail.com>
% Lars Richter <mail@ayeks.de>
%
% Template license:
% CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
%
%-------------------------------------------------------------------------------
% CONFIGURATIONS
%-------------------------------------------------------------------------------
% A4 paper size by default, use 'letterpaper' for US letter
\documentclass[11pt, a4paper]{awesome-cv}
% Configure page margins with geometry
% \geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Specify the location of the included fonts
\fontdir[fonts/]
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
\colorlet{awesome}{awesome-red}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
\name{[~ print(h.initialWords( r.name )) ~]}{[[ h.lastWord( r.name ) ]]}
\position{[[ r.info.label ]]}
\address{[[ r.location.address ]]}
\mobile{[[ r.contact.phone ]]}
\email{[[ r.contact.email ]]}
\homepage{[[ r.contact.website ]]}
[~ if (r.hasProfile('github') { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if (r.hasProfile('linkedin') { ~]\linkedin{[[ r.getProfile('github').user ]]}[~ } ~]
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \extrainfo{extra informations}
[~ if (r.info.quote) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
%-------------------------------------------------------------------------------
% LETTER INFORMATION
% All of the below lines must be filled out
%-------------------------------------------------------------------------------
% The company being applied to
\recipient
{Company Recruitment Team}
{Google Inc.\\1600 Amphitheatre Parkway\\Mountain View, CA 94043}
% The date on the letter, default is the date of compilation
\letterdate{\today}
% The title of the letter
\lettertitle{Job Application for Software Engineer}
% How the letter is opened
\letteropening{Dear Mr./Ms./Dr. LastName,}
% How the letter is closed
\letterclosing{Sincerely,}
% Any enclosures with the letter
\letterenclosure[Attached]{Curriculum Vitae}
%-------------------------------------------------------------------------------
\begin{document}
% Print the header with above personal informations
\makecvheader
% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
\makecvfooter
{\today}
{[[ r.name ]]~~~·~~~Cover Letter}
{}
% Print the title with above letter informations
\makelettertitle
%-------------------------------------------------------------------------------
% LETTER CONTENT
%-------------------------------------------------------------------------------
\begin{cvletter}
\lettersection{About Me}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus.
\lettersection{Why Google?}
Suspendisse commodo, massa eu congue tincidunt, elit mauris pellentesque orci, cursus tempor odio nisl euismod augue. Aliquam adipiscing nibh ut odio sodales et pulvinar tortor laoreet. Mauris a accumsan ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse vulputate sem vehicula ipsum varius nec tempus dui dapibus. Phasellus et est urna, ut auctor erat. Sed tincidunt odio id odio aliquam mattis. Donec sapien nulla, feugiat eget adipiscing sit amet, lacinia ut dolor. Phasellus tincidunt, leo a fringilla consectetur, felis diam aliquam urna, vitae aliquet lectus orci nec velit. Vivamus dapibus varius blandit.
\lettersection{Why Me?}
Duis sit amet magna ante, at sodales diam. Aenean consectetur porta risus et sagittis. Ut interdum, enim varius pellentesque tincidunt, magna libero sodales tortor, ut fermentum nunc metus a ante. Vivamus odio leo, tincidunt eu luctus ut, sollicitudin sit amet metus. Nunc sed orci lectus. Ut sodales magna sed velit volutpat sit amet pulvinar diam venenatis.
\end{cvletter}
%-------------------------------------------------------------------------------
% Print the signature and enclosures with above letter informations
\makeletterclosing
\end{document}

Binary file not shown.

View File

@ -1,83 +1,101 @@
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
% Copyright 2015 Claud D. Park <posquit0.bj@gmail.com>
% Awesome CV LaTeX Template for CV/Resume
%
% This template has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Author:
% Claud D. Park <posquit0.bj@gmail.com>
% http://www.posquit0.com
%
% Template license:
% CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Configuration
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Themes: Awesome-CV
%-------------------------------------------------------------------------------
% CONFIGURATIONS
%-------------------------------------------------------------------------------
% A4 paper size by default, use 'letterpaper' for US letter
\documentclass[11pt, a4paper]{awesome-cv}
%%% Override a directory location for fonts(default: 'fonts/')
% Configure page margins with geometry
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Specify the location of the included fonts
\fontdir[fonts/]
%%% Configure a directory location for sections
\newcommand*{\sectiondir}{cv/}
%%% Override color
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
%% Color for highlight
% Define your custom color if you don't like awesome colors
\colorlet{awesome}{awesome-red}
%\definecolor{awesome}{HTML}{CA63A8}
%% Colors for text
%\definecolor{darktext}{HTML}{414141}
%\definecolor{text}{HTML}{414141}
%\definecolor{graytext}{HTML}{414141}
%\definecolor{lighttext}{HTML}{414141}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
%%% Override a separator for social informations in header(default: ' | ')
%\headersocialsep[\quad\textbar\quad]
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 3rd party packages
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Needed to divide into several files
\usepackage{import}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
\name{[~ print(h.initialWords( r.name )) ~]}{[[ h.lastWord( r.name ) ]]}
\position{[[ r.info.label ]]}
\address{[[ r.location.address ]]}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Personal Data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Essentials
\name{[[ _.initial(r.name.split(' ')).join(' ') ]] }{[[ _.last(r.name.split(' ')) ]]}
\address{[[ r.location.address.replace(/\n/g, ', ') ]]}
\mobile{[[ r.contact.phone ]]}
%%% Social
\email{[[ r.contact.email ]]}
\homepage{[[ r.contact.website ]]}
[~ if(r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if(r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('linkedin').user ]]}[~ } ~]
%%% Optionals
\position{[[ r.info.characterClass ]]{\enskip\cdotp\enskip}[[ r.info.label ]]}
[~ if( r.info.quote ) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
[~ if (r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if (r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('github').user ]]}[~ } ~]
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \extrainfo{extra informations}
[~ if (r.info.quote) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Content
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Make a footer for CV with three arguments(<left>, <center>, <right>)
%-------------------------------------------------------------------------------
\begin{document}
% Print the header with above personal informations
\makecvheader
% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
\makecvfooter
{\today}
{[[ r.name ]]~~~·~~~Curriculum Vitae}
{\thepage}
\begin{document}
%%% Make a header for CV using personal data
\makecvheader
%%% Import contents
\import{\sectiondir}{education.tex}
\import{\sectiondir}{skills.tex}
\import{\sectiondir}{experience.tex}
\import{\sectiondir}{extracurricular.tex}
\import{\sectiondir}{honors.tex}
\import{\sectiondir}{presentation.tex}
\import{\sectiondir}{writing.tex}
\import{\sectiondir}{committees.tex}
%-------------------------------------------------------------------------------
% CV/RESUME CONTENT
% Each section is imported separately, open each file in turn to modify content
%-------------------------------------------------------------------------------
\input{cv/education.tex}
\input{cv/skills.tex}
\input{cv/experience.tex}
\input{cv/extracurricular.tex}
\input{cv/honors.tex}
\input{cv/presentation.tex}
\input{cv/writing.tex}
\input{cv/committees.tex}
%-------------------------------------------------------------------------------
\end{document}

View File

@ -1,12 +1,23 @@
[~ if( r.committees && r.committees.length ) { ~]
[~ if (r.governance && r.governance.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Program Committees}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.committees, function(com) { ~]
[~ _.each( r.governance, function(gov) { ~]
%---------------------------------------------------------
\cvhonor
{[[ com.position ]]}
{[[ com.organization ]]}
{[[ com.location ]]}
{[[ com.safe.date ]]}
[~ }); ~]
{[[ gov.position ]]} % Position
{[[ gov.organization ]]} % Committee
{[[ gov.location ]]} % Location
{[[ h.dateRange( gov ) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,30 @@
[~ if( r.education && r.education.history && r.education.history.length) { ~]
[~ if (r.education && r.education.history && r.education.history.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Education}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.education.history, function(edu) { ~]
[~ _.each( r.education.history, function(edu) { ~]
%---------------------------------------------------------
\cventry
{[[ edu.studyType ]], [[ edu.area ]]}
{[[ edu.institution ]]}
{[[ edu.location ]]}
{[[ edu.safe.start ]] - [[ edu.safe.end ]]}
[~ if( edu.highlights && edu.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(edu.highlights, function(high) { ~]
{[[ edu.title ]]} % Degree
{[[ edu.institution ]]} % Institution
{[[ edu.location ]]} % Location
{[~ print( h.dateRange( edu ) ) ~]} % Date(s)
{
\begin{cvitems} % Description(s) bullet points
[~ _.each( edu.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,18 +1,30 @@
[~ if( r.employment && r.employment.history && r.employment.history.length ) { ~]
[~ if (r.employment && r.employment.history && r.employment.history.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Experience}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.employment.history, function(emp) { ~]
[~ _.each( r.employment.history, function(job) { ~]
%---------------------------------------------------------
\cventry
{[[ emp.position ]]}
{[[ emp.employer ]]}
{[[ emp.location ]]}
{[[ emp.safe.start ]] - [[ emp.safe.end ]]}
[~ if( emp.highlights && emp.highlights.length ) {
~]{
\begin{cvitems}[~ _.each( emp.highlights, function(high) { ~]
\item {[[ high.replace(/#/g, '\\#') ]]}[~ }); ~]
{[[ job.position ]]} % Job title
{[[ job.employer ]]} % Organization
{[[ job.location ]]} % Location
{[~ print( h.dateRange( job ) ) ~]} % Date(s)
{
\begin{cvitems} % Description(s) of tasks/responsibilities
[~ _.each( job.highlights, function (high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}[~ } ~]
}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,19 +1,30 @@
[~ if( r.extracurricular && r.extracurricular.length ) { ~]
[~ if (r.extracurricular && r.extracurricular.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Extracurricular Activity}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each( r.extracurricular, function(ex) { ~]
[~ _.each( function(cur) { ~]
%---------------------------------------------------------
\cventry
{[[ ex.title ]]}
{[[ ex.activity ]]}
{[[ ex.location ]]}
{[[ ex.safe.start ]] - [[ ex.safe.end ]]}
[~ if( ex.highlights && ex.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(ex.highlights, function(high) {
~]\item {[[high]]}
[~ }); ~]\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
[~ }); ~]
{[[ cur.role ]]} % Affiliation/role
{[[ cur.organization ]]} % Organization/group
{[[ cur.location ]]} % Location
{[[ h.dateRange(cur) ]]} % Date(s)
{
\begin{cvitems} % Description(s) of experience/contributions/knowledge
[~ _.each( cur.highlights, function( high ) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,52 +1,52 @@
[~ if( r.recognition && r.recognition.length ) { ~]
[~ if ( r.recognition && r.recognition.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Honors \& Awards}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{International}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.recognition, function(rec) { ~]
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{[[ rec.title ]]}
{[[ rec.event ]]}
{[[ rec.location ]]}
{[[ rec.safe.date ]]}
[~ }); ~]
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ rgn.date ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{Domestic}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{3rd Place}
{WITHCON Hacking Competition Final}
{Seoul, S.Korea}
{2015}
\cvhonor
{Silver Prize}
{KISA HDCON Hacking Competition Final}
{Seoul, S.Korea}
{2013}
\cvhonor
{2nd Award}
{HUST Hacking Festival}
{S.Korea}
{2013}
\cvhonor
{3rd Award}
{HUST Hacking Festival}
{S.Korea}
{2010}
\cvhonor
{3rd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2012}
\cvhonor
{2nd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2011}
\cvhonor
{5th Place}
{PADOCON Hacking Competition Final}
{Seoul, S.Korea}
{2011}
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ rgn.date ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,30 @@
[~ if( r.speaking && r.speaking.length) { ~]
[~ if (r.speaking && r.speaking.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Presentation}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.speaking, function(pres) { ~]
[~ _.each( r.speaking, function(spk) { ~]
%---------------------------------------------------------
\cventry
{[[ pres.title ]]}
{[[ pres.event ]]}
{[[ pres.location ]]}
{[[ pres.safe.date ]]}
[~ if (pres.highlights && pres.highlights.length) {
~]{
\begin{cvitems}
[~ _.each(pres.highlights, function( high) {
~]\item {[[ high ]]}[~ }); ~]
{[[ spk.title ]]} % Role
{[[ spk.event ]])} % Event
{[[ spk.location ]]} % Location
{[[ spk.date ]]} % Date(s)
{
\begin{cvitems} % Description(s)
[~ _.each( spk.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
[~ }); ~]
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,15 +1,34 @@
[~ if( r.skills && r.skills.sets && r.skills.sets.length ) { ~]
[~ if(( r.skills && r.skills.sets && r.skills.sets.length ) ||
( r.languages && r.languages.length ) ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Skills}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvskills}
[~ _.each(r.skills.sets, function(set) { ~]
[~ if (r.skills && r.skills.sets && r.skills.sets.length ) { ~]
[~ _.each( r.skills.sets, function(sks) { ~]
%---------------------------------------------------------
\cvskill
{[[ set.name ]]}
{[[ set.skills.join(', ') ]]}
{[[ sks.name ]]} % Category
{[~ print( sks.skills.join(', ') ) ~]} % Skills
[~ }); ~]
[~ if( r.languages && r.languages.length ) { ~]
\cvskill
{Languages}
{[[ r.languages.map( function(lang) { return lang.language } ).join(', ') ]]}
[~ } ~]
[~ if (r.languages && r.languages.length ) { ~]
%---------------------------------------------------------
\cvskill
{Languages} % Category
{[~ print( _.map( r.languages, function(lang) { return lang.language; }).join(', ')) ~]} % Skills
[~ } ~]
%---------------------------------------------------------
\end{cvskills}
[~ } ~]

View File

@ -1,21 +1,30 @@
[~ if( r.writing && r.writing.length ) { ~]
[~ if (r.writing && r.writing.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Writing}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.writing, function(wri) { ~]
[~ _.each( r.writing, function(wri) { ~]
%---------------------------------------------------------
\cventry
{[[ wri.publisher ]]}
{[[ wri.title ]]}
{[[ wri.url ]]}
{[[ wri.safe.date ]] - PRESENT}
[~ if( wri.highlights && wri.highlights.length ) { ~]
{[[ wri.title ]]} % Role
{[[ wri.publisher ]]} % Title
{[[ wri.url ]]} % Location
{[[ wri.date ]]} % Date(s)
{
\begin{cvitems}
[~ _.each(wri.highlights, function(high) { ~]
\begin{cvitems} % Description(s)
[~ _.each( wri.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -0,0 +1 @@
../fontawesome.sty

View File

@ -0,0 +1 @@
../fonts

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

View File

@ -1,82 +1,101 @@
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
% Copyright 2015 Claud D. Park <posquit0.bj@gmail.com>
% Awesome CV LaTeX Template for CV/Resume
%
% This template has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Author:
% Claud D. Park <posquit0.bj@gmail.com>
% http://www.posquit0.com
%
% Template license:
% CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Configuration
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Themes: Awesome-CV
%-------------------------------------------------------------------------------
% CONFIGURATIONS
%-------------------------------------------------------------------------------
% A4 paper size by default, use 'letterpaper' for US letter
\documentclass[11pt, a4paper]{awesome-cv}
%%% Override a directory location for fonts(default: 'fonts/')
% Configure page margins with geometry
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Specify the location of the included fonts
\fontdir[fonts/]
%%% Configure a directory location for sections
\newcommand*{\sectiondir}{resume/}
%%% Override color
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
%% Color for highlight
% Define your custom color if you don't like awesome colors
\colorlet{awesome}{awesome-red}
%\definecolor{awesome}{HTML}{CA63A8}
%% Colors for text
%\definecolor{darktext}{HTML}{414141}
%\definecolor{text}{HTML}{414141}
%\definecolor{graytext}{HTML}{414141}
%\definecolor{lighttext}{HTML}{414141}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
%%% Override a separator for social informations in header(default: ' | ')
%\headersocialsep[\quad\textbar\quad]
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 3rd party packages
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Needed to divide into several files
\usepackage{import}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
\name{[~ print(h.initialWords( r.name )) ~]}{[[ h.lastWord( r.name ) ]]}
\position{[[ r.info.label ]]}
\address{[[ r.location.address ]]}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Personal Data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Essentials
\name{[[ _.initial(r.name.split(' ')).join(' ') ]] }{[[ _.last(r.name.split(' ')) ]]}
\address{[[ r.location.address.replace(/\n/g, ', ') ]]}
\mobile{[[ r.contact.phone ]]}
%%% Social
\email{[[ r.contact.email ]]}
\homepage{[[ r.contact.website ]]}
[~ if(r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if(r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('linkedin').user ]]}[~ } ~]
%%% Optionals
\position{[[ r.info.characterClass ]]{\enskip\cdotp\enskip}[[ r.info.label ]]}
[~ if( r.info.quote ) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
[~ if (r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if (r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('github').user ]]}[~ } ~]
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \extrainfo{extra informations}
[~ if (r.info.quote) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Content
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Make a footer for CV with three arguments(<left>, <center>, <right>)
%-------------------------------------------------------------------------------
\begin{document}
% Print the header with above personal informations
\makecvheader
% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
\makecvfooter
{\today}
{[[ r.name ]]~~~·~~~Résumé}
{\thepage}
\begin{document}
%%% Make a header for CV with personal data
\makecvheader
%%% Import contents
\import{\sectiondir}{education.tex}
\import{\sectiondir}{experience.tex}
\import{\sectiondir}{extracurricular.tex}
\import{\sectiondir}{honors.tex}
\import{\sectiondir}{presentation.tex}
\import{\sectiondir}{writing.tex}
\import{\sectiondir}{committees.tex}
%-------------------------------------------------------------------------------
% CV/RESUME CONTENT
% Each section is imported separately, open each file in turn to modify content
%-------------------------------------------------------------------------------
% \input{resume/summary.tex}
\input{resume/education.tex}
\input{resume/experience.tex}
\input{resume/extracurricular.tex}
\input{resume/honors.tex}
\input{resume/presentation.tex}
\input{resume/writing.tex}
\input{resume/committees.tex}
%-------------------------------------------------------------------------------
\end{document}

View File

@ -1,12 +1,23 @@
[~ if( r.committees && r.committees.length ) { ~]
[~ if (r.governance && r.governance.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Program Committees}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.committees, function(com) { ~]
[~ _.each( r.governance, function(gov) { ~]
%---------------------------------------------------------
\cvhonor
{[[ com.position ]]}
{[[ com.organization ]]}
{[[ com.location ]]}
{[[ com.safe.date ]]}
[~ }); ~]
{[[ gov.position ]]} % Position
{[[ gov.organization ]]} % Committee
{[[ gov.location ]]} % Location
{[[ h.dateRange( gov ) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,30 @@
[~ if( r.education && r.education.history && r.education.history.length) { ~]
[~ if (r.education && r.education.history && r.education.history.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Education}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.education.history, function(edu) { ~]
[~ _.each( r.education.history, function(edu) { ~]
%---------------------------------------------------------
\cventry
{[[ edu.studyType ]], [[ edu.area ]]}
{[[ edu.institution ]]}
{[[ edu.location ]]}
{[[ edu.safe.start ]] - [[ edu.safe.end ]]}
[~ if( edu.highlights && edu.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(edu.highlights, function(high) { ~]
{[[ edu.title ]]} % Degree
{[[ edu.institution ]]} % Institution
{[[ edu.location ]]} % Location
{[~ print( h.dateRange( edu ) ) ~]} % Date(s)
{
\begin{cvitems} % Description(s) bullet points
[~ _.each( edu.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,18 +1,30 @@
[~ if( r.employment && r.employment.history && r.employment.history.length ) { ~]
[~ if (r.employment && r.employment.history && r.employment.history.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Experience}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.employment.history, function(emp) { ~]
[~ _.each( r.employment.history, function(job) { ~]
%---------------------------------------------------------
\cventry
{[[ emp.position ]]}
{[[ emp.employer ]]}
{[[ emp.location ]]}
{[[ emp.safe.start ]] - [[ emp.safe.end ]]}
[~ if( emp.highlights && emp.highlights.length ) {
~]{
\begin{cvitems}[~ _.each( emp.highlights, function(high) { ~]
\item {[[ high.replace(/#/g, '\\#') ]]}[~ }); ~]
{[[ job.position ]]} % Job title
{[[ job.employer ]]} % Organization
{[[ job.location ]]} % Location
{[~ print( h.dateRange( job ) ) ~]} % Date(s)
{
\begin{cvitems} % Description(s) of tasks/responsibilities
[~ _.each( job.highlights, function (high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}[~ } ~]
}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,19 +1,30 @@
[~ if( r.extracurricular && r.extracurricular.length ) { ~]
[~ if (r.extracurricular && r.extracurricular.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Extracurricular Activity}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each( r.extracurricular, function(ex) { ~]
[~ _.each( function(cur) { ~]
%---------------------------------------------------------
\cventry
{[[ ex.title ]]}
{[[ ex.activity ]]}
{[[ ex.location ]]}
{[[ ex.safe.start ]] - [[ ex.safe.end ]]}
[~ if( ex.highlights && ex.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(ex.highlights, function(high) {
~]\item {[[high]]}
[~ }); ~]\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
[~ }); ~]
{[[ cur.role ]]} % Affiliation/role
{[[ cur.organization ]]} % Organization/group
{[[ cur.location ]]} % Location
{[[ h.dateRange(cur) ]]} % Date(s)
{
\begin{cvitems} % Description(s) of experience/contributions/knowledge
[~ _.each( cur.highlights, function( high ) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,52 +1,52 @@
[~ if( r.recognition && r.recognition.length ) { ~]
[~ if ( r.recognition && r.recognition.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Honors \& Awards}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{International}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.recognition, function(rec) { ~]
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{[[ rec.title ]]}
{[[ rec.event ]]}
{[[ rec.location ]]}
{[[ rec.safe.date ]]}
[~ }); ~]
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ rgn.date ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{Domestic}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{3rd Place}
{WITHCON Hacking Competition Final}
{Seoul, S.Korea}
{2015}
\cvhonor
{Silver Prize}
{KISA HDCON Hacking Competition Final}
{Seoul, S.Korea}
{2013}
\cvhonor
{2nd Award}
{HUST Hacking Festival}
{S.Korea}
{2013}
\cvhonor
{3rd Award}
{HUST Hacking Festival}
{S.Korea}
{2010}
\cvhonor
{3rd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2012}
\cvhonor
{2nd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2011}
\cvhonor
{5th Place}
{PADOCON Hacking Competition Final}
{Seoul, S.Korea}
{2011}
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ rgn.date ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,30 @@
[~ if( r.speaking && r.speaking.length) { ~]
[~ if (r.speaking && r.speaking.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Presentation}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.speaking, function(pres) { ~]
[~ _.each( r.speaking, function(spk) { ~]
%---------------------------------------------------------
\cventry
{[[ pres.title ]]}
{[[ pres.event ]]}
{[[ pres.location ]]}
{[[ pres.safe.date ]]}
[~ if (pres.highlights && pres.highlights.length) {
~]{
\begin{cvitems}
[~ _.each(pres.highlights, function( high) {
~]\item {[[ high ]]}[~ }); ~]
{[[ spk.title ]]} % Role
{[[ spk.event ]])} % Event
{[[ spk.location ]]} % Location
{[[ spk.date ]]} % Date(s)
{
\begin{cvitems} % Description(s)
[~ _.each( spk.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
[~ }); ~]
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -0,0 +1,14 @@
[~ if( r.info && r.info.brief ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Summary}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvparagraph}
[[ r.info.brief ]]
\end{cvparagraph}
[~ } ~]

View File

@ -1,21 +1,30 @@
[~ if( r.writing && r.writing.length ) { ~]
[~ if (r.writing && r.writing.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Writing}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.writing, function(wri) { ~]
[~ _.each( r.writing, function(wri) { ~]
%---------------------------------------------------------
\cventry
{[[ wri.publisher ]]}
{[[ wri.title ]]}
{[[ wri.url ]]}
{[[ wri.safe.date ]] - PRESENT}
[~ if( wri.highlights && wri.highlights.length ) { ~]
{[[ wri.title ]]} % Role
{[[ wri.publisher ]]} % Title
{[[ wri.url ]]} % Location
{[[ wri.date ]]} % Date(s)
{
\begin{cvitems}
[~ _.each(wri.highlights, function(high) { ~]
\begin{cvitems} % Description(s)
[~ _.each( wri.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

Binary file not shown.

View File

@ -11,6 +11,7 @@
"comment": "\\[\\#([\\s\\S]+?)\\#\\]"
},
"leaf": true,
"explicit": true,
"formats": {
"latex": {
"transform": [
@ -22,6 +23,7 @@
"src/latex/examples/resume/extracurricular.tex",
"src/latex/examples/resume/honors.tex",
"src/latex/examples/resume/presentation.tex",
"src/latex/examples/resume/summary.tex",
"src/latex/examples/resume/writing.tex",
"src/latex/examples/cv/committees.tex",
"src/latex/examples/cv/education.tex",
@ -33,10 +35,11 @@
"src/latex/examples/cv/writing.tex"
],
"symLinks": {
"src/latex/examples/awesome-cv.cls": "../awesome-cv.cls",
"src/latex/examples/fontawesome.sty": "../fontawesome.sty",
"src/latex/examples/fonts": "../fonts"
}
"latex/examples/awesome-cv.cls": "../awesome-cv.cls",
"latex/examples/fontawesome.sty": "../fontawesome.sty",
"latex/examples/fonts": "../fonts"
},
"exclude": ["fontawesome.sty","README.md","package.json"]
}
},
"message": "Don't forget to run 'xelatex <myresume.tex>' in the generated latex/examples folder to complete your resume build! For more info, see the theme README at https://github.com/fluentdesk/fresh-themes/blob/master/themes/awesome/README.md."