[Tex/LaTex] Reduce line height in p type table cells

spacingtables

I need to set a big table and want to compress it in a way that it fits on one page. The table contains a column of type p with text breaking over multiple lines. Now I want to reduce the overall line spacing. Usually, I'm using a \renewcommand{\arraystretch}{0.9} for that, but that does not seem to work for p columns. See the following example (I set the spacing to 0.5 to make my goal more clear):

\documentclass[ngerman]{scrbook}
\begin{document}
{
    \renewcommand{\arraystretch}{0.5} % this reduces the vertical spacing between rows
    \begin{table}
        \centering
        \begin{tabular}{l p{5cm}}
            \hline
            row one & 
                the quick brown fox jumps over the lazy dog. 
                the quick brown fox jumps over the lazy dog. 
                the quick brown fox jumps over the lazy dog. \\
            row two \\
            row three \\
            \hline
        \end{tabular}
    \end{table}
}
\end{document}

This produces the following result:

TableLineSpacing

Beside the spacing between the rows (green arrow), I would like to reduce the line spacing in between the "the quick brown fox" lines as well (red arrow). Any hints strongly appreciated.

Best Answer

The result is disastrous, in my opinion. But here it is, without extra packages and extra commands.

\documentclass[ngerman]{scrbook}
\begin{document}

\begin{table}
\renewcommand{\arraystretch}{0.5} % this reduces the vertical spacing between rows
\linespread{0.5}\selectfont\centering
\begin{tabular}{l p{5cm}}
\hline
row one &
  the quick brown fox jumps over the lazy dog.
  the quick brown fox jumps over the lazy dog.
  the quick brown fox jumps over the lazy dog. \\
  row two \\
  row three \\
\hline
\end{tabular}
\end{table}
\end{document}

Note that the setting to \baselinestretch (made by \linespread) and to \arraystretch are local to the table environment; you don't need to have them outside the environment which, on the other hand, makes a group so that the previous values will be reverted at \end{table}.

enter image description here

Related Question