Here is an example,
Grid[Transpose@Insert[Transpose@Insert[Table[aaa,
{ab, {{1, 1}, {1, 2}, {1, 3}, {2, 3}}}, {ϕ, {0, π/
4, π/2, (3 π)/4, π}}], {0, π/4, π/2, (
3 π)/4, π}, 1], {Grid[{{"\\", ϕ}, {"x:y", "\\"}}],
"1:1", "1:2", "1:3", "2:3"}, 1], Frame -> All]
Notice the ugly slash header? That is because I don't know how to do it, so I do it ugly. I want a perfect slash separate "x:y" and "$\phi$", and maybe even multi-slash header.
edit
I temporarily accept Graumagier's answer, though like Kuba said "it is like an acrobatic". But it works and has some sort of flexibility, because the header is now a graphic, we can move the labels around using drawing tools for graphics for better appearance and also resize the size of the slash header easily by just dragging the graphic border. Finally, better solutions are welcome :)
Updata
write a function that generate a slash header graphic to make life easier.
Clear[corner];
corner[rowlabel_, columnlabel_, ratioofhtow_, fontsize_: Larger] :=
Module[{heightvec = {0, ratioofhtow}, widthvec = {1, 0}},
Graphics[{Line[{heightvec, widthvec}],
Text[Style[rowlabel, "StandardForm", fontsize],
0.5*(heightvec + widthvec) - 0.25*heightvec],
Text[Style[columnlabel, "StandardForm", fontsize],
0.5*(heightvec + widthvec) + 0.25*widthvec]},
AspectRatio -> Automatic, ImageSize -> Tiny]]
So now
TableForm
might give a more pleasant output. TryTableForm[ Table[aaa, {ab, {{1, 1}, {1, 2}, {1, 3}, {2, 3}}}, {\[Phi], {0, \[Pi]/4, \[Pi]/2, (3 \[Pi])/4, \[Pi]}}], TableHeadings -> {{"1:1", "1:2", "1:3", "2:3"}, {0, \[Pi]/4, \[Pi]/2, (3 \[Pi])/4, \[Pi]}}]
. $\endgroup$