PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : beamer: Problem mit seitlicher caption



SFAB
24-01-2010, 12:29
Hallo,

ich versuche seit einiger Zeit in einer beamer-Folie die Bildunterschrift neben dem Bild zu platzieren, leider bisher ohne Erfolg.

Mein aktuelles Minimalbeispiel sieht folgendermaßen aus:
\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{graphicx}
\usepackage{floatrow}

\begin{document}
\title[short test title]{long test title}
\author[J. Doe]{John Doe}
\institute[short test institute]{long test institute}

\begin{frame}{test frame}
\begin{figure}
\fcapside{
\includegraphics[width=0.5\linewidth]{testbild}
\caption{test caption}
}
\end{figure}

\end{frame}
\end{document}
läuft aber auf folgenden Fehler:
! LaTeX Error: Not in outer par mode.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.22 \end{frame}

Ich habe es auch schon mit SCfigure aus dem sidecap-Paket versucht. Dabei hat sich die Kompilierung aber immer bei dem Einbinden des Bildes aufgehängt (?), d.h. der Prozess ist minutenlang bei hoher Last an dieser Stelle hängengeblieben, ehe ich ihn manuell beendet habe.

Was mache ich falsch?

mechanicus
24-01-2010, 12:50
Hi,


\documentclass[demo]{beamer}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{graphicx}

\begin{document}

\begin{frame}{test frame}
\begin{figure}
\begin{columns}[totalwidth=\textwidth]
\begin{column}{0.6\textwidth}\centering
\includegraphics[width=0.5\linewidth]{testbild}
\end{column}
\begin{column}{0.4\textwidth}
\caption{test caption}
\end{column}
\end{columns}
\end{figure}
%
\end{frame}
\end{document}

Gruß
Marco

SFAB
24-01-2010, 12:53
Mit columns habe ich mir bisher auch beholfen, allerdings bin ich nicht auf die Idee gekommen Bild und caption in zwei Spalten zu stecken, sondern habe die caption "händisch" nachgebaut…

Vielen Dank für den Tipp!

Heißt das im Umkehrschluss, dass sich die beamer-Klasse und sidecap bzw. floatrow nicht vertragen?

mechanicus
24-01-2010, 13:03
Heißt das im Umkehrschluss, dass sich die beamer-Klasse und sidecap bzw. floatrow nicht vertragen?
Es scheint so. Allerdings weiß ich nicht warum. :D

Gruß
Marco

voss
24-01-2010, 14:09
ich versuche seit einiger Zeit in einer beamer-Folie die Bildunterschrift neben dem Bild zu platzieren, leider bisher ohne Erfolg.



\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{graphicx}
\usepackage{tabularx,caption}

\begin{document}
\title[short test title]{long test title}
\author[J. Doe]{John Doe}
\institute[short test institute]{long test institute}

\begin{frame}{test frame}
\begin{tabularx}{\linewidth}{@{}lX@{}}
\raisebox{-\height}{\includegraphics[width=0.5\linewidth]{testbild}} &
\captionof{figure}{test caption}
\end{tabularx}
\end{frame}

\end{document}


Herbert

SFAB
24-01-2010, 14:38
Vielen Dank für deine Lösung Herbert, sie funktioniert wunderbar.

Allerdings verstehe ich nicht so recht, was das folgende Argument bewirkt:


\begin{tabularx}{\linewidth}{@{}lX@{}}

Könntest du mir das bitte erklären?

voss
24-01-2010, 15:56
Allerdings verstehe ich nicht so recht, was das folgende Argument bewirkt:


\begin{tabularx}{\linewidth}{@{}lX@{}}

Könntest du mir das bitte erklären?

Mit @{} kann man einen eigen Rand festlegen und da in {} nichts steht,
gibt es keinen, statt des standardmäßigen \tabcolsep, bzw. 2\tabcolsep
zwischen zwei Spalten.

Herbert

Legion
24-01-2010, 17:54
Hi,


\documentclass[demo]{beamer}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{graphicx}

\begin{document}

\begin{frame}{test frame}
\begin{figure}
\begin{columns}[totalwidth=\textwidth]
\begin{column}{0.6\textwidth}\centering
\includegraphics[width=0.5\linewidth]{testbild}
\end{column}
\begin{column}{0.4\textwidth}
\caption{test caption}
\end{column}
\end{columns}
\end{figure}
%
\end{frame}
\end{document}

Gruß
Marco

So kann man die Spalten auch definieren und spart sich noch ein bisschen Tipperei:

\begin{columns}[c]
\column{0.45\textwidth}
... bla ...
\column{0.45\textwidth}
... bla ...
\end{columns}

voss
24-01-2010, 18:24
So kann man die Spalten auch definieren und spart sich noch ein bisschen Tipperei:

\begin{columns}[c]
\column{0.45\textwidth}
... bla ...
\column{0.45\textwidth}
... bla ...
\end{columns}

Leider geht das. beamer ist auf diesem Gebiet eher schlecht, weil es
fast nirgendwo eine einheitliche Syntax gibt ...

Herbert

Legion
24-01-2010, 18:32
das passt jetzt nicht zum thema, aber vllt hast du ja schnell einen tipp parat. ich bastel mir gerade eine präsentation zusammen für das mein lab-meeting morgen früh. nix aufwändiges und sieht auch alles ganz gut aus. eine sache stört ... die Handhabungen der Literaturen. Damit jeder die Präsentation sehen kann falls er sie verpasst hat oder einfach nochmal nachgucken möchte, sammeln wir unsere Präsentationen auf einem Server. Dazu gehören dann natürlich auch die Quellen.

Leider "bricht" beamer die nicht um, sondern platziert die munter auf eine Folie, auch wenn die längst voll ist. Ich nutze natbib. Im Handbuch 10.6 steht dass man auf einer neuen Folie weitermachen soll indem man dort eine weitere Umgebung definert ... aber ich habe keine Lust jeden Eintrag manuell da einzufügen.

Gibts da nen Kniff wie ich beamer dazu bringe umzubrechen? Irgandwas wie ne feste Anzahl oder so?

Gruß

mechanicus
24-01-2010, 18:53
Hallo,

dir ist doch der Begriff Minimalbeispiel bekannt. Dann erstelle bitte eins.

allowframebreaks

Gruß
Marco

Legion
24-01-2010, 19:06
Natürlich ist mir das bekannt und der Vollständigkeit halber kann ich das hier auch nochmal posten ... aber das wird bei euch sowieso nicht laufen, ohne die Literatur. Aber allowframebreaks war genau der richtige Hinweis. Danke :)


\documentclass{beamer}
\mode<presentation>
{
\usetheme{Berlin}
\setbeamercovered{transparent}
}
\useinnertheme{rectangles}
\usecolortheme{seagull}
\usefonttheme{professionalfonts}

\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[square]{natbib}

\begin{document}
\begin{frame}[allowframebreaks]{Literatur}
\begin{scriptsize}
\nocite{*}
\def\newblock{}
\bibliography{Literatur}
\bibliographystyle{Biophysikstyle}
\end{scriptsize}
\end{frame}
\end{document}