Gekleurde achtergrond bij tabelrij in LaTeX

Als je in LaTeX een tabel een achtergrondkleurtje wilt geven, is dat meestal niet zo lastig. Soms kan het echter lastig zijn, als je breedte van je tabel wilt specificeren. Hoe los je dat dan op?

Als je een standaard tabel hebt, is er niets moeilijks aan. Je voegt de packages ‘xcolor’ (met de optie ‘table’) en ‘colortbl’ toe aan je preamble. Een rij in je tabel kan je dan als volgt kleuren:

\begin{tabular}{|l l l|}
\hline
\rowcolor{gray!25}\textbf{Titel 1} & \textbf{Titel 2} \\ \hline \hline
1e cel & wat tekst \\ \hline
2e regel & nog wat tekst \\ \hline
\end{tabular}
LaTeX tabel 1

Breedte cel bepalen

Wil je zelf de breedte bepalen van een cel, dan kan je ‘p{}’ gebruiken; daarmee geef je aan dat in die kolom een paragraaf staat, zodat LaTeX de zinnen afbreekt waar nodig:

\begin{tabular}{|l p{3cm}|}
\hline
\rowcolor{gray!25}\textbf{Titel 1} & \textbf{Titel 2} \\ \hline \hline
1e cel & wat tekst \\ \hline
2e regel & nog wat tekst \\ \hline
\end{tabular}
LaTeX tabel 2

Breedte tabel instellen

Dit werkt allemaal prima. Als je nu zelf de totale breedte van de tabel wilt bepalen, moet je aan de slag met ‘tabular*’. Je geeft daar de breedte op, en door extra witruimte toe te voegen wordt de tabel zo wijd als nodig. Maar, ‘\rowcolor’ gedraagt zich nu vreemd. Het kleurt de witruimtes in de tabel niet:

\begin{tabular*}{0.5\linewidth}{|@{\extracolsep{\fill}}l p{3cm}|} \hline
\rowcolor{gray!25}\textbf{Titel 1} & \textbf{Titel 2} \\ \hline \hline
1e cel & wat tekst \\ \hline
2e regel & nog wat tekst \\ \hline
\end{tabular*}
LaTeX tabel 3

Dit is niet zo eenvoudig op te lossen. Aangezien je de breedte van de tabel hebt gespecificeerd, kan je een gekleurde rechthoek tekenen, die precies de goede grootte heeft:

\begin{tabular*}{0.5\linewidth}{|@{}l@{\extracolsep{\fill}}l p{3cm}|} \hline
\makebox[0pt][l]{\fboxsep0pt\colorbox{gray!25}{\strut\hspace*{0.5\linewidth}}}&
\textbf{Titel 1} & \textbf{Titel 2} \\ \hline \hline
&1e cel & wat tekst \\ \hline
&2e regel & nog wat tekst \\ \hline
\end{tabular*}
LaTeX tabel 4

Let op, dat je dus eigenlijk een extra kolom toevoegt en je nu dus alle rijen moet beginnen met een ‘&’!

Hiermee is de rij van je tabel toch goed gekleurd én kan je gebruik maken van ‘tabular*’.

Tags: , , , , , , , ,

Leave a Reply