6

下の図の表に多かれ少なかれ似ている表をドキュメントに作成しようとしています。

行ごとに色分けされた表の例

このテーブルは に水平に引き伸ばされることになっています\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}

結果は次のとおりです。

表形式のテーブルの例*

1 行おきの色付けは機能しますが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、色付けの開始行は無視され、最初の行から開始されます。

tabularx を使用したテーブルの例

今、私はアイデアを使い果たしました。助言がありますか?

4

1 に答える 1

9

修正ではなくハックです。最初の行に \hiderowcolors を追加してから、\showrowcolors で色をオンに戻します。コードを参照してください:

\rowcolors{3}{tableShade}{white}  %% start alternating shades from 3rd row
  \noindent\begin{tabularx}{\textwidth}{X X X X}%this can be {Xrrr} too
    \hiderowcolors 
     Something & foo & bar & baz \\
    \showrowcolors 
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
    Something & foo & bar & baz \\
\end{tabularx}
于 2011-04-12T00:19:07.810 に答える