Anpassung von Beamerthemes

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


dschanz
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 13. Jul 2013, 12:13

Anpassung von Beamerthemes

Beitrag von dschanz »

Hallo an alle!

Nach stundenlangem, erfolglosem Google-Marathon zu meinen Problemen frage ich mal, ob hier vielleicht jemand helfen kann.

Ich bin dabei, eine größere Präsentation zu erstellen und stoße mit wachsender Zahl an sections, subsections und frames auf Grenzen, für die ich leider noch keine Lösung finden konnte.

Das Beamertheme, das mir zunächst am besten gefiel, war Darmstadt, wegen der Miniframe-Navigation.
Erstes Problem: Selbst wenn ich Kurztitel in eckigen Klammern für die sections verwende, läuft die Zeile nach ca. 6 bis 8 sections über. Gibt es eine Möglichkeit, dass die Miniframe-Zeile automatisch weiterscrollt?
Ein wrap mit
\usetheme{Darmstadt}
\useoutertheme{miniframes}
\makeatletter
  \beamer@compressfalse
\makeatother
bringt leider nichts, da die sections in der Miniframe-Navigation ja immer nebeneinander stehen. Da werden ja nur die Kringel der subsections untereinander gesetzt, so wie das z. B. im Beamertheme Dresden schon vorgegeben ist. Bringt aber neue Probleme mit sich (weiter unten).

Da ich das mit der Miniframe-Navigation nirgendwo finden konnte, wollte ich auf das Theme AnnArbor umsteigen, und schon gabs zwei neue Probleme:

1) die Darstellung von Blöcken ist anders, und ich konnte noch nicht herausfinden, wie man diese z. B. mit \setbeamercolor anpassen kann, so dass Blöcke farblich und mit den Umrandungen genau so erscheinen, wie in "Darmstadt".

2) Aber wesentlich störender: ich benutze zum Positionieren von Abbildungen und Texten das Paket textpos, und zum Zeichnen von Pfeilen nehme ich tikz. Beim Wechsel des Beamerthemes verschieben sich leider die Positionierungen von Pfeilen und Bildern relativ zueinander. Offenbar sind die Koordinaten bei textpos und tikz unterschiedlich.
Gibt es eine Möglichkeit, den Koordinatennullpunkt für beide (textpos und tikz) so zu definieren, dass die Positonierungen deckungsgleich sind? Am liebsten wäre mir, wenn ich generell die linke untere frame-Ecke als (0,0) definieren könnte und dann auch für beide oben rechts dieselben Koordinaten gelten würden. Ich habe schon mit
\begin{tikzpicture}[anchor=south west,remember picture, overlay]
und anderen anchor-settings herumprobiert, aber wenn ich das Theme ändere, verschiebt sich alles wieder. Offenbar sind die Koordinaten anders dimensioniert, obwohl ich sowohl für tikz als auch für textpos gemeinsame Einheiten - entweder mm oder pt - verwende. Dazu kommt, dass bei anderem Layout des Frame-Kopfes, also z. B. mehrzeilige Miniframes mit dem oben erwähnten wrap, sich die Positionierung der Bilder und tikz-Grafiken nicht automatisch dem eigentlichen Inhaltsbereich des Frames anpasst: wird die Miniframe-Navigation durch Hinzufügen einer Subsection plötzlich eine Zeile größer, überdecken die Bilder die Frame-Titelzeile. Auch blöd!

Mit der Länge der Präsentation tut sich ein weiteres Problem auf, ähnlich dem der Miniframe-Navigation:
Nach der Titelseite soll eine Inhaltsübersicht kommen, die sich wegen des Präsentationsumfangs mit Sicherheit über mehrere Seiten erstrecken wird. Das habe ich versucht, so zu lösen:
\begin{frame}[allowframebreaks]{Table of contents}
\tableofcontents
\end{frame}
Das ergibt aber ein merkwürdiges Layout: auf der zweiten Seite der Table of Contents sieht man oben die restlichen Subsection-Title, die nicht mehr vollständig auf die erste Seite passten. Die nächste Section mit ihren Subsections ist aber nicht im selben Zeilenabstand darunter, sondern vertikal auf der Seite zentriert. Sieht blöde aus.

Aber noch blöder:
Ich möchte mit
\newcommand{\inhalt}{\frame{\frametitle{Kommendes Kapitel:}\tableofcontents[currentsection]}}
und mit \inhalt zu Beginn jeder section den aktuell kommenden Kapitelinhalt nochmals kurz vorstellen. Dazu bahe ich setbeamercovered auf "transparent" gesetzt und sehe dann nur die aktuelle section (mit subsections) schwarz, den Rest hellgrau. Das funktioniert aber nur auf der ersten Seite des Inhaltsverzeichnisses, denn einen Seitenumbruch habe ich in dieser newcommand noch nicht hinbekommen. Wie dem auch sei: eigentlich möchte ich zu Beginn einer neuen section auch gar nicht die gesamte Table of Contents sehen, sondern nur die aktuelle section mit ihren subsections.


Puh... jetzt habe ich mal genug Probleme geschildert. Eigentlich finde ich die Erstellung von Beamerpräsentationen mit LaTeX ganz Klasse, wenn man mal sieht, was alles möglich ist. Allerdings ist es ziemlich ermüdend, herauszufinden, wie man bestimmte Effelte erzielt und die nötigen Anpassungen dazu vornimmt.
Sicher: es gibt massenhaft Pakete mit den zugehörigen, seitenlangen Dokumentationen, die man auch alle lesen kann...wenn man aber unter Zeitdruck steht, sieht die Sache anders aus.
Ich muss meine Präsentation bis kommenden Freitag fertig haben und muss mich eigentlich eher auf den fachlichen Inhalt, als auf die LaTeX-Feinheiten zur Bewältigung des Layouts konzentrieren.
Letzteres bringt mich sin meiner Verzweiflung schon fast dazu, die Präsentation in Windeseile mit PowerPoint neu zu erstellen, sonst stehe ich Ende der Woche vielleicht(!) mit perfektem Layout, aber aus Zeitgründen mit unfertigem Inhalt da...

Kann mir da jemand aus der Patsche helfen?

Mit einem vollständigen Minimalbeispiel sieht es noch schlecht aus, denn die Gesamtpräsentation ist schon sehr lang, und ich müsste außerdem den gesamten Inhalt rausnehmen, da ich den hier nicht öffentlich machen darf.

Gruß
dschanz

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Puh... jetzt habe ich mal genug Probleme geschildert.
Stimmt.

Ich habe das alles nur überflogen, aber der allgemeine Eindruck ist: Deine Präsentation ist zu lang. Wieviele Stunden willst du eigentlich reden? Oder du übertreibst es mit der Struktur.

Was deine Positionierungsprobleme angeht: Ohne Code ist es schwer zu sagen, aber ich würde für absolut zu positionierende Sachen einfach den "current page"-node als Referenz benutzen, zb. current page.south west

dschanz
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 13. Jul 2013, 12:13

Beitrag von dschanz »

Hallo Ulrike,

zunächst mal vielen Dank für deine Antwort.

Zur Länge der Präsentation: es ist eine Mini-Vorlesung, die über insgesamt knapp 5 Stunden geht, aufgeteilt in drei mal 90 min.
Ich möchte aber die Datei nur ungern aufteilen, da ich aufgrund möglicher Zwischenfragen aus dem Auditorium nicht weiß, bis zu welcher Folie ich im ersten bzw. zweiten Teil kommen werde, und eigentlich nicht vorhatte, mittendrin zu unterbrechen, um die nächste Datei aufzurufen. Aber schon die erste 90-Minuten-Portion hat so viele thematische Unterteilungen, dass die Miniframe-Navigation gesprengt wird.

Bei Dokumenten ist ja die Stärke von LaTeX, dass die Dateigröße viel geringer und damit die Handhabbarkeit sehr langer Texte wesentlich besser ist als bei Word-Dokumenten. Ich hatte mir vorgestellt, dass das bei Beamer-Präsentationen ähnlich sei. Zumindest habe ich mit Powerpoint regelmäßig das Problem, dass die Dateigröße wegen der eingebundenen Abbildungen sehr schnell auf zweistellige MB anwächst und die Animationen rucklen bzw. der Mist dann komplett hängenbleibt.
Außerdem hat PPT nach wie vor Kompatibilitätsprobleme: kaum dass im Vortragssaal ein Mac am Beamer hängt, sehen die Folien anders aus als auf dem heimischen PC.
Daher meine Entscheidung für LaTeX und PDF-Format.

Zur Strukturierung:
In naturwissenschaftlichen Vorträgen meines Fachs ist es unvermeidbar, dass auf jeder Folie viele Einzelabbildungen in einer exakt bestimmten Anordnung vorkommen, die dann auch in festgelegter Reihenfolge ein- bzw. ausgeblendet oder überblendet werden müssen. Reine Text- oder Listenfolien sind eher die seltene Ausnahme. Zusätzlich müssen Pfeile oder ähnliche Geometrien optisch den Zusammenhang zwischen den Abbildungsteilen herstellen und müssen dazu exakt auf einen bestimmten Punkt in einer Grafik weisen. Deshalb auch mein Wunsch einer absoluten Positionierung aller Folienelemente.
Ich werde mir das mit den "current page"-nodes mal ansehen, vielen Dank für den Tipp.
Mein "Lieblings"-Grafikpaket ist übrigens pstricks, da man damit wirklich sehr gut positionieren kann, aber das funktioniert leider nicht mit pdflatex, und andere Spezialpakete, die ich zur Formeldarstellung benötige, laufen nur unter pdflatex. Alle über Google aufindbaren workarounds, um pstricks unter pdflatex zu verwenden, haben in meiner Präsentation zu einer Vielzahl neuer Fehlermeldungen und Funktionskollisionen mit anderen Paketen geführt.

Einige der von mir beschriebenen Probleme habe ich schon umgangen ("gelöst" wäre das falsche Wort). Eine automatisch weiterscrollende Miniframe-Navigation wäre sicher schön gewesen, denn damit könnte man im Falle einer Rückfrage hervorragend mit jeweils nur einem Klick auf weiter zurückliegende Folien und wieder zur aktuellen Folie kommen. Wundert mich, dass das noch nicht implementiert wurde, denn so ist man auf Präsentationen mit nur wenigen sections eingeschränkt.

Eine Kleinigkeit konnte ich allerdings schon teilweise lösen:
Das mit dem vertikal zentrierten Format der mehrseitigen Table of Contents habe ich jetzt so gelöst:
\begin{frame}[t, allowframebreaks]{Table of contents}
\tableofcontents
\end{frame}
Damit fängt jede neue Seite des Inhaltsübersicht am oberen Rand des Inhaltsbereichs an. Allerdings erfolgt der Seitenumbruch immer noch mitten in einer Section, so dass die Subsections sich auf zwei Seiten verteilen. Ob und wie man es erreicht, dass der Seitenumbruch nur zu Beginn einer Section stattfindet, konnte ich noch nicht herausfinden. Ich habe jetzt die Subsections ausgeblendet:
\begin{frame}[t,allowframebreaks]{Table of contents}
\tableofcontents[hideallsubsections]
\end{frame}
Not what we wanted but all we could get...

Gruß
Dirk

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Mit "Strukturierung" meinte ich nicht das Positionieren von Bildern sondern \sections, \subsections usw. Du überforderst deine Hörer, wenn du in die Folien nicht nur Inhalte sondern auch massenhaft Strukurinformationen
reinquetschst. Ein Inhaltsverzeichnis, das über zwei Seiten geht, kann sich doch niemand merken.

Ich würde übrigens bei Nachfragen nach weit entfernten Teilen einfach den Vollbildmodus verlassen und dann die Lesezeichen im Adobe Reader benutzen.

Und was das Positionieren von Bildern angeht: Das geht mit tikz genauso gut wie mit pstricks - und texpos brauchst du sicherlich nicht.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

beameruserguide Abshnitt 10.4 "Splitting a course into lectures" könnte dich interessieren.

Wenn du mit den Frame-Titeln richtig arbeitest, kannst du vermutlich viele Subsections umgehen.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten