9

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 \}?

a set of equations implying the next

6
  • 4
    Ow, non symmetrical braces! Looks ugly, in my opinion, of course.
    – Sigur
    Feb 2, 2015 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. Feb 2, 2015 at 18:20
  • Neither of them mean anything to me. What are you trying to convey with this notation?
    – percusse
    Feb 2, 2015 at 18:28
  • I'm trying to demo the computation of reducing a system of equations. i.imgur.com/fCbnd4p.png Feb 2, 2015 at 18:32
  • 1
    Related: How can I create a new extensible symbol?
    – Werner
    Feb 2, 2015 at 18:33

6 Answers 6

4

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

enter image description here

\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}
7

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

enter image description here

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}
5

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

enter image description here

\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}
3

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}

enter image description here

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

2

I am sure you can get away with

\documentclass{article}
\begin{document}
And so, $(a,b,c)\Rightarrow (d,e,f)$
\end{document}
1
  • 3
    I'm still sure :)
    – percusse
    Feb 2, 2015 at 18:34
1

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}

enter image description here

2
  • 1
    Why the braces around the parameters? Feb 2, 2015 at 17:51
  • The problem is the aliment. The OP wants to use it inline.
    – Sigur
    Feb 2, 2015 at 17:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.