[Tex/LaTex] Coloring rows with longtable

colortablesxetex

I am using longtable to draw a table that spans a few pages. I also added code to alternate colors for rows in the table.

  1. Is there a way to colorize the first row with a different color?
  2. How can I ensure that the caption string is not colorized?

My MWE is below

\PassOptionsToPackage{table}{xcolor}
\documentclass{book}
\usepackage{fontspec}
\usepackage{longtable}

\renewcommand{\baselinestretch}{1.5}
\usepackage{titlesec}

\newcounter{magicrownumbers}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}
\usepackage[dvipsnames]{xcolor}

\definecolor{light-gray}{HTML}{E5E4E2}
\definecolor{light-cyan}{HTML}{E0FFFF}


\begin{document}
\def\arraystretch{1}
\begin{center}
\rowcolors{1}{light-cyan}{light-gray}
\begin{longtable}{|p{.10\textwidth}| p{.98\textwidth}| p{.10\textwidth}|} 

\hline
serial num. & sutra & sutra number   \\
\hline
\rownumber & foo &1-1-56 \\
\hline
\rownumber  & bar & 1-1-57  \\
\hline
\caption{caption for this table}
\end{longtable}
\end{center}
\end{document}

Output from processing .tex file

Best Answer

You can change row colour with \rowcolor{} for the header rows and use \hiderowcolors and \showrowcolors to avoid colouring the caption.

For example:

\documentclass{article}
\usepackage{longtable}
\usepackage[dvipsnames,table]{xcolor}

\definecolor{light-gray}{HTML}{E5E4E2}
\definecolor{light-cyan}{HTML}{E0FFFF}

\begin{document}
\rowcolors{1}{light-cyan}{light-gray}
\begin{longtable}{|*{3}{p{.3\textwidth}|}}
  \hiderowcolors
  \caption{Fine caption}\\
  \showrowcolors
  \hline
  \rowcolor{magenta}Head 1 & Head 2 & Head 3\\\hline\endfirsthead
  \hline
  \rowcolor{yellow}Head 1 & Head 2 & Head 3\\\hline\endhead
  \hline\endfoot
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
  Content 1 & Content 2 & Content 3\\
\end{longtable}
\end{document}

colouring tables

Note that I take no responsibility for failures of typographical aesthetics in this answer which should be understood as demonstrating how to implement a purely hypothetical set of desiderata.

That is, I don't recommend this and wouldn't do it, but if you must, you can.

Related Question