PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : captions unterschiedlich



philo
04-08-2004, 21:11
Hallo,

ich verwende longtable innerhalb von Koma-Script und habe zusätzlich das caption-package geladen. Nun ist es so, dass die Überschriften für die longtable eingerückt sind, für die anderen aber nicht. Scheinbar kommen sich hier irgendwie alle Pakete ins Gehege. Wie kann ich einer caption unter longtable beibiegen, nicht eingerückt sondern linksbündig zu erscheinen?

Ich schreibe mal meinen Vorspann dazu, auch wenn er etwas länglich ist (sorry), viellicht hat ja jemand den rettenden Einfall. (origlongtable hilft nicht weiter)

philo



\documentclass[fleqn, a4paper, tablecaptionabove, twoside, DIV15, BCOR12mm, draft]{scrreprt}
\pagestyle{headings}
\usepackage[pdftex]{graphicx}
\usepackage{ngerman}
\usepackage{longtable}
\usepackage[applemac]{inputenc}
\usepackage[TABTOPCAP]{subfigure}
\usepackage{dcolumn}
\usepackage{wrapfig}
\usepackage{lscape}
\usepackage{float}
\restylefloat{figure}
\usepackage[format=default, singlelinecheck=false, justification=RaggedRight, tableposition=bottom, labelfont=bf, margin=0cm]{caption}[2004/05/16]

\usepackage{amssymb}
\usepackage[round, comma]{natbib}
\usepackage{floatflt}

\setlength{\parindent}{0 em}
\setlength{\parskip}{2 ex}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}

\setcounter{lofdepth}{1}
\setcounter{lotdepth}{1}

\renewcommand{\refname}{Literatur}
%Einstellungen für subfigure:%

\subfigcaptopadj=2pt


\newcommand{\goodgap}{%
\hspace{\subfigcapskip}}

\makeatletter
\newcommand{\setcaptype}[1]{%
\renewcommand{\@captype}{#1}}
\makeatother

\makeatletter
\long\def\test#1{%
\begingroup
\toks0{[#1]}%
\newlinechar`\/
\message{/\the\toks0:
\if\sf@blank{#1}%
EMPTY
\else
NOT empty
\fi}%
\endgroup}
\makeatother
% Ende Einstellungen subfigure
\setkomafont{sectioning}{\rmfamily}
\setkomafont{sectioning}{\bfseries}

edico
05-08-2004, 17:09
Probier mal:
\usepackage[nooneline,it]{caption2} % setzt caption links oben
Sei sicher, dass caption2.sty on board ist.
edico

philo
05-08-2004, 22:10
Funktioniert leider auch nicht, trotzdem Danke!

philo

edico
07-08-2004, 10:05
... aber mit diesem Makro müsstest du jetzt erfolgreich sein ...
ich habs nicht mit longtable, aber mit supertbl getestet ...
%----- caption linksbündig -------------
\makeatletter
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
\makeatother
%---------------------------------------
edico

philo
07-08-2004, 21:20
Hallo,

erst einml vielen Dank für Deine Mühe!! Leider ist longtable wohl besonders hartnäckig, zumindest funktioniert es immer noch nicht. Ich werde wohl einfach alle captions einrücken (das sieht zwar nicht besonders gut aus, aber dann ist es wenigstens einheitlich). Trotzdem nochmal Danke,

philo

edico
08-08-2004, 08:30
Tja ...
ich habe mal gegoogled; es sieht tatsächlich wohl düster aus:
bug-report:
> The text of \caption is always centered to the colums of a
> longtable.

From: Markus Kohm... (KOMA-Developper)
>I wonder why nobody noticed this before?
Some weaks ago someone noticed is at TeX-D-L or de.comp.text.tex. But
he thought it's a bug at KOMA-Script or caption2.
> P.S.: Can this be fixed by using e.g. caption2?
No and even not using the actual BETA of KOMA-Script. It's not easy to
change this without changing longtable. I've tried to fix it at
KOMA-Script, but I wasn't able to do it.
Markus

From: "David Carlisle"... (Developper LaTeX3-Projekt)
think it's clearly a bug
I'll see what I can do (I need to think a bit whether I need to preserve the
existing behaviour, at least as an option) *)
David

*) ich hab nicht mehr gefunden ..
.. wenn die Cracks das nicht können, wer dann ...
I surrender ...
edico

philo
08-08-2004, 15:32
Na, dann kann man wohl nichts machen

Wenn ich die anderen captions einrücke rücken die von longtable noch weiter in die Mitte, ich werde wohl meine Tabellen anders stricken müssen. Aber nochmals vielen Dank, jetzt werde ich auf alle Fälle nicht mehr weiter rumprobieren.

Noch einen schönen Sonntag

philo :)

bischi
08-08-2004, 16:50
versuch noch ein \noindent irgendwo zu plazieren.

MfG Bischi

PS: Oder ein \vspace{-2cm}

philo
08-08-2004, 22:28
\noindent bringt longtable durcheinander und erzeugt nur eine Leerzeile bzw. Fehlermeldung, mit vspace/hspace wird zwar der Text der caption eingerückt, aber dann über "Tabelle 3.4:" drübergeschrieben, also leider auch nichts.

Trotzdem nochmals Danke,

philo

philo
28-08-2004, 17:23
Ich habe inzwischen eine (wenn auch nicht ganz saubere) Lösung gefunden. Falls jemand anders auch das Problem hat, poste ich sie hier mal:


\begin{longtable}{|l || r | r | r | l|}
\hline
A & b & C & D & E\\
\hline \hline \endhead
\hline
\multicolumn{5}{r}{Fortsetzung folgt}\\
\endfoot
\hline
\endlastfoot
...
Cyproconazol (Syst.1) & 92,7 & 105 & 284 & 91/414/EWG\\
...
\hline
\end{longtable}
\vspace{-3ex}
\addtocounter{table}{-1}% Nur, wenn sich die Tabelle dann tatsächlich über zwei Seiten erstreckt!
\captionof{table}{Substanzen der Kategorie 3 }


philo

edico
28-08-2004, 19:50
Gutgut ... und das funktioniert? Prima!
edico

birgit
09-03-2005, 01:54
dieser Trick funktioniert!
Ist aber grauselig unsauber und bei vielen verschiedenen Tabellen unangenehm zu handeln, da man den Zähler der nächstfolgenden Tabelle runtersetzen muss!

Falls jemand davon profitieren kann - ich hab mir so geholfen:
Ich hab im longtable.sty die caption-Breite auf \textwidth gesetzt

\LTcapwidth=\textwidth

und in meiner longtable-Umgebung

\captionsetup{...}
\begin{longtable}{...}
\caption{Das ist eine Tabelle}\tabularnewline[-2ex]


Jetzt sehen alle captions, die der tables und die der longtable-Umgebung genau gleich aus.