Tabellenbeschriftung nicht linksbündig zum Rand (ragt in den Rand hinein)

Tabellen und Grafiken erstellen und anordnen


Erebos
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Sa 3. Jul 2021, 13:22

Tabellenbeschriftung nicht linksbündig zum Rand (ragt in den Rand hinein)

Beitrag von Erebos »

Hallo zusammen,

Ich habe ein sehr seltsames Problem mit der Beschriftung von Tabellen bzw. vor allem mit den Beschriftungen von Longtables in der tabularx Umgebung (ltablex).

Das Problem besteht dabei hauptsächlich in einem sehr LaTeX-untypischen Verhälten: Die Tabellenbeschriftungen dieser Umgebungen werden leicht in den linken Rand verschoben!

Bei allen anderen Umgebungen sprich table, figure and align/equation funktioniert alles ohne Probleme. Verwendet wird die KOMAscript Klasse scrartcl und auch das capture Paket.
Leider habe ich bereits alles ausprobiert, das mir eingefallen ist, um die Beschriftungen bündig zum linken Rand zu bekommen (es handelt sich zwar lediglich um 3-5 Pixel, allerdings ist dies aufgrund des farbigen Tabellenheaders und der Form des "T" sehr deutlich erkennbar).

Hatte jemand hier schon einmal ein ähnliches/dasselbe Problem und kennt eine einfache Lösung? Oder muss ich hier tatsächlich auf das alternative xltable Paket umsteigen - und bringt das wirklich Abhilfe?

Hier ein Beispiel, welches alle relevanten Einstellungen & Pakete enthält und das utnerschiedliche Verhalten zwischen den Tabellenbeschriftungen zeigt:

%Schriftgröße, Layout, Papierformat, Art des Dokuments:
\documentclass[12pt,
bibliography=totoc,
paper=a4,
titlepage,
listof=entryprefix,
listof=totoc,
index=totoc,
DIV=calc,
oneside,	%oneside / twoside
fleqn,		%Formeln flushleft
ngerman
]{scrartcl}

%Zeichensatz auswählen | Umlaute ermöglichen:
\usepackage[utf8]{inputenc}

%Zeichensatz Kompatibilität:
\usepackage[T1]{fontenc}
\usepackage{lmodern}

%Seitenränder:
\usepackage[left=40mm,right=20mm,top=40mm,bottom=20mm]{geometry}

%Verbesserter Randausgleich:
\usepackage{microtype}

%Beschriftungen angleichen
\usepackage[
	format=hang, 			%Beschriftung als Einzug
	width=\textwidth,
	indention=0cm,			%Einzug der Beschriftung 1cm
	labelformat = simple,	%Standardwert für Bezeichner
	labelsep=colon,			%Füllung zwischen Bezeichner und Text
	textformat=simple,		%Text soll nicht verändert werden
	justification=justified,%Ausrichtung des Textes
	labelfont=normalsize,	%Labelgröße 
	textfont=normalsize,	%Textgröße
	singlelinecheck=false,	% singlelinecheck=false: macht die Caption linksbündig (statt zentriert)
	labelfont=bf,			% labelfont auf fett: (Tabelle x.y:, Abbildung: x.y)
	font=bf,				% font auf fett: eigentliche Bezeichnung der Abbildung oder Tabelle (laut Leitfaden 2018 S. 45)
	skip=6pt
	]{caption}

%Zeilenabstand & Absatzeinstellungen:
\usepackage[onehalfspacing]{setspace}
\parindent0cm
\setlength{\parskip}{6pt}
\setlength{\abovecaptionskip}{12pt}
\setlength{\belowcaptionskip}{12pt}		%6pt

%Verbesserte Tabellen
\usepackage{xcolor, colortbl}
\usepackage{booktabs}
	\setlength{\defaultaddspace}{8pt}
\usepackage{ltablex}
\usepackage{tabulary}


%Farbige Kopfzeile trotz RULES
\definecolor{grau}{RGB}{227,227,227}

\newcommand{\belowrulesepcolor}[1]{%
  \noalign{%
    \kern-\belowrulesep
    \begingroup
      \color{#1}%
      \hrule height\belowrulesep
    \endgroup
  }%
}
\newcommand{\aboverulesepcolor}[1]{%
  \noalign{%
    \begingroup
      \color{#1}%
      \hrule height\aboverulesep
    \endgroup
    \kern-\aboverulesep
  }%
}

%Beschriftungs-Makros für Quellenangaben unter der Abbildung/Tabelle:
\newcommand\QuelleTabY[1]{\begin{flushleft}\vspace{-1pt}{\normalsize Quelle: #1\par}\end{flushleft}}
\newcommand\QuelleTabX[1]{\begin{flushleft}\vspace{-13pt}{\normalsize Quelle: #1\par}\end{flushleft}}

\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 

\begin{table}[h!]		
	\captionabove[Beschreibung der Tabelle 1]{Beschreibung der Tabelle 1}	\label{tab:Tabelle1}
	\footnotesize \tymin=75pt
	\begin{tabulary}{\textwidth}{LJJ}
	\toprule
	\belowrulesepcolor{grau}
	\rowcolor{grau} \small \textbf{Überschrift 1} & 
	\small \textbf{Überschrift 2} & 
	\small \textbf{Überschrift 3} \\ 
	\aboverulesepcolor{grau}
	\midrule %\addlinespace
	Lorem ipsum dolor sit amet, consetetur sadipscing elitr &
	sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.  &
	At vero eos et accusam et justo duo dolores et ea rebum.  \\ 
	\addlinespace %\midrule
	Lorem ipsum dolor sit amet & 
	sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. & 
	At vero eos et accusam et justo duo dolores et ea rebum. \\  
	\bottomrule %\addlinespace
	\end{tabulary}
	\QuelleTabY{Eigene Darstellung}
\end{table}
	
	Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 
	
	\begin{singlespacing}
		\centering 
		\footnotesize
		\begin{tabularx}{\textwidth}{p{3cm}p{3cm}X}
			\caption[Beschriftung der langen Tabelle 2]{Beschriftung der langen Tabelle 2}	\label{tab:Tabelle2}	\\
			\toprule
			\belowrulesepcolor{grau}
			\rowcolor{grau} \small \textbf{Überschrift 1} &
			\small \textbf{Überschrift 2} &
    		\small \textbf{Überschrift 3} \\
    		\aboverulesepcolor{grau}
%	    		\midrule % \addlinespace
	    		\endfirsthead
	    		\caption[]{Beschriftung der langen Tabelle 2 (fortgesetzt)}	\\
	    		\toprule
	    		\belowrulesepcolor{grau}
	    		\rowcolor{grau} \small \textbf{Überschrift 1} &
				\small \textbf{Überschrift 2} &
	    		\small \textbf{Überschrift 3} \\
	    		\aboverulesepcolor{grau}
%	    		\midrule % \addlinespace
	    		\endhead
	    		\midrule
	    		Lorem ipsum dolor sit amet, consetetur sadipscing elitr &
			sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.  &
			At vero eos et accusam et justo duo dolores et ea rebum.  \\ 
			\addlinespace %\midrule
			Lorem ipsum dolor sit amet & 
			sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. & 
			At vero eos et accusam et justo duo dolores et ea rebum. \\  
\addlinespace %\miderule Lorem ipsum dolor sit amet, consetetur sadipscing elitr & sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. & At vero eos et accusam et justo duo dolores et ea rebum. \\ \addlinespace %\midrule Lorem ipsum dolor sit amet & sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. & At vero eos et accusam et justo duo dolores et ea rebum. \\ \addlinespace %\miderule Lorem ipsum dolor sit amet, consetetur sadipscing elitr & sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. & At vero eos et accusam et justo duo dolores et ea rebum. \\ \addlinespace %\midrule Lorem ipsum dolor sit amet & sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. & At vero eos et accusam et justo duo dolores et ea rebum. \\ \bottomrule %\addlinespace \end{tabularx} \vspace{-18pt} \QuelleTabX{Eigene Darstellung} \end{singlespacing} \end{document}

Grummelgast

Re: Tabellenbeschriftung nicht linksbündig zum Rand (ragt in den Rand hinein)

Beitrag von Grummelgast »

Ich habe leider keine Lösung, kann das Problem aber bestätigen. Es tritt unabhängig von der Verwendung von caption auf. Mit caption tritt es aber auch unabhängig von der verwendeten Klasse auf. Was ich noch nicht getestet habe, ist, ob es auch unabhängig von der Verwendung von tabularx bzw. ltablex nur mit longtable auftritt oder ob andere Pakete wie xcolor oder tabulary eine Rolle spielen. Je besser man das ganze minimiert, desto klarer wird, an wen man einen Bugreport ggf. schreiben sollte. Außerdem sind minimale Beispiele natürlich besser für Bugreports als solche, bei denen man noch diverse Nebenbedingungen aussortieren muss. Zum Erkennen des Überhangs ist übrigens \usepackage{showframe} sehr nützlich.

Auffällig ist übrigens, dass das nur bei der ersten caption auftritt. Bei Folgecaptions scheint es nicht der Fall zu sein. Das deutet eigentlich auf ein longtable- oder ltablex-Problem hin. Sicher ist das aber erst, wenn man alle anderen Pakete eliminiert hat.

Nebenbei erwähnt sei darauf aufmerksam gemacht, dass man bei KOMA-Script-Klassen \parskip und \parindent nicht unmittelbar ändern sollte. Entweder man verwendet Option parskip oder Anweisung \setparsizes. Näheres erfährt man in der Anleitung.

Ebenso ist bei Verwendung von caption das direkte Setzen von \abovecaptionskip und \belowcaptionskip nicht empfohlen. Das Paket hat dafür Optionen.

Last but not least sollte man xcolor und colortbl nicht einzeln laden, sondern schlicht xcolor mit Option table. Das explizite Laden von colortbl entfällt dann. Näheres dazu ist der xcolor-Anleitung zu entnehmen.


Antworten