PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LaTeX Präsentationen mit "beamer"



hanne
02-11-2005, 11:33
Hallo,

ich habe mal ein kleines Problem, an dem ich nun schon eine Weile sitze, es aber nicht lösen kann.

Ich habe mir ein Layout für eine Präsentation mit der "beamer"-Klasse geschrieben. Nun gibt es bei mir eine Titelseite, die einen anderen Hintergrund verwendet. Allerdings schreibe ich bei mir in ein style die Kopf- und Fusszeilen. Hierbei wird in die Kopfzeile ein Logo eingebunden, welches Schwarz/Weiss ist. Nun funktioniert es für alle Folien prima. Nur eben für eine etwas dunklere Titelseite würde ich gerne ein Logo einfügen, welches Weiss/Schwarz ausschaut. Meine Frage ist, wie kann ich im style-file festlegen, (zum Beispiel mit einer if/else-Schleife) wann welches Logo eingefügt werden soll. Das style-file schaut folgendermaßen aus:

\ProvidesPackageRCS $Header: /cvsroot/latex-beamer/latex-beamer/themes/theme/compatibility/beamerthemelined.sty,v 1.3 2004/10/07 20:53:10 tantau Exp $

% Copyright 2003 by Till Tantau <tantau@users.sourceforge.net>
%
% This program can be redistributed and/or modified under the terms
% of the GNU Public License, version 2.

\mode<presentation>

\usepackage[latin1]{inputenc}

\setbeamertemplate{headline}[text line]
{%
\vbox{%
\vskip5pt%
% \beamerline{\insertnavigation{\paperwidth}}%
\includegraphics[height=0.8cm]{LogoSW.eps}
\vskip5pt%
\insertvrule{0.4pt}{fg}%
\vskip1.5pt
\TEXT
\vskip0.5pt%
\insertvrule{0.4pt}{fg}%
}%
}

% Footline
\setbeamertemplate{footline}[text line]
{%
\ifbeamertemplateempty{logo}
{%
\vbox{%
%\setbox\beamer@tempbox=\hbox{\tiny\insertshortaut hor: \insertshorttitle\hskip1.5cm\insertshortinstitute} %
\ifdim\wd\beamer@tempbox>\paperwidth%
%\insertvrule{4pt}{beamerstructure!50!averagebackg roundcolor}%
% \vskip1.5pt
% \tinyline{\color{beamerstructure}\insertshortautho r:\hfill\insertshortinstitute}%
% \tinyline{\color{beamerstructure}\insertdate\hfill \lower1pt\hbox{\insertnavigationsymbols}}%
\else%
%\setbox\beamer@tempbox=\hbox{\beamerline{\hbox to\paperwidth{\hfill\lower1pt\hbox{\insertnavigati onsymbols}}}}%
%\ht\beamer@tempbox=0pt%
%\box\beamer@tempbox%
%\insertvrule{4pt}{beamerstructure!50!averagebackg roundcolor}%
%\vskip1.5pt
\tinyline{\color{gray!50!white}\hspace*{8ex}\inser tdate\hfill\inserttitle\hfill\ Folie \insertframenumber{} von \inserttotalframenumber\hspace*{8ex}}%
\vskip10pt
\fi}%
}
}



%\userightsidebartemplate{0cm}{}

\mode
<all>

Ein weiteres Problem habe ich damit, dass bei mir nach dem Compilieren zu pdf die Boxen um die Verlinkungen (also bei dem Inhaltsverzeichnis) im pdf erhalten bleiben. Wie kann ich diese entfernen???

Danke euch

countbela666
04-11-2005, 18:51
Hallo hanne,

an erster Stelle: ist das, was du gepostet hast, ein Ausschnitt aus dem Style-File, das du verändert hast und jetzt so nutzt? Würde mich wundern, denn da hat ein \usepackage{...} eigentlich nichts verloren (eher ein RequirePackage{...}). Du kannst die beiden Templateanpassungen auch in dein TEX-File hineinpacken, wenn du sie in \makeatletter und \makeatother einklammerst; da sparst du dir das Umschreiben anderer Files.

Nun zu deinem eigentlichen Problem. Ein Bild je nach Wunsch einzubinden, könntest du folgendermaßen realisieren: Du definierst einen Befehl \figcolor als Variable, der du vor einer Folie mit schwarzweißem Bild z.B. "sw", andernfalls "ws" zuweist. Die Variable fragst du dann in deinem Style-File ab.

Änderung im Style-File:

...
\RequirePackage{ifthen}

\setbeamertemplate{headline}[text line]
{%
\vbox{%
\vskip5pt%
% \beamerline{\insertnavigation{\paperwidth}}%
\ifthenelse{\equal{\figcolor}{sw}}{%
\includegraphics[height=0.8cm]{image1}
}{%
\includegraphics[height=0.8cm]{image2}
}
\vskip5pt%
\insertvrule{0.4pt}{fg}%
\vskip1.5pt
\TEXT
\vskip0.5pt%
\insertvrule{0.4pt}{fg}%
}%
}
...
Anwendung im TEX-File:

...
\begin{document}
\newcommand{\figcolor}{sw}
\begin{frame}
...
\end{frame}

\renewcommand{\figcolor}{ws}
\begin{frame}
...
\end{frame}
\end{document}
Dein Problem mit den Boxen um die Links kann ich nicht reproduzieren. Da das beamer-Paket automatisch hyperref lädt, müsste man es jedoch mittels

\hypersetup{colorlinks=true,linkcolor=black}behebe n können. Poste im Zweifelsfall einfach ein Minimalbeispiel.

Grüße,
Marcel

hanne
06-11-2005, 18:45
Hallo Marcel,

ich habe mir Deine Antwort angeschaut. Leider funktioniert die Variablenbelegung nicht wirklich bei mir. Es kommt immer zu folgender Fehlermeldung:

! Undefined control sequence.
<argument> \figcolor

Jetzt weiß ich wieder nicht weiter..

Kannst du mir sagen, was ich machen kann??

Danke

rais
06-11-2005, 20:19
Moin moin,
ich würde mir an Deiner Stelle


\ifthenelse{\equal{\figcolor}{sw}}{%
\includegraphics[height=0.8cm]{image1}
}{%
\includegraphics[height=0.8cm]{image2}
}

zu


\ifthenelse{\isundefined{\figcolor}}{%
\includegraphics[height=0.8cm]{image1}
}{%
\includegraphics[height=0.8cm]{image2}
}

umbauen, dann kannst Du mit


\newcommand{\figcolor}{1}

_nach_ dem ersten frame auf das zweite Logo umschalten und hast das Problem nicht mehr, hat aber den Nachteil, daß Du nur einmal wechseln kannst (oder gibt's so etwas wie \undefcommand{} ?)
Alternativ könntest Du den \newcommand{figcolor}{sw} mit in Dein Style-file übernehmen, z.B. gleich nach dem \RequirePackage{..} und im Dokument nur noch mit \renewcommand{}{} diesen umbenennen (d.h. der \newcommand{\figcolor}{sw} im Dokument fällt dann weg), dann sollte es mit \equal auch funzen.
MfG,

hanne
07-11-2005, 07:50
Danke,

aber ich habe einen kleinen Fehler gemacht. Jetzt funktioniert das ganze auch einwandfrei.


Also eventuell bis später