Probleme beim Zeileneinfärben

Tabellen und Grafiken erstellen und anordnen


lukaz
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 7. Mär 2019, 16:55
Wohnort: Luzern, Schweiz

Probleme beim Zeileneinfärben

Beitrag von lukaz »

Hallo zusammen

Das Zellen einfärben bereitet mir einige Schwierigkeiten.
Ich habe eine neue Umgebung definiert:
% neue Umgebung
\NewEnviron{testumgebung}
	{	\newpage
		\begin{tabularx}{\textwidth}{
			|p{0.05\linewidth}
			|p{0.35\linewidth}
			|p{0.3\linewidth}
			|p{0.3\linewidth}|
		}
	\hline
	Nr. 1&\multicolumn{3}{r|}{\LARGE{Testdokument}}\\
	\hline
	\multicolumn{2}{|p{0.4\linewidth}|}{\cellcolor{colorone}\textbf{INFO1}:\newline
			Text}
	&\multicolumn{2}{|p{0.6\linewidth}|}{\cellcolor{colortwo!50}\textbf{INFO2:}\newline
		Text}\\
	\hline
	\BODY
	\end{tabularx}
	}
% Ende der neuen Umgebung 


Es treten keine Probleme auf, wenn ich die Umgebung so verwende:
\begin{testumgebung}
\end{testumgebung}
Wenn ich jedoch die Umgebung "befülle" verzieht sich die Tabelle & die Zellen sind nicht mehr flächendeckend gefüllt.
\begin{testumgebung}
1.&Text&$a^2$&text
\end{testumgebung}
Kennt jemand die Ursache dieses Problemes?

Besten Dank schon jetzt für die Auskunft :)

Hier noch das vollständige Minimalbeispiel:
\documentclass[paper=210mm,297mm, pagesize=pdftex]{scrbook}
\setlength{\pdfpagewidth}{\paperwidth}
\setlength{\pdfpageheight}{\paperheight}
\KOMAoptions{twoside=false}


\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{tabularx}
\usepackage{ltablex}
\usepackage{environ}
\usepackage{multicol}

\renewcommand{\arraystretch}{2}
\definecolor{colorone}{rgb}{0.8,0.8,0.8}
\definecolor{colortwo}{rgb}{0.4,0.4,0.4}

\NewEnviron{testumgebung}
	{	\newpage
		\begin{tabularx}{\textwidth}{
			|p{0.05\linewidth}
			|p{0.35\linewidth}
			|p{0.3\linewidth}
			|p{0.3\linewidth}|
		}
	\hline
	Nr. 1&\multicolumn{3}{r|}{\LARGE{Testdokument}}\\
	\hline
	\multicolumn{2}{|p{0.4\linewidth}|}{\cellcolor{colorone}\textbf{INFO1}:\newline
			Text}
	&\multicolumn{2}{|p{0.6\linewidth}|}{\cellcolor{colortwo!50}\textbf{INFO2:}\newline
		Text}\\
	\hline
	\BODY
	\end{tabularx}
	}

\begin{document}
\KOMAoptions{pagesize,paper=landscape,DIV=20}
\begin{testumgebung}
\end{testumgebung}

\begin{testumgebung}
1.&Text&$a^2$&text
\end{testumgebung}
\end{document}
Dateianhänge
Testumgebung.pdf
(47.12 KiB) 142-mal heruntergeladen

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Mein Änderungsvorschlag ist zwar keine Antwort auf Deine Frage, sorgt aber für die gewünschte Füllung der Zellen.
\documentclass[paper=210mm:297mm, pagesize=pdftex]{scrbook}% , durch : ersetzt
\setlength{\pdfpagewidth}{\paperwidth}
\setlength{\pdfpageheight}{\paperheight}
\KOMAoptions{twoside=false}

\usepackage[table]{xcolor}% ergänzte Option in der Anleitung nachlesen
\usepackage{ltablex}% lädt tabularx
\usepackage{environ}
\usepackage{multicol}

\renewcommand{\arraystretch}{2}
\definecolor{colorone}{rgb}{0.8,0.8,0.8}
\definecolor{colortwo}{rgb}{0.4,0.4,0.4}

\newcolumntype{P}[1]{>{\hsize=#1\hsize}X}

\NewEnviron{testumgebung}
   {   \newpage
      \begin{tabularx}{\textwidth}{% Abschnitt 4.3 in tabularx.pdf
         |P{.05}
         |P{.35}
         |*2{P{.3}|}
      }
   \hline
   Nr. 1&\multicolumn{3}{r|}{\LARGE Testdokument}\\% https://texwelt.de/wissen/fragen/1849
   \hline
   \multicolumn{2}{|p{0.4\linewidth}|}{\cellcolor{colorone}\textbf{INFO1}:\newline
         Text}
   &\multicolumn{2}{|p{0.6\linewidth}|}{\cellcolor{colortwo!50}\textbf{INFO2:}\newline
      Text}\\
   \hline
   \BODY
   \end{tabularx}
   }

\begin{document}
\KOMAoptions{pagesize,paper=landscape,DIV=20}
\begin{testumgebung}
\end{testumgebung}

\begin{testumgebung}
1.&Text&$a^2$&text
\end{testumgebung}
\end{document}
Eine Alternative zu ltablex wäre xltabular.

lukaz
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 7. Mär 2019, 16:55
Wohnort: Luzern, Schweiz

Beitrag von lukaz »

Ich danke Ihnen für die schnelle Antwort. Ich habe mich gefühlte Ewigkeiten mit diesem Problem herumgeschlagen. Ihre Lösung funktioniert super :)

Antworten