-3

I'm working on my CV and I stumbled upon nice template, I started to update the document with my details, but I have a problem, my jobs descriptions are longer than the initial template text, so I need to reduce the space between the sections and reduce the space between the title and the the rest of the doc so everything will fit in nicely in one page.

I've uploaded the template to overleaf: https://www.overleaf.com/read/hktjxsfzpcfp

To be more specific:

  1. I want to reduce the space between the title (developer-name) and the rest of document.
  2. Reduce the space between the bubbles section and MyExperience section.
  3. Reduce the space between MyExperience and MyEducation.

Any help will be appreciated, thanks!


UPDATE: Adding the code here for easier access:

main.tex:

\documentclass[9pt]{developercv} % Default font size, values from 8-12pt are recommended

%----------------------------------------------------------------------------------------

\begin{document}

%----------------------------------------------------------------------------------------
%   TITLE AND CONTACT INFORMATION
%----------------------------------------------------------------------------------------

\begin{minipage}[t]{0.45\textwidth} % 45% of the page width for name
    \vspace{-\baselineskip} % Required for vertically aligning minipages
    
    % If your name is very short, use just one of the lines below
    % If your name is very long, reduce the font size or make the minipage wider and reduce the others proportionately
    \colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Alyx}}}}} % First name
    
    \colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Vance}}}}} % Last name
    
    \vspace{6pt}
    
    {\huge Web App Architect} % Career or current job title
\end{minipage}
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the first row of icons
    \vspace{-\baselineskip} % Required for vertically aligning minipages
    
    % The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
    % Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want
    \icon{MapMarker}{12}{Black Mesa East}\\
    \icon{Phone}{12}{+1 123 456 789}\\
    \icon{At}{12}{\href{mailto:alyx@vance.me}{alyx@vance.me}}\\ 
\end{minipage}
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the second row of icons
    \vspace{-\baselineskip} % Required for vertically aligning minipages
    
    % The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
    % Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want
    \icon{Globe}{12}{\href{https://alyx.vance.me}{alyx.vance.me}}\\
    \icon{Github}{12}{\href{https://github.com/alyxvance}{github.com/alyxvance}}\\
    \icon{Twitter}{12}{\href{https://twitter.com/@alyxvance}{@alyxvance}}\\
\end{minipage}

\vspace{0.5cm}

%----------------------------------------------------------------------------------------
%   INTRODUCTION, SKILLS AND TECHNOLOGIES
%----------------------------------------------------------------------------------------

\cvsect{Who Am I?}

\begin{minipage}[t]{0.4\textwidth} % 40% of the page width for the introduction text
    \vspace{-\baselineskip} % Required for vertically aligning minipages
    
    \lorem \lorem \lorem \lorem \lorem\\ % Dummy text
\end{minipage}
\hfill % Whitespace between
\begin{minipage}[t]{0.5\textwidth} % 50% of the page for the skills bar chart
    \vspace{-\baselineskip} % Required for vertically aligning minipages
    \begin{barchart}{5.5}
        \baritem{JavaScript}{60}
        \baritem{PHP}{100}
        \baritem{SASS/LESS}{70}
        \baritem{Bootstrap}{70}
        \baritem{Git}{40}
        \baritem{LaTeX}{60}
    \end{barchart}
\end{minipage}

\begin{center}
    \bubbles{5/Eclipse, 6/git, 4/Office, 3/Inkscape, 3/Blender}
\end{center}

%----------------------------------------------------------------------------------------
%   EXPERIENCE
%----------------------------------------------------------------------------------------

\cvsect{Experience}

\begin{entrylist}
    \entry
        {2017 -- 3/2018}
        {Front-end developer}
        {Big Corporation Name Inc.}
        {\lorem \lorem \lorem\\ \texttt{node.js}\slashsep\texttt{Vue.js}\slashsep\texttt{Electron}}
    \entry
        {2015 -- 2018\\\footnotesize{part time}}
        {Full stack developer}
        {Famous Eshop Inc.}
        {\lorem\lorem\\ \texttt{PHP}\slashsep\texttt{JS}\slashsep\texttt{MariaDB}\slashsep\texttt{Linux}}
    \entry
        {2013 -- 2014\\\footnotesize{part time}}
        {Junior PHP Developer}
        {example.com}
        {\lorem\lorem\\ \texttt{PHP}\slashsep\texttt{Laravel}}
\end{entrylist}

%----------------------------------------------------------------------------------------
%   EDUCATION
%----------------------------------------------------------------------------------------

\cvsect{Education}

\begin{entrylist}
    \entry
        {2013 -- 2017}
        {Master's Degree}
        {Another University Name}
        {\lorem\lorem\lorem}
    \entry
        {2014}
        {Postgraduate Diploma}
        {A University Name}
        {\lorem\lorem}
    \entry
        {2007 -- 2013}
        {Bachelor's Degree}
        {A University Name}
        {\lorem\lorem}
\end{entrylist}

%----------------------------------------------------------------------------------------
%   ADDITIONAL INFORMATION
%----------------------------------------------------------------------------------------

\begin{minipage}[t]{0.3\textwidth}
    \vspace{-\baselineskip} % Required for vertically aligning minipages

    \cvsect{Languages}
    
    \textbf{English} - native\\
    \textbf{German} - proficient\\
    \textbf{Polish} - rudimentary
\end{minipage}
\hfill
\begin{minipage}[t]{0.3\textwidth}
    \vspace{-\baselineskip} % Required for vertically aligning minipages
    
    \cvsect{Hobbies}
    
    I love... \lorem
\end{minipage}
\hfill
\begin{minipage}[t]{0.3\textwidth}
    \vspace{-\baselineskip} % Required for vertically aligning minipages
    
    \cvsect{Non profit}
    
    I help... \lorem
\end{minipage}

%----------------------------------------------------------------------------------------

\end{document}

developer.cls:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Developer CV
% LaTeX Class
% Version 1.0 (28/1/19)
%
% This class originates from:
% http://www.LaTeXTemplates.com
%
% Authors:
% Jan Vorisek (jan@vorisek.me)
% Based on a template by Jan Küster (info@jankuester.com)
% Modified for LaTeX Templates by Vel (vel@LaTeXTemplates.com)
%
% License:
% The MIT License (see included LICENSE file)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%----------------------------------------------------------------------------------------
%   CLASS CONFIGURATION
%----------------------------------------------------------------------------------------

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{developercv}[2019/01/28 Developer CV class v1.0]

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}} % Pass through any options to the base class
\ProcessOptions\relax % Process given options

\LoadClass{extarticle} % Load the base class

%----------------------------------------------------------------------------------------
%   PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------

\setlength{\parindent}{0mm} % Suppress paragraph indentation

\usepackage[hidelinks]{hyperref} % Required for links but hide the default boxes around links

\newcommand{\lorem}{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.} % Dummy text

\pagestyle{empty} % No headers or footers

\usepackage{moresize} % Provides more font size commands (\HUGE and \ssmall)

%----------------------------------------------------------------------------------------
%   PAGE LAYOUT
%----------------------------------------------------------------------------------------

\usepackage{geometry} % Required for adjusting page dimensions and margins

\geometry{
    paper=a4paper, % Paper size, change to letterpaper for US letter size
    top=1.50cm, % Top margin (WAS 1.75cm)
    bottom=1.50cm, % Bottom margin (WAS 1.75cm)
    left=2cm, % Left margin
    right=2cm, % Right margin
    headheight=0.75cm, % Header height
    footskip=1cm, % Space from the bottom margin to the baseline of the footer
    headsep=0.5cm, % Space from the top margin to the baseline of the header
    %showframe, % Uncomment to show how the type block is set on the page
}

%----------------------------------------------------------------------------------------
%   FONTS
%----------------------------------------------------------------------------------------

\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters

\usepackage[default]{raleway}
%\usepackage[defaultsans]{droidsans}
%\usepackage{cmbright}
%\usepackage{fetamont}
%\usepackage[default]{gillius}
%\usepackage{roboto}

\renewcommand*\familydefault{\sfdefault} % Force the sans-serif version of any font used

%------------------------------------------------

\usepackage{fontawesome} % Required for FontAwesome icons

% Command to output an icon in a black square box with text to the right
\newcommand{\icon}[3]{% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
    \vcenteredhbox{\colorbox{black}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box
    \hspace{0.2cm}% Whitespace
    \vcenteredhbox{\textcolor{black}{#3}}% Text
}

%----------------------------------------------------------------------------------------
%   GRAPHICS DEFINITIONS
%---------------------------------------------------------------------------------------- 

\usepackage{tikz} % Required for creating the plots
\usetikzlibrary{shapes, backgrounds}
\tikzset{x=1cm, y=1cm} % Default tikz units

% Command to vertically centre adjacent content
\newcommand{\vcenteredhbox}[1]{% The only parameter is for the content to centre
    \begingroup%
        \setbox0=\hbox{#1}\parbox{\wd0}{\box0}%
    \endgroup%
}

%----------------------------------------------------------------------------------------
%   CHARTS
%---------------------------------------------------------------------------------------- 

\newcounter{barcount}

% Environment to hold a new bar chart
\newenvironment{barchart}[1]{ % The only parameter is the maximum bar width, in cm
    \newcommand{\barwidth}{0.35}
    \newcommand{\barsep}{0.2}
    
    % Command to add a bar to the bar chart
    \newcommand{\baritem}[2]{ % The first argument is the bar label and the second is the percentage the current bar should take up of the total width
        \pgfmathparse{##2}
        \let\perc\pgfmathresult
        
        \pgfmathparse{#1}
        \let\barsize\pgfmathresult
        
        \pgfmathparse{\barsize*##2/100}
        \let\barone\pgfmathresult
        
        \pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)}
        \let\barx\pgfmathresult
        
        \filldraw[fill=black, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth);
        
        \node [label=180:\colorbox{black}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {};
        \addtocounter{barcount}{1}
    }
    \begin{tikzpicture}
        \setcounter{barcount}{0}
}{
    \end{tikzpicture}
}

%------------------------------------------------

\newcounter{a}
\newcounter{b}
\newcounter{c}

% Command to output a number of automatically-sized bubbles from a string in the format of '<size>/<label>', e.g. \bubbles{5/Eclipse, 6/git, 4/Office, 3/Inkscape, 3/Blender}
\newcommand{\bubbles}[1]{
    % Reset counters
    \setcounter{a}{0}
    \setcounter{c}{150}
    
    \begin{tikzpicture}[scale=3]
        \foreach \p/\t in {#1} {
            \addtocounter{a}{1}
            \bubble{\thea/2}{\theb}{\p/25}{\t}{1\p0}
        }
    \end{tikzpicture}
}

% Command to output a bubble at a specific position with a specific size
\newcommand{\bubble}[5]{
    \filldraw[fill=black, draw=none] (#1,0.5) circle (#3); % Bubble
    \node[label=\textcolor{black}{#4}] at (#1,0.7) {}; % Label
}

%----------------------------------------------------------------------------------------
%   CUSTOM SECTIONS
%----------------------------------------------------------------------------------------

% Command to output section title headings
\newcommand{\cvsect}[1]{% The only parameter is the section text
    \vspace{\baselineskip} % Whitespace before the section title
    \colorbox{black}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title
}

%----------------------------------------------------------------------------------------
%   ENTRY LIST
%----------------------------------------------------------------------------------------

\usepackage{longtable} % Required for tables that span multiple pages
\setlength{\LTpre}{0pt} % Remove default whitespace before longtable
\setlength{\LTpost}{0pt} % Remove default whitespace after longtable

\setlength{\tabcolsep}{0pt} % No spacing between table columns

% Environment to hold a new list of entries
\newenvironment{entrylist}{
    \begin{longtable}[H]{l l}
}{
    \end{longtable}
}

\newcommand{\entry}[4]{% First argument for the leftmost date(s) text, second is for the bold entry heading, third is for the bold right-aligned entry qualifier and the fourth is for the entry description
    \parbox[t]{0.175\textwidth}{% 17.5% of the text width of the page
        #1 % Leftmost entry date(s) text
    }%
    &\parbox[t]{0.825\textwidth}{% 82.5% of the text width of the page
        \textbf{#2}% Entry heading text
        \hfill% Horizontal whitespace
        {\footnotesize \textbf{\textcolor{black}{#3}}}\\% Right-aligned entry qualifier text
        #4 % Entry description text
    }\\\\}

% Command to output a separator slash between lists, e.g. '  /  '
\newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}}
Ron
  • 1,744
  • 6
  • 27
  • 53

1 Answers1

3

Since you have the source for developercv.cls, you can make changes in it. Like @samcarter_is_at_topanswers.xyz commented below, first rename developercv.cls to e.g., developercvron.cls so that you can easily go back to the old version and so that people asking questions about the original developercv.cls are not misled from answers specific to your modifications.

I want to reduce the space between the title (developer-name) and the rest of document.

Do you mean the space between "Web App Architect" and "Who am I?"?

In line 43 of main.tex, you have:

\vspace{0.5cm}

Ether change this to a smaller number, or remove the line completely.

Reduce the space between the bubbles section and MyExperience section.

Reduce the space between MyExperience and MyEducation.

On line 173 of developercv.cls, you have

\vspace{\baselineskip} % Whitespace before the section title

Comment that line out or change the \vspace parameter.

Note that this space is inserted before each \cvsect, so it will not only change these headings, but all of them in the document. If you want more space in other places, you may need to add a \vspace{...} manually before other \cvsect calls in main.tex. However, I would probably avoid this, so that the document looks consistent.

Robert
  • 7,394
  • 40
  • 45
  • 64
  • 1
    `Since you have the source for developercv.cls, you can make changes in it.` Please, please, please suggest at least another name for the modified file. It is really a nightmare to have several different version of the same file name floating around and then user come to Q&A sites and nobody will know which version they use. There are good reasons this is a core principle in the latex project public license (lppl does not apply developercv.cls, but nevertheless...) – samcarter_is_at_topanswers.xyz Sep 21 '20 at 08:31
  • @samcarter_is_at_topanswers.xyz Yes, good point. I didn't find `developercv.cls` in my Texlive distribution, so I assumed OP had a local copy anyways. – Robert Sep 21 '20 at 13:30
  • With packages from ctan/texlive the risk of people using a randomly modified versions found somewhere on the internet is usually lower. But *because* this class is not in texlive, it is even more important to not spread modified versions. For example if I encounter a question using files not in texlive, google will usually find some random version that was used in a github project or similar - this might or might not be the same version as the OP, making debugging much more difficult. – samcarter_is_at_topanswers.xyz Sep 21 '20 at 13:42