# Straight Braces

Can I make a variant of Latex Braces? In some equations system, I'd like to use a left brace like in this picture:

-
Welcome to TeX.sx! Usually, we don't put a greeting or a "thank you" in our posts. While this might seem strange at first, it is not a sign of lack of politeness, but rather part of our trying to keep everything very concise. Upvoting is the preferred way here to say "thank you" to users who helped you. – Guido Feb 18 '13 at 11:24
The larger braces are built with specifications hardwired in the cmex10.tfm file. Building a virtual font that has only the necessary bits seems the way to go, but it's not what I'd call easy. – egreg Feb 18 '13 at 11:25

Prepare the following file and call it scmex10.vpl

(FAMILY SCMEX)
(FACE O 352)
(CODINGSCHEME TEX MATH EXTENSION)
(DESIGNSIZE R 10.0)
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(CHECKSUM O 37254272422)
(FONTDIMEN
(SLANT R 0.0)
(SPACE R 0.0)
(STRETCH R 0.0)
(SHRINK R 0.0)
(XHEIGHT R 0.430555)
(EXTRASPACE R 0.0)
(DEFAULTRULETHICKNESS R 0.039999)
(BIGOPSPACING1 R 0.111112)
(BIGOPSPACING2 R 0.166667)
(BIGOPSPACING3 R 0.2)
(BIGOPSPACING4 R 0.6)
(BIGOPSPACING5 R 0.1)
)
(MAPFONT D 0
(FONTNAME cmex10)
(FONTAT R 1.0)
(FONTDSIZE R 10.0)
)
(CHARACTER O 70
(CHARWD R 0.888891)
(CHARDP R 0.900009)
(VARCHAR
(TOP O 76)
(MID O 74)
(BOT O 76)
(REP O 76)
)
(MAP
(SETCHAR O 70)
)
)
(CHARACTER O 74
(CHARWD R 0.888891)
(CHARDP R 1.800018)
(MAP
(SETCHAR O 74)
)
)
(CHARACTER O 76
(CHARWD R 0.888891)
(CHARDP R 0.300003)
(VARCHAR
(REP O 76)
)
(MAP
(SETCHAR O 76)
)
)


Run the following shell command

vptovf scmex10.vpl


In the working directory you'll find the files scmex10.tfm and scmex10.vf. In the same working directory prepare the following LaTeX file:

\documentclass{article}

\DeclareFontFamily{OMX}{scmex}{}
\DeclareFontShape{OMX}{scmex}{m}{n}{<->sfixed*scmex10}{}
\DeclareSymbolFont{straightbrace}{OMX}{scmex}{m}{n}
\DeclareMathDelimiter{\straightbrace}{\mathopen}{straightbrace}{'70}{straightbrace}{'70}

\begin{document}
$\left\straightbrace \begin{array}{@{\,}l} a = 1\\ b = 2\\ c = 3\\ d = 4\\ e = 5 \end{array} \right.$
\end{document}


This is the result:

If you really like it, then place the scmex10.tfm and scmex10.vf files in the proper place of your local TeX tree, and enjoy them. You might want to make a small .sty file out of the four \Declare... lines.

-
Thank you so much. Your example works fine here. I have changed some other math symbols, and when I try to put this code on my existung code, I get an error: Latex error: No room for a new \mathgroup . Can I use three or more Math FontFamily? – Fabricio Pio Feb 18 '13 at 12:38
@user13596 Use as few math fonts as possible. You can add to the scmex10 font, if you're so daring. – egreg Feb 18 '13 at 13:05
How can I add to the scmex10? – Fabricio Pio Apr 28 '13 at 14:12
@user13596 Along the same scheme; but a course in PL format would be quite long. With texdoc vptovf you can look at the allowed instructions. – egreg Apr 28 '13 at 15:08