Use enumitem
for example and set the list parameters.
\setlist[enumerate,1]{label={(\arabic*)}}
will use (1)
for the first level, \roman*
will change to (i)
etc.
If you need the enumerate
package style, then use \usepackage[shortlabels]{enumitem}
however.
The settings are persistent after a \setlist
has been used.
Please note, that the 2nd
and deeper levels are not changed automatically!.
\documentclass{svmono}
\usepackage{enumitem}
\setlist[enumerate]{font={\bfseries}}% global settings, for all lists
\setlist[enumerate,1]{label={(\arabic*)}}
\begin{document}
\begin{enumerate}
\item Foo
\item Bar
\item Is
\item Absolutely necessary
\end{enumerate}
\begin{enumerate}
\item And
\item Now
\item For
\item Something
\item Completely
\item Different
\end{enumerate}
\setlist[enumerate,1]{label={(\roman*)}}
\begin{enumerate}
\item Foo
\item Bar
\item Is
\item Absolutely necessary
\end{enumerate}
\begin{enumerate}
\item And
\item Now
\item For
\item Something
\item Completely
\item Different
\end{enumerate}
\end{document}
NEW SOLUTION
This is a completely new solution using tcolorbox
.
This solution fulfills both of your goals.
You can adjust the dimensions and lengths to suit your taste.
\documentclass{article}
\RequirePackage[most]{tcolorbox}
\usepackage{lipsum}
\newcounter{fancycount}
\newenvironment{fancyenumerate}{%
\setcounter{fancycount}{0}
\begin{tcbitemize}[raster columns=1,
nofloat,
enhanced,
raster left skip=15.0mm,
sharp corners=all,
colback=white,
colframe=green,
toprule=0.0mm,
bottomrule=0.0mm,
leftrule=1.0mm,
rightrule=0.0mm,
boxsep=0.005\textwidth,
valign=center,
overlay={\coordinate (X) at ([xshift=-7.50mm]frame.west);
\node[draw,circle,minimum width=10.0mm,inner sep=0pt,color=green,fill=green,text=black] at (X) {\refstepcounter{fancycount}\LARGE\arabic{fancycount}};}]}{\end{tcbitemize}}
\begin{document}
\section{First List}
\begin{fancyenumerate}
\tcbitem Short.
\tcbitem Middle middle middle middle middle middle middle
middle middle middle middle.
\tcbitem \textbf{Long} \lipsum[1]
\end{fancyenumerate}
\section{Another List, Check that the Counter is Being Reset Properly}
\begin{fancyenumerate}
\tcbitem One.
\tcbitem Two\\ii,\\ II,\\ and 2.
\tcbitem Three.
\tcbitem Four.
\end{fancyenumerate}
\end{document}
ORIGINAL SOLUTION
I am using the \adjustbox
to vertically center the item labels.
I don't like the idea that longer text items will have to be put inside a
minipage
. Let me see whether I can automate this.
\documentclass{article}
\usepackage{enumitem}
\usepackage{tikz}
\newcounter{fancycount}
\let\realitem\item
\newcommand\fakeitem[1][\relax]{
\refstepcounter{fancycount}
\realitem[\adjustbox{valign=c}{\tikz{\node[circle, draw=green, minimum width=1cm, fill=green, anchor=west](a){\LARGE\arabic{fancycount}}; \draw[very thick, green] ([xshift=1cm]a.north) -- ([xshift=1cm]a.south)}#1}]
}
\newlist{fancylist}{enumerate}{1}
\setlist[fancylist]{
label=\arabic*., % label format
leftmargin=*, % indent labels
before=\let\item\fakeitem,
}
\usepackage{adjustbox}
\begin{document}
\begin{fancylist}
\item This is point 1.
\item This is point 2.
\item \begin{minipage}[c]{0.8\linewidth}
This is a big point which goes\\ on for lines.... too many
lines and\\ some more lines ends finally.
\end{minipage}
\end{fancylist}
\end{document}
Best Answer
I suggest you encase the multi-line items in
parbox
es of width\linewidth
.