Re: Brace, bracket pretty format needed
- To: mathgroup at smc.vnet.net
- Subject: [mg98660] Re: Brace, bracket pretty format needed
- From: dh <dh at metrohm.com>
- Date: Thu, 16 Apr 2009 04:10:18 -0400 (EDT)
- References: <grpigs$lpc$1@smc.vnet.net>
Hi, here is a function that I once copied from a Wolfram site, but I can no more tell exactly where. Anyway, the function ColorBrackets will color bracket and braces. TransformBrackets and FindBrackets are auxilliary functions. ==================================================== TransformBrackets[f_, expr_] := DisplayForm[FindBrackets[ToBoxes[expr], f]]; FindBrackets[startexpr_, f_] := Fold[Function[{expr, location}, ReplacePart[expr, f[expr[[Sequence @@ location]], Length[location]], location]], startexpr, Sort[Position[startexpr, RowBox[{a___, "{" | "[" | "(", b__, "]" | "}" | ")", c___}]], Length[#1] > Length[#2] &]]; ColorBrackets[expr_] := TransformBrackets[ StyleBox[AdjustmentBox[#1, BoxMargins -> {{0, 0}, {.5, .5}}], Background -> Hue[Mod[N[#2/10], 1], .5]] &, expr] ======================================================== Using this, you may create a button, that takes the selection and writes a new cell with the colored selection. E.g.: ================================================ Button["ColorBrackets", (nb = SelectedNotebook[]; SelectionCreateCell[nb]; SelectionMove[nb, All, Cell]; NotebookApply[nb, "ColorBrackets[\[SelectionPlaceholder] ]", All]; SelectionEvaluate[nb])] ================================================= Finally you may put this button in a palete. hope ths helps, Daniel meitnik wrote: > Hi > > Due to my visual limitations, trying to keep track of all the braces/ > brackets can become very frustrating for me. I need some button on a > palette that will indent and clean up the braces/brackets so I can > tell what is going on. The color change for unmatched stuff is good > but what I really want is a different color for each level of > brace,bracket use. Anyone please have such a critter to share? Thank > you >