PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beamer caption



Kleeblatt
02-04-2009, 09:57
Hallo,

ich schreibe momentan eine Beamervorlesung und möchte, dass die Bild- und Tabellenunterschriften, wenn sie mehrzeilig sind, eingerückt werden, nach Abbildung Nummer:
ich habe dazu folgendes gefunden:
man kann anscheinend

\usepackage[hang]{caption2}

verwenden... andere schreiben, dass man

\captionstyle{hang}
oder
\captionsetup[hang]{caption}

benutzen soll. Funktioniert beides nicht bei mir. Wenn ich das kompilere, öffnet LatexBeamer automatisch den Caption2.sty und gibt da eine Fehlermeldung

kann mir hier jemand weiterhelfen?

sommerfee
02-04-2009, 11:36
Korrekt ist:


\usepackage[hang]{caption}


Es wird allerdings Version 3.1 des caption-Paketes benötigt, da erst dieses an die Beamer-Klassen angepasst ist.

Gruß,
Axel

Kleeblatt
02-04-2009, 12:33
hi
vielen Dank schonmal für deine Hilfe,
muss ich dazu die Version 3.1 irgendwo runterladen?
So meckert er jedenfalls, dass er das nicht finden kann

Stefan_K
02-04-2009, 13:54
Hallo,

caption ist hier (http://ctan.org/pkg/caption) auf CTAN zu finden, doch Du kannst der Einfachheit halber einen Paketmanager zur Installation verwenden. caption gibt es als z.B. MiKTeX-Paket, dafür rufe Start/ MiKTeX/ Browse packages auf, sofern Du MiKTeX verwendest.

Viele Grüße,

Stefan

Kleeblatt
09-04-2009, 20:44
Leider hat das in Beamer nicht funktioniert. Ich habe jetzt folgendes gefunden (www.ureader.de/msg/136215431.aspx):
das rückt die Unterschriften auch genauso ein wie ich das haben wollte:


\usepackage{caption3}
\captionsetup{format=hang,justification=raggedrigh t}

\makeatletter
\defbeamertemplate{caption}{caption3}{% -or- \defbeamertemplate* ?
\caption@setbool{slc}{0}% "singlelinecheck=off"
\caption@@make{%
\usebeamercolor[fg]{caption name}%
\usebeamerfont*{caption name}%
\insertcaptionname % -or- \insertcaptionname~\insertcaptionnumber
}{\insertcaption}%
}
\makeatother
\setbeamertemplate{caption}[caption3]



aber dafür verschwindet die Bild-und Tabellennummerierung.
Außerdem bekomme ich folgende Fehlermeldung:

Command \beamer@@tmpop@caption@caption3 already defined. \makeatother


könnt ihr mir da weiterhelfen?

sommerfee
09-04-2009, 20:58
Leider hat das in Beamer nicht funktioniert.

Hier schon, z.B.:


\documentclass{beamer}
\usepackage[hang]{caption}

\begin{document}

\frame
{

\begin{figure}
abb62-crop
\caption{osladjkfsdfssdfj dfldkjfo dlkfjodl fksdjflodj flfkfjofjd fjojfdlffjs doljfosdlf djfloolsdjf safjsdfosl djkfolfjs oaldjkjfdolfj osladjkfsdfssdfj dfldkjfo dlkfjodl fksdjflodj flfkfjofjd fjojfdlffjs doljfosdlf djfloolsdjf safjsdfosl djkfolfjs oaldjkjfdolfj}
\end{figure}

\begin{figure}
abb62-crop
\caption{osladjkfsdfssdfj}
\end{figure}

}

\end{document}


Was genau funktioniert bei dir nicht?



aber dafür verschwindet die Bild-und Tabellennummerierung.

Das ist in der beamer-Klasse die Default-Einstellung. Wie man die einschaltet, weiß ich nicht aus dem Kopf, es sollte aber in der beamer-Dokumentation zu finden sein.



Außerdem bekomme ich folgende Fehlermeldung:

Dies liegt daran, daß der Code von mir eine Bastellösung für das caption-Paket 3.0 war. Die Version 3.1 ist wie schon geschrieben an beamer angepasst, und dementsprechend wird dort schon ein passendes Template definiert. (Siehe auch Anleitung zum caption-Paket, Abschnitt über beamer.)

Liebe Grüße,
Axel

sommerfee
09-04-2009, 21:01
Das ist in der beamer-Klasse die Default-Einstellung. Wie man die einschaltet, weiß ich nicht aus dem Kopf, es sollte aber in der beamer-Dokumentation zu finden sein.

Habe es gerade gefunden:


\setbeamertemplate{caption}[numbered]


Liebe Grüße,
Axel

Kleeblatt
14-04-2009, 09:11
Hallo,

das hatte ich am Anfang auch so ausprobiert, klappt aber leider nicht.
Wenn ich das kompiliere, dann wird automatisch caption.sty geöffnet mit folgender Fehlermeldung:

/usr/share/tex/latex/caption/caption.sty:510:\@makecaption undefined.}}{}

hast du da eine Ahnung was ich machen könnte?

sommerfee
14-04-2009, 11:57
/usr/share/tex/latex/caption/caption.sty:510:\@makecaption undefined.}}{}

hast du da eine Ahnung was ich machen könnte?

Welche Version hat das caption.sty? Für mich hört sich das nach Version 3.0 und nicht nach 3.1 an. Auf der anderen Seite wird bei dir schon automatisch ein Beamer Template angelegt, was für ein aktuelles caption3.sty spricht. Kann es sein, daß bei dir ein Versionsmischmasch vorhanden ist und es deswegen nicht klappt? Packe doch bitte mal ein \listfiles an den Anfang deines Dokumentes und poste die Ausgabe der Versionsnummern der verwendeten Dateien, das würde mir sehr weiterhelfen, dir eine geeignete Lösung zu stricken.

Liebe Grüße,
Axel

Kleeblatt
14-04-2009, 12:14
Das caption3 habe ich erst vor Kurzem runtergeladen, müsste also neu sein.
Wo soll ich das mit \listfiles eingeben? Von sowas habe ich leider viel zu weinig Ahnung.

sommerfee
14-04-2009, 17:47
Das caption3 habe ich erst vor Kurzem runtergeladen, müsste also neu sein.

caption.sty und caption3.sty sind ein Tandem, welche immer aufeinander abgestimmt sind. Wenn man was aktualisiert, sollte man also immer alle Einzelpakete des caption-Paketes aktualisieren.


Wo soll ich das mit \listfiles eingeben?

Ganz an den Anfang des Dokumentes, also z.B.:


\listfiles
\documentclass[...]{beamer}
...


Es wird dann eine Liste der verwendeten Dateien in die log-Datei geschrieben, und dort sollte dann für caption.sty und caption3.sty stehen:


...
caption.sty 2008/08/24 v3.1j Customizing captions (AR)
caption3.sty 2008/08/24 v3.1j caption3 kernel (AR)
...


Liebe Grüße,
Axel

Kleeblatt
28-04-2009, 13:34
hi,

ok dann bekomme ich
caption3.sty 2008/08/24 v3.1j caption3 kernel (AR)

aber nicht das mit caption.

Das heißt doch, dass kein "Versionenmischmasch" vorliegt, oder?
was kann ich denn da jetzt noch machen?

sommerfee
01-05-2009, 08:56
ok dann bekomme ich
caption3.sty 2008/08/24 v3.1j caption3 kernel (AR)

aber nicht das mit caption.

Heißt das, es gibt keine passende Zeile für caption.sty? Das kann nicht sein, wenn caption.sty mit \usepackage{caption} eingebunden wird. Übersetze doch mal


\listfiles
\documentclass{article}
\usepackage{caption}
\begin{document}
x
\end{document}

und schaue anschließend in die entstandene Log-Datei.


Das heißt doch, dass kein "Versionenmischmasch" vorliegt, oder?

Ich denke doch, denn die Fehlermeldung "/usr/share/tex/latex/caption/caption.sty:510:\@makecaption undefined." kommt definitiv von einem caption.sty 3.0.

Eine Aktualisierung des gesamten caption-Paketes auf Version 3.1j sollte also Abhilfe bringen.

Liebe Grüße,
Axel

Kleeblatt
05-05-2009, 09:35
ok dann bekomme ich:

caption.sty 2004/07/16 v3.0c Customics captions (AS)

allerdings habe ich das mit \documentclass{beamer} gemacht

dann muss ich das also auch auf die neue Version von 2008 bringen?

sommerfee
05-05-2009, 19:48
dann muss ich das also auch auf die neue Version von 2008 bringen?

Ja, genau.

Version 3.0c ist einfach zu alt, um damit was bezüglich beamer zaubern zu können, dafür braucht man mindestens 3.0d.

Liebe Grüße,
Axel