Чередование цветов строк в табличной форме (* | x)?

Я пытаюсь создать в своем документе таблицу, которая более или менее напоминает таблицу на рисунке ниже:

Example table with alternate row coloring

Эта таблица должна быть растянута по горизонтали до \ textwidth . Моя первая попытка с tabular * выглядела так:

\documentclass{scrartcl}
\usepackage[table]{xcolor}
\definecolor{tableShade}{gray}{0.9}

\begin{document}
  \rowcolors{3}{tableShade}{white}  %% start alternating shades from 3rd row
  \noindent\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lrrr}
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
  \end{tabular*}
\end{document}

Результат был:

Example table with tabular*

Ну, альтернативная окраска строк работает, но tabular * вставляет пробел между столбцами, чтобы растянуть всю таблицу до \ textwidth . Просматривая своего компаньона LaTeX, я обнаружил, что tabularx должен иметь возможность делать то, что я хочу. Итак, я изменил свой код, чтобы он выглядел так:

\documentclass{scrartcl}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\definecolor{tableShade}{gray}{0.9}

\begin{document}
  \rowcolors{3}{tableShade}{white}  %% start alternating shades from 3rd row
  \noindent\begin{tabularx}{\textwidth}{Xrrr}
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
  \end{tabularx}
\end{document}

Теперь это больше похоже на это. Но tabularx игнорирует начальную строку для раскраски и начинает с первой строки.

Example table with tabularx

Теперь у меня закончились идеи. Есть предложения?

5
задан Martin Maciaszek 11 April 2011 в 12:37
поделиться