Skip to content

Commit

Permalink
Polycv Version 1.0rc1 (release candidate) (#1)
Browse files Browse the repository at this point in the history
* first working version of class polycv
* Features:
  - CV first page environment with sidebar box
  - CV page environment for more pages
  - Cover letter environment

* Needs orcidicon.pdf as intermediate solution

* Example files included

* Documentation included
  • Loading branch information
polyluxus authored Jun 29, 2020
1 parent 9b479c3 commit 92993e9
Show file tree
Hide file tree
Showing 26 changed files with 3,824 additions and 0 deletions.
62 changes: 62 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,65 @@
# polycv - A latex class for writing curriculum vitaes

I previously used the package [koma-moderncvclassic](https://ctan.org/pkg/koma-moderncvclassic)
to prepare my CV, and I was actually quite satisfied with the look of it.
In a way this class borrows some design elements from it.
However, I noticed it was not using a lot of space,
which got especially problematic when inserting a picture.

I looked through various templates and classes online
([limecv](https://github.com/opieters/limecv),
[simple academic resume](https://github.com/latex-ninja/simple-academic-resume),
[Deedy Resume](https://github.com/deedy/Deedy-Resume),
[Fancy CV by Adrien Friggeri](https://www.sharelatex.com/templates/cv-or-resume/fancy-cv),
[the Overleaf CV Gallery](https://www.overleaf.com/gallery/tagged/cv),
TeX Stack Exchange [LaTeX template for resume/curriculum vitae](https://tex.stackexchange.com/q/80/33413),
... , there are possibly some I forgot),
but couldn't find anything that was exactly to my linking.
So I decided to write a class for myself, not just only for my CV,
but also for the training in writing such classes (or packages).

The main goal was to structure the information in a way that,
if condensed enough, it would fit on one page;
but additional pages could be added when the need arose,
e.g. a long publication list, or many stations along the way.

Additionally I liked the idea of having a cover letter template,
which resembles most of the elements of the CV.

I am now at a stage where I consider it functional,
and ready to use by other people than me.

Here is one example of what is possible so far.
You will surely notice some of the design elements from the list above.

<img src="examples/two-page-letter/main.page-1.png" alt-="CV" width="200"> <img src="examples/two-page-letter/main.page-2.png" alt-="CV (cont.)" width="200"> <img src="examples/two-page-letter/main.page-3.png" alt-="Cover Letter" width="200">

## Usage

For a detailed description, please refer to the documentation, which is located in
[`doc/latex/polycv.pdf`](./doc/latex/polycv.pdf), or can alternatively be build from
the source files.
Install the class file [`tex/latex/polycv.cls`](./tex/latex/polycv.cls) in a directory,
which is searched by latex, or alternatively, build it from the source files.
The [examples](./examples) directory contains a few template files.

If anything is unclear, needs improvement, is missing,
please submit an [issue](https://github.com/polyluxus/polycv/issues).
Thank you.

## Building the package

To compile the document class, simply run `pdflatex` on the `polycv.ins` source file in
[`source/latex`](./source/latex) and copy the resulting `polycv.cls` file to a
directory searched by latex.

To compile the documentation, run `pdflatex` on the `polycv.dtx` source file in the same
directory. To build the index and changes, run the following two lines:
```
makeindex -s gglo.ist -o polycv.gls polycv.glo
makeindex -s gind.ist -o polycv.ind polycv.idx
```
Run `pdflatex` on the source file, until no more warnings appear.

Both derived files are included for convenience in their respective directories.

Binary file added doc/latex/polycv.pdf
Binary file not shown.
5 changes: 5 additions & 0 deletions examples/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# The main.bib file will be generated automatically
main.bib
# The class file should be installed first
polycv.cls

Binary file added examples/letter-mwe/main.pdf
Binary file not shown.
19 changes: 19 additions & 0 deletions examples/letter-mwe/main.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
\documentclass[primary=black,14pt,a4paper]{polycv}
\usepackage{mwe} % for this example
\title{Curriculum Vitae}
\author{Example Author}
\signaturefile{example-image-16x9}

\begin{document}
\begin{polycvletter}
[Address line 1\\ Address line 2]
{Subject line}
{Company\\ Address line 1\\ Address line 2}
\opening{Dear Example,}

\blindtext[1-3]

\closing{Sincerely,}
\ps{\blindtext[1]}
\end{polycvletter}
\end{document}
Binary file added examples/letter-one-page-appendix/main.pdf
Binary file not shown.
156 changes: 156 additions & 0 deletions examples/letter-one-page-appendix/main.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
\documentclass[% draft,
xcolor=dvipsnames, primary=Sepia, biblatex, signcv, a4paper]{polycv}

\usepackage{mwe} % Only for this example
\errorcontextlines=20

% Fonts declaration
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}

% bibliography
\usepackage[backend=biber,%
style=numeric-comp, style=chem-angew, subentry=true, sorting=ydnt]{biblatex}
\begin{filecontents}{\jobname.bib}
@BOOK{example-book,
author = {Example Author},
title = {Example Book Title},
publisher = {Example Publisher},
year = {2019},
}

@ARTICLE{example-article,
author = {Example Author},
title = {Example Title},
journal = {J. Examples},
year = {2019},
volume = {0},
pages = {1227},
}

@Thesis{example-thesis,
author = {Example Author},
title = {Example Thesis Title},
school = {University of Examples},
year = {2019},
type = {PhD-Thesis},
address = {Example Town},
}

@CONFERENCE{example-talk,
author = {Example Author},
title = {Example Thesis Title},
booktitle = {Book of Abstracts, 1st Annual Example Meeting},
year = {2019},
}

\end{filecontents}
\addbibresource{\jobname.bib}

\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage{multicol}

% Fill variables with some content
\title{Curriculum Vitae}
\author{Example Author}
\position{Title / Position}
\street{Street 123}
\location{Town, Country}
\email{me@mail.com}
\phone{+1 234 56 78 900}
\mobile{+1 234 56 78 999}
\orcid{0000-0001-0002-0003}
\github{ex-ample}
\signaturefile{example-image-16x9}

\begin{document}
\begin{polycvletter}[%
\insertaddress\\%
\insertmobile\\%
\insertemail]%
{Subject}%
{Company\\ Address}
\opening{Dear Example,}

\blindtext[1-3]

\closing{Sincerely,}
\ps{\blindtext[1]}
\end{polycvletter}
\begin{polycvfirstpage}
% Cite everything first. This works because the bibliography settings (above) sort chronologic.
\nocite{*}%
% Define what goes into the sidebar
\begin{polycvsidebar}

\includegraphics[width=1.0\linewidth]{example-image-1x1}\\[2ex]

\section{Personal Details}
% Universally usable line:
\cvitemline{\faStar}{01. 01. 1984,\newline Birthplace, Country}
\cvlineaddress
\cvlineemail
\cvlinephone
\cvlinemobile
\cvlineorcid
\cvlinegithub
\null

\section{Languages}
\cvlanguage{English (native)}{1}
\cvlanguage{Leetspeak (B2)}{0.7}

\section{Skills}
\cvskill{\LaTeX}{0.8}
\cvskill{Reading}{0.9}
\cvskill{Writing}{0.7}
\cvskill{Calculating}{0.3}
\cvskill{Gaming}{0.95}

\end{polycvsidebar}%
\section{Experience}
% \cventry{years}{degree/jobtitle}{institution/employer}{localization}{optional: grade/...}{optional: comment/job description}
\cventry{2018 - 2019}
{Writer}
{Example Publisher}
{Example Place}
{}
{First reading things, and then writing about those things.}

\cventry{2017 - 2018}
{Reader}
{Example Company}
{Example Place}
{}
{Reading things.}

\section{Education}
\cventry{2010 - 2017}
{Student}
{Example School}
{Example Place}
{Grade: excellent}
{Learning how to read and write.}

\section{Languages}
\cvlanguage{English (native)}{1}
\cvlanguage{Leetspeak (B2)}{0.7}

\section{Skills}
\begin{multicols}{2}
\cvskill{\LaTeX}{0.8}
\cvskill{Reading}{0.9}
\cvskill{Writing}{0.7}
\cvskill{Calculating}{0.3}
\cvskill{Gaming}{0.95}
\end{multicols}

\defbibheading{bibliography}[Publications and Talks]{\section{#1}}
\printbibliography
\end{polycvfirstpage}
\pdfappendix{example-image-a4}
\pdfappendix[angle=90]{example-image-a4-landscape}
\end{document}

Binary file added examples/letter-one-page/main.pdf
Binary file not shown.
Loading

0 comments on commit 92993e9

Please sign in to comment.