When should I use the tabbing
environment? Whenever I want to line things up I reach for tabular
, and I have this vague worry that I sometimes miss a simpler solution because I don't think in terms of tabbing
.
1 Answer
The following might shed some light on when to use which:
tabular
creates an unbreakable block, whiletabbing
can break across the page boundary.tabular
allows for creating specific alignments using the column specification, whiletabbing
assumes all tabs arel
eft aligned.tabular
can insert vertical and horizontal rules that span the width of the content, while it is very difficult to do withtabbing
.tabular
can make content wrap with thep
aragraph column specification, whiletabbing
doesn't allow for this.tabular
provides package support (througharray
andcolortbl
, for example) for formatting.
Here is a small example showing the first couple of differences (perhaps most notable differences) between tabular
and tabbing
- alignment and page breaking:
\documentclass{article}
\usepackage[paperheight=25\baselineskip,margin=1in]{geometry}% Just for this example
\begin{document}
\section{A section}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse fermentum turpis
sed nunc porttitor posuere. Nunc accumsan rutrum nisi ac varius. Donec nibh dolor,
dignissim sit amet dictum et, iaculis at nunc. Nunc non gravida nulla. Phasellus et
risus rutrum, facilisis quam sit amet, fermentum tortor. Nulla vel nisi mattis, tempor
orci et, luctus tellus. Pellentesque mauris nibh, pretium ac tincidunt non, vulputate
id lectus. Pellentesque blandit justo nisl, ut rhoncus dui gravida eget. Fusce accumsan
egestas placerat. Quisque aliquet fermentum ex, in dignissim massa. Mauris scelerisque
maximus augue eu lacinia. Nam vel porta arcu.
\noindent
\begin{tabular}{ l c r p{10em} }
\bfseries left & \bfseries center & \bfseries right & \bfseries paragraph \\
first & second & third & fourth \\
one & two & three & Lorem ipsum dolor sit amet, consectetur adipiscing elit. \\
een & twee & drie & Lorem ipsum dolor sit amet, consectetur adipiscing elit. \\
one & two & three & Lorem ipsum dolor sit amet, consectetur adipiscing elit. \\
een & twee & drie & Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\end{tabular}
\clearpage
\section{A section}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse fermentum turpis
sed nunc porttitor posuere. Nunc accumsan rutrum nisi ac varius. Donec nibh dolor,
dignissim sit amet dictum et, iaculis at nunc. Nunc non gravida nulla. Phasellus et
risus rutrum, facilisis quam sit amet, fermentum tortor. Nulla vel nisi mattis, tempor
orci et, luctus tellus. Pellentesque mauris nibh, pretium ac tincidunt non, vulputate
id lectus. Pellentesque blandit justo nisl, ut rhoncus dui gravida eget. Fusce accumsan
egestas placerat. Quisque aliquet fermentum ex, in dignissim massa. Mauris scelerisque
maximus augue eu lacinia. Nam vel porta arcu.
\begin{tabbing}
\bfseries left \quad \=\bfseries center \quad \=\bfseries right \quad \=\bfseries paragraph \kill
\bfseries first \> \bfseries second \> \bfseries third \> \bfseries fourth \\
one \> two \> three \> Lorem ipsum dolor sit amet, consectetur adipiscing elit. \\
een \> twee \> drie \> Lorem ipsum dolor sit amet, consectetur adipiscing elit. \\
one \> two \> three \> Lorem ipsum dolor sit amet, consectetur adipiscing elit. \\
een \> twee \> drie \> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\end{tabbing}
\end{document}
-
2
-
3@Mark and to get the best of both worlds, you might want to use the
longtable
package: It defines a new environment,longtable
, which has most of the features of the tabular environment, but produces tables which may be broken by TEX’s standard page-breaking algorithm. ctan– GyomMay 27, 2016 at 7:36 -