How to typeset a wide table (typography)

First MWE:

\documentclass[twoside,a4paper,12pt]{article}
\setlength{\oddsidemargin}{9.6mm}
\setlength{\evensidemargin}{-0.4mm}
\setlength{\textwidth}{150mm}
\usepackage[
top    = 3.00cm,
bottom = 3.00cm]{geometry}
\usepackage{setspace}
\onehalfspacing
\usepackage{fancyhdr}
\pagestyle{fancy}
\cfoot{}
\usepackage{polyglossia}
\setmainlanguage{magyar}
\usepackage{soul}
\usepackage{color}
\usepackage{cancel}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{tikz}
\usepackage{tabularx}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\author{Nagy László}
\title{Elemzés}
\usepackage{hyperref,bookmark}
\begin{document}

\begin{longtable}{@{}lrrrc@{}} \toprule
Név (\footnotesize{Leírás})
&   Ref.
&   $x_i$
&   $\alpha_i$
&   Érték \\ \midrule \endhead
%
Betű nagyság
&   $0.87$
&   $$& 1.0 & \\ \multicolumn{5}{l}{\footnotesize{átlag középzóna magasság egyharmada.}}\\ % Betű szélesség & 1.06 & 4.53 & 1.0 & \\ \multicolumn{5}{l}{\footnotesize{átlag betűszélesség egyharmada}}\\ % Betű távolság & 0.99 & 5.20 & 1.0 & \\ \multicolumn{5}{l}{\footnotesize{átlag betűtávolság egyharmada}}\\ % Felső hurokszár &$$
&   $$& 1.0 & \\ \multicolumn{5}{l}{\footnotesize{átlag hurokhossz egyharmada}}\\ % Also hurokszár &$$
&   $$& 1.0 & \\ \multicolumn{5}{l}{\footnotesize{átlag hurokhossz egyharmada}}\\ % Ovál betű dőlés & 0.0° & 60.0° & 0.5 & \\ \multicolumn{5}{l}{\footnotesize{5 fokos tartományon belül}}\\ % Nemovál betű dőlés & 0.0° & 25.7° & 0.5 & \\ \multicolumn{5}{l}{\footnotesize{5 fokos tartományon belül}}\\ % Szótáv & 1.79 & 7.29 & 1.0 & \\ \multicolumn{5}{l}{\footnotesize{átlag szóköz egyharmada}}\\ % Tudatos sortáv & 1.30 & 4.14 & 0.5 & \\ \multicolumn{5}{l}{\footnotesize{átlag középzóna fele}}\\ % Nem tudatos sortáv & 1.30 & 4.31 & 0.5 & \\ \multicolumn{5}{l}{\footnotesize{átlag középzóna fele}}\\ % Sor irány & 1.30 &$$
&   $0.5$
&    \\
\multicolumn{5}{l}{\footnotesize{sorvég emelkedhet/süllyedhet fél középzónát}}\\
%
Sor alak
&   $$&$$
&   $0.5$
&    \\
\multicolumn{5}{l}{\footnotesize{alakja minden sorban azonos legyen}}\\
%
Kötöttség
&   $$&$$
&   $1.0$
&    \\
\multicolumn{5}{l}{\footnotesize{az első két sorban megállaptíott kategória maradjon}}\\
%
Kötésforma
&   $$&$$
&   $1.0$
&    \\
\multicolumn{5}{l}{\footnotesize{10\%-os eltolódás tényezőnként}}\\
%
Bal margó
&   $2.60$
&   $2.69$
&   $0.5$
&    \\
\multicolumn{5}{l}{\footnotesize{Egy középzóna magasságon belüli eltérés}}\\
%
Jobb margó
&   $7.81$
&   $26.62$
&   $0.5$
&    \\
\multicolumn{5}{l}{\footnotesize{Három középzóna magasságon belüli eltérés}}\\

\caption{Globális szabályosság}
\end{longtable}

\end{document}


Result:

Table structure is messed up, cannot see what value belongs to what column.

Second MWE:

\documentclass[twoside,a4paper,12pt]{article}
\setlength{\oddsidemargin}{9.6mm}
\setlength{\evensidemargin}{-0.4mm}
\setlength{\textwidth}{150mm}
\usepackage[
top    = 3.00cm,
bottom = 3.00cm]{geometry}
\usepackage{setspace}
\onehalfspacing
\usepackage{fancyhdr}
\pagestyle{fancy}
\cfoot{}
\usepackage{polyglossia}
\setmainlanguage{magyar}
\usepackage{soul}
\usepackage{color}
\usepackage{cancel}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{tikz}
\usepackage{tabularx}
\usepackage{fontspec}
\setmainfont{Times New Roman} % Szakdolgozat előírása!
\author{Nagy László}
\title{Elemzés}
\usepackage{hyperref,bookmark}
\begin{document}

\begin{longtable}{@{}llrrrc@{}} \toprule
Név
&   Leírás
&   Ref.
&   $x_i$
&   $\alpha_i$
&   Érték \\ \midrule \endhead
%
Betű nagyság
&   \footnotesize{átlag középzóna magasság egyharmada.}
&   $0.87$
&   $$& 1.0 & \\ % Betű szélesség & \footnotesize{átlag betűszélesség egyharmada} & 1.06 & 4.53 & 1.0 & \\ % Betű távolság & \footnotesize{átlag betűtávolság egyharmada} & 0.99 & 5.20 & 1.0 & \\ % Felső hurokszár & \footnotesize{átlag hurokhossz egyharmada} &$$
&   $$& 1.0 & \\ % Also hurokszár & \footnotesize{átlag hurokhossz egyharmada} &$$
&   $$& 1.0 & \\ % Ovál betű dőlés & \footnotesize{5 fokos tartományon belül} & 0.0° & 60.0° & 0.5 & \\ % Nemovál betű dőlés & \footnotesize{5 fokos tartományon belül} & 0.0° & 25.7° & 0.5 & \\ % Szótáv & \footnotesize{átlag szóköz egyharmada} & 1.79 & 7.29 & 1.0 & \\ % Tudatos sortáv & \footnotesize{átlag középzóna fele} & 1.30 & 4.14 & 0.5 & \\ % Nem tudatos sortáv & \footnotesize{átlag középzóna fele} & 1.30 & 4.31 & 0.5 & \\ % Sor irány & \footnotesize{sorvég emelkedhet/süllyedhet fél középzónát} & 1.30 &$$
&   $0.5$
&    \\
%
Sor alak
&   \footnotesize{alakja minden sorban azonos legyen}
&   $$&$$
&   $0.5$
&    \\
%
Kötöttség
&   \footnotesize{az első két sorban megállaptíott kategória maradjon}
&   $$&$$
&   $1.0$
&    \\
%
Kötésforma
&   \footnotesize{10\%-os eltolódás tényezőnként}
&   $$&$$
&   $1.0$
&    \\
%
Bal margó
&   \footnotesize{Egy középzóna magasságon belüli eltérés}
&   $2.60$
&   $2.69$
&   $0.5$
&    \\
%
Jobb margó
&   \footnotesize{Három középzóna magasságon belüli eltérés}
&   $7.81$
&   $26.62$
&   $0.5$
&    \\

\caption{Globális szabályosság}
\end{longtable}

\end{document}


Appears like this:

The obvious problem is that horizontal overflow. The right margin should be smaller.

The third example is the same as the second, except that I have specified the width of the description field manually:

\begin{longtable}{@{}lp{5cm}rrrc@{}} \toprule


The result is:

It seems to be the best, but there might be a better solution. The question is not just TeX, but also typography. How should I typeset a table like this? I know that I can rotate a page and put the table on a portrait page. But these tables are generated from a program, and sometimes the description will be wider than a page anyway. (It is rare, but it happens.) Is my third solution is the best? Is there a more professional approach?

-
You could use tabularx so that you can let one of the columns expand to fill the width of the page instead of fixing the width with the p{<len>} column type. –  Peter Grill Oct 25 '12 at 19:17
Can tabularx be combined with longtable? In reality, these tables are quite long. –  nagylzs Oct 25 '12 at 19:42
I would suggest to typeset the p column without justification (but don't know whether \raggedright would work). –  Christian Lindig Oct 25 '12 at 19:45
Also have a look at the tabu package which might be the most advanced package for tables out there. I think for really wide and long tables it should be landscape and expand over two (or more) pages. The best thing would obviously be to avoid these kind of tables by tweaking the information that's in there (but I realise how difficult that is). –  Jörg Oct 25 '12 at 20:05

I believe that your first idea can be still good, with a modification, which shouldn't be difficult to produce with the generating program:

\begingroup\singlespacing\selectfont
\renewcommand{\arraystretch}{1.2}
\newcommand{\leiras}[1]{%
\par\hangindent=1em \hangafter=0
\footnotesize\raggedright#1}

\begin{longtable}{@{}p{5cm}lrrrc@{}} \toprule
Név (Leírás)
&   Ref.
&   $x_i$
&   $\alpha_i$
&   Érték \\ \midrule \endhead
%
Betű nagyság
\leiras{átlag középzóna magasság egyharmada.}
&   $0.87$
&   $$& 1.0 & \\ % Betű szélesség \leiras{átlag betűszélesség egyharmada} & 1.06 & 4.53 & 1.0 & \\ % Betű távolság \leiras{átlag betűtávolság egyharmada} & 0.99 & 5.20 & 1.0 & \\ % Felső hurokszár \leiras{átlag hurokhossz egyharmada} &$$
&   
&   $1.0$
&    \\
[...]
\end{longtable}


The note is typeset below the main entry, with smaller type and leaving some space (adjust to suit, perhaps 5cm is too short).

The setting to \arraystretch is meant to give room to the rows.

I've also used XITS Math for the mathematical symbols and the numbers:

\usepackage{unicode-math}
\setmathfont{XITS Math}


-
may i suggest suppressing hyphenation? –  barbara beeton Oct 25 '12 at 20:15
@barbarabeeton \raggedright should do it (or at least highly discourage it); to the contrary \RaggedRight from ragged2e allows it. –  egreg Oct 25 '12 at 20:28
oops! you're correct. (it's been a long day.) –  barbara beeton Oct 25 '12 at 21:47
@barbarabeeton And it was only 5pm. :) –  egreg Oct 25 '12 at 21:56
yes, but i was up proofreading until 2am. (zzzzzz) –  barbara beeton Oct 25 '12 at 21:57