Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Abstand von Tabellen zum Text

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.03.2009
    Beiträge
    91

    Abstand von Tabellen zum Text

    Hallo zusammen,

    ich verwende in meinem Dokument verschiedene Arten von Tabellen, tabular (bzw. tabularx) und longtable (bzw. LTXtable). Außerdem verwende ich für tabular keine Gleitumgebungen, da ich die Position selbst bestimmen möchte (ich kann mir denken, dass es hierzu wieder einige kritische Stimmen geben wird...). Für das Aussehen der Beschriftungen nehme ich das caption-Paket, außerdem benutze ich capt-of, um Captions außerhalb von Gleitumgebungen setzen zu können. Soweit ich weiß, bestimmt caption auch das Aussehen von captionof und der caption in der Longtable, oder? Zumindest wirkt es in meinem Dokument auch dafür und für die caption in der Longtable :-)

    Mein Problem ist, dass der Abstand von longtables zum Fließtext davor und danach ein anderer ist als der von tabular/tabularx zum Text bzw. der center-Umgebung. Ich habe bereits Verschiedenes ausprobiert, bin aber noch nicht auf die Lösung gekommen.

    Longtables verwenden den Abstand \LTpre und \LTpost vor bzw. nach der Tabelle, soviel habe ich aus der Doku und durch Ausprobieren herausbekommen. Allerdings fügt longtable nach der Tabelle wohl noch einen weiteren Abstand hinzu, den ich nicht kenne, vorher ist der Abstand deutlich kleiner als bei den anderen Tabellen/Beschriftungen (s. Minimalbeispiel).

    Ich habe bisher für meine tabulars die center-Umgebung genutzt, um ganz bewusst davor und danach einen Abstand zum Text zu bekommen. In Kombination mit longtable kann ich es momentan aber nicht nutzen, da eben die Abstände unterschiedlich sind. Wie wird der Abstand der center-Umgebung zum Text festgelegt, sodass ich diesen ändern kann? Lasse ich die Umgebung weg und füge vorher nur ein \vskip{\LTpre} (bzw. \vskip{LTpost} danach), sind die Abstände auch nicht identisch zu denen der Longtable.

    Ein weiteres Problem besteht darin, dass die tabular-Tabelle ohne die center-Umgebung leider nicht zentriert ist, trotz \centering. Wo muss ich \centering genau einfügen, damit die Tabelle zentriert ist?

    Code:
    \documentclass[captions=tableheading,parskip=full]{scrreprt} 
    \usepackage[ngerman]{babel} 
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    
    \usepackage{booktabs}
    \usepackage{tabularx}
    \usepackage{capt-of}
    \usepackage{longtable}
    
    \usepackage[skip=\parskip]{caption}
    
    \begin{document}
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \setlongtables
    \begingroup
    	 \footnotesize \sffamily
    \begin{longtable}{ll}
    	 \caption{Longtable}
    	 		\\\toprule
    			Überschrift 1 & Überschrift 2 \\\toprule\endfirsthead\toprule
    			Überschrift 1 & Überschrift 2 \\\toprule\endhead
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    \end{longtable}
    \endgroup
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \begingroup
    	\vspace{\LTpre}
    	\centering
    	\begin{minipage}{.6\linewidth}% Einbindung in Minipage, damit Tabelle und Beschriftung zusammen bleiben.
    	 	
    		\captionof{table}{Tabular}
    	  \centering \footnotesize \sffamily
    	    	
    	  \begin{tabular}{ll}
    				
    			\toprule
    			Überschrift 1 & Überschrift 2 \\\midrule
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    					
    		\end{tabular}
    	\end{minipage}
    	\vspace{\LTpost}
    \endgroup
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \begin{center}
    	\begin{minipage}{.6\linewidth}% Einbindung in Minipage, damit Tabelle und Beschriftung zusammen bleiben.
    	    
    		\captionof{table}{Tabular}
    	  \centering \footnotesize \sffamily
    	    	
    	  \begin{tabular}{ll}
    				
    			\toprule
    			Überschrift 1 & Überschrift 2 \\\midrule
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    					
    		\end{tabular}
    	\end{minipage}
    	\vspace{\LTpost}
    \end{center}
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \end{document}
    Ich hoffe, ich habe mein Problem verständlich beschrieben und jemand kann mir weiterhelfen.

    Kathrin

  2. #2
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Kathrin_B Beitrag anzeigen
    ich verwende in meinem Dokument verschiedene Arten von Tabellen, tabular (bzw. tabularx) und longtable (bzw. LTXtable). Außerdem verwende ich für tabular keine Gleitumgebungen, da ich die Position selbst bestimmen möchte (ich kann mir denken, dass es hierzu wieder einige kritische Stimmen geben wird...). Für das Aussehen der Beschriftungen nehme ich das caption-Paket, außerdem benutze ich capt-of, um Captions außerhalb von Gleitumgebungen setzen zu können. Soweit ich weiß, bestimmt caption auch das Aussehen von captionof und der caption in der Longtable, oder? Zumindest wirkt es in meinem Dokument auch dafür und für die caption in der Longtable :-)
    Wenn man Tabellen nicht gleiten lässt erschwert man massiv den Umbruch ....

    Abgesehen davon hast du natürlich viel zu viele Zentrierungen, pro Tabelle brauchst du nur eine. Hier ein Beispiel mit gleichen Abständen _und_ zusätzlich Gleitumgebungen, die trotzdem dort erscheinen, wo sie definiert sind.

    Code:
    \documentclass[captions=tableheading,parskip=full]{scrreprt} 
    \usepackage[ngerman]{babel} 
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    
    \usepackage{booktabs}
    \usepackage{tabularx}
    \usepackage{longtable}
    
    \usepackage[skip=\parskip]{caption}
    
    \begin{document}
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \begingroup
    \medskip
    \footnotesize \sffamily
    \begin{longtable}{ll}
    	 \caption{Longtable}\\\toprule
    			Überschrift 1 & Überschrift 2 \\\toprule\endfirsthead\toprule
    			Überschrift 1 & Überschrift 2 \\\toprule\endhead
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    \end{longtable}
    \endgroup
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \begin{minipage}{\linewidth}% Einbindung in Minipage, damit Tabelle und Beschriftung zusammen bleiben.
    \captionof{table}{Tabular}
    \centering \footnotesize \sffamily
      \begin{tabular}{ll}\toprule
    			Überschrift 1 & Überschrift 2 \\\midrule
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    					
    		\end{tabular}
    \end{minipage}
    \vspace{\LTpost}
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \begin{minipage}{\linewidth}% Einbindung in Minipage, damit Tabelle und Beschriftung zusammen bleiben.
    \centering
    \captionof{table}{Tabular}
    \footnotesize \sffamily
     \begin{tabular}{ll}\toprule
    			Überschrift 1 & Überschrift 2 \\\midrule
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    					
    		\end{tabular}
    \end{minipage}
    \vspace{\LTpost}
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \begin{table}[!htb]
    \captionof{table}{Tabular}
    \centering \footnotesize \sffamily
      \begin{tabular}{ll}\toprule
    			Überschrift 1 & Überschrift 2 \\\midrule
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    					
    		\end{tabular}
    \end{table}
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \begin{table}[!htb]
    \centering
    \caption{Tabular}
    \footnotesize \sffamily
     \begin{tabular}{ll}\toprule
    			Überschrift 1 & Überschrift 2 \\\midrule
    			Text in erster Spalte & Text in zweiter Spalte \\
    			\bottomrule
    					
    		\end{tabular}
    \end{table}
    
    Irgendein Text, der lang genug ist, fast eine komplette Zeile auszufüllen.
    
    \end{document}

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.03.2009
    Beiträge
    91
    Hallo Herbert,

    danke für deine Antwort. Auf \medskip vor der Longtable wäre ich nie gekommen, ich habe eher umgekehrt probiert, die Tabular anzupassen!

    Deine Tabellen in der table-Umgebung haben weder oben noch unten den gleichen Abstand wie die Longtable. Ich werde einfach bei meiner nicht-gleitenden Tabelle bleiben, jetzt funktioniert es ja, auch wenn ich die Umbrüche dann manuell 'verschönern' muss.

    Das mit den vielen centering-Befehlen hat mich auch gewundert, weil scheinbar nichts davon funktioniert hat - dabei lag es an der falschen Breite der minipage Manchmal sieht man die einfachsten Sachen nicht!

    Kathrin

  4. #4
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Noch eine Anmerkung:
    Zitat Zitat von Kathrin_B Beitrag anzeigen
    außerdem benutze ich capt-of, um Captions außerhalb von Gleitumgebungen setzen zu können.
    Da du das caption-Paket verwendest, ist das überflüssig. Das capt-of-Paket enthält nur eine einzige Definition und die wird vom caption-Paket gnadenlos übergebügelt

  5. #5
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Und außerdem wird auch noch eine KOMA-Script-Klasse verwendet, die ebenfalls \captionof (und in der nächsten Version laut http://www.komascript.de/releasesvn auch \captionaboveof und \captionbelowof) bereitstellt. Mit KOMA-Script und caption ist capt-of sozusagen überüberflüssig.

  6. #6
    Registrierter Benutzer
    Registriert seit
    27.03.2009
    Beiträge
    91
    Prima, dann weiß ich jetzt auch, warum Herberts Minimalbeispiel auch ohne capt-of funktioniert. Ich hatte mich darüber gewundert, aber vergessen zu fragen, ob es durch ein anderes Paket automatisch geladen wird :-) Dann schmeiße ich es jetzt aus meiner Präambel raus.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •