Seite 1 von 1

Problem mit longtable

Verfasst: Di 5. Apr 2016, 16:53
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!

Verfasst: Di 5. Apr 2016, 17:40
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.

Verfasst: Mi 6. Apr 2016, 09:50
von user1000
Vielen Dank für deine Hilfe, hat alles wie gewünscht funktioniert!