longtable mit /caption so breit wie die Tabelle

Tabellen und Grafiken erstellen und anordnen


Lukki
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Mo 10. Aug 2015, 23:06

longtable mit /caption so breit wie die Tabelle

Beitrag von Lukki »

Hallo,

ich hab ein kleines Problem und komme einfach nicht -trotz langem Suchen- auf die richtige Lösung:

Ich habe eine Tabelle, die über eine Seite hinausreicht. Deshalb dachte ich mir ist longtable geeignet. Das bekomme ich auch gut hin.

Allerdings stört mich, dass die /caption zentriert über der Tabelle steht und nicht linksbündig zu dieser. Es sieht einfach komisch aus, wenn ich eine längere Beschriftung der Tabelle habe (bei wissenschaftlichen Papern Gang und gebe), wenn die \caption über die gesamte Breite geht.

Bei normalen Tabellen benutze ich threeparttable, damit werden die captions automatisch bündig zum Tabellenrand. Aber selbst mit der Erweiterung für longtable geht das nicht für longtable.

Ich bin komplett ratlos, will aber darauf nicht verzichten.

Vielleicht kann mir hier jemand helfen?

beste Grüße
Lukki

EDIT:

Ich benutze folgenden Präamble Part:
\documentclass[a4paper]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german]{csquotes}
\usepackage{fix-cm}
\usepackage{rotating}
\usepackage{tikz}
\usepackage[detect-all]{siunitx} 
\usepackage{chngcntr}
\counterwithout{figure}{chapter} 
\counterwithout{table}{chapter}
\usepackage{multirow}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage[
style=authoryear-icomp,
dashed=true, 
backend=bibtexu,
]{biblatex}
\addbibresource{Bibliography.bib}
\providecommand{\mycite}{\cite}
\usepackage{setspace}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Kannst du dein Beispiel zu einem kompilierbaren Minimalbeispiel vervollständigen? Anhand deiner Beschreibung kann ich noch nicht wirklich nachvollziehen, was du willst/hast.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Lukki
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Mo 10. Aug 2015, 23:06

Beitrag von Lukki »

sorry, dachte die documentdeclaration reicht, here we go:
%%LAYOUT SETTINGS
\documentclass[a4paper, BCOR5mm,12pt, headsepline, DIV=calc]{scrartcl}
\usepackage{setspace}
\usepackage[automark, autooneside]{scrpage2} 
\pagestyle{scrheadings} 
\clearscrheadfoot 
\ihead{\textnormal{\textbf{{\headmark}}}} 
\ohead{\pagemark}
\usepackage[a4paper]{geometry}
\geometry{left=3cm, right=2cm, top=3cm, bottom=4cm} %if you need special page settings
\usepackage{float}
\usepackage{caption}
%%LANGUAGE SETTINGS
%%
\usepackage[T1]{fontenc} %makes the input become european standard confirm
\usepackage[utf8]{inputenc} %let me input in utf8
\usepackage[english]{babel} %new german spelling
%
%%BIBLIOGRAPHY SETTINGS
%%
\usepackage[babel,english]{csquotes} %advanced spelling
\usepackage[style=authoryear-icomp, dashed=true, backend=bibtex]{biblatex} %get my citation style, bibtex instead of bibtexu %cause bibtexu instable backend
%\addbibresource{bibliography/Bibliography.bib}
\providecommand{\mycite}{\cite}
%
%%FONT SETTINGS
%%
\usepackage{fix-cm}
%
%%TABLE SETTINGS
%%
\usepackage{multirow}
\usepackage{longtable}
\usepackage{booktabs}
\captionsetup[table]{font=small}
\captionsetup[table]{labelfont=bf}
\renewcaptionname{english}{\tablename}{Tab.}
%
%%GRAPIC SETTINGS
%%
\usepackage{graphicx}
\captionsetup[figure]{font=small}
\captionsetup[figure]{labelfont=bf}
\renewcaptionname{english}{\figurename}{Fig.}
%
%%UNIT SETTINGS
%%
%\usepackage[detect-all]{siunitx} %atm not uses
%
%%NUMBERING SETTINGS
%%
%\usepackage{chngcntr}
%\counterwithout{figure}{chapter} 
%\counterwithout{table}{chapter}
%
%%SPECIAL COMMANDS
%%
\newcommand{\species}[1]{\textsl{#1}}
\newcommand{\statistics}[1]{\textup{#1}}
%
%%OTHER SETTINGS
%%
%some other settings
%
\begin{document}
\begin{longtable}{l l}
\caption{long caption, which starts at the center (i want it to start on the right and -if becoming longer- seems to have the width of the page. But I want this flush with the table width and break at the end of the tablewith!}
\label{tab: long tabel}
\endhead
1 iteam & 2 item \\
3 item & 4 item \\
\end{longtable}
\end{document}
Ich möchte, wie in der caption beschrieben, die Beschriftung der Tabelle nur solange von der Breite her, wie die Tabelle breit ist! Ich möchte sie nicht -wie aktuell- über die komplette Seitenbreite. Das sieht extrem komisch aus, gerade bei schmäleren Tabellen! Wie es aussehen sollte (aber nicht bei longtable funktioniert), sieht man hier!

könnt ihr mir hierbei helfen? Danke!

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4299
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

\documentclass[a4paper, BCOR5mm,12pt, headsepline, DIV=calc]{scrartcl}
\usepackage{caption}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[english]{babel} 
\usepackage{longtable}
\usepackage{booktabs}
\captionsetup[table]{font=small}
\captionsetup[table]{labelfont=bf}
\renewcaptionname{english}{\tablename}{Tab.}

\makeatletter
\newcommand\LastLTentrywidth{1em}
\newlength\longtablewidth
\setlength{\longtablewidth}{1in}
\newcommand\getlongtablewidth{%
 \begingroup
  \ifcsname LT@\roman{LT@tables}\endcsname
  \global\longtablewidth=0pt
  \renewcommand\LT@entry[2]{\global\advance\longtablewidth by ##2\relax\gdef\LastLTentrywidth{##2}}%
  \@nameuse{LT@\roman{LT@tables}}%
  \fi
\endgroup}
\makeatother
\begin{document}
\begin{longtable}{l l}\noalign{\getlongtablewidth\global\LTcapwidth=\longtablewidth}
\caption{long caption, which starts at the center (i want it to start on the right and -if becoming longer- seems to have the width of the page. But I want this flush with the table width and break at the end of the tablewith!}
\label{tab: long tabel}
\endhead
1 iteam & 2 item \\
3 item & 4 item \\
\end{longtable}
\end{document}

Lukki
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Mo 10. Aug 2015, 23:06

Beitrag von Lukki »

u_fischer hat geschrieben:
\documentclass[a4paper, BCOR5mm,12pt, headsepline, DIV=calc]{scrartcl}
\usepackage{caption}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[english]{babel} 
\usepackage{longtable}
\usepackage{booktabs}
\captionsetup[table]{font=small}
\captionsetup[table]{labelfont=bf}
\renewcaptionname{english}{\tablename}{Tab.}

\makeatletter
\newcommand\LastLTentrywidth{1em}
\newlength\longtablewidth
\setlength{\longtablewidth}{1in}
\newcommand\getlongtablewidth{%
 \begingroup
  \ifcsname LT@\roman{LT@tables}\endcsname
  \global\longtablewidth=0pt
  \renewcommand\LT@entry[2]{\global\advance\longtablewidth by ##2\relax\gdef\LastLTentrywidth{##2}}%
  \@nameuse{LT@\roman{LT@tables}}%
  \fi
\endgroup}
\makeatother
\begin{document}
\begin{longtable}{l l}\noalign{\getlongtablewidth\global\LTcapwidth=\longtablewidth}
\caption{long caption, which starts at the center (i want it to start on the right and -if becoming longer- seems to have the width of the page. But I want this flush with the table width and break at the end of the tablewith!}
\label{tab: long tabel}
\endhead
1 iteam & 2 item \\
3 item & 4 item \\
\end{longtable}
\end{document}
holly macaroni! Ich verstehe NULL von dem Code als Anfänger, aber es funktioniert! Besten Dank! Kurze Erklärung, was du da gemacht hast? Bzw. könntest du mir noch sagen, wie ich die Länge der Überschrift unabhängig von der Tabelle einstelle? Also z.B. nur 8 Zentimeter statt kompletter Seitenbreite? Ist -wenn ich eine Tabelle mit einer bestimmten Breite auch bei weniger Inhalt möchte- longtable geeignet?

Antworten