Seite 1 von 1
longtable mit /caption so breit wie die Tabelle
Verfasst: Mo 10. Aug 2015, 23:19
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}
Verfasst: Mi 12. Aug 2015, 13:00
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.
Verfasst: Mi 12. Aug 2015, 18:03
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!
Verfasst: Mi 12. Aug 2015, 18:50
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}
Verfasst: Mi 12. Aug 2015, 18:57
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?