Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am making a table that needs every other row colored. I thought to use this.

\usepackage[table,svgnames]{xcolor}
\rowcolors{1}{white}{gray!15}

But my table has vertical bars

\begin{tabular}{r|*{3}{p{2in}|}}

as well as horizontal bars

\multicolumn{1}{c}{\ }
&\multicolumn{1}{c}{Monday}  
&\multicolumn{1}{c}{Wednesday}  
&\multicolumn{1}{c}{Friday} \\ \hline

and the color makes them disappear (the bar from the "r|" stays as I have it above, but if I change the first multicolumn's "\" to "week" then this bar also disappears). Am I missing something; is there a way to keep the bars and get the colors behind them? (I have a 2010 TeX Live.)

share|improve this question
    
that is always a problem with the pdf viewer. The printed output should be ok. –  Herbert Jul 4 '11 at 14:08
    
You could give the tabu package a try. –  Thorsten Donig Jul 4 '11 at 17:24
    
I'm using beamer so the pdf viewer is where it will be seen. I'll look at tabu, thanks. –  Jim Hefferon Jul 4 '11 at 18:41
    
The tabu package isn't showing the row in color at all for me; maybe I'm doing it wrong but I copied the rowcolors example from the manual. I guess I'll stick with xcolor. (I am using AcrobatReader9 on Ubuntu 11; I believe that I need AR because I do some other things that seem to me to require it.) Thanks for the suggestions. –  Jim Hefferon Jul 4 '11 at 19:22
    
@Jim: Could you give a complete example of the kind of table you are trying to produce (ideally in a full minimal working example (MWE), which will make it easier for people to try out the code and come up with solutions). –  Jake Jul 7 '11 at 1:18
add comment

1 Answer

Before this stays completely unanswered, may I propose a solution that won't appeal to purists, but that might be a good approach for you.

There have been a couple of questions concerned with how TikZ matrices can be used as replacements for tables: TikZ matrix as a replacement for tabular, Horizontal row separation line in tikz matrix (like \hline in tabular). Since you're using beamer, you have TikZ loaded already, so this wouldn't require additional packages.

You can use matrix options like every even row/.style,every odd column/.style, row 1/.style and so on to adjust the appearance of your tables. Here's an example based on the snippets in your question:

tikz matrix as a table

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}

\tikzset{ 
    table/.style={
        matrix of nodes,
        row sep=-\pgflinewidth,
        column sep=-\pgflinewidth,
        nodes={
            rectangle,
            draw=black,
            align=center
        },
        minimum height=1.5em,
        text depth=0.5ex,
        text height=2ex,
        nodes in empty cells,
%%
        every even row/.style={
            nodes={fill=gray!20}
        },
        column 1/.style={
            nodes={text width=2em,font=\bfseries}
        },
        row 1/.style={
            nodes={
                fill=black,
                text=white,
                font=\bfseries
            }
        }
    }
}

\begin{tikzpicture}

\matrix (first) [table,text width=6em]
{
& Monday   & Tuesday & Wednesday & Thursday & Friday\\
1   & A & B & C & D & E \\
2   & F & G & H & J & K \\
3   & A & B & C & D & E \\
4   & F & G & H & J & K \\
};


\end{tikzpicture}
\end{document}
share|improve this answer
    
Thank you. I was unaware of that option. I'll check it out. –  Jim Hefferon Jul 7 '11 at 10:01
    
I really enjoyed your clear solution! –  All Mar 16 '12 at 17:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.