Re: Fwd: correction to: more than 1.5 hrs of trying: Grid
- To: mathgroup at smc.vnet.net
- Subject: [mg80885] Re: [mg80830] Fwd: correction to: more than 1.5 hrs of trying: Grid
- From: Carl Woll <carlw at wolfram.com>
- Date: Wed, 5 Sep 2007 02:42:45 -0400 (EDT)
- References: <acbec1a40708310407t5743b5d6m1e2963988ddeaab8@mail.gmail.com> <200709040734.DAA22971@smc.vnet.net>
Chris Chiasson wrote: >I have tested so many examples that I sent in the wrong ones: > >The two examples (which still don't work) should (probably) have been: >tab={{1,1,1,1000},{2,2,2000,2},{3,3000,3,3},{4000,4,4,4}} >Grid[tab,Alignment->{Baseline,{Center,Center,{Right}}}] >Grid[tab,Alignment->{Automatic,{{Right},1->Center,2->Center}}] > > One simple approach is to use Item: tab = {Item[#,Alignment->Center]&/@{1,1,1,1000}, Item[#,Alignment->Center]&/@{2,2,2000,2},{3,3000,3,3},{4000,4,4,4}}; Grid[tab, Alignment->Right] Using just Alignment is also possible: tab={{1,1,1,1000},{2,2,2000,2},{3,3000,3,3},{4000,4,4,4}}; Grid[tab, Alignment -> {Right, Baseline, {{1, 2}, {1, -1}} -> Center}] Carl Woll Wolfram Research > >On 8/31/07, Chris Chiasson <chris at chiasson.name> wrote: > > >>tab={{1,1,1,1000},{2,2,2000,2},{3,3000,3,3},{4000,4,4,4}} >> >>Grid[tab, Alignment -> {{Center, Center, Right}, Baseline}] >> >>The above command does not work to center the horizontal alignment of >>the **first two** grid rows, while right aligning the rest, which is >>what I want to do. >> >> >>The pattern-based structure (as opposed to the optional rule-based >>one) of the Alignment option is not very clear to me. The only >>detailed description of pattern based Grid option syntax is given for >>Background in >> >>tutorial/GridsRowsAndColumns >> >>. Alignment is a little more complicated because each cell has a >>top/bottm & left/right alignment instead of a (single Background) >>color, but I can't find a detailed description of its syntax. >> >> >>I haven't even been able to make it work using the rule based syntax: >> >>Grid[tab, >> Alignment -> {{{Right}, 1 -> Center, 2 -> Center}, Automatic}] >> >>The behavior is quite interesting, because the rest of the rows take >>on the behavior of 1 and 2, even though (I think) I never gave that >>instruction. >> >> >>Is something wrong with Alignment? Can anyone make the pattern based >>syntax work? Failing that, what about the rule based syntax? >> >> >>I am even desperate enough to code up a random alignment option test. >>Mathematica has a nasty habit of crashing (which I do not think is my >>fault) during the test, but none of the random alignments I have >>tested do what I want either. Perhaps the code will be useful to >>others for finding problems with Mathematica: >> >>nestRandom[f_, randomIntegerArg_, head_[args__], 1] := >> f @@ Table[ >> RandomChoice[ >> Unevaluated@{args}], {RandomInteger@randomIntegerArg}]; >>nestRandom[f_, randomIntegerArg_, head_[args__], >> maxIterations : _Integer : 10] := >> With[{newMaxIterations = maxIterations - 1}, >> f @@ Table[ >> Function[Null, RandomChoice@Unevaluated@{##}, HoldAllComplete] @@ >> Append[HoldComplete[args], >> Unevaluated@ >> f@nestRandom[f, randomIntegerArg, head[args], >> newMaxIterations]], {RandomInteger@randomIntegerArg}]] >>tab = {{1, 1, 1, 1000}, {2, 2, 2000, 2}, {3, 3000, 3, 3}, {4000, 4, 4, >> 4}} >>Table[CellPrint[ >> ExpressionCell[ >> With[{alignment = >> nestRandom[List, {0, 4}, {Center, Right, Automatic, Baseline}, >> 3]}, {i, Grid[tab, Alignment -> alignment], alignment}], >> "Item1Numbered"]], {i, 1000}]; >> >> >> >> >> >> >> >>-- >>http://chris.chiasson.name/ >> >> >> > > >-- >http://chris.chiasson.name/ > > > >
- References:
- Fwd: correction to: more than 1.5 hrs of trying: Grid Alignment problem ?
- From: "Chris Chiasson" <chris@chiasson.name>
- Fwd: correction to: more than 1.5 hrs of trying: Grid Alignment problem ?