[Tex/LaTex] LaTeX Awesome CV – Space after entries

awesome-cvline-spacingvspace

enter image description here
enter image description here

for some sections, i do not wish to put a bullet/description, however a space is automatically generated regardless if the bullet or description is filled out. i want to make this space only generate if i am using a bullet point. photos above show the extra spacing i'm referring to. never used LaTeX before so this is foreign to me.

the code for the section i think should be altered, from the awesome-cv.cls file, is as follows:

% Define an entry of cv information
% Usage: \cventry{<position>}{<title>}{<location>}{<date>}{<description>}
\newcommand*{\cventry}[5]{%
\vspace{-2.0mm}
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\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{\textwidth}}{\descriptionstyle{#5}}
\end{tabular*}%
}

full code as requested below:

% 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-darknight}
% 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}{false}

% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}

\makeatletter
\patchcmd{\@sectioncolor}{\color}{\mdseries\color}{}{}
\makeatother

%-------------------------------------------------------------------------------
%   PERSONAL INFORMATION
%   Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
% Available options: circle|rectangle,edge/noedge,left/right
% \photo[rectangle,edge,right]{profile}
\name{}{}
% \position{{\enskip\cdotp\enskip}}
\address{}

\mobile{}
\email{}
\homepage{}
% \github{posquit0}
% \linkedin{posquit0}
% \gitlab{gitlab-id}
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \extrainfo{extra informations}

% \quote{``Be the change that you want to see in the world."}


%-------------------------------------------------------------------------------
\begin{document}

% Print the header with above personal informations
% Give optional argument to change alignment(C: center, L: left, R: right)
\makecvheader[C]

% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
%\makecvfooter
% {\today}
% {Claud D. Park~~~·~~~Résumé}
% {\thepage}


%-------------------------------------------------------------------------------
%   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/projects.tex}
\input{resume/skills.tex}
\input{resume/presentation.tex}



%-------------------------------------------------------------------------------
\end{document}

the template is found here: https://www.overleaf.com/latex/templates/awesome-cv/dfnvtnhzhhbm

code for education section:

\cvsection{Education}


%-------------------------------------------------------------------------------
%   CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}

%---------------------------------------------------------
\cventry
{B.S. in Management Information Systems} % Degree
{Iowa State University} % Institution
{Ames, Iowa} % Location
{August 2014 - May 2018} % Date(s)
{}
%---------------------------------------------------------
\end{cventries}

Best Answer

Your search into the \cventry definition was correct. The issue you are having is basically that if the last argument of the \cventry command is empty, then you don't want the \multicolumn{...}{...}{...} to appear. Therefore, you need to wrap an if-else statement around it.

Try changing the original:

% Define an entry of cv information
% Usage: \cventry{<position>}{<title>}{<location>}{<date>}{<description>}
\newcommand*{\cventry}[5]{%
  \vspace{-2.0mm}
  \setlength\tabcolsep{0pt}
  \setlength{\extrarowheight}{0pt}
  \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{\textwidth}}{\descriptionstyle{#5}}%
  \end{tabular*}%
}

to:

% Define an entry of cv information
% Usage: \cventry{<position>}{<title>}{<location>}{<date>}{<description>}
\newcommand*{\cventry}[5]{%
  \vspace{-2.0mm}
  \setlength\tabcolsep{0pt}
  \setlength{\extrarowheight}{0pt}
  \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} \\}
    \if\relax\detokenize{#5}\relax\else % THIS LINE ADDED TO CHECK IF LAST ARGUMENT IS EMPTY
        \multicolumn{2}{L{\textwidth}}{\descriptionstyle{#5}}% ONLY DO THIS IF #5 IS NOT EMPTY
    \fi % END OF THE IF STATEMENT
  \end{tabular*}%
}

For illustration purposes, here is the default Awesome CV with the Education entry repeated twice (second time, contains an empty list): default Awesome CV showing empty list for \cventry

And this image is the exact same document with the if-else statement shown above: added if-statement to remove empty space in Awesome CV showing empty list for \cventry

EDIT: If you have multiple \cventrys within a section and a middle \cventry has nothing for its final argument (i.e. the % Description(s) of experience/contributions/knowledge stuff), then put a space or ~ there. Something like this: \cventry{..1st arg..}{..2n arg..}{..3rd arg..}{..4th arg..}{} becomes \cventry{..1st arg..}{..2n arg..}{..3rd arg..}{..4th arg..}{ }. This will keep enough space between the two \cventrys.

NOTE: There seems to be some type of hanging indent going one after the first entry (\cventry) in each section. I didn't look carefully for where this is coming from. I mention it here because you may notice the left-alignment is different for both entries under the section. This is an unrelated issue.