Problem mit longtable

Tabellen und Grafiken erstellen und anordnen


user1000
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Fr 11. Mär 2016, 08:24

Problem mit longtable

Beitrag von user1000 »

Hallo zusammen,
ich habe ein Problem mit longtable.
Über meiner ersten Zeile fehlt mir eine horizontale Linie über der multicolumn{3}... und unten hängt eine vertikale Linie an der Tabelle, die unerwünscht ist.

Hoffe ihr könnt mir helfen!
\documentclass[a4paper,12pt,ngerman,english,listof=totoc,bibliography=totoc]{scrreprt}                                                                  
\usepackage[utf8]{inputenc}                                        
\usepackage{babel}                                                  
\usepackage{graphicx}                                              
\usepackage{float}                                                
\addtokomafont{captionlabel}{\bfseries}                           
\usepackage{amsmath}                                               
\usepackage{amssymb}
\usepackage{array}
\usepackage{longtable}
\addtokomafont{caption}{\normalsize}
\usepackage{colortbl}                                           
\newcommand{\mg}{\cellcolor[gray]{0.7}}                                             
\usepackage{xcolor}
\usepackage[hyphens]{url}                                          
\usepackage{etoolbox}                                             
\appto\UrlBreaks{\do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j
\do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w
\do\x\do\y\do\z}
\usepackage{hyperref}
\usepackage{cleveref}                                            
\usepackage[binary-units]{siunitx}
\usepackage{listings}                                         
\lstset{basicstyle=\ttfamily,
  showstringspaces=false,
  commentstyle=,
  keywordstyle=}

\begin{document}                               
\renewcommand{\arraystretch}{2}
\begin{scriptsize}
\begin{longtable}{l|c|c|c|c|}
\caption{Ergebnisse}
\centering
\cr
\multicolumn{2}{c|}{} 
                      & \multicolumn{3}{>{\centering\arraybackslash}p{75mm}|}{Erl\"auterung}\\\cline{2-5}
\multicolumn{1}{l|}{1.} & x & \multicolumn{3}{|p{75mm}|}{y}\\\cline{2-5}
\multicolumn{1}{c|}{} & x & \multicolumn{3}{|p{75mm}|}{y}\\\cline{2-5}
\multicolumn{1}{l|}{2.} & z & & 0,4 & \\\cline{2-5}      
\multicolumn{1}{l|}{} & z & & 0,4 & \\\cline{2-5} 
\multicolumn{1}{l|}{} & \multicolumn{4}{|l|}{\mg$\rightarrow$\textit{Beispiel}}\\\cline{2-5}
\label{tab:Ergebnisse}
\end{longtable}
\end{scriptsize}

\end{document}


Vielen Dank schonmal!

Noch so einer

Beitrag von Noch so einer »

Wenn Du die horizontale Linie haben willst, musst Du sie auch setzen. Die vertikale Linie kommt daher, dass \label keineswegs nichts ist, sondern die Tabellenzeile beginnt, Du an der Stelle also eine Tabellenzeile mit nur einer Spalte hast.

Es sei bei der Gelegenheit auch darauf hingewiesen, dass man bei longtable die \caption-Anweisung in den \firsthead-Bereich setzen sollte. Siehe dazu das Beispiel in Abschnitt 8 der [d]longtable[/d]-Anleitung.

Außerdem gehören | in \multicolumn außer für die Linie vor der ersten Spalte immer nur nach der Spaltendeklaration angegeben, weil sie sonst ggf. zweimal oder an der falschen horizontalen Position gesetzt werden können.
\documentclass[a4paper,12pt,ngerman,english,listof=totoc,bibliography=totoc]{scrreprt}
\usepackage[utf8]{inputenc}                                        
\usepackage{babel}                                                  
\addtokomafont{caption}{\normalsize}
\addtokomafont{captionlabel}{\bfseries}                           
\usepackage{array}
\usepackage{longtable}
\usepackage[table]{xcolor}% lädt colortbl gleich mit
\newcommand{\mg}{\cellcolor[gray]{0.7}}
\usepackage{hyperref}

\begin{document}                               
\renewcommand{\arraystretch}{2}
{\scriptsize% Bisschen sehr klein und schlecht zu lesen!
\begin{longtable}{l|c|c|c|c|}
\caption{Ergebnisse}\label{tab:Ergebnisse}\\
\endfirsthead
\cline{3-5}
\multicolumn{2}{c|}{} 
                      & \multicolumn{3}{>{\centering\arraybackslash}p{75mm}|}{Erl\"auterung}\\\cline{2-5}
\multicolumn{1}{l|}{1.} & x & \multicolumn{3}{p{75mm}|}{y}\\\cline{2-5}
\multicolumn{1}{c|}{} & x & \multicolumn{3}{p{75mm}|}{y}\\\cline{2-5}
\multicolumn{1}{l|}{2.} & z & & 0,4 & \\\cline{2-5}      
\multicolumn{1}{l|}{} & z & & 0,4 & \\\cline{2-5} 
\multicolumn{1}{l|}{} & \multicolumn{4}{l|}{\mg$\rightarrow$\textit{Beispiel}}\\
\cline{2-5}
\end{longtable}
}

\end{document}
Übrigens: Von vertikalen Linien in Tabellen halte ich wenig. Sie stören den horizontalen Lesefluss der Tabellenzeilen. Tabellen sollten aber so angelegt sein, dass das die Hauptleserichtung ist. Siehe auch die [d]booktabs[/d]-Anleitung.

user1000
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Fr 11. Mär 2016, 08:24

Beitrag von user1000 »

Vielen Dank für deine Hilfe, hat alles wie gewünscht funktioniert!

Antworten