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
).