This commit is contained in:
ivan-igorevich 2021-09-02 09:24:13 +03:00
parent 577e7523b4
commit 433ca36243
7 changed files with 918 additions and 0 deletions

BIN
IMG_1312.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

97
README.md Normal file
View File

@ -0,0 +1,97 @@
# AltaCV, yet another LaTeX CV/Résumé class
v1.3.2 (17 May 2020), by LianTze Lim (liantze@gmail.com)
_Sample file with new paracol layout added on 2 February 2020_
(Thanks to [Nur](https://github.com/nurh) for the name.)
It all started with this:
[<img src="tweet-that-started-this.png" width="500px">](https://twitter.com/Leonduck/status/764281546408923136)
Leonardo was talking about a [résumé of Marissa Mayer that Business Insider put together](http://www.businessinsider.my/a-sample-resume-for-marissa-mayer-2016-7/) using [enhancv.com](https://enhancv.com).
I _knew_ I had to do something about it. And so AltaCV was born.
## Samples
This is how the re-created résumé looks like ([view/open on Overleaf](https://www.overleaf.com/latex/examples/recreating-business-insiders-cv-of-marissa-mayer-using-altacv/gtqfpbwncfvp)):
<img src="mmayer.png" alt="Marissa Mayer's résumé, re-created with AltaCV" width="600px">
Though if you're creating your own CV/résumé, you'd probably prefer using the basic template ([view/open on Overleaf](https://www.overleaf.com/latex/templates/altacv-template/trgqjpwnmtgv)):
<img src="sample.png" alt="sample barebones AltaCV template" width="600px">
## Requirements and Compilation
* pdflatex + biber + pdflatex
* AltaCV uses [`fontawesome`](http://www.ctan.org/pkg/fontawesome) and [`academicons`](http://www.ctan.org/pkg/academicons); they're included in both TeX Live 2016 and MikTeX 2.9.
* Loading `academicons` is optional: enable it by adding the `academicons` option to `\documentclass`.
* Use the `normalphoto` option to get normal (i.e. non-circular) photos.
* As of v1.2 you can add multiple photos on the left or right: `\photoL{2cm}{logo1}` and `\photoR{2.5cm}{logo2,photo}`. (`\photo` will work like `\photoR`.) Separate your image filenames with commas _without_ spaces.
* Use the `ragged2d` option to activate hyphenations while keeping text left-justified; line endings will thus be less jagged and more aesthetically pleasing.
* Can now be compiled with pdflatex, XeLaTeX and LuaLaTeX!
* However if you're using `academicons`, you _must_ use either XeLaTeX or LuaLaTeX. If the doc then compiles but the icons don't show up in the output PDF, try compiling with LuaLaTeX instead.
* The samples here use the [Lato](http://www.latofonts.com/lato-free-fonts/) font. Feel free to use a different typeface package instead—often a different typeface will change the entire CV's feel.
## Example Files
### `sample.tex`
(You may prefer to use `sample-alt.tex` instead; please read both sections before proceeding.)
This is the original sample template file. The right sidebar is actually a _marginpar_, so it doesn't support footnote and cannot automatically break across pages if it's too long. You would need to split your right sidebar contents into separate files e.g. `p1sidebar.tex` and `p2sidebar.tex`, and insert them as the optional argument of the `\cvsection{...}` that you want to align them with:
```latex
\cvsection[p1sidebar]{Experience}
...
... END OF FIRST PAGE OF YOUR CV ...
\cvsection[page2sidebar]{Publications}
...
```
This assumes that the next page's main column would start immediately with a `\cvsection`, so that the top of your right sidebar contents also appear at the top of the page. Now if the _next_ page doesn't start with a `\cvsection` but you'd still like to add a sidebar, then use this command on the _current_ page to add it. The optional argument lets you pull up the sidebar a bit so that it looks aligned with the top of the main column:
```latex
\addnextpagesidebar[-1ex]{page3sidebar}
```
If you want to change the left and right columns' widths, you'll need to tinker with the `right` (distance from paper's right edge until the main column's right edge) and `marginparwidth` (width of the right sidebar) options in the `\geometry` line. For example, to make the right sidebar wider by 2cm, you could use
```latex
%% original was right=9cm, marginparwidth=6.8cm
\geometry{left=1cm,right=11cm,marginparwidth=8.8cm,marginparsep=1.2cm,top=1cm,bottom=1cm}
```
as well as doing a bit of arithmetic when you're making the header to get it full-width, i.e. reducing the sidebar by 2cm and extending the main column by 2cm.
```latex
\begin{adjustwidth}{}{-10cm} %% original was -8cm
\makecvheader
\end{adjustwidth}
```
### `sample-alt.tex` [ADDED 2 FEBRUARY 2020]
Many users have overlooked the optional argument of `\cvsection` to insert the right sidebar contents, and often confused that the right sidebar doesn't automatically break across pages. This new layout uses the `paracol` package for typesetting the left and right columns that _can_ break across pages. It also makes changing the column widths easier:
```latex
%% Set the left/right column width ratio to 6:4.
\columnratio{0.6}
% Start a 2-column paracol. Both the left and right columns will automatically
% break across pages if things get too long.
\begin{paracol}{2}
\cvsection{Experience}
...
... END OF LEFT COLUMN CONTENTS ...
% Now switch to the right column.
\switchcolumn
\cvsection{Education}
...
...END OF RIGHT COLUMN CONTENTS ...
\end{paracol}
```
You can also use `\swithcolumn*` for "synchronising" the columns, as well as other commands from the `paracol` package. See the [`paracol` package documentation](http://texdoc.net/pkg/paracol) for further details.

437
altacv.cls Normal file
View File

@ -0,0 +1,437 @@
%%%%%%%%%%%%%%%%%
% This is altacv.cls (v1.3.2, 17 May 2020) written by
% LianTze Lim (liantze@gmail.com).
% This fork/modified version has been made by Nicolás Omar González Passerino (nicolas.passerino@gmail.com, 15 Oct 2020)
%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%%
% Contributions:
% - https://github.com/liantze/AltaCV Original template
% - https://github.com/akreuzer Added ragged2e option (5 Nov 2018)
% - https://github.com/stefanogermano Fixed bad boxes and undefined font shape (July 2018)
% - https://github.com/foohyfooh Fixed blank spaces in \cvevent and bad link in README.md (June 2018)
%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{altacv}[2020/05/17 AltaCV v1.3.2, yet another alternative class for a resume/curriculum vitae.]
%% v1.1: Optionally load academicons
\newif\if@academicons
\DeclareOption{academicons}{\@academiconstrue}
%% v1.1.3: Choice of round/square photo
\newif\if@normalphoto
\DeclareOption{normalphoto}{\@normalphototrue}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}}
\newif\if@raggedtwoe
\DeclareOption{ragged2e}{\@raggedtwoetrue}
%% v1.3: load hyperref for clickable hyperlinks
\newif\if@withhyper
\DeclareOption{withhyper}{\@withhypertrue}
\ProcessOptions\relax
\LoadClass{article}
\RequirePackage[a-1b]{pdfx}
\RequirePackage[margin=2cm]{geometry}
\RequirePackage[fixed]{fontawesome5}
\RequirePackage{ifxetex,ifluatex}
\RequirePackage{scrlfile}
\RequirePackage{xparse}
\RequirePackage{markdown}
\usepackage{setspace}
%% v1.1.5: added for convenience
\newif\ifxetexorluatex
\ifxetex
\xetexorluatextrue
\else
\ifluatex
\xetexorluatextrue
\else
\xetexorluatexfalse
\fi
\fi
\ifxetexorluatex
\RequirePackage{fontspec}
\else
%% v1.3.2 attempts to make ligatures
%% copy-paste as normal characters
\RequirePackage{cmap}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\input{glyphtounicode}
\pdfglyphtounicode{f_f}{FB00}
\pdfglyphtounicode{f_f_i}{FB03}
\pdfglyphtounicode{f_f_l}{FB04}
\pdfglyphtounicode{f_i}{FB01}
\pdfgentounicode=1
\fi
%% v1.1: Optionally load academicons
%% v1.1.5: Handle different versions of academicons
\if@academicons
\ifxetexorluatex
\RequirePackage{fontspec}
%% academicons in TL2018 doesn't require
%% Academicons to be installed in OS fonts
%% so can be loaded directly
\@ifl@t@r\fmtversion{2018/04/01}{%
\RequirePackage{academicons}
}{%
% TL2017
\@ifl@t@r\fmtversion{2017/04/01}{%
\@ifpackagelater{academicons}{2018/03/01}{%
\RequirePackage{academicons}
}{%
\let\ori@newfontfamily\newfontfamily%
\renewcommand{\newfontfamily}[2]{}
\RequirePackage{academicons}
\let\newfontfamily\ori@newfontfamily
\newfontfamily{\AI}{academicons.ttf}
}
}{% TL2016 requires the package to be loaded before
% the version can be checked. Only added because
% Overleaf v1 still runs TL2016; will be removed
% when v1 is completely retired.
\let\ori@newfontfamily\newfontfamily%
\renewcommand{\newfontfamily}[2]{}
\RequirePackage{academicons}
\let\newfontfamily\ori@newfontfamily
\newfontfamily{\AI}{academicons.ttf}
}
}
\else
\ClassError{AltaCV}{academicons unsupported by latex or pdflatex. Please compile with xelatex or lualatex}{Please compile with xelatex or lualatex to use the academicons option}
\fi
\fi
\if@raggedtwoe
\RequirePackage[newcommands]{ragged2e}
\fi
\if@withhyper
\AtBeginDocument{%
\RequirePackage{hyperref}
\hypersetup{hidelinks}
\urlstyle{same}
}
\fi
\RequirePackage{xcolor}
\colorlet{accent}{blue!70!black}
\colorlet{emphasis}{black}
\colorlet{heading}{black}
\colorlet{headingrule}{black}
\colorlet{subheading}{emphasis}
\colorlet{body}{black!80!white}
\colorlet{name}{heading}
\colorlet{tagline}{accent}
\newcommand{\itemmarker}{{\small\textbullet}}
\newcommand{\ratingmarker}{\faCircle}
\RequirePackage{tikz}
\usetikzlibrary{arrows}
\RequirePackage[skins]{tcolorbox}
\RequirePackage[inline]{enumitem}
\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vspace{0.25\baselineskip}}
\setlist[itemize]{label=\itemmarker}
\RequirePackage{graphicx}
\RequirePackage{etoolbox}
\RequirePackage{dashrule}
\RequirePackage{multirow,tabularx}
\RequirePackage{changepage}
% \RequirePackage{marginfix}
\setlength{\parindent}{0pt}
\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip}
\newenvironment{fullwidth}{%
\begin{adjustwidth}{}{\dimexpr-\marginparwidth-\marginparsep\relax}}
{\end{adjustwidth}}
%% v1.3.1 \detokenize will break UTF-8 in pdflatex
%% Using alternative from https://tex.stackexchange.com/a/530911/226
\newcommand{\utffriendlydetokenize}[1]{%
\scantokens{%
\catcode`\_=12%
% \catcode`\^=12%
% \catcode`\{=12%
% \catcode`\}=12%
\catcode`\&=12%
\catcode`\$=12%
\catcode`\#=12%
\catcode`\~=12%
% \catcode`\\=12%
{#1}%
}%
}
%% v1.3: Incorporating hyperlinks
%% v1.3.1: using \unfriendlydetokenize to avoid
%% breaking unicode
\ExplSyntaxOn
\NewDocumentCommand{\printinfo}{m m o}{%
\IfNoValueTF{#3}{%
\mbox{\textcolor{accent}{\normalfont #1}~\utffriendlydetokenize{#2}\hspace{2em}}%
}{%
\if@withhyper%
\mbox{\textcolor{accent}{\normalfont #1}~
\href{#3}{\utffriendlydetokenize{#2}}\hspace{2em}}
\else%
\ClassWarning{Please specify [withhyper] option to enable hyperlinks. Printing out full hyperlink prefix #1 for now.}%
\mbox{\textcolor{accent}{\normalfont #1}~{\utffriendlydetokenize{#3#2}}\hspace{2em}}%
\fi%
}%
}%
%% v1.3: Exploring convenient creation of fields
\NewDocumentCommand{\NewInfoField}{m m o}{%
\IfNoValueF{#3}{\csdef{#1 hyperprefix}{#3}}%
\csdef{#1 symbol}{#2}%
\csdef{#1}##1{%
\if@withhyper
\IfNoValueTF {#3}
{\printinfo{\csuse{#1 symbol}}{##1}}%
{\printinfo{\csuse{#1 symbol}}{##1}[\csuse{#1 hyperprefix}##1]}%
\else
\printinfo{\csuse{#1 symbol}}{##1}%
\fi%
}
}
\ExplSyntaxOff
\newcommand{\name}[1]{\def\@name{#1}}
\newcommand{\tagline}[1]{\def\@tagline{#1}}
\newcommand{\personalinfo}[1]{\def\@personalinfo{#1}}
\NewInfoField{email}{\faAt}[mailto:]
\NewInfoField{mailaddress}{\faEnvelope}
\NewInfoField{phone}{\faPhone}
\NewInfoField{homepage}{\faGlobe}[https://]
\NewInfoField{twitter}{\faTwitter}[https://twitter.com/]
\NewInfoField{linkedin}{\faLinkedin}[https://linkedin.com/in/]
\NewInfoField{github}{\faGithub}[https://github.com/]
\NewInfoField{orcid}{\aiOrcid}[https://orcid.com/]
\NewInfoField{location}{\faMapMarker}
% Fork: New optional options added for dev and medium accounts
\NewInfoField{dev}{\faDev}[https://dev.to/]
\NewInfoField{medium}{\faMedium}[https://medium.com/@]
% v1.2: Support for multiple photos
\newlength{\altacv@photos@width}
\newlength{\altacv@photo@diam@left}
\newlength{\altacv@photo@diam@right}
\def\altacv@left@photos{}
\def\altacv@right@photos{}
\newcommand{\@makeaphoto}[2]{%
\begin{minipage}{#1}%
\if@normalphoto
\includegraphics[width=\linewidth]{#2}
\else
% Fork: The photo image has modified to include a border around it, which color is aligned to document's theme
\tikz\filldraw[color=headingrule, fill overzoom image={#2}, ultra thick](-1,0) circle[radius=0.5\linewidth];
\fi%
\end{minipage}%
}
% Fork: Horizontal space changed from 1ex to 6,5ex to align photo container width to smaller column width (25%)
\newcommand{\altacv@add@photo@left}[1]{%
\appto{\altacv@left@photos}{%
\@makeaphoto{\altacv@photo@diam@left}{#1}\hspace{6,5ex}%
}%
\addtolength{\altacv@photos@width}{\altacv@photo@diam@left}%
\addtolength{\altacv@photos@width}{1ex}%
}
\newcommand{\altacv@add@photo@right}[1]{%
\appto{\altacv@right@photos}{%
\@makeaphoto{\altacv@photo@diam@right}{#1}\hspace{6,5ex}%
}%
\addtolength{\altacv@photos@width}{\altacv@photo@diam@right}%
\addtolength{\altacv@photos@width}{1ex}%
}
\newcommand{\photoL}[2]{%
\setlength{\altacv@photo@diam@left}{#1}%
\forcsvlist{\altacv@add@photo@left}{#2}%
}
\newcommand{\photoR}[2]{%
\setlength{\altacv@photo@diam@right}{#1}%
\forcsvlist{\altacv@add@photo@right}{#2}%
}
\let\photo\photoR
\newcommand{\namefont}{\Huge\bfseries}
\newcommand{\taglinefont}{\large\bfseries}
\newcommand{\personalinfofont}{\footnotesize\bfseries}
\newcommand{\cvsectionfont}{\LARGE\bfseries}
\newcommand{\cvsubsectionfont}{\large\bfseries}
\newcommand{\makecvheader}{%
\begingroup
\altacv@left@photos\hfill%
\begin{minipage}{\dimexpr\linewidth-\altacv@photos@width}%
\raggedright%
{\namefont\color{name}\MakeUppercase{\@name}\par}
\medskip
{\taglinefont\color{tagline}\@tagline\par}
\medskip
{\personalinfofont\@personalinfo\par}
\end{minipage}\hfill%
\altacv@right@photos\par%
\endgroup\medskip
}
\renewenvironment{quote}{\color{accent}\itshape\large}{\par}
% Fork: Two bigskip tags added for better section separation
\newcommand{\cvsection}[2][]{%
\begin{spacing}{1.3}
\bigskip
\bigskip
\ifstrequal{#1}{}{}{\marginpar{\vspace*{\dimexpr1pt-\baselineskip}\raggedright\input{#1}}}%
{\color{heading}\cvsectionfont\MakeUppercase{#2}}\\[-1ex]%
{\color{headingrule}\rule{\linewidth}{2pt}\par}\medskip
\end{spacing}
}
\newcommand{\cvsubsection}[1]{%
\smallskip%
{\color{subheading}\cvsubsectionfont{#1}\par}\medskip
}
% v1.1.4: fixes inconsistent font size
% Fork: structure modified to include change title, company name, start/end dates and work location (only a string)
\newcommand{\cvevent}[4]{%
{\large\color{emphasis}#1}
\ifstrequal{#2}{}{}{\large{\color{accent}#2}}
\par\medskip\normalsize
\ifstrequal{#3}{}{}{{\small\makebox[0.5\linewidth][l]{\color{accent}\faCalendar\color{emphasis}~#3}}}
\ifstrequal{#4}{}{}{{\small\makebox[0.5\linewidth][l]{\color{accent}\faMapMarker\color{emphasis}~#4}}}\par
\medskip\normalsize
}
\newcommand{\cvachievement}[3]{%
\begin{tabularx}{\linewidth}{@{}p{2em} @{\hspace{1ex}} >{\raggedright\arraybackslash}X@{}}
\multirow{2}{*}{\Large\color{accent}#1} & \bfseries\textcolor{emphasis}{#2}\\
& #3
\end{tabularx}%
\smallskip
}
% Fork: Tags separation partially achieved, missing vertical spaces consistency for now
\newcommand{\cvtag}[1]{%
\tikz[baseline]\node[anchor=base,draw=body,rounded corners,inner xsep=1ex,inner ysep=0.75ex,text height=1.5ex,text depth=.25ex]{#1};
\vspace{0.25ex}
}
\newcommand{\cvskill}[2]{%
\textcolor{emphasis}{\textbf{#1}}
\foreach \x in {1,...,5}{
\SPACE{\IFNUMGREATER{\X}{#2}{\color{body}}{\color{accent}}\ratingmarker}
}\par
}
% Fork: Tag added for languages rating, avoiding star/button/progress bar previous ideas, I made a simpler and more accurate representation using a single string, which will be colored to be oustanding
\newcommand{\cvlang}[2]{%
\textcolor{emphasis}{\textbf{#1: }}
\textcolor{accent}{\textbf{#2}}
}
% Adapted from @Jake's answer at http://tex.stackexchange.com/a/82729/226
\newcommand{\wheelchart}[4][0]{%
\begingroup\centering
\def\innerradius{#3}%
\def\outerradius{#2}%
% Calculate total
\pgfmathsetmacro{\totalnum}{0}%
\foreach \value/\colour/\name in {#4} {%
\pgfmathparse{\value+\totalnum}%
\global\let\totalnum=\pgfmathresult%
}%
\begin{tikzpicture}
% Calculate the thickness and the middle line of the wheel
\pgfmathsetmacro{\wheelwidth}{\outerradius-\innerradius}
\pgfmathsetmacro{\midradius}{(\outerradius+\innerradius)/2}
\pgfmathsetmacro{\totalrot}{-90 + #1}
% Rotate so we start from the top
\begin{scope}[rotate=\totalrot]
% Loop through each value set. \cumnum keeps track of where we are in the wheel
\pgfmathsetmacro{\cumnum}{0}
\foreach \value/\width/\colour/\name in {#4} {
\pgfmathsetmacro{\newcumnum}{\cumnum + \value/\totalnum*360}
% Calculate the percent value
\pgfmathsetmacro{\percentage}{\value/\totalnum*100}
% Calculate the mid angle of the colour segments to place the labels
\pgfmathsetmacro{\midangle}{-(\cumnum+\newcumnum)/2}
% This is necessary for the labels to align nicely
\pgfmathparse{
(-\midangle>180?"west":"east")
} \edef\textanchor{\pgfmathresult}
\pgfmathparse{
(-\midangle>180?"flush left":"flush right")
} \edef\textalign{\pgfmathresult}
\pgfmathsetmacro\labelshiftdir{1-2*(-\midangle<180)}
% Draw the color segments. Somehow, the \midrow units got lost, so we add 'pt' at the end. Not nice...
\filldraw[draw=white,fill=\colour] (-\cumnum:\outerradius) arc (-\cumnum:-(\newcumnum):\outerradius) --
(-\newcumnum:\innerradius) arc (-\newcumnum:-(\cumnum):\innerradius) -- cycle;
% Draw the data labels
\draw [*-,thin,emphasis] node [append after command={(\midangle:\midradius pt) -- (\midangle:\outerradius + 1ex) -- (\tikzlastnode)}] at (\midangle:\outerradius + 1ex) [xshift=\labelshiftdir*0.5cm,inner sep=1ex, outer sep=0pt, text width=\width,anchor=\textanchor,align=\textalign,font=\small,text=body]{\name};
% Set the old cumulated angle to the new value
\global\let\cumnum=\newcumnum
}
\end{scope}
% \draw[gray] (0,0) circle (\outerradius) circle (\innerradius);
\end{tikzpicture}\par
\endgroup
}
% Fork: CV reference tag has been modified to accept only linkedin accounts instead mail. It can be modified easily in case you need to display other type of contact
\newcommand{\cvref}[2]{%
\textcolor{emphasis}{\textbf{#1}}\par
\begin{description}[font=\color{accent},style=multiline,leftmargin=1.35em,align=left]
\item[\small\normalfont\faLinkedin]\href{https://linkedin.com/in/#2}{#2}
\end{description}
}
\newcommand{\cvrepo}[2]{
\textcolor{accent}{\href{#2}{#1}}
}
\newenvironment{cvcolumn}[1]{\begin{minipage}[t]{#1}\raggedright}{\end{minipage}}
\RequirePackage[backend=biber,style=authoryear,sorting=ydnt]{biblatex}
%% For removing numbering entirely when using a numeric style
% \setlength{\bibhang}{1em}
% \DeclareFieldFormat{labelnumberwidth}{\makebox[\bibhang][l]{\itemmarker}}
% \setlength{\biblabelsep}{0pt}
\defbibheading{pubtype}{\cvsubsection{#1}}
\renewcommand{\bibsetup}{\vspace*{-\baselineskip}}
\AtEveryBibitem{\makebox[\bibhang][l]{\itemmarker}}
\setlength{\bibitemsep}{0.25\baselineskip}
% v1.1.2: make it easier to add a sidebar aligned with top of next page
\RequirePackage{afterpage}
\newcommand{\addsidebar}[2][]{\marginpar{%
\ifstrequal{#1}{}{}{\vspace*{#1}}%
\input{#2}}%
}
\newcommand{\addnextpagesidebar}[2][]{\afterpage{\addsidebar[#1]{#2}}}
\AtBeginDocument{%
\pagestyle{empty}
\color{body}
\raggedright
}

BIN
build/main.pdf Normal file

Binary file not shown.

2
creationdate.lua Normal file
View File

@ -0,0 +1,2 @@
os.remove("creationdate.timestamp")
io.output("creationdate.timestamp"):write(os.date("\\edef\\tempa{\\string D:%Y%m%d%H%M%S}\n\\def\\tempb{%z}"))

337
main.tex Normal file
View File

@ -0,0 +1,337 @@
%%%%%%%%%%%%%%%%%
% Sample CV From AltaCV template
%%%%%%%%%%%%%%%%%
%% If you need to pass whatever options to xcolor
\PassOptionsToPackage{dvipsnames}{xcolor}
%% If you are using \orcid or academicons
%% icons, make sure you have the academicons
%% option here, and compile with XeLaTeX
%% or LuaLaTeX.
% \documentclass[10pt,a4paper,academicons]{altacv}
%% Use the "normalphoto" option if you want a normal photo instead of cropped to a circle
% \documentclass[10pt,a4paper,normalphoto]{altacv}
\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
\usepackage{bookmark}
%% AltaCV uses the fontawesome5 and academicons fonts
%% and packages.
%% See http://texdoc.net/pkg/fontawesome5 and http://texdoc.net/pkg/academicons for full list of symbols. You MUST compile with XeLaTeX or LuaLaTeX if you want to use academicons.
% Change the page layout if you need to
\geometry{left=1.2cm,right=1.2cm,top=1cm,bottom=1cm,columnsep=0.75cm}
% The paracol package lets you typeset columns of text in parallel
\usepackage{paracol}
% Change the font if you want to, depending on whether
% you're using pdflatex or xelatex/lualatex
\ifxetexorluatex
% If using xelatex or lualatex:
\setmainfont{Times}
\setsansfont{Times}
\renewcommand{\familydefault}{\sfdefault}
\else
% If using pdflatex:
\usepackage[rm]{roboto}
\usepackage[defaultsans]{lato}
% \usepackage{sourcesanspro}
\renewcommand{\familydefault}{\sfdefault}
\fi
% ----- LIGHT MODE -----
\definecolor{SlateGrey}{HTML}{2E2E2E}
\definecolor{LightGrey}{HTML}{666666}
\definecolor{PrimaryColor}{HTML}{001F5A}
\definecolor{SecondaryColor}{HTML}{0039AC}
\definecolor{ThirdColor}{HTML}{F3890B}
\definecolor{BackgroundColor}{HTML}{E2E2E2}
\colorlet{name}{PrimaryColor}
\colorlet{tagline}{PrimaryColor}
\colorlet{heading}{PrimaryColor}
\colorlet{headingrule}{ThirdColor}
\colorlet{subheading}{SecondaryColor}
\colorlet{accent}{SecondaryColor}
\colorlet{emphasis}{SlateGrey}
\colorlet{body}{LightGrey}
\pagecolor{BackgroundColor}
% ----- DARK MODE -----
% \definecolor{BackgroundColor}{HTML}{242424}
% \definecolor{SlateGrey}{HTML}{6F6F6F}
% \definecolor{LightGrey}{HTML}{ABABAB}
% \definecolor{PrimaryColor}{HTML}{3F7FFF}
% \colorlet{name}{PrimaryColor}
% \colorlet{tagline}{PrimaryColor}
% \colorlet{heading}{PrimaryColor}
% \colorlet{headingrule}{PrimaryColor}
% \colorlet{subheading}{PrimaryColor}
% \colorlet{accent}{PrimaryColor}
% \colorlet{emphasis}{LightGrey}
% \colorlet{body}{LightGrey}
% \pagecolor{BackgroundColor}
% Change some fonts, if necessary
\renewcommand{\namefont}{\Huge\rmfamily\bfseries}
\renewcommand{\personalinfofont}{\small\bfseries}
\renewcommand{\cvsectionfont}{\LARGE\rmfamily\bfseries}
\renewcommand{\cvsubsectionfont}{\large\bfseries}
% Change the bullets for itemize and rating marker
% for \cvskill if you want to
\renewcommand{\itemmarker}{{\small\textbullet}}
\renewcommand{\ratingmarker}{\faCircle}
\begin{document}
\name{Иван Игоревич Овчинников}
\tagline{Разработчик}
\photoL{4cm}{IMG_1312}
\personalinfo{
\email{mail@iovchinnikov.ru}\smallskip
\phone{+7 (925) 189-32-29}
\location{Москва, Россия}\\
%\linkedin{N/A}
\github{ivan-igorevich}
\homepage{iovchinnikov.ru}
%% Own arbtrary detail with
%% \printinfo{symbol}{detail}[optional hyperlink prefix]
% \printinfo{\faPaw}{Hey ho!}[https://example.com/]
%% Declare your own field with
%% \NewInfoFiled{fieldname}{symbol}[optional hyperlink prefix] and use it:
\NewInfoField{gitlab}{\faGitlab}[https://gitlab.com/]
\gitlab{ivan-igorevich}
}
\makecvheader
\AtBeginEnvironment{itemize}{\small}
%% Set the left/right column width ratio to 6:4.
\columnratio{0.25}
% Start a 2-column paracol. Both the left and right columns will automatically
% break across pages if things get too long.
\begin{paracol}{2}
% ----- STRENGTHS -----
\cvsection{Сильные \\ стороны}
\cvtag{PostgreSQL}
\cvtag{Java Core}
\cvtag{JDBC}
\cvtag{C++}
\cvtag{CMake}
\cvtag{Conan}
\medskip
\cvtag{Командная работа}
\cvtag{Linux}
\cvtag{Бизнес-процессы}
\cvtag{Git}
\cvtag{\LaTeX}
\cvtag{ООП}
\cvtag{Terminal}
\cvtag{Docker}
\cvtag{Docker-compose}
\newline
\cvtag{Моделирование БД}
% ----- STRENGTHS -----
% ----- LEARNING -----
\cvsection{Обучался}
\cvtag{Java}
\cvtag{C++}
\cvtag{Verilog}
\cvtag{\LaTeX}
\cvtag{Git}
\cvtag{Agile}
\cvtag{SCRUM}
\cvtag{Docker}
% ----- LEARNING -----
% ----- LANGUAGES -----
\cvsection{Языки}
\cvlang{Русский}{Родной}\\
\divider
\cvlang{English}{Upper Intermediate}
%% Yeah I didn't spend too much time making all the
%% spacing consistent... sorry. Use \smallskip, \medskip,
%% \bigskip, \vpsace etc to make ajustments.
\smallskip
% ----- LANGUAGES -----
% ----- REFERENCES -----
% \cvsection{References}
% \cvref{Ref 1}{ref-1}
% \divider
% \cvref{Ref 2}{ref-2}
% \divider
% \cvref{Ref 3}{ref-3}
% \smallskip
% ----- REFERENCES -----
% ----- MOST PROUD -----
\cvsection{Больше \\ всего \\ горжусь}
\cvachievement{\faTrophy}{Смена профессии}{За неполный год освоился в новой для себя профессии, и перешёл от должности техника к должности инженера-программиста. За время работы в НПО ИТ закончил не менее пяти проектов для аппаратуры, три из которых на данный момент используются в полевых условиях, в двух из которых участвовал с момента старта}\\
% \divider
% \cvachievement{\faHeartbeat}{Another achievement}{more details about it of course}\\
% \divider
% \cvachievement{\faHeartbeat}{Another achievement}{more details about it of course}
% ----- MOST PROUD -----
% \cvsection{A Day of My Life}
% Adapted from @Jake's answer from http://tex.stackexchange.com/a/82729/226
% \wheelchart{outer radius}{inner radius}{
% comma-separated list of value/text width/color/detail}
% \wheelchart{1.5cm}{0.5cm}{%
% 6/8em/accent!30/{Sleep,\\beautiful sleep},
% 3/8em/accent!40/Hopeful novelist by night,
% 8/8em/accent!60/Daytime job,
% 2/10em/accent/Sports and relaxation,
% 5/6em/accent!20/Spending time with family
% }
% use ONLY \newpage if you want to force a page break for
% ONLY the current column
\newpage
%% Switch to the right column. This will now automatically move to the second
%% page if the content is too long.
\switchcolumn
% ----- ABOUT ME -----
\cvsection{Обо мне}
\sloppy
\begin{quote}
За неполный год освоился в новой для себя профессии, и перешёл от должности техника к должности инженера-программиста. За время работы в НПО ИТ закончил не менее пяти проектов для аппаратуры, три из которых на данный момент используются в полевых условиях, в двух из которых участвовал с момента старта. Хотел расти и развиваться, что невозможно в рамках описания аппаратуры на отечественной элементной базе. Тяготел к языкам высокого уровня, современным фреймворкам, облачным технологиям. В свободное время занимался самообразованием (посредством прохождения интерактивных курсов, участия в вебинарах и семинарах), а также преподавал начальный уровень Java в онлайн школе (чем занимаюсь до сих пор). В рамках работы в Российских Космических Системах выступал в роли программиста межотраслевой базы данных электронных компонентов, после ухода команды принял на себя роль архитектора и системного аналитика. На данный момент веду два проекта:
\begin{itemize}
\item планирование и учёт работы наземных комплексов управления космическими аппаратами
\item организация анализа телеметрической информации
\end{itemize}
в обоих проектах выступаю в роли эксперта в доменной области, связанной с сеансами связи и телеметрической информацией, системного аналитика, архитектора и тимлида. В силу этих обстоятельств технические знания теряют свою актуальность и требуют значительных обновлений.
\end{quote}
% ----- ABOUT ME -----
% ----- EXPERIENCE -----
\cvsection{Опыт}
\cvevent{
Ведущий специалист, начальник группы }{| АО Российские Космические Системы}{Май 2017 -- по н. вр.}{Москва}
\begin{itemize}
\item Построение архитектуры, планирование, моделирование хранилищ и написание информационных систем:
\begin{itemize}
\item Автоматизация планирования и проведения эксплуатационных мероприятий
\item Автоматизация планирования и проведения сеансов связи,
\item Автоматизация создания отчётной документации,
\item Автоматизация оценки состояния технических средств,
\item Организация внутреннего документооборота,
\item Формирование протоколов передачи данных.
\item \textbf{Используемые технологии:} Java, Spring, EclipseLink, PostgreSQL, yarg, Activiti, VAADIN.
\end{itemize}
\item Создание межотраслевой базы данных импортозамещения электронных компонентов космического приборостроения:
\begin{itemize}
\item Планирование создания составных частей космических аппаратов
\item Планирование создания технических средств из составных частей
\item Планирование комплектования изделий
\item Планирование и ведение документооборота по создаваемым изделиям
\item Планирование создания выходной документации по составным частям и изделиям
\item Бизнес-процессы согласования комплектования изделий и составных частей
\item \textbf{Используемые технологии:} Java, Spring, EclipseLink, PostgreSQL, yarg, Activiti, VAADIN.
\end{itemize}
\item Приём обработка и анализ телеметрической информации:
\begin{itemize}
\item Приём данных по сети, UDP,
\item Формирование параметрических показателей (калибровки, тарировки),
\item Формирование графического представления информации,
\item Подготовка и хранение данных в БД
\item \textbf{Используемые технологии:} C/C++, Qt5, OpenGL, PostgreSQL, AMQP, libtorrent, Conan, CMake
\end{itemize}
\item Внедрение в работу отдела системы контроля версий, менеджмент проектов и налаживание рабочих процессов распределённой разработки. Администрирование инфраструктуры отдела:
\begin{itemize}
\item Трекинг задач,
\item Менеджмент репозиториев,
\item Менеджмент артефактов,
\item Gitlab CI/CD (незначительно),
\item scrum-мастеринг
\item \textbf{Используемые технологии:} Git, Docker, Docker-compose, Gitlab, Mattermost, PostgreSQL, Nexus
\end{itemize}
\end{itemize}
\divider
\cvevent{Преподаватель Java, Декан факультета разработки на С++ }{| GeekBrains}{Ноябрь 2016 -- по н. вр.}{Москва, geekbrains.ru}
\begin{itemize}
\item Базовый и средний уровни Java Core (ООП, многопоточность, JDBC, Swing, JavaFX, java.io, коллекции, сокеты, исключения),
\item Базовый и средний уровень C/C++ (процедурное программирование, компиляция и сборка, ООП), авторство стартового курса по алгоритмам и структурам данных на С, ревью и правки материалов по сетевому программированию, нововведениям в современных стандартах C++11/14/17/20
\item Авторство программы обучения на факультете, экспертиза и ревью обучающих материалов, собеседование экспертов
\item Принятие управленческих решений на уровне экспертов и преподавателей, разработка направления развития факультета
\item разрешение конфликтных ситуаций со студентами, дополнительная мотивация
\item За всё время работы оценка преподавателя не опускалась ниже 4.92/5. Проведено более 70 потоков общим объёмом более 3000 студентов.
\end{itemize}
\divider
\cvevent{Инженер-программист }{| АО НПО ИТ}{Март 2015 -- Май 2017}{Королёв}
\begin{itemize}
\item Написание прошивок для микроконтроллеров Миландр, NXP:
\begin{itemize}
\item Опрос датчиков и периферийного оборудования,
\item Формирование внутренних посылок между частями системы
\item Написание имитаторов сигналов датчиков
\item Работа с протоколами передачи данных (UART, SPI, I2S, I2C, Ethernet)
\item \textbf{Используемые технологии:} C/С++, Keil
\end{itemize}
\item Описание аппаратуры FPGA:
\begin{itemize}
\item Формирование телеметрического кадра
\item Сбор информации от частей системы
\item Написание имитаторов формирования кадра
\item Работа с протоколами передачи данных (UART, SPI, I2S, I2C, Ethernet)
\item \textbf{Используемые технологии:} Verilog. Altera Quartus 9.0-13.1 (Flex10K, CycloneIII)
\end{itemize}
\item Написание пользовательских приложений, для приёма и расшифровки данных с аппаратуры.
\begin{itemize}
\item \textbf{Используемые технологии:} Visual Studio (C\#. Windows, UDP, Serial, Threading);
\end{itemize}
\item Внедрение в работу системы контроля версий Git, обучение коллег, настройка и администрирование локального менеджера репозиториев.
\end{itemize}
% ----- EXPERIENCE -----
% ----- EDUCATION -----
\cvsection{Образование}
\cvevent{Магистр, информационные системы и технологии }{| МГТУ \\ им. Н.Э.Баумана}{2021 -- по н. вр}{Москва}
\begin{itemize}
\item Сдал вступительные экзамены
\end{itemize}
\divider
\cvevent{Бакалавр, управление персоналом }{| Московская \\ финансово-промышленная академия}{2008 -- 2012}{Москва}
\begin{itemize}
\item Диплом
\end{itemize}
\divider
\cvevent{Разработчик FPGA }{| МГТУ им. Н.Э.Баумана}{2015}{Москва}
\begin{itemize}
\item Сертификат
\end{itemize}
% ----- EDUCATION -----
% ----- PROJECTS -----
% \cvsection{Projects}
% \cvevent{Project 1 }{\cvrepo{| \faGithub}{https://github.com/user/repo}\cvrepo{| \faGlobe}{https://repo-demo.com/}}{Mm YYYY -- Mm YYYY}{}
% \begin{itemize}
% \item Item 1
% \item Item 2
% \end{itemize}
% \divider
% \cvevent{Project 1 }{\cvrepo{| \faGitlab}{https://gitlab.com/user/repo}\cvrepo{| \faGlobe}{https://repo-demo.com/}}{Mm YYYY -- Mm YYYY}{}
% \begin{itemize}
% \item Item 1
% \item Item 2
% \end{itemize}
% ----- PROJECTS -----
\end{paracol}
\end{document}

45
sample.bib Normal file
View File

@ -0,0 +1,45 @@
@ARTICLE{Meyer2000,
AUTHOR={Bernd Meyer},
TITLE={A constraint-based framework for diagrammatic reasoning},
JOURNAL={Applied Artificial Intelligence},
VOLUME= {14},
ISSUE = {4},
PAGES= {327--344},
YEAR={2000}
}
@ARTICLE{Codishetal2000,
AUTHOR={M. Codish and K. Marriott and C.K. Taboch},
TITLE={Improving program analyses by structure untupling},
JOURNAL={Journal of Logic Programming},
VOLUME= {43},
ISSUE = {3},
PAGES= {251--263},
YEAR={2000}
}
@inproceedings{Huetal2000,
author = {J. Hu and H.R. Wu and A. Jennings and X. Wang},
title = {Fast and robust equalization: A case study},
booktitle = {Proceedings of the World Multiconference on Systemics, Cybernetics and Informatics, (SCI 2000), Florida, USA, 23-26 July 2000},
publisher = {International Institute of Informatics and Systemics},
address = {FL, USA},
pages = {398--403},
year = {2000}
}
@Book{Conway2000,
author = {Damian Conway},
title = {Object {O}riented {P}erl: {A} comprehensive guide to concepts and programming techniques},
publisher = {Manning Publications Co.},
year = {2000},
address = {Connecticut, USA}
}
@inproceedings{zou2013bilingual,
title={Bilingual Word Embeddings for Phrase-Based Machine Translation.},
author={Zou, Will Y and Socher, Richard and Cer, Daniel M and Manning, Christopher D},
booktitle={EMNLP},
pages={1393--1398},
year={2013}
}