# Spaces between rows and cols in a table - Better ways than mine?

I started using Latex recently and I put together 4 ways of changing the space in a table. Two general ways defining the general space between cols and rows as well as two ways of adding space between certain rows or cols. I was wondering if the 4 ways I use are the best or most common one to use to adjust space in a table?

Here is my simple example:

\begin{table}

\setlength{\tabcolsep}{6pt} % General space between cols (6pt standard)
\renewcommand{\arraystretch}{1} % General space between rows (1 standard)
% Add @{\hskip Xpt} to tabular to add space between certain columns
% Add [Xpt] after \\ of a certain row to add extra space before next row

\begin{tabular}{c@{\hskip 12pt}c}

% table content

\end{tabular}

\end{table}

-

I normally use changing tabcolsep and arraystretch, as you showed in the question:

\setlength{\tabcolsep}{6pt} % General space between cols (6pt standard)
\renewcommand{\arraystretch}{1} % General space between rows (1 standard)


I've had bad experiences with [Xpt] in very complex tables (multirows and multicols), and the syntax @{\hskip Xpt}... first time I see this!

Hope this helped!

-

Your described ways are correct. In the next steps I will quote the manual of array and the documentation of LaTeX2e source2e:

array

@{decl.}

Suppresses inter-column space and inserts decl. instead.

source2e:

ARRAY PARMETERS:

\arraycolsep

: half the width separating columns in an array environment

\tabcolsep

: half the width separating columns in a tabular environment

\arraystretch

: line spacing in array and tabular environments is done by placing a strut in every row of height and depth \arraystretch times the height and depth of the strut produced by an ordinary \strut commmand.

\extracolsep{WIDTH}

: for use inside an @ in the preamble. Causes a WIDTH space to be added between columns for the rest of the columns. This is in addition to the ordinary intercolumn space.

combination of array and source2e

In the macro \@array the line separator \\ is \let to the command \@arraycr.

\@argarraycr[LENGTH]

-
Special interest in \extracolsep{WIDTH}, here which doesn't appear in many of the other answers around the site and lets you force tables-within-tables together. – dmckee Apr 6 at 2:48

I always use tabcolsep and arraystretch for modifying spaces between rows and columns in a table. This works fine, even for complex table structures.

\setlength{\tabcolsep}{6pt}     % General space between columns (6pt standard)
\renewcommand{\arraystretch}{1} % General space between rows (1 standard)

-
Welcome to TeX SE! This just seems to repeat information provided in the question. Could you explain how this constitutes an answer? – cfr May 12 '15 at 2:36
Hi, probably you haven't noticed that the question asked whether the specified ways are the best or commonly used ones. That's why I replied to let people know that yes these are the common ones but don't know about whether they are the best ones. Cheers ! – Jakir Hussain Talukder May 12 '15 at 4:48
Well, 'I always use...' doesn't really show 'commonly used'. On the other hand, what would? A survey of TeX users? (And so what?) So that bit of the question may not really be answerable. But what does this add to the other answers? – cfr May 12 '15 at 12:50