Professional Graphical Resume
This project is a LaTeX template to create a professional graphical resume. Honestly, it is inspired by many graphical resumes that I found on the web. All of the objects in the project are for the public benefit, so you can easily customize it to create your own template. Any contribution to improve this template would be greatly appreciated.
I put my own resume on this template as an example and you can add yours too. To do so, you can use following class and packages, which I will describe later:
- resume.cls
- resume.sty
- jresume.sty
- switch.sty
- sleekprogressbar.sty
1. resume.cls
This is a document class extended from article.cls, in which default vertical and horizontal spaces are discarded.
2. resume.sty
This package is a set of general layout commands to generate a professional graphical resume.
Commands and environments:
-
\trim{text}: Trim the text.
-
\setfontsize{size}: Change font size.
-
\twopart[partition type]{first content}{second content}: Split current space into two vertically separated parts and put the contents into the parts.
- partition type: Must be either sidebar or equal.
-
\align[options]{content}: Align content according to options.
- options: Can be vertical or horizontal.
- vertical: Must be top, middle, or bottom.
- horizontal: Must be left, right, center, or justify.
- options: Can be vertical or horizontal.
-
\header{image url}{title}: Create a nice header with the given image and title.
-
\skill[location]{title}{percent}: Draw a shiny progressbar with the given title and percentage.
- location: The location which it is placed on and must be either sidebar or mainbar.
- percent: Must be between 0.028 and 1.
-
\education{university}{degree}{field of study}{start date}{end date}: Generate a short sentence about your education.
-
\project{title}{duration}{description}: Generate a beautiful section about your project.
-
\experience{company name}{position}{duration}{description}: Generate a beautiful section about your experience.
-
\reference{name}{position}{company}{email}{mobile}: Generate a block containing reference's information.
-
\mobile{phone number}: Generate a clickable-callable phone number.
-
\email{email address}: Generate a clickable email address.
-
\linkedin{name}{url}: Generate a clickable LinkedIn profile name by the given url.
-
\contactitem{title}{description}: Generate a general contact item.
-
textbox{width}{height}: Create a text box with the given width and height and with a predetermined margin.
-
rsection[font size]{title}: Create a nice section with the given title.
- font size: font size of the title.
-
rsectioncmd[font size]{title}: Create a nice section with the given title.
- font size: font size of the title.
How to use the package:
You can use this package with gray or cream option as a theme.
\usepackage[cream]{resume}
How to use the commands:
\trim{ Hello world }
\setfontsize{11}
\begin{textbox}{20pt}{40pt}
Hello world
\end{textbox}
\begin{rsection}[font size = 12]{Hello Section}
Hello world
\end{rsection}
\rsectioncmd[font size = 12]{Hello Section}
\twopart[partition type = sidebar]{Hello world}{I love \LaTeX}
\align[vertical = middle, horizontal = justify]{Hello world}
\header{/Users/vesalian/personal-image.jpg}{Java Developer}
\skill[location = mainbar]{Java}{0.9}
\education{Oxford}{Bachelor of Science}{Software Engineering}{September 2003}{September 2008}
\project{Our company project name}{Sep 2008 - Sep 2010}{This is dummy}
\experience{Google}{Java Developer}{Sep 2008 - Sep 2010}{This is dummy}
\reference{David}{Java Developer}{Google}{david@email.com}{+1 123 123 1234}
\mobile{+1 123 123 1234}
\email{david@email.com}
\linkedin{David}{http://ir.linkedin.com/pub/david/24/609/34/}
\contactitem{Address}{Boston, The USA}
3. jresume.sty
This package is a set of customized commands, base on resume.sty, to generate a professional graphical java resume. Some font sizes and spaces are preset in this package for your convenience.
Commands and environments:
-
\jrcaption{title}: Writes title with font size 12.
-
\jrsubcaption{title}: Writes title with font size 11 in bold face.
-
\jrsubsubcaption{title}: Writes title with font size 11.
-
\jeducation{university}{degree}{field of study}{start date}{end date}: It is the same education command in resume.sty with preset spaces.
-
\jproject{title}{duration}{description}: It is the same project command in resume.sty with preset spaces.
-
\jexperience{company name}{position}{duration}{description}: It is the same experience command in resume.sty with preset spaces.
-
\jreference{name}{position}{company}{email}{mobile}: It is the same reference command in resume.sty with preset spaces.
-
jrdescription: This environment justifies its content and sets the font size to 11.
-
jrsection[location]{title}: It is the same section command in resume.sty with preset spaces.
- location: The location which it is placed on and must be either sidebar or mainbar.
How to use the package:
You can use this package with gray or cream option as a theme.
\usepackage[gray]{jresume}
How to use the commands:
\jrcaption{Hello world}
\jrsubcaption{Hello world}
\jrsubsubcaption{Hello world}
\jeducation{Oxford}{Bachelor of Science}{Software Engineering}{Sep 2003}{Sep 2007}
\jproject{Conversion}{May 2003 - May 2004}{This is dummy}
\jexperience{Google}{Developer}{May 2003 - May 2004}{This is dummy}
\jreference{David}{Java Developer}{Google}{david@email.com}{+1 123 123 1234}
\begin{jrdescription}
Hello world
\end{jrdescription}
\begin{jrsection}[location = mainbar]{Education}
Hello world
\end{jrsection}
4. switch.sty
This package provides some useful conditional commands.
Commands and environments:
-
\xifthen[comparison type]{test}{true}: Perform true statement if test is passed.
- comparison type: Must be either number or string.
-
\xifthenelse[comparison type]{test}{true}{false}: Perform true statement if test is passed, otherwise perform false statement.
- comparison type: Must be either number or string.
-
\xifequal[comparison type]{first}{second}{true}: Perform true statement if first is equal to second.
- comparison type: Must be either number or string.
-
\xifequalelse[comparison type]{first}{second}{true}{false}: Perform true statement if first is equal to second, otherwise perform false statement.
- comparison type: Must be either number or string.
-
xswitch[comparison type]{variable}: This environment provides switch-case statement and you can use \xcase and \xother in the environment.
- comparison type: Must be either number or string.
- variable: Variable that you want to test.
- \xcase{value}{command}: command will fire if value is equal to variable.
- \xother{command}: command will fire if none of the xcase commands are fired.
How to use the package:
\usepackage{switch}
How to use the commands:
\xifthen[comparison type = number]{1 >= 0}{Hi}
\xifthenelse[comparison type = string]{\equal{David}{Ben}}{Hi}{Bye}
\xifequal[comparison type = number]{1}{1}{Hi}
\xifequalelse[comparison type = string]{David}{Ben}{Hi}{Bye}
\begin{xswitch}[comparison type = string]{David}
\xcase{David}{Hi David}
\xcase{Ben}{Hi Ben}
\xother{Bye}
\end{xswitch}
5. sleekprogressbar.sty
This package provides a nice shiny progressbar and has just one command.
Commands and environments:
- \progressbar[options]{percent}: Draws a shiny progress bar and has two argument.
- options: can be width, height, color, or color difference.
- percent: Must be between 0.028 and 1.
How to use the package:
\usepackage{sleekprogressbar}
How to use the commands:
\progressbar[width = 30pt, height = 1.5pt, color = red, color difference = 50]{0.4}
Contact
Unauthorized use prohibited and needs author's permission. Please do not hesitate to contact me at momeni.vesalian@gmail.com if you have any questions.
Good luck!