Remove space before itemize
Remove the faulty \\
after #1
-- it does no good there. Leave an empty blank line to separate the items. In my point of view this however no really convincing way to use itemize
etc.
\documentclass{article}
\usepackage{enumitem}
\setlength{\parindent}{0pt}
\newcommand{\NewEntry}[2]{%
#1%
#2%
}
\begin{document}
\NewEntry{ENTRY}
{\begin{itemize}[topsep=0pt]
\item First Item
\item Second Item
\end{itemize}
}
\NewEntry{ENTRY}{%
\begin{itemize}[topsep=0pt]
\item First Item
\item Second Item
\end{itemize}
}
\end{document}
Some suggestions to improve this
\documentclass{article}
\usepackage{xparse}
\usepackage{enumitem}
\setlength{\parindent}{0pt}
\newlist{notopsepitemize}{itemize}{1}
\setlist[notopsepitemize,1]{label={\textbullet},topsep=0pt}
\ExplSyntaxOn
\clist_new:N \l_tonychief_item_clist
\NewDocumentCommand{\NewEntry}{O{}mm}{
\clist_set:Nn \l_tonychief_item_clist {#3}
#2
\begin{notopsepitemize}[#1]
\item
\clist_use:Nn \l_tonychief_item_clist {\item} %
\end{notopsepitemize}
}
\ExplSyntaxOff
\begin{document}
\NewEntry{ENTRY}{Item One, Item Two, Item Three, Item Four}%
\NewEntry[topsep=20pt]{Other ENTRY}{Item One, Item Two, Item Three, Item Four}%
\end{document}
If it is to be used with itemize
like this, here is an enumitem
way using before=Entry
\documentclass{article}
\usepackage{enumitem}
\setlength{\parindent}{0pt}
\begin{document}
\begin{itemize}[topsep=0pt,before=Entry]
\item First Item
\item Second Item
\end{itemize}
\end{document}
I agree with @Christian that a \par
is better than \\
and that in general it seems a rather odd way of constructing your \NewEntry
command.
However just for reference, you may use a negative space in the argument with the itemize:
\NewEntry{ENTRY}
{\vspace{-\baselineskip}
\begin{itemize}[topsep=0pt]
\item First Item
\item Second Item
\end{itemize}
}
Still, I would not recommend such a construction.
Try instead to see if you could make your command more "semantic".