PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sprechblasen



DonLouigi
27-07-2010, 10:35
Ich würde gerne in meiner Präsentation Sprechblasen (s. Screen) einbauen. Dazu hätte ich zwei Fragen:

1. Wie erstelle ich diese Sprechblasen am Besten? Mit irgendeiner Form einer box?

2. Gibt es eine Möglichkeit, die Sprechblasen relativ frei zu positionieren (z. B. dass sie neben oder unter dem Text sind, oder schräg knapp außerhalb der Tabelle oder so)? Vielleicht mit einem system von hspcace und vspace?

Stefan_K
27-07-2010, 11:12
Hallo!

Beispiele:


mit PSTricks (http://tug.org/PSTricks/main.cgi?file=pst-node/nodes#balloon) (word balloon)
mit TikZ (http://www.texample.net/tikz/examples/pgf-version-2/) (callouts)


Viele Grüße,

Stefan


--
TeXblog (http://texblog.net)

DonLouigi
27-07-2010, 13:41
danke, erstmal. jetzt erstmal durch den quellcode fuchsen^^

DonLouigi
28-07-2010, 11:01
Hier dann eine weiterführende Frage: Ich habe mich entschlossen, es mit den callouts von tikz zu versuchen. Laut der Beschreibung muss man eine bestimme tikzlibrary laden. Wenn ich die entsprechenden vorgegebenen Kommandos benutze, kommt die Fehlermeldung "I can't find file `tikzlibraryshapes.callout.code.tex'."
Heißt das, ich brauche irgendwelche Grunddateien, die ich noch nicht habe? Wenn ja, wo krieg ich die her.

Minibeispiel:



\documentclass[mathserif]{beamer}
\usepackage[leqno,fleqn,intlimits]{empheq}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{eurosym}
\usepackage{fancybox}
\usepackage{graphicx}
\usepackage{tikz}

\setbeamercovered{transparent}
\setbeamertemplate{footline}[frame number]
\beamertemplatenavigationsymbolsempty

\usetikzlibrary{shapes.callout} % LATEX and plain TEX when using Tik Z


\begin{document}

\begin{frame}
\begin{tikzpicture}[remember picture]
\node[ellipse callout, draw] (hallo) {Hallo!};
\end{tikzpicture}
\end{frame}

\end{document}

borose
28-07-2010, 11:16
Hi!

Probiers mal nur mit


\usetikzlibrary{shapes} statt
\usetikzlibrary{shapes.callout}

also:


\documentclass[mathserif]{beamer}
\usepackage[leqno,fleqn,intlimits]{empheq}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{eurosym}
\usepackage{fancybox}
\usepackage{graphicx}
\usepackage{tikz}

\setbeamercovered{transparent}
\setbeamertemplate{footline}[frame number]
\beamertemplatenavigationsymbolsempty

\usetikzlibrary{shapes} % LATEX and plain TEX when using Tik Z


\begin{document}

\begin{frame}
\begin{tikzpicture}[remember picture]
\node[ellipse callout, draw] (hallo) {Hallo!};
\end{tikzpicture}
\end{frame}

\end{document}

DonLouigi
28-07-2010, 13:33
Ja danke , das hat geholfen.

Gleich ide nächste anschließende Frage:

Nach ein wenig herumexperimentieren mit den vorgegebenen QUellcodeschnipseln zur Erstellung von Sprechblasen habe ich etwas gefunden, was mir zusagt:


\documentclass[mathserif]{beamer}
\usepackage[leqno,fleqn,intlimits]{empheq}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{eurosym}
\usepackage{fancybox}
\usepackage{graphicx}
\usepackage{tikz}

\setbeamercovered{transparent}
\setbeamertemplate{footline}[frame number]
\beamertemplatenavigationsymbolsempty

\usetikzlibrary{shapes} % LATEX and plain TEX when using Tik Z


\begin{document}

\begin{frame}
\begin{tikzpicture}[remember picture, note/.style={ellipse callout, fill=#1}]
\node [note=brown!50, callout relative pointer={(-1,1)}] at (0,0) {Teilpopulationen, Teilstichproben};
\end{tikzpicture}\end{frame}

\end{document}

1.) Dabei kommen jedesmal so seltsame Fehlermeldungen á la "! Illegal parameter number in definition of \iterate.". Trotzdem scheint es zu funktionieren, wie ich es mir vorstelle. Was bedeuten die Fehlermeldungen? Was kann ich dagegen tun?

2.) Gibt es eine Möglichkeit diese Sprechblasen zweizeilig zu beschreiben? Ich hab es mit ner Makebox ausprobiert, aber dabei kam nur heraus, dass die Blase ganz klein wurde und die Schrift über die Grenzen hinaus reichte.

Stefan_K
28-07-2010, 13:43
1.) Dabei kommen jedesmal so seltsame Fehlermeldungen á la "! Illegal parameter number in definition of \iterate.". Trotzdem scheint es zu funktionieren, wie ich es mir vorstelle. Was bedeuten die Fehlermeldungen? Was kann ich dagegen tun?

Was soll fill=#1 hier? Das erzeugt bei mir einen Fehler. Mit einer direkt angegebenen Farbe wie fill=cyan hingegen geht es.

Stefan

DonLouigi
28-07-2010, 15:47
das fill=#1 war in der vorlage gegeben, ich hab keine ahnung , was das sollte. Aber das scheint das problem gewesne zu sein. Danke!

Weiß jemand, wie ich das mit dem mehrzeilig-schreiben realisiere?

DonLouigi
02-08-2010, 10:05
Ich habe nun versucht, mit einer \makebox die Sprechblase zweizeilig zu beschriften. Sie hat jetzt jedoch nur eine minimalgröße, und der Text reicht viel weiter (siehe Screen). Weiß jemand eine Möglichkeit, wie ich die Größe der Sprechblase ausdehnen kann, sodass sie den Ganzen Text umfasst? Oder gibt es eine andere Möglichkeit für das Mehrzeilige?

Minibeispiel:


\documentclass[mathserif]{beamer}
\usepackage[leqno,fleqn,intlimits]{empheq}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{fancybox}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{shapes} % LATEX and plain TEX when using Tik Z
\setbeamercovered{transparent}
\beamertemplatenavigationsymbolsempty

\begin{document}

\begin{frame}[t]
\begin{tikzpicture}[remember picture, note/.style={ellipse callout, fill=brown!50}]
\node [note=brown!50, opacity=90, overlay, callout absolute pointer={(1,-1)}] at (0,0) {\makebox[0pt]{${\scriptscriptstyle \textnormal{Teilpopulationen}\atop {\scriptscriptstyle \textnormal{Teilstichproben}}}$}};
\end{tikzpicture}

\end{frame}

\end{document}



und das entsprechende Bild:

rais
02-08-2010, 22:21
Moin moin,

Ich habe nun versucht, mit einer \makebox die Sprechblase zweizeilig zu beschriften. Sie hat jetzt jedoch nur eine minimalgröße, und der Text reicht viel weiter (siehe Screen). Weiß jemand eine Möglichkeit, wie ich die Größe der Sprechblase ausdehnen kann, sodass sie den Ganzen Text umfasst? Oder gibt es eine andere Möglichkeit für das Mehrzeilige?

nun ja, Du definierst für diese \makebox eine Breite von 0pt, damit gaukelst Du quasi dem \node vor, daß dessen Inhalt keine Breite einnimmt.
BTW: Was genau soll bei `opacity=90' geschehen? Afaik ist der Wertebereich für `opacity' 0 (transparent) ... 1 (deckend).

Versuch so etwas wie


\begin{tikzpicture}[remember picture, note/.style={ellipse callout, fill=brown!50}]
\node [note=brown!50, text width=2.5cm, opacity=0.90, overlay, callout absolute pointer={(1,-1)}] at (3,-3) {Teilpopulationen Teilstichproben};
\end{tikzpicture}

MfG

DonLouigi
03-08-2010, 09:04
Jaaa, Danke, das funktioniert jetzt super.

Ich glaube, ich bin dem irreführenden Gedanken aufgesessen, opacity wäre von 0 bis 100. Vielen Dank für die Hilfe!