Ausgehend von der Antwort von @saputello auf diese Frage hat sich ein weiteres Problem ergeben. Wenn ich im tikzpicture \onslide verwenden möchte, funktioniert das nicht mehr:

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{angles,quotes,babel}

\newsavebox\tikzsavebox

\begin{document}
\begin{lrbox}{\tikzsavebox}
\begin{tikzpicture}
\draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
\pic["$\ldotp$",draw] {angle};
\onslide<2->{\node [draw] {Text};}
\end{tikzpicture}%
\end{lrbox}
\begin{frame}
\scalebox{2}{\usebox{\tikzsavebox}}
\end{frame}
\end{document}

gefragt 31 Jan '15, 18:48

tom75's gravatar image

tom75
1.9k1445
Akzeptiert: 83%


Ich würde in dem Fall einfach sowohl auf die lrbox als auch auf die quotes Syntax verzichten, also das

Open in Online-Editor
\pic["$\ldotp$",draw] {angle};

durch das etwas längere

Open in Online-Editor
\pic[pic text=$\ldotp$,draw] {angle};

ersetzen.

alt text

Code:

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{angles,quotes,babel}

\begin{document}
\begin{frame}
\scalebox{2}{%
  \begin{tikzpicture}
    \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
    \pic[pic text=$\ldotp$,draw] {angle};
    \onslide<2->{\node [draw] {Text};}
  \end{tikzpicture}%
}
\end{frame}
\end{document}

Wenn die komplette Zeichnung einschließlich des Overlays mehrfach ausgegeben werden soll, dann kannst Du Dir dafür ein Makro definieren:

Open in Online-Editor
\newcommand\bild{%
  \begin{tikzpicture}
    \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
    \pic[pic text=$\ldotp$,draw] {angle};
    \onslide<2->{\node [draw] {Text};}
  \end{tikzpicture}%
}

Falls sich nur einzelne Teile dieser Zeichnung immer wieder verwendet werden sollen, kannst Du auch diese als Makro speichern, zum Beispiel

Open in Online-Editor
\newcommand{\winkel}{
    \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
    \pic[pic text=$\ldotp$,draw] {angle};
}

Code:

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{angles}

\newcommand\bild{%
  \begin{tikzpicture}
    \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
    \pic[pic text=$\ldotp$,draw] {angle};
    \onslide<2->{\node [draw] {Text};}
  \end{tikzpicture}%
}

\newcommand{\winkel}{
    \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C);
    \pic[pic text=$\ldotp$,draw] {angle};
}

\begin{document}
\begin{frame}
\scalebox{2}{\bild}
\end{frame}

\begin{frame}
\scalebox{2}{%
  \begin{tikzpicture}
    \winkel
    \onslide<2->{\node [draw] {Text};}
  \end{tikzpicture}%
}
\end{frame}
\end{document}

Es gibt noch viele weitere Möglichkeiten, da man auch Makros definieren kann, die Argumente verwenden.

Permanenter link

beantwortet 31 Jan '15, 19:18

esdd's gravatar image

esdd
14.2k53251

bearbeitet 01 Feb '15, 12:45

@esdd Danke! Schade dass das nicht mit der lrbox geht, ich fand angenehm, weil man sie mehrfach verwenden konnte. Als Alternative bleibt dann im Sinze der Wiederverwendbarkeit, den Code des tikzpictures in eine eigene Datei auszulagern.

(01 Feb '15, 03:06) tom75
2

@tom75: Wenn du etwas in eine Box speicherst, ist der Inhalt unveränderlich. Die Box ist dann fertig und wird so wie sie ist kopiert. Benütze Macros, wenn LaTeX den Inhalt immer wieder neu setzen und dabei ändern soll.

(01 Feb '15, 05:58) Ulrike Fischer

@Ulrike Fischer Manchmal sieht man den Wald vor lauter Bäumen nicht! Danke.

(01 Feb '15, 06:09) tom75

@Ulrike Fischer Meintest du das z.B. so mit den Makros:

Open in Online-Editor
\documentclass[margin=0.5cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\newcommand*{\bild}{%
  \begin{tikzpicture}
    \ausschnitt
    \draw[step=.5cm,gray,very thin] (-1.4,-1.4) grid (1.4,1.4);
    \draw (0,0) circle (1cm);
  \end{tikzpicture}%
}

\begin{document}
  \newcommand*{\ausschnitt}{\clip (-0.1,-0.2) rectangle (1.1,0.75);}
  \bild
  \renewcommand*{\ausschnitt}{\relax}
  \bild
\end{document}
(01 Feb '15, 10:10) tom75

@tom75 Vielleicht ist es besser, wenn Du eine neue Frage stellst. Und bitte, wenn es irgend geht, in Kommentaren keine Codeumgebung verwenden, da das immer Probleme für die Anzeige des sechsten und aller weiteren Kommentare mit sich bringt. Wenn die dann jemand lesen möchte, kann es sein, dass Dein Kommentar mit dem Code gelöscht werden muss.

(01 Feb '15, 12:50) esdd
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×6
×3
×2

Frage gestellt: 31 Jan '15, 18:48

Frage wurde angeschaut: 2,022 Mal

Zuletzt aktualisiert: 01 Feb '15, 12:50