[Tex/LaTex] Underfull \hbox (badness 10000) in paragraph error

line-breakingspacingwarnings

I have the following source code to display a information in a specific format:

\newcommand{\headerrow}[2] {
    \begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}r}
        #1 & #2
    \end{tabular*}
}

\newcommand{\projectinfobullet}[4] 
{
    \item
    \headerrow{\textbf{#1}}{\textbf{#2}}
    \headerrow{\emph{#3}}{\emph{#4}}
}
\begin{itemize}
    \parskip=0.1em
    \projectinfobullet{A}{B}{C}{D}  %49
    \begin{itemize*}
        \item XXX   %51
        \item YYY
         \item ZZZ
    \end{itemize*}
\end{itemize}

I get the error:
Underfull \hbox (badness 10000) in paragraph at lines 49--51

EDIT: MWE

\documentclass[10pt,letterpaper]{article}
\usepackage[letterpaper,margin=0.75in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{mdwlist}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
%\usepackage{tgpagella}
\pagestyle{empty}
\setlength{\tabcolsep}{0em}

% format two pieces of text, one left aligned and one right aligned
\newcommand{\headerrow}[2]
{
    \begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}r}
        \raggedleft{#1} & \raggedright{#2}
    \end{tabular*}
}

\newcommand{\projectinfobullet}[4] 
{
    \item
    \headerrow{\textbf{#1}}{\textbf{#2}}
    \headerrow{\emph{#3}}{\emph{#4}}
}


\begin{document}

%TODO Get Customized date format done for your resume.

\hrule
\vspace{-0.4em}
\subsection*{RR}

\begin{itemize}
    \parskip=0.1em

    \projectinfobullet{A}{H}{S}{A}
    \begin{itemize*}
        \item XXX
        \item YYY
        \item AUU
    \end{itemize*}

\end{itemize}
\subsection*{Education}

\end{document}

Best Answer

Don't forget % at ends of lines:

\documentclass[10pt,letterpaper]{article}
\usepackage[letterpaper,margin=0.75in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{mdwlist}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
%\usepackage{tgpagella}
\pagestyle{empty}
\setlength{\tabcolsep}{0em}

% format two pieces of text, one left aligned and one right aligned
\newcommand{\headerrow}[2]
{%
    \begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}r}
        \raggedleft{#1} & \raggedright{#2}
    \end{tabular*}%
}

\newcommand{\projectinfobullet}[4] 
{%
    \item
    \headerrow{\textbf{#1}}{\textbf{#2}} % space neeed here
    \headerrow{\emph{#3}}{\emph{#4}}%
}


\begin{document}

%TODO Get Customized date format done for your resume.

\hrule
\vspace{-0.4em}
\subsection*{RR}

\begin{itemize}
    \parskip=0.1em

    \projectinfobullet{A}{H}{S}{A}
    \begin{itemize*}
        \item XXX
        \item YYY
        \item AUU
    \end{itemize*}

\end{itemize}
\subsection*{Education}

\end{document}

Note that the immediate cause of the warning (not an error) was the spurious white space, but the definition

\begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}r}
    \raggedleft{#1} & \raggedright{#2}

makes no sense, \raggedleft does not take an argument so \raggedleft{#1} does not set #1 ragged, it sets all the remaining document or current group, in this case the group ends at the & so no harm is done, but nothing is set ragged, an l column is a single line context, like \mbox so paragraph settings like \raggedright have no effect, just use

\begin{tabular*}{\linewidth}{l@{\extracolsep{\fill}}r}
    #1&#2%