I have to make a poster in latex for an elaboration. I have an idea for the layout of this poster: a corkwall for the background and notepads for the style of the boxes, with little pins. Is it possible to realize my idea? I added a picture how it could look like (it should be in a vertical format). Thanks for help...
2 Answers
Improved version
You can use tcolorbox
to design the notepads; the cork-board is simply an image in the background. In my example below I used the beamer
class, but you can use the boxes with a suitable class/package for posters:
The code (since I optionally used the equal height group
, the code must be run twice so the heights can be appropriately calculated):
\documentclass[twocolumn]{beamer}
\usepackage[most]{tcolorbox}
\usetikzlibrary{shadows,shapes.geometric}
\usepackage{lipsum}
\definecolor{mybrown}{RGB}{33,34,28}
\definecolor{myyellow}{RGB}{242,226,149}
\definecolor{mygreen}{RGB}{176,232,145}
\definecolor{myblue}{RGB}{61,139,189}
\definecolor{myorange}{RGB}{245,156,74}
\definecolor{mypurple}{RGB}{230,111,148}
\definecolor{myred}{RGB}{215,80,50}
\newtcolorbox{NotePad}[2][]{%
enhanced,
frame code=empty,
boxsep=0.5cm,
top=0.6cm,
interior code={
\fill[#2,drop shadow]
(interior.south west) {[rounded corners=1.5cm]--
(interior.south east)} --
(interior.north east) --
(interior.north west) --
cycle;
\fill[#2!80!black]
([shift={(-0.9cm,0.5ex)}]interior.south east) to[out=30,in=-70]
([shift={(-0.55cm,0.7cm)}]interior.south east) to[out=-10,in=220]
([shift={(-0.7ex,0.9cm)}]interior.south east) to[out=250,in=30]
cycle;
\fill[mybrown]
([yshift=-10pt]interior.north) circle [radius=0.23cm];
\fill[mybrown!40]
([yshift=-10pt]interior.north) circle [radius=0.175cm];
\node[
cylinder,
cylinder uses custom fill,
cylinder end fill=mybrown!60,
cylinder body fill=mybrown,
rotate=115,
minimum width=9pt,
minimum height=16pt
]
at ([shift={(-0.2pt,-9.8pt)}]interior.north) {};
},
#1
}
\setbeamertemplate{background canvas}{%
\includegraphics[width=\paperwidth,height=\paperheight]{corkboard}%
}
\begin{document}
\begin{frame}
\begin{columns}
\column{.5\textwidth}
\begin{NotePad}[width=\columnwidth,equal height group=A]{myyellow}
Some test text for this block
\end{NotePad}
\column{.5\textwidth}
\begin{NotePad}[width=\columnwidth,equal height group=A]{myblue}
Some test text for this block and some more text so it's a little longer
\end{NotePad}
\end{columns}
\begin{NotePad}[width=\textwidth]{mygreen}
Some test text for this block and some more text so it's a little longer
\end{NotePad}
\end{frame}
\begin{frame}
\begin{NotePad}[width=\textwidth]{myred}
Some test text for this block and some more text so it's a little longer
\end{NotePad}
\begin{columns}
\column{.5\textwidth}
\begin{NotePad}[width=\columnwidth,equal height group=B]{myorange}
Some test text for this block and here we add some more words for the notepad so it spans several lines
\end{NotePad}
\column{.5\textwidth}
\begin{NotePad}[width=\columnwidth,equal height group=B]{mypurple}
Some test text for this block and some more text so it's a little longer
\end{NotePad}
\end{columns}
\end{frame}
\end{document}
A simple proof of concept:
The corkboard is just a background image (I used some random image I found at publicdomainpictures.net). The notepads are easily produced using TikZ through a command
\NotePad[<pin angle>]{<color>}{<text>}
The code:
\documentclass[varwidth=100cm,border=30pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shadows,shapes.geometric}
\usepackage{lipsum}
\definecolor{mybrown}{RGB}{33,34,28}
\definecolor{myyellow}{RGB}{242,226,149}
\definecolor{mygreen}{RGB}{176,232,145}
\definecolor{myblue}{RGB}{61,139,189}
\definecolor{myorange}{RGB}{245,156,74}
\definecolor{mypurple}{RGB}{230,111,148}
\definecolor{myred}{RGB}{215,80,50}
\newcommand\NotePad[3][100]{%
\begin{tikzpicture}
\fill[#2,drop shadow]
(0,0) {[rounded corners=1.5cm]--
++(10,0)} --
++(0,10) --
++(-10,0) --
cycle;
\fill[#2!80!black]
(9,0) to[out=30,in=-70]
(9.35,0.75) to[out=-30,in=210]
(10,1) to[out=240,in=30]
(9,0);
\fill[mybrown]
(5,9.5) circle [radius=0.25cm];
\fill[mybrown!40]
(5,9.5) circle [radius=0.20cm];
\node[
cylinder,
fill=mybrown,
rotate=#1,
minimum width=10pt,
minimum height=18pt
]
at (5,9.52) {};
\node[text width=9cm,minimum height=8cm] at (5,5)
{#3};
\end{tikzpicture}%
}
\begin{document}
\begin{tikzpicture}[overlay]
\node {\includegraphics[width=75cm]{corkboard}};
\end{tikzpicture}
\NotePad{myyellow}{Some test text}\quad
\NotePad[90]{mygreen}{Some test text}\quad
\NotePad[68]{myblue}{Some test text}\par\bigskip
\NotePad{myorange}{Some test text}\quad
\NotePad[90]{mypurple}{Some test text}\quad
\NotePad[68]{myred}{Some test text}
\end{document}
-
Thanks @Gonzalo Medina for your this code. This code How can i change each notepad (high and width)? . In case: \documentclass[varwidth=100cm,border=30pt]{standalone} or beamer. Thanks Commented Jan 29, 2019 at 23:29
This answer is just a little addendum to Gonzalo's wonderful answer. In his tcolorbox
solution, Gonzalo proposes to use beamer
and its columns
environment to distribute NotePad
boxes. But when Gonzalo wrote the answer, tcbposter
library (from tcolorbox
) was not avilable.
Following code shows a NotePad
boxes distribution made with tcbposter
. Original NotePad
definition has been translated from newtcolorbox
to tcolorbox-style
.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shadows, shapes}
\usepackage[most]{tcolorbox}
\definecolor{mybrown}{RGB}{33,34,28}
\definecolor{myyellow}{RGB}{242,226,149}
\definecolor{mygreen}{RGB}{176,232,145}
\definecolor{myblue}{RGB}{61,139,189}
\definecolor{myorange}{RGB}{245,156,74}
\definecolor{mypurple}{RGB}{230,111,148}
\definecolor{myred}{RGB}{215,80,50}
\tcbset{
NotePad/.style={%
enhanced,
frame code=empty,
boxsep=0.5cm,
top=0.6cm,
interior code={
\fill[#1,drop shadow]
(interior.south west) {[rounded corners=1.5cm]--
(interior.south east)} --
(interior.north east) --
(interior.north west) --
cycle;
\fill[#1!80!black]
([shift={(-0.9cm,0.5ex)}]interior.south east) to[out=30,in=-70]
([shift={(-0.55cm,0.7cm)}]interior.south east) to[out=-10,in=220]
([shift={(-0.7ex,0.9cm)}]interior.south east) to[out=250,in=30]
cycle;
\fill[mybrown]
([yshift=-10pt]interior.north) circle [radius=0.23cm];
\fill[mybrown!40]
([yshift=-10pt]interior.north) circle [radius=0.175cm];
\node[
cylinder,
cylinder uses custom fill,
cylinder end fill=mybrown!60,
cylinder body fill=mybrown,
rotate=115,
minimum width=9pt,
minimum height=16pt
]
at ([shift={(-0.2pt,-9.8pt)}]interior.north) {};
},
}}
\begin{document}
\begin{tcbposter}[%
poster={columns=3, rows=3},
coverage={interior style image=cork-board}
]
\posterbox[NotePad=myyellow]{name=A, column=1, span=2}{Some test text for this block}
\posterbox[NotePad=myblue]{name=B, column=3, rowspan=3}{Some test text for this block}
\posterbox[NotePad=myorange]{name=C, between=A and bottom, span=2}{Some test text for this block}
\posterbox[NotePad=mypurple]{column=2, row=2, span=1.5, rowspan=1.5}{Some test text for this block}
\posterbox[NotePad=mygreen]{at=C.west, xshift=1cm, yshift=-2cm}{Some test text for this block}
\end{tcbposter}
\end{document}