format mixed integers & floats with text styling (see )
- To: mathgroup at smc.vnet.net
- Subject: [mg82189] format mixed integers & floats with text styling (see [mg51433] )
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Sun, 14 Oct 2007 06:13:28 -0400 (EDT)
- Organization: Mathematics & Statistics, Univ. of Mass./Amherst
- Reply-to: murray at math.umass.edu
Two years ago in [mg51433] I posed this problem of formatting a table
column having a mixture of integers and approximate numbers in such a
way that the decimal point on the floats would be vertically aligned
with the implied decimal on the integers.
For example, here's the data for the table:
statNames = {"N", "Max", "Min", "Mean", "Std.dev.", "Median"};
statNumbers = {40, 103, 2, 56.8, 22.5, 59};
The object was to combine these into a properly formatted table starting
from:
(* original table *)
TableForm[Transpose[{statNames,statNumbers}]]
A good solution was proposed by Valeri Astanoff (sorry, I don't have the
message reference number):
pad[x_Integer]:=PaddedForm[x,3];
pad[x_Real]:=PaddedForm[x,4];
(* aligned table *)
TableForm[Transpose[{statNames, pad /@ statNumbers}]]
Now I need to complicate the problem by putting everything in a
non-default font, by using, e.g.,
fmtTxt[txt_]:=Style[txt, FontFamily -> "Arial",FontSize->12]
so that the TableForm expression is changed to:
(* formatted table *)
TableForm[Transpose[{fmtTxt/@statNames, fmtTxt/@ pad /@ statNumbers}]]
Unfortunately, this now breaks the nice vertical alignment. How can the
alignment of "aligned table" be restored but still use such text formatting?
--
Murray Eisenberg murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2859 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305