tabularx in multicols-Umgebung - horizontale Linien zu kurz

Tabellen und Grafiken erstellen und anordnen


Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

tabularx in multicols-Umgebung - horizontale Linien zu kurz

Beitrag von Seban »

Hallo zusammen,

Um tabellenartige Auflistungen nebeneinander zu erzeugen, habe ich die multicols-Umgebung verwendet. Bisher klappte das auch super, doch jetzt sollen die Tabellen mit Linien versehen werden. Leider sind die horizontalen Linien zu kurz.
Bild


Ich weiß blöderweise nicht woran es liegen könnte, hat jemand eine Idee?

Viele Grüße & Danke für's Lesen,
Seban

\documentclass[
   a4paper,
   11pt
]{scrreprt}


\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc} 

\usepackage{multicol}			% Mehrspaltiger Text
	\setlength{\columnsep}{34pt}		% Abstand zw. Spalten
\usepackage{tabularx}			% Für zentrierte Spalten definierter Breite
\usepackage{booktabs}			% ua. Zeilenabstände in Tabelle generieren (\addlinespace)



\begin{document}


\begin{table}
	\newcolumntype{L}{>{\raggedright\arraybackslash}b{0.5\columnwidth}}
	\newcolumntype{R}{>{\raggedleft\arraybackslash}p{0.5\columnwidth}}

	\footnotesize
	\begin{multicols}{2}

		\begin{tabularx}{\columnwidth}{|L|R|}\hline
			\textbf{Motor} 					&\\\hline
			Bezeichnung 					& xy\\
											& xfhfhfg\\
											& jzgidaufj\\\hline
			Hersteller						& irgendwer\\\hline
			Nennleistung					& fhfghfgh\\
											& cgjhfghgfh\\
											& fgnhgfjhg\\\hline
			Trägheitsmoment					& fghgfhfghfh\\
											& fhgfhfghfghg\\
											& fnjghnjghngngdh\\\hline
			Treibstoff						& fghfghf\\\hline\addlinespace[6pt]
			\hline													
			\textbf{Motorsteuerung}			&\\\hline
			Bezeichnung						& lsdyfvsdoij\\\hline
			Hersteller						& luighioöjhio\\\hline
			Version							& izgiphpohz89n9\\
											& fgjgj\\\hline\addlinespace[6pt]
			\hline
			\textbf{Synchrongeneratoren}	&\\\hline
			Bezeichnung						& siehe oben\\\hline
			Hersteller						& cghfg\\\hline
			Nennleistung					& siehe oben\\\hline
			Scheinleistung					& siehe oben\\\hline
			Nennfrequenz 					& hkgu\\\hline
			Nenndrehzahl 					& sfdgdfhgfth\\\hline
		\end{tabularx}
		
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Hier beginnt die zweite Textspalte

		\begin{tabularx}{\columnwidth}{|L|R|}\hline
			\textbf{AVR}					&\\
			Bezeichnung						& gjghjg\\
											& gjhhgj\\
			Hersteller						& gdhjhjj.\\
			Version							& gdjghj \\
											& ghjghj \\
											& ghj\\\hline\addlinespace[6pt]
			\hline
			\textbf{Regelung}			&\\
			Bezeichnung						& ghj\\
											& gjhhgdjgjh\\
			Hersteller						& dfgshfthstg\\
			Version							& hjkhjkj\\\hline\addlinespace[6pt]
			\hline
			\textbf{Schutzeinrichtung}		&\\
			Bezeichnung						& tgdjhgdjz\\
			Hersteller						& ghjdgj\\
			Version							& sdgdfhtjh\\\hline\addlinespace[6pt]
			\hline
			\textbf{Eigenbedarf}			&\\
			Scheinleistung					& k.A.\\
			Nennspannung					& fdthfthfg\\
			Nennfrequenz					& xdfgdbg\\
			Leistungsaufnahme				& k.A.\\\hline
		\end{tabularx}
	
	\end{multicols}
\end{table}


\end{document}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Die horizontalen Linien haben entsrpechend dem Argument von tabularx die Länge \columnwidth. Bei jeder Deiner Spalten wird neben der vorgegebenen Textbreite zusätzlich noch links und rechts je ein \tabcolsep eingefügt. Die beiden Spalten sind dann zusammen 4\tabcolsep breiter als \columnwidth.
Ändere die Spaltendefinition in
\newcolumntype{L}{>{\raggedright\arraybackslash\hspace{0pt}}%
  b{\dimexpr0.5\columnwidth-2\tabcolsep\relax}} 
\newcolumntype{R}{>{\raggedleft\arraybackslash\hspace{0pt}}%
  p{\dimexpr0.5\columnwidth-2\tabcolsep\relax}} 
\hspace{0pt} sorgt dafür, dass auch das erste Wort in einer Zelle geteilt wird, wenn nötig.

Schau außerdem mal in die Doku zu booktabs. Lass die vertikalen Linien weg und verwende weniger horizontale. Statt \hline kannst Du \toprule, \midrule und \bottomrule nutzen.

Gruß
Elke

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Hallo Elke,

Vielen Dank für deine Hilfe!

Ganz weg ist die Lücke mit deinem Tipp aber leider noch nicht, ein kleines bisschen fehlt noch. Hast du eine Idee woran das liegen könnte?
Bild



Die Doku zu booktabs lese ich mir gleich mal durch, sieht auf den ersten Blick sehr sinnvoll aus.

Grüße,
Seban

Hier noch mal der Code mit Elkes Anpassung:
\documentclass[
   a4paper,
   11pt
]{scrreprt}


\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage{multicol}         % Mehrspaltiger Text
   \setlength{\columnsep}{34pt}      % Abstand zw. Spalten
\usepackage{tabularx}         % Für zentrierte Spalten definierter Breite
\usepackage{booktabs}         % ua. Zeilenabstände in Tabelle generieren (\addlinespace)



\begin{document}


\begin{table}
%   \newcolumntype{L}{>{\raggedright\arraybackslash}b{0.5\columnwidth}}
%   \newcolumntype{R}{>{\raggedleft\arraybackslash}p{0.5\columnwidth}}

\newcolumntype{L}{>{\raggedright\arraybackslash\hspace{0pt}}%
  	b{\dimexpr0.5\columnwidth-2\tabcolsep\relax}}
\newcolumntype{R}{>{\raggedleft\arraybackslash\hspace{0pt}}%
  	p{\dimexpr0.5\columnwidth-2\tabcolsep\relax}} 

   \footnotesize
   \begin{multicols}{2}

      \begin{tabularx}{\columnwidth}{|L|R|}\hline
         \textbf{Motor}                &\\\hline
         Bezeichnung                & xy\\
                                 & xfhfhfg\\
                                 & jzgidaufj\\\hline
         Hersteller                  & irgendwer\\\hline
         Nennleistung               & fhfghfgh\\
                                 & cgjhfghgfh\\
                                 & fgnhgfjhg\\\hline
         Trägheitsmoment               & fghgfhfghfh\\
                                 & fhgfhfghfghg\\
                                 & fnjghnjghngngdh\\\hline
         Treibstoff                  & fghfghf\\\hline\addlinespace[6pt]
         \hline                                      
         \textbf{Motorsteuerung}         &\\\hline
         Bezeichnung                  & lsdyfvsdoij\\\hline
         Hersteller                  & luighioöjhio\\\hline
         Version                     & izgiphpohz89n9\\
                                 & fgjgj\\\hline\addlinespace[6pt]
         \hline
         \textbf{Synchrongeneratoren}   &\\\hline
         Bezeichnung                  & siehe oben\\\hline
         Hersteller                  & cghfg\\\hline
         Nennleistung               & siehe oben\\\hline
         Scheinleistung               & siehe oben\\\hline
         Nennfrequenz                & hkgu\\\hline
         Nenndrehzahl                & sfdgdfhgfth\\\hline
      \end{tabularx}
     
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Hier beginnt die zweite Textspalte

      \begin{tabularx}{\columnwidth}{|L|R|}\hline
         \textbf{AVR}               &\\
         Bezeichnung                  & gjghjg\\
                                 & gjhhgj\\
         Hersteller                  & gdhjhjj.\\
         Version                     & gdjghj \\
                                 & ghjghj \\
                                 & ghj\\\hline\addlinespace[6pt]
         \hline
         \textbf{Regelung}         &\\
         Bezeichnung                  & ghj\\
                                 & gjhhgdjgjh\\
         Hersteller                  & dfgshfthstg\\
         Version                     & hjkhjkj\\\hline\addlinespace[6pt]
         \hline
         \textbf{Schutzeinrichtung}      &\\
         Bezeichnung                  & tgdjhgdjz\\
         Hersteller                  & ghjdgj\\
         Version                     & sdgdfhtjh\\\hline\addlinespace[6pt]
         \hline
         \textbf{Eigenbedarf}         &\\
         Scheinleistung               & k.A.\\
         Nennspannung               & fdthfthfg\\
         Nennfrequenz               & xdfgdbg\\
         Leistungsaufnahme            & k.A.\\\hline
      \end{tabularx}
   
   \end{multicols}
\end{table}


\end{document}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Da ich die vertikalen Linien weglassen würde, was Du nach dem Lesen der booktabs Doku hoffentlich auch tust, habe ich vergessen, deren Breit ebenfalls abzuziehen:
\newcolumntype{L}{>{\raggedright\arraybackslash\hspace{0pt}}% 
      b{\dimexpr0.5\columnwidth-2\tabcolsep-1.5\arrayrulewidth\relax}} 
\newcolumntype{R}{>{\raggedleft\arraybackslash\hspace{0pt}}% 
      p{\dimexpr0.5\columnwidth-2\tabcolsep-1.5\arrayrulewidth\relax}} 
Gruß
Elke

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Fantastisch, vielen Dank noch mal.

Ich habe die Doku gerade gelesen, mich hat sie überzeugt. Als Hiwi habe ich jedoch nicht das letzte Wort, werd's aber ansprechen.

Grüße

Antworten