PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TikZ-Bild in Beamer-Präsentation zentrieren



trustee
16-08-2013, 19:16
Hallo zusammen,

einfaches Problem, aber ich finde keine Lösung. Wahrscheinlich stehe ich auf dem Schlauch. Ich würde gerne ein tikzpicture in einer Beamer-Präsentation zentrieren. Ich möchte aber eher nicht die Overlay-Option von TikZ verwenden, denn der folgende Text soll tatsächlich folgen. Hier ein Beispiel:


\documentclass{beamer}

\usepackage{tikz}
\usepackage{ae}

\begin{document}

\frame{
\frametitle{Frame 1}

\begin{tikzpicture}
\node[rectangle,draw]at(-4,2.5)(Alt){Node 1};
\node[rectangle,draw]at(4,2.5)(Obj){Node 2};
\draw[->](Alt)--(Obj);
\node[rectangle,draw]at(0,0.5)(Sta){Node 3};
\draw[->](Sta)to(0,2.5);
\end{tikzpicture}

The picture is not centered, as the red dot indicates.

\begin{tikzpicture}[remember picture,overlay,shift=(current page.center)]
\fill [red] (0,0) circle (5pt);
\end{tikzpicture}
}

\frame{
\frametitle{Frame 2}

\begin{tikzpicture}[remember picture,overlay,shift=(current page.center)]
\node[rectangle,draw]at(-4,2.5)(Alt){Node 1};
\node[rectangle,draw]at(4,2.5)(Obj){Node 2};
\draw[->](Alt)--(Obj);
\node[rectangle,draw]at(0,0.5)(Sta){Node 3};
\draw[->](Sta)to(0,2.5);
\end{tikzpicture}

The picture is centered, but it overlays the text.

\begin{tikzpicture}[remember picture,overlay,shift=(current page.center)]
\fill [red] (0,0) circle (5pt);
\end{tikzpicture}
}

\end{document}


Wie kann ich das Ziel erreichen, das Bild zu zentrieren und es dennoch in den Textfluss einzubeziehen?

Danke im Voraus!
Sebastian

Stefan_K
16-08-2013, 19:44
Hallo Sebastian,

verwende eine center-Umgebung, also \begin{center} ... \end{center}, um das Bild herum, oder \centering davor,

Stefan

trustee
17-08-2013, 11:37
Hallo Stefan,

als ich deine Lösung gesehen habe, dachte ich, dass das nicht funktionieren kann, denn ich habe es zehn Mal probiert - aber nicht im Minimalbeispiel, und hier funktioniert es wunderbar! Also vielen Dank.

In meinem eigentlichen Dokument funktioniert die Lösung aber nicht. Ich habe als Problem ausgemacht, dass ich eine minimum width vorgebe, damit die Rechtecke bis auf Ausnahmen gleich breit sind. Hier ein neues Beispiel:



\documentclass{beamer}

\usepackage{tikz}
\tikzset{rectangle/.style={minimum width=8em}}
\usepackage{ae}

\begin{document}

\frame{
\frametitle{Frame 1}

\begin{center}
\begin{tikzpicture}
\node[rectangle,draw]at(-4,2.5)(Alt){Node 1};
\node[rectangle,draw]at(4,2.5)(Obj){Node 2};
\draw[->](Alt)--(Obj);
\node[rectangle,draw]at(0,0.5)(Sta){Node 3};
\draw[->](Sta)to(0,2.5);
\end{tikzpicture}
\end{center}

The picture is not centered, as the red dot indicates.

\begin{tikzpicture}[remember picture,overlay,shift=(current page.center)]
\fill [red] (0,0) circle (5pt);
\end{tikzpicture}
}

\frame{
\frametitle{Frame 2}

\begin{tikzpicture}[remember picture,overlay,shift=(current page.center)]
\node[rectangle,draw]at(-4,2.5)(Alt){Node 1};
\node[rectangle,draw]at(4,2.5)(Obj){Node 2};
\draw[->](Alt)--(Obj);
\node[rectangle,draw]at(0,0.5)(Sta){Node 3};
\draw[->](Sta)to(0,2.5);
\end{tikzpicture}

The picture is centered, but it overlays the text.

\begin{tikzpicture}[remember picture,overlay,shift=(current page.center)]
\fill [red] (0,0) circle (5pt);
\end{tikzpicture}
}

\end{document}


Man sieht, dass eine center-Umgebung nicht zum Ziel führt (centering ebensowenig).

Jetzt lässt sich das Problem also wie folgt zusammenfassen: Wie zentriere ich ein TikZ-Bild, wenn ich eine Minimalbreite für Elemente vorgebe und möchte, dass der folgende Text nicht überlappt wird. Hat jemand eine Idee?

Danke im Voraus
Sebastian

Stefan_K
17-08-2013, 12:53
Das Bild ist nur zu breit und ragt in den rechten Rand, links beginnt es am Rand, daher die Asymmetrie.

Stefan


--
TeXwelt - Fragen und Antworten zu LaTeX (http://texwelt.de/)

trustee
17-08-2013, 13:26
Danke! Das war das Problem.

Gruß
Sebastian