# Is there a way to manually set the height of a bracket?

I am aware one can change the size of a single bracket to be slightly bigger than the object attached to it using \left\{<object>\right.

What I would really like to do though, is to manually set the exact height of a curly open bracket. (For example to \baselineskip).

Does anyone know how exactly the height of a bracket as compared to the contained object is determined? (One could then use a strut of appropriate height to force the behaviour of the bracket).

Or perhaps there is a completely different method for achieving the effect I am looking for, one that does not make use of the \right and \left commands at all?

-
I think what you're looking for is explained in this answer to a similar question. –  sr_ Aug 16 '12 at 12:36
–  Andrew Swann Aug 16 '12 at 12:42
Adapt David Carlise's answer, replacing 8.5 by 40 (and remembering to include this defniition between \makeatletter and \makeatother) –  Andrew Swann Aug 16 '12 at 12:48
if using computer modern fonts, the height of brackets (beyond the sizes where the brackets exist as complete glyphs) increases by fixed increments (i believe it's 6pt), so it will be difficult to exactly match "unusual" heights. to get the "defined" sizes, david carlisle has given the canonical answer. –  barbara beeton Aug 16 '12 at 14:34

You can use \bigl( to get a different size, or (in size order \Bigl(, \biggl(, \Biggl( the same commands with r at the end produce right delimiters or just \big( produces brackets of the same size as \bigl and \bigr, but with with mathord spacing.

\big is defined in plain TeX as

\def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}


so 8.5pt high. similar commands could be made for any size.

-
My apologies, but my knowledge of plain TeX is very limited. How would I have to change the above definition to use a previously defined length like \baselineskip in place of the 8.5? –  Psachnodaimonia Aug 17 '12 at 22:14
8.5\p@ is 8.5pt you could replace that by baselineskip or 5\baselineskip or any other length. because of the @ it needs to be between \makeatletter \makeatother or in a package file in latex. –  David Carlisle Aug 17 '12 at 22:16
I must be missing something very basic. When I include the above definition in my .sty file changing nothing but the name, and the number 9 instead of 8.5 I get a bracket that is exactly the same size as that produced by \big(. –  Psachnodaimonia Aug 19 '12 at 18:21
.5pt isn't much of a difference, the exact sizes available depend on the font (the first few sizes are designed brackets, then it will switch to adding a straight extender in the middle section) but this means the sizes go up in discrete units, with the actual available sizes depending on the font. Try it with 20pt to check it is working... –  David Carlisle Aug 19 '12 at 18:25