I am using two custom list environments (itemize-compact and descriptionhang), which work fine on their own, but not when I nest them.
Please consider this MWE:
\documentclass[a4paper]{article}
\usepackage{letltxmacro}
\usepackage{xargs}
\usepackage{xifthen}
\usepackage{enumitem}
\usepackage{geometry}
\geometry{left=27.5mm,right=27.5mm,bottom=27.5mm,top=27.5mm}
%Line spacing
\usepackage{setspace}
\setstretch{1.115}
%Paragraph indentation & spacing
\usepackage{parskip}
\setlength{\parskip}{2.75ex plus 0.5ex minus 0.2ex}
%Itemize with less spacing
\newenvironment{itemize-compact}
{\vspace{-1.5ex plus 0.2ex}
\begin{itemize}
\setlength{\itemsep}{-1.5ex plus 0.2ex}}
{\end{itemize}}
%Description environment with newlines and bit of spacing after the item titles
\newenvironment{descriptionhang}{%
\begin{description}[labelsep=0pt]%
\LetLtxMacro{\olditem}{\item}%
\renewcommandx\item[2][1,2]{\olditem\ifthenelse{\isempty{##1}}{}{\hspace{13.5pt}\textbf{##1}}\ifthenelse{\isempty{##2}}{}{\ ##2}\hfill\\[3pt plus 0.75pt minus 1.75pt]}}%
{\end{description}}
\usepackage{lipsum}
\begin{document}
Itemize-compact non-nested:
\begin{itemize-compact}
\item Blah
\item Bleh
\item \lipsum[2]
\end{itemize-compact}
Itemize-compact nested in a descriptionhang:
\begin{descriptionhang}
\item[Hello world]
\lipsum[2]
\begin{itemize-compact}
\item Blah
\item Bleh
\item \lipsum[2]
\end{itemize-compact}
\item[Foobar]
\lipsum[2]
\end{descriptionhang}
\end{document}
This produces:
Notice that the itemize-compact environment which is nested in the descriptionhang produces an incorrect result. The bullets are in the right spot but the text is not.
Does anyone know how to fix this?

