Tabellenränder überdeckt von Füllfarbe Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Sindel

Tabellenränder überdeckt von Füllfarbe

Beitrag von Sindel »

Hallo,

Ich ärgere mich seit Tagen mit diesem Problem rum. Die Füllfarben der Zellen überdecken den Rahmen der Zellen oben und teilweise links. An anderer Stelle erscheint der Rahmen doppelt so dick.
Ich brauche leider thematisch bedingt Farben und Linien, zur Veranschaulichung eines Algorithmus.
Habe beim gewgeln nur einen ähnlichen Fall entdeckt, und da wurde es auf den PDF-Viewer geschoben. Bei mir taucht das allerdings mit okular, evince, acrobat-reader und im Drucker auf.
Die Beispiel-Tabelle sind habe ich ursprünglich mit dem Kile-Tabellen-Wizard erstellt und wenig verändert. (Ich selber bin seit Jahren Tex-Anfänger)
Danke fürs lesen soweit!
Grüße
Sindel
\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{color}
\usepackage{colortbl}

\newcommand{\mc}[3]{\multicolumn{#1}{#2}{#3}}
\definecolor{hgrau}{rgb}{0.85,0.85,0.85}

\begin{document}

\begin{tabular}{|*{4}{l|}}
\hline
\mc{1}{>{\columncolor{hgrau}}c|}{$x_0$} &
	\mc{1}{>{\columncolor{hgrau}}c|}{$x_1$} &
		\mc{1}{>{\columncolor{hgrau}}c|}{…} &
			\mc{1}{>{\columncolor{hgrau}}c|}{$x_{k-1}$} \\
\hline
\end{tabular}\\


zweiter Streich:\\
\begin{tabular}{lll}\cline{2-3}
% use packages: color,colortbl
\mc{1}{l|}{×} & \mc{1}{>{\columncolor{hgrau}}l|}{a} & \mc{1}{l|}{b}\\\cline{2-3}
\mc{1}{l|}{×} & \mc{1}{l|}{c} & \mc{1}{>{\columncolor{hgrau}}l|}{d}\\\cline{2-3}
× & × & ×
\end{tabular}

\end{document}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Dass die Linie links fehlt, hast Du Dir durch eine falsche \multicolumn-Anweisung selbst eingehandelt, wie Du rasch merkst, wenn Du dieselbe Tabelle einmal ohne Farbänderung angibst. Ansonsten verstehe ich nicht, warum Du überhaupt mit \multicolumn arbeitest. Jede Zelle einzeln von l nach c zu ändern, statt gleich alle Spalten in c zu deklarieren ist doch eher eine unnötige Fleißarbeit, statt zielgerichtet. Ebenso verstehe ich nicht, warum Du die Farbe von einzelnen Zellen nicht einfach mit \cellcolor setzt, wie das in der Anleitung von colortbl erklärt ist. Grob vereinfacht würde die erste Tabelle dann so gesetzt:
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenx}
\usepackage[table]{xcolor}

\definecolor{hgrau}{rgb}{0.85,0.85,0.85}

\begin{document}

\begin{tabular}{|*{4}{c|}}
\hline
\cellcolor{hgrau}$x_0$ & 
\cellcolor{hgrau}$x_1$ & 
\cellcolor{hgrau}\dots & 
\cellcolor{hgrau}$x_{k-1}$ \\
\hline
\end{tabular}
\end{document}
Je nach PDF-Viewer und Zoomfaktor bzw. Auflösung sieht das zwar noch immer falsch aus, der Ausdruck ist bei mir aber einwandfrei.

Bei \cline könnte es hingegen tatsächlich ein Problem geben. Das wird in der colortbl-Anleitung explizit in Abschnitt 10 erwähnt - einschließlich eines Rats, wie man die Linien alternativ realisieren kann.

Sindel

Beitrag von Sindel »

Danke KOMA!
multicolumn wird von Kile benutzt, und der kann besser LaTeX als ich, also hab ich ihm geglaubt :-)

colortbl habe ich gestern schon angeschaut, aber Sektion 10 verweist auf Sektion 9 mit diesem viel zu kompliziertem Regenbogenbeispiel das ich nicht verstanden hatte.
\hhline löst für mich das Problem. Hier mal das verbesserte zweite Beispiel
Allerdings ist in allen Vergrößerungen die Rahmenstärke (z.B. rechts und unten von "a") immer noch verschieden in den Viewern (gerade kein Drucker verfügbar). Ist da noch was falsch oder ist das eine Latex-Unsauberkeit?
Grüße
Sindel
verbesserung1:\\
\begin{tabular}{r*{3}{|c}|}\hhline{~--}
% use packages: color,colortbl
1 & \cellcolor{hgrau} a & b \\
\hhline{~--}
2 & c & \cellcolor{hgrau}d \\
\hhline{~--}
\mc{1}{>{}r}{} & \mc{1}{>{}l}{x} & \mc{1}{>{}l}{y}
\end{tabular}

Antworten