\documentclass{report}
\usepackage{enumitem}
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathreplacing}
\newcommand{\tikzmark}[1]{%
\tikz[overlay,remember picture,baseline] \node [anchor=base] (#1) {};}
\NewDocumentCommand\LeftBrace{%
O{}% #1 = draw options
O{0pt}% #2 = shift to be applied (optional, for use with nested braces)
m% #3 = top \tikzmark name
m% #4 = bottom \tikzmark name
m% #5 = node text
}{%
\begin{tikzpicture}[overlay,remember picture,baseline]
\coordinate (Top Start of Bracket) at ([shift={(#2-12pt,3pt)}]#3.north east);
\coordinate (Bottom Start of Bracket) at ([shift={(#2-12pt,2pt)}]#4.south east);
\draw[decorate,decoration={brace,raise=6pt, amplitude=1.0ex, mirror}, ultra thick, #1]
(Top Start of Bracket) --
node[xshift=-10pt, align=left, anchor=east, #1] {#5}
(Bottom Start of Bracket);
\end{tikzpicture}
}
\NewDocumentCommand\RightBrace{%
O{}% #1 = draw options
O{0pt}% #2 = shift to be applied (optional, for use with nested braces)
m% #3 = top \tikzmark name
m% #4 = bottom \tikzmark name
m% #5 = right most \tikzmark name
m% #6 = node text
}{%
\begin{tikzpicture}[overlay,remember picture,baseline]
\coordinate (Top Start of Bracket) at ($(#5)!([yshift=3pt]#3.north)!(#5)$);
\coordinate (Bottom Start of Bracket) at ($(#5)!([yshift=3pt]#4.south)!(#5)$);
\draw[decorate,decoration={brace,raise=6pt, amplitude=1.0ex, mirror}, ultra thick, #1]
([xshift=#2]Bottom Start of Bracket) --
node[xshift=10pt, align=left, anchor=west, #1] {#6}
([xshift=#2]Top Start of Bracket);
\end{tikzpicture}
}
\newcommand*{\BracektStubSize}{0.5em}%
\NewDocumentCommand\LeftBracket{%
O{}% #1 = draw options
O{0pt}% #2 = shift to be applied (optional, for use with nested braces)
m% #3 = top \tikzmark name
m% #4 = bottom \tikzmark name
m% #5 = node text
}{%
\begin{tikzpicture}[overlay,remember picture,baseline]
\coordinate (Top Start of Bracket) at ([shift={(#2-15pt,5pt)}]#3.north east);
\coordinate (Bottom Start of Bracket) at ([shift={(#2-15pt,2pt)}]#4.south east);
\draw[ultra thick, #1]
(Top Start of Bracket) --++(-\BracektStubSize,0)
|-(Bottom Start of Bracket) ;
\node[xshift=-5pt, align=left, anchor=east, #1]
at ($(Bottom Start of Bracket)!0.5!(Top Start of Bracket)$) {#5};
\end{tikzpicture}
}
\NewDocumentCommand\RightBracket{%
O{}% #1 = draw options
O{0pt}% #2 = shift to be applied (optional, for use with nested braces)
m% #3 = top \tikzmark name
m% #4 = bottom \tikzmark name
m% #5 = right most \tikzmark name
m% #6 = node text
}{%
\begin{tikzpicture}[overlay,remember picture,baseline]
\coordinate (Top Start of Bracket) at ($(#5)!([yshift=3pt]#3.north)!(#5)$);
\coordinate (Bottom Start of Bracket) at ($(#5)!([yshift=3pt]#4.south)!(#5)$);
\draw[ultra thick, #1]
([xshift=#2]Bottom Start of Bracket) -- ++(\BracektStubSize,0)
|- ([xshift=#2]Top Start of Bracket) ;
\node[xshift=10pt, align=left, anchor=west, #1]
at ($(Bottom Start of Bracket)!0.5!(Top Start of Bracket)$)
{#6};
\end{tikzpicture}
}
\SetLabelAlign{parright}{\strut\smash{\parbox[t]{\labelwidth}{\raggedleft#1}}}
\begin{document}
\begin{description}[leftmargin=!, labelwidth=1.75cm, align=right]
\item[A] \tikzmark{Mark A}First one \hfill \
Other text
\item[B] \tikzmark{Mark B}Second longer one\tikzmark{Right Most Node}\hfill \
Other text
\item[C] \tikzmark{Mark C}Second one \hfill \
Other text
\end{description}
\LeftBracket[blue][-7pt]{Mark A}{Mark C}{ABC}
\LeftBracket[red]{Mark B}{Mark C}{}
\RightBracket[violet][7pt]{Mark A}{Mark C}{Right Most Node}{EFG}
\RightBracket[olive]{Mark B}{Mark C}{Right Most Node}{}
\begin{description}[leftmargin=!, labelwidth=1.75cm, align=right]
\item[A] \tikzmark{Mark A}First one \hfill \
Other text
\item[B] \tikzmark{Mark B}Second longer one\tikzmark{Right Most Node}\hfill \
Other text
\item[C] \tikzmark{Mark C}Second one \hfill \
Other text
\end{description}
\LeftBrace[magenta][-7pt]{Mark A}{Mark C}{UVW}
\LeftBrace[cyan]{Mark B}{Mark C}{}
\RightBrace[orange][7pt]{Mark A}{Mark C}{Right Most Node}{XYZ}
\RightBrace[olive]{Mark B}{Mark C}{Right Most Node}{}
\end{document}
\documentclass{...}and ending with\end{document}. – Nov 08 '14 at 21:16