Archiv verlassen und diese Seite im Standarddesign anzeigen : Beamer-Klasse und Floating-Umgebungen
gentlesea
26-01-2009, 11:14
Hallo,
nachdem ich erfolgreich Codesamples in meine Ausarbeitung eingebunden habe, ist es nun an der Zeit, diese auch für eine Präsentation vorzubereiten. Dazu habe ich die Beamer-Klasse verwendet. Leider bekomme ich beim Kompilieren die Fehlermeldung:
! LaTeX Error: Not in outer par mode.
\frame
{
\frametitle{Der Shadercode}
\framesubtitle{}
\begin{codeSample}[h]
\end{codeSample}
}
Selbst wenn ich noch nichts einbinde.
Ich habe das Paket float eingebunden:
\usepackage{float}
Die Umgebung codeSample habe ich wie folgt definiert:
\newfloat{codeSample}{htbp}{lol}[section]
\floatname{codeSample}{Listing}
\renewcommand{\thecodeSample}{\thesection.\arabic{ codeSample}}
Wo liegt der Fehler? Existiert vielleicht die section nicht?
mechanicus
26-01-2009, 11:23
Hallo,
wieso willst du auf einer Folie was gleiten lassen? Wie sieht denn dein Code aus - genügt die verbatim-Umgebung bzw listings nicht?
Gruß
Marco
gentlesea
26-01-2009, 11:38
Ich verwende den Highlight Code Converter (http://www.andre-simon.de/doku/highlight/en/highlight.html), um den Code schöner aussehen zu lassen.
Bisher habe ich Code immer auf diese Art und Weise eingebunden:
\begin{codeSample}[h]
\centering
\fcolorbox{black}{bgcolor}
{
\begin{minipage}{\linewidth}\scriptsize
\changefont{cmtt}{m}{n}
\input{sourceCode/datei.xml}
\end{minipage}
}
\end{codeSample}
Mit dem listings-Paket ist die Schriftart viel zu groß und ich habe noch kein Syntax Highlighting. Es wäre schön, wenn das wie gehabt gehen würde.
mechanicus
26-01-2009, 11:50
Hallo,
sorry, mit Code meinte ich ein komplettes Minimalbeispiel.
Gruß
Marco
gentlesea
26-01-2009, 14:23
\documentclass{beamer}
\usepackage[ansinew]{inputenc}
\usepackage{float}
\usepackage{beamerthemesplit}
\usepackage{listings}
\usecolortheme{seahorse}
\newfloat{codeSample}{htbp}{lol}[section]
\floatname{codeSample}{Listing}
\begin{document}
\frame
{
\frametitle{Das Minimalbeispiel}
\framesubtitle{Das Minimalbeispiel - Untertitel}
\begin{codeSample}[h]
\centering
\fcolorbox{black}{bgcolor}
{
\begin{minipage}{\linewidth}\scriptsize
\changefont{cmtt}{m}{n}
\input{sourceCode/meineDatei.xml}
\end{minipage}
}
\caption{Eine Caption zu meiner Datei}
\label{codeSample:EineCaptionZuMeinerDatei}
\end{codeSample}
}
\end{document}
! LaTeX Error: Not in outer par mode.
sommerfee
27-01-2009, 09:12
Die beamer-Dokumentenklasse unterstützt keine Gleitumgebungen. "figure" und "table" sind zwar definiert, gleiten aber dort nicht und ignorieren den optionalen Parameter.
Dementsprechend funktioniert das float-Paket (oder die Neudefinition von Gleitumgebungen mit Hilfe von anderen Paketen) nicht.
Wenn man wirklich mehr als "figure" und "table" unter beamer braucht, und es nicht reicht einen der Prosa-Namen der beiden umzubenennen (z.B. "Abbildung" => "listing"), dann müsste man sich den passenden Code aus der beamer-Klasse anschauen und die eigenen Umgebungen analog dazu selber definieren.
Liebe Grüße,
Axel
gentlesea
27-01-2009, 10:55
Vielen Dank für die Antwort. Ich habe es jetzt zähneknirschend mit dem listings-Paket gelöst. Zähneknirschend deshalb, weil listings kein CG (C for graphics) Syntax-Highlighting unterstützt. Ist wahrscheinlich dann doch etwas speziell. Zumindest wird es in http://www.pvv.ntnu.no/~berland/latex/docs/listings.pdf nicht aufgeführt. Naja, C++ kommt schon nah ran.
\lstloadlanguages{C++}
\lstset{%
language=C++,
showstringspaces=false,
basicstyle=\ttfamily\tiny,
keywordstyle=\color{blue},
commentstyle=\color{green},
stringstyle=\color{red}
}%
\frame
{
\frametitle{Der Shadercode}
\framesubtitle{Teil 1}
\lstinputlisting{sourceCode/meinShader.cg}
}
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.