This is the simplest solution (regarding syntax for text entry) I've been able to come up with. It makes use of the width function and its associated registers (see the Troff User's Manual and the groff manpage) and doesn't rotate entire table headers, but rather individual letters/words/phrases and treats the rotated entities as new letters.
Because the rotation is being done with embedded Postscript code, this solution works only with the Postscript device. .\" tbl eqn .\" ---------------------------------------------------------------- .ds 90 \R'w \w'\\$*''\ \h'\\n[rst]u'\ \X'ps: exec gsave currentpoint 2 copy translate \ -90 rotate neg exch neg exch translate'\ \Z'\\$*'\ \X'ps: exec grestore'\ \h'\\n[rsb]u'\ \x'-\\nwu+.5m' .\" ---------------------------------------------------------------- .sp 3c .TS tab(#); C | C | C | C | C | C | C | C | C | C C C C n | L | n | n | n | n | n | n | n | n n n n. \*[90 Lfnd. Nummer]#\ Gemeinde#\ \*[90 Personen über] \*[90 10 Jahre]#\ \*[90 Kinder unter] \*[90 10 Jahre]#\ xxx _ 123#Alakap#62#30#16#608#\(em#111#64#37#117#5#1450 .TE
