A curly brace with an asymmetric cusp

I am trying to write one set of equations implying the next, inline with text. What I would like to do is something like the following:

\documentclass{article}
\begin{document}
And so,
$$\left. \begin{array}[t]{l} a \\ b \\ c \end{array} \right\} \Rightarrow \left. \begin{array}[t]{l} d \\ e \\ f \end{array} \right\}$$
\end{document}


But instead of producing the desired result (bottom) it produces the top one.

Is there a different symbol I can use other than \}?

• Ow, non symmetrical braces! Looks ugly, in my opinion, of course. – Sigur Feb 2 '15 at 17:25
• My concern with symmetrical braces is that since it is inline, the \Rightarrow will not have the same baseline as the rest of the paragraph. – enthdegree Feb 2 '15 at 18:20
• Neither of them mean anything to me. What are you trying to convey with this notation? – percusse Feb 2 '15 at 18:28
• I'm trying to demo the computation of reducing a system of equations. i.imgur.com/fCbnd4p.png – enthdegree Feb 2 '15 at 18:32
• – Werner Feb 2 '15 at 18:33

It's fiddly, but it works. Using abraces you can align the entire construction vertically and then rotate/move it into place:

\documentclass{article}
\usepackage{abraces,graphicx}
\newcommand{\mrot}[1]{\rotatebox{90}{$#1\mathstrut$}}
\begin{document}
And so,
\raisebox{.8\baselineskip}{\rotatebox{-90}{$\setlength{\arraycolsep}{.5\arraycolsep} \begin{array}{@{}c@{}} \aunderbrace[lD1r]{\begin{array}{rrr} \mrot{d} & \mrot{e} & \mrot{f} \end{array}} \\ \mrot{\Rightarrow} \hspace{2.3\normalbaselineskip} \\ \aoverbrace[LU1R]{\begin{array}{rrr} \mrot{a} & \mrot{b} & \mrot{c} \end{array}} \end{array}$}}
\end{document}


I don't like the asymmetrical braces, but this is an opportunity to use TikZ:

The code:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,matrix,positioning,calc}

\tikzset{
mybrace/.style={
decorate,
decoration={brace,aspect=#1},
line width=1pt
}
}

\begin{document}

And so,
$$\left. \begin{array}{l} a \\ b \\ c \end{array} \right\} \Rightarrow \left. \begin{array}{l} d \\ e \\ f \end{array} \right\}$$

And so,
\begin{tikzpicture}[baseline=2.5ex,every node/.style={text depth=0.2ex,text height=1.3ex}]
\matrix[matrix of math nodes]
(mat1)
{
a \\
b \\
c \\
};
\matrix[matrix of math nodes,right=0.8cm of mat1]
(mat2)
{
d \\
e \\
f \\
};
\node[yshift=-0.8ex]
at ( $(mat1-1-1.east)!0.5!(mat2-1-1.west)$ )
{$\Rightarrow$};
\foreach \Valor in {1,2}
\draw[mybrace=0.25]
(mat\Valor-1-1.north east) -- (mat\Valor-1-1.north east|-mat\Valor-3-1.south east);
\end{tikzpicture}

\end{document}


I wouldn't use asymetrical brace, but just offset the brace with the array, which delarray is designed to make easy:

\documentclass{article}
\usepackage{delarray}
\begin{document}
And so,
$$\begin{array}[t].{l}\} a \\ b \\ c \end{array} \begin{array}[t]{@{}c@{}}\\{}\Rightarrow {}\\{}\end{array} \begin{array}[t].{l}\} d \\ e \\ f \end{array}$$
\end{document}


Quite hackish, but might be a start for people who know what they are doing (I just added \kern wherever I needed to make manual adjustments).

\documentclass{scrartcl}

\usepackage{mathtools,graphicx}

\makeatletter
\def\overspecialparenthesis#1{\mathop{\vbox{\ialign{##\crcr
\downspecialparenthfill\crcr\noalign{\nointerlineskip}
$\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}
\def\downspecialparenthfill{$\m@th\braceld\braceru\bracelu\leaders\vrule\hfill\bracerd$}
\newcommand\specialbrace[1]
{\rotatebox[origin=c]{270}{$\kern.3ex\overspecialparenthesis{\kern.6ex \m@th\rotatebox[origin=c]{90}{$\m@th#1$}}$}}
\makeatother

\begin{document}

And so,
$$\specialbrace{\begin{array}[t]{l} a \\ b \\ c \end{array}} \implies \specialbrace{\begin{array}[t]{l} d \\ e \\ f \end{array}}$$

\end{document}


PS: Of course this adds space between the last line and the rest of the paragraph (the part “above” the “middle” of the brace is too big).

I am sure you can get away with

\documentclass{article}
\begin{document}
And so, $(a,b,c)\Rightarrow (d,e,f)$
\end{document}

• I'm still sure :) – percusse Feb 2 '15 at 18:34

Without asymmetry:

\documentclass{article}
\usepackage{mathtools}
\newcommand*{\bunch}[3]{\left.\begin{matrix}{#1} \\ {#2} \\ {#3} \end{matrix}\right\}}
\begin{document}
$\bunch{a}{b}{c} \implies \bunch{d}{e}{f}$
\end{document}


• Why the braces around the parameters? – Gonzalo Medina Feb 2 '15 at 17:51
• The problem is the aliment. The OP wants to use it inline. – Sigur Feb 2 '15 at 17:51