Add bullet points to description lists

\documentclass{article}
\let\Item\item
\newcommand\SpecialItem{\renewcommand\item[1][]{\Item[\textbullet~\bfseries##1]}}
\renewcommand\enddescription{\endlist\global\let\item\Item}
\begin{document}
\SpecialItem
\begin{description}
  \item[Text] more text
  \item[and some] more text
  \item[] empty
\end{description}

\begin{description}
  \item[Text] more text
  \item[and some] more text
  \item[] empty
\end{description}

\end{document}

without setting \SpecialItem it will be a default list


The enumitem package mentions the following solution

\documentclass{article}
\usepackage{enumitem}
\newcommand\litem[1]{\item{\bfseries #1,\enspace}}
\begin{document}
 \begin{itemize}[label=\textbullet]
  \litem{Text} more text
 \end{itemize}

\end{document}

Obviously this is not much nicer than what you do already...


Using enumitem one can simplify the matter

\newenvironment{mydescription}
  {\description[before=\let\makelabel\bulletbfseriesmakelabel]}
  {\enddescription}
\newcommand\bulletbfseriesdescriptionlabel[1]{\textmd{\textbullet}~\textbf{#1}}

In the optional argument to \description one can add other customizations.

A more complicated way, that ensures one always uses the original enumitem provided \makelabel is

\newcommand{\changemakelabel}{%
  \let\enumitemmakelabel\makelabel
  \renewcommand\makelabel[1]{%
    \enumitemmakelabel{\normalfont\textbullet~\textbf{##1}}%
  }%
}

and then

\newenvironment{mydescription}
  {\description[before=\changemakelabel]}
  {\enddescription}

A perhaps simpler technique is changing the \descriptionlabel command; here's a way:

\documentclass{article}
\usepackage{enumitem}

\newcommand{\bulletdescriptionlabel}[1]{%
  \hspace\labelsep
  \normalfont
  \textbullet\ %
  \bfseries #1}

\newlist{mydescription}{description}{1}
\setlist[mydescription]
  {before=\let\makelabel\bulletdescriptionlabel}

\begin{document}
\begin{mydescription}
\item[title] test2
\end{mydescription}
\end{document}

One might want to simply patch the current \descriptionlabel command in a more abstract way, instead of having to look up the definition of \descriptionlabel.

\usepackage{etoolbox}
\let\bulletdescriptionlabel\descriptionlabel
\patchcmd\bulletdescriptionlabel
  {#1}
  {{\normalfont\textbullet\ }#1}
  {}{}

that is, getting a copy of \descriptionlabel and modifying it so that it typesets {\normalfont\textbullet\ } before the argument (which is the optional argument to \item).