Ich möchte eine block-Umgebung auf Höhe eines Items darstellen: Open in Online-Editor
\documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usetheme{AnnArbor} \usecolortheme{crane} \useinnertheme{circles} \newenvironment<>{definitionblock}[2][\textwidth]{% \begin{center} \begin{minipage}{#1} \setlength{\textwidth}{#1} \begin{actionenv}#3% \def\insertblocktitle{#2}% \par% \setbeamercolor{block body}{bg=blue!30} \usebeamertemplate{block begin}% \par% \begin{center}} {\end{center}% \par% \usebeamertemplate{block end}% \end{actionenv} \end{minipage} \end{center}} \begin{document} \begin{frame} \begin{itemize} \item Text 1 \begin{definitionblock}[6cm]{} Inhalt 1\\weiterer Inhalt \end{definitionblock} \end{itemize} \end{frame} \end{document} Die erste Zeile der blau hinterlegten Boxen sollen auf gleicher Höhe zum Text 1 sein. Ich hab versucht, das mit einer Open in Online-Editor
\documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usetheme{AnnArbor} \usecolortheme{crane} \useinnertheme{circles} \newenvironment<>{definitionblock}[2][\textwidth]{% \begin{center} \begin{minipage}{#1} \setlength{\textwidth}{#1} \begin{actionenv}#3% \def\insertblocktitle{#2}% \par% \setbeamercolor{block body}{bg=blue!30} \usebeamertemplate{block begin}% \par% \begin{center}} {\end{center}% \par% \usebeamertemplate{block end}% \end{actionenv} \end{minipage} \end{center}} \begin{document} \begin{frame} \begin{itemize} \item Text 1\raisebox{\dimexpr-\height+\ht\strutbox\relax}{% \begin{definitionblock}[6cm]{} Inhalt 1 \end{definitionblock}} \end{itemize} \end{frame} \end{document} Der Versuch ergibt die Fehlermeldung
Update: Ich hab mir eine Alternative überlegt: Statt eine block-Umgebung zu verwenden, was ja nicht klappt, will ich die Optik der block-Umgebung nachbauen (genau gesagt den block-body). Das gefällt mir zwar nicht so gut, aber vielleicht bringt es das selbe Ergebnis. Ich hab dazu folgendes gemacht: Open in Online-Editor
\documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{tikz} \useinnertheme{circles} \usetikzlibrary{shadows} \begin{document} \begin{frame} \begin{itemize} \item Text 1 \raisebox{\dimexpr\ht\strutbox+0.3333em\relax}{\begin{tikzpicture}[baseline=(current bounding box.north)] \node [draw=blue!50,fill=blue!50,rectangle,rounded corners,drop shadow] {\parbox{4cm}{\strut erste Zeile\\zweite Zeile}}; % erste Zeile auf Höhe des davor stehenden Textes \end{tikzpicture}} \item Text 2 \raisebox{\dimexpr0.5\ht\strutbox-0.5ex\relax}{\begin{tikzpicture}[baseline=(current bounding box.center)] \node [draw=blue!50,fill=blue!50,rectangle,rounded corners,drop shadow] {\parbox{4cm}{erste Zeile\\zweite Zeile}}; % zentriert zur Mitte der blauen Box (ohne Schatten) \end{tikzpicture}} \end{itemize} \end{frame} \end{document} Dies führt zu diesem Ergebnis: Nun hab ich noch Fragen zur Höhe der so konstruierten blauen Boxen. Ich hab zwei Varianten:
Ich hab beides nach einigem Testen mit der Das größere Problem ist, den Schatten der originalen beamer-block-Umgebung nachzubauen. Ich hab dazu mit gefragt 30 Jan '15, 22:25 tom75 |
Bei Verzicht auf die Open in Online-Editor
\documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usetheme{AnnArbor} \usecolortheme{crane} \useinnertheme{circles} \newenvironment<>{definitionblock}[2][\textwidth]{% \quad\begin{minipage}{#1} \begin{actionenv}#3% \def\insertblocktitle{#2}% \par% \setbeamercolor{block body}{bg=blue!30} \usebeamertemplate{block begin}% \par% \begin{center}} {\end{center}% \par% \usebeamertemplate{block end}% \end{actionenv}% \end{minipage}% } \begin{document} \begin{frame} \begin{itemize} \item Text 1 \begin{definitionblock}[6cm]{} Inhalt 1\\weiterer Inhalt \end{definitionblock} \end{itemize} \end{frame} \end{document} Mit der Zentrierung geht es tatsächlich nur mit viel Getrickse: Open in Online-Editor
\documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usetheme{AnnArbor} \usecolortheme{crane} \useinnertheme{circles} \newenvironment<>{definitionblock}[2][\textwidth]{% \vskip-\baselineskip\vskip-1.333ex% Wert ist geraten \begin{minipage}{\textwidth} \centering \begin{minipage}[t]{#1} \begin{actionenv}#3% \def\insertblocktitle{#2}% \par% \setbeamercolor{block body}{bg=blue!30} \usebeamertemplate{block begin}% \par% \centering} {\par% \usebeamertemplate{block end}% \end{actionenv}% \end{minipage}% \end{minipage} } \begin{document} \begin{frame} \begin{itemize} \item Text 1 \begin{definitionblock}[6cm]{} Inhalt 1\\weiterer Inhalt \end{definitionblock} \end{itemize} \end{frame} \end{document} Dabei gibt es dann natürlich keinen Schutz, dass der Block nicht den Text und den Item-Punkt überdeckt. beantwortet 06 Feb '15, 20:18 saputello Vielen Dank!!!
(06 Feb '15, 21:27)
tom75
|