38

I want to automatically enumerate the text rows of a table. Is there an option within tabular, or another package? (Of course I do not want the rules to be enumerated.)

lockstep
  • 250,273
Maesumi
  • 9,059

1 Answers1

40

First define your own counter -- in this case rowcount. Now you can use the the declaration by @{} to print out the counter:

Here the code:

\documentclass{article}
\usepackage{array}
\newcounter{rowcount}
\setcounter{rowcount}{0}
\begin{document}

\begin{tabular}{@{\stepcounter{rowcount}\therowcount.)\hspace*{\tabcolsep}}ll}
foo & bar\\
foo & bar\\
foo & bar\\
foo & bar\\
foo & bar\\
foo & bar\\
\end{tabular}

\end{document}

enter image description here


EDIT

The alignment of the row numbers can be down by adding a \makebox with a specific with and adjustment.

\makebox[3em][r]{\therowcount.)}

In this case the number rowcount will be printed in a box with a width of 3em and right aligned.

enter image description here


Colored Background

To get a colored background you can use packages like tcolorbox, framed, mdframed or adjustbox

Here an example with adjustbox. Unfortunately there is no fontcolor option.

In the newest of of adjustbox the author Martin Scharrer provided a new key fgcolor to setup the font color of the environment.

https://bitbucket.org/martin_scharrer/adjustbox/changeset/943f7cb95271

\documentclass{article}
\usepackage{array}
\usepackage{adjustbox}
\newcounter{rowcount}
\setcounter{rowcount}{0}
\usepackage[framemethod=tikz]{mdframed}
\begin{document}
\adjustbox{bgcolor=black, tabular=@{\stepcounter{rowcount}\makebox[3em][r]{\color{white}\therowcount.)}\hspace*{\tabcolsep}}>{\color{white}}l>{\color{white}}l}{% 
foo & bar\\
foo & bar\\
foo & bar\\
foo & bar\\
foo & bar\\
foo & bar\\
} 

\end{document}

enter image description here

David Carlisle
  • 757,742
Marco Daniel
  • 95,681