# Showcase of beautiful wine bottle labels made with LaTeX/TikZ and friends

Did anybody design wine bottle labels for self made wine with Latex/TikZ/PSTricks? I'm interested in unusual designs (like the nice label for Barnstorming Bitter at http://www.tug.org/texshowcase/).

One first attempt using pgfornaments:

\documentclass[dvipsnames]{article}
\usepackage[margin=3cm]{geometry}
\usepackage{tikz}
\usepackage{fontspec}
\usepackage{pgfornament}
\setmainfont{Eccentric}

\newfontfamily\myfont[Numbers=OldStyle,Ligatures=TeX]{URW Chancery L}
\newfontfamily\myfonti[Numbers=OldStyle,Ligatures=TeX]{Charis SIL}
\newfontfamily\myfontii[Numbers=OldStyle,Ligatures=TeX]{Edwardian Script ITC}

\definecolor{mycream}{RGB}{248,240,201}

\begin{document}

\begin{tikzpicture}
\node[
text width=6cm,
text height=9cm,
fill=mycream
]
(rect) {};
\draw[line width=5pt,line cap=rect,Maroon!80]
([xshift=8pt,yshift=-8pt]rect.north west) -|
([xshift=-8pt,yshift=8pt]rect.south east) -|
([xshift=8pt,yshift=-8pt]rect.north west) -- cycle;
\node[
font=\color{Maroon}\fontsize{36}{40}\selectfont,
align=center
]
at ([yshift=-3cm]rect.north) {CUMBRE \\[-0.3ex] ROJA};
\node[
font=\color{Maroon}\large,
align=center
]
at ([yshift=-4.6cm]rect.north) {CABERNET SAUVIGNON \\[-0.3ex] 2013};
\node[
align=center,
font=\myfontii\Large,
anchor=south
]
at ([yshift=1.5cm]rect.south)
{Viñedos Medina \\[-0.6ex]
Manizales, Colombia \\[-0.6ex]
M, L \& C};
\node[
anchor=north west,
font=\color{Maroon}
]
at ([xshift=10pt,yshift=-10pt]rect.north west) {\pgfornament[width=1.75cm]{61}};
\node[
anchor=north east,
font=\color{Maroon}
]
at ([xshift=-10pt,yshift=-10pt]rect.north east)
{\pgfornament[width=1.75cm,symmetry=v]{61}};
\node[
anchor=south west,
font=\color{Maroon}
]
at ([xshift=10pt,yshift=10pt]rect.south west) {\pgfornament[width=1.75cm,symmetry=h]{61}};
\node[
anchor=south east,
font=\color{Maroon}
]
at ([xshift=-10pt,yshift=10pt]rect.south east) {\pgfornament[width=1.75cm,symmetry=c]{61}};
%
\begin{tikzpicture}
\node[
text width=6cm,
text height=9cm,
fill=mycream
]
(rect) {};
\draw[line width=2pt,line cap=rect,Maroon!80]
([xshift=0.5\pgflinewidth,yshift=-0.5\pgflinewidth]rect.north west) -|
([xshift=-0.5\pgflinewidth,yshift=0.5\pgflinewidth]rect.south east) -|
([xshift=0.5\pgflinewidth,yshift=-0.5\pgflinewidth]rect.north west) -- cycle;
\node[
font=\color{Maroon}\Large,
align=center,
anchor=north west
]
at ([xshift=5pt,yshift=-5pt]rect.north west) {CUMBRE ROJA};
\node[
align=center,
font=\myfont\selectfont\footnotesize,
anchor=south,
text width=5cm,
align=center
]
at (rect.center)
{Vino \\ carnoso y espeso.  \\ Produce un rica impresi\'on física \\ que evoca las montañas colombianas.};
\node[
font=\myfonti\selectfont\footnotesize,
anchor=north,
text width=5cm,
align=center
]
at ([yshift=-20pt]rect.center)
{Ideal para complementar \\ estofados de carne y \\ platos basados en ganso};
\node[
align=center,
font=\myfonti\selectfont\footnotesize,
anchor=south,
text width=5cm,
align=center
]
at ([yshift=2pt]rect.south)
{750\,ml \\ GRADO ALCOHÓLICO \\ 15\% vol};
\end{tikzpicture}

\end{document}


• Beautiful choice of colour. Why not exploit the ornaments in tikz for this showcase? – azetina Sep 16 '13 at 23:09
• @azetina I've changed my example, using pgfornaments now and XeLaTeX. – Gonzalo Medina Sep 17 '13 at 0:34
• Beautifuy. I like your choice of fonts; suits well to Cabernet. – schmendrich Sep 17 '13 at 6:33
• Thank you! I just used your the template on this bottle: i.stack.imgur.com/kxMav.jpg – someonr Dec 14 '13 at 22:00
• @someonr I just saw this message. I like how it looks! – Gonzalo Medina Mar 23 '14 at 16:55

To continue my ridiculous streak of using Calluna for everything lately, I present, Helmsman: A wine so good, that it doesn't make any sense.

The blue text probably needs a bit more contrast; it's not the easiest to read.

\documentclass[dvipsnames]{article}
\usepackage[margin=3cm]{geometry}
\usepackage{pstricks,psvectorian,fontspec}

\setmainfont[Mapping=tex-text,Numbers=OldStyle,Ligatures={TeX,Common,Discretionary,Rare}]{Calluna}

\definecolor{background}{RGB}{85,68,51}
\definecolor{swoosh}{RGB}{124,99,75}
\definecolor{foreground}{RGB}{221,204,170}
\definecolor{text}{RGB}{99,130,161}

\begin{document}
\begin{pspicture*}(0,9)(6,0)%
\renewcommand*{\psvectorianDefaultColor}{foreground}%
\psframe[linewidth=0.4pt,fillstyle=solid,fillcolor=
background](-1,-1)(7,10)%
\pscustom[linestyle=none,fillstyle=solid,fillcolor=swoosh]{%
\pscurve[linestyle=none](0,9)(3,3)(7,0)
\psline[linestyle=none](3,0)(0,0)\closepath}
\rput(3,5.75){\psvectorian[width=4cm]{4}}
\rput[tl](0,8.75){\psvectorian[width=6cm]{89}}
\rput[bl](0,0.25){\psvectorian[width=6cm,flip]{89}}
\rput(3,3){\Huge\textcolor{text}{Helmsman}}
\rput(3,2.15){\large\textcolor{text}{2013}}
\rput(3,1.5){\LARGE\textcolor{text}{Fiano}}
\end{pspicture*}%
\begin{pspicture*}(0,9)(6,0)%
\renewcommand*{\psvectorianDefaultColor}{swoosh}%
\psframe[linewidth=0.4pt,fillstyle=solid,fillcolor=
background](-1,-1)(7,10)%
\psframe[linewidth=2pt,linecolor=swoosh](0.25,0.25)(5.75,8.75)%
\rput[tr](5.5,8.5){\large\textcolor{text}{Helmsman}}
\rput[tr](5.5,8){\small\textcolor{text}{A taste of freedom}}
\rput[r](2.3,5.95){\psvectorian[width=1cm]{11}}
\rput[l](3.7,5.95){\psvectorian[width=1cm]{14}}
\rput(3,5){\footnotesize\textcolor{foreground}{A light, but rich, Fiano with hints of}}
\rput(3,4.5){\footnotesize\textcolor{foreground}{coffee on the nose and a
color}}
\rput(3,4){\footnotesize\textcolor{foreground}{inspired by crema.}}
\rput(3,3.5){\footnotesize\textcolor{foreground}{So good that it doesn't make sense.}}
\rput[bl](0.5,0.5){\psvectorian[width=5cm]{71}}
\end{pspicture*}%
\end{document}


• Could you also post this as an entry for my question for contributions in my calendar question, please? – user10274 Sep 10 '14 at 8:05
• @MarcvanDongen Done. Sorry for my lack of responsiveness; I'm currently attempting a thru-hike of the Appalachian Trail and don't get into towns / have access to a computer that often. – Sam Whited Sep 16 '14 at 17:14

When I saw this bottle I couldn't help but to think: "this can be done with a foreach loop" (with inline code in my thoughts of course).

Here it is:

\documentclass[margin=.1cm]{standalone}

\usepackage{fontspec}
\setmainfont{Quattrocento}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes,calc}

\definecolor{coolblack}{rgb}{0.10,0.10,0.10}

\begin{document}
\begin{tikzpicture}[
tnode/.style={font=\fontsize{40}{47}\selectfont},
unode/.style={font=\gilliusfont\footnotesize}
]

\node(cont)[text width=6cm, text height=9cm,left color=coolblack!70,right color=coolblack,shading angle=30]{};

\node (k)[tnode,white,anchor=west,xshift=2em,yshift=2em]at(cont.west){K};
\node (i)[tnode,above=1em of k.east,white,anchor=center,xshift=.3em]{I};
\node (r)[tnode,above=1em of i.east,xshift=.8em,yshift=.4em,white,anchor=center]{R};
\node [tnode,below=.1em of r.south,white,anchor=north,rotate=30]{I};

\node (c1)[circle,fill=white,above=3em of k.north,inner sep=.075em]{};
\node [thick,draw,circle,draw=white,inner sep=.2em] at(c1.center){};
\node [thick,draw,circle,draw=white,inner sep=.4em] at(c1.center){};
\node [thick,draw,circle,draw=white,inner sep=.6em] at(c1.center){};
\node (c5)[circle,inner sep=.7em] at(c1.center){};
\node (c6)[circle,inner sep=1.4em] at(c1.center){};

\foreach \x in {12,24,...,360}
\node[thin,fill=white,ellipse,minimum width=1em,anchor=west,inner sep=.001em,rotate=\x] at(c5.\x){};

\foreach \y in {6,18,...,366}
\node at(c6.\y)[inner sep=.1mm,circle,fill=white]{};

\node(t1)[unode,below=6em of k.west,white,anchor=west]{C~A~N~N~O~N~A~U};
\node(t2)[unode,below=1.5em of t1.west,white,anchor=west]{D~I~~~S~A~R~D~E~G~N~A};
\node(t3)[unode,below=1.5em of t2.west,white,anchor=west]{D~O~C};

\node [anchor=south east]at($(cont.south east)+(-1.2,.4)$){\includegraphics[scale=.075]{ctan_lion}};
\end{tikzpicture}
\end{document}


Everytihng drawn by TikZ except the "producer" logo ;)

Why only label? What about a full bottle? We can cheat to get a full bottle! This is a primitive model:

\documentclass[tikz,dvipsnames,margin=0pt]{standalone}
\usepackage{pgfornament}
\usepackage{calligra}
\begin{document}
\definecolor{cfff6d5}{RGB}{255,246,213}
\definecolor{caa8800}{RGB}{170,136,0}
\definecolor{cfff8e1}{RGB}{255,248,225}

\begin{tikzpicture}[y=0.80pt,x=0.80pt,yscale=-1, inner sep=0pt, outer sep=0pt]
\path[fill=red!30!black] (138.4375,18.2500) .. controls (133.3827,18.5051) and
(129.4688,20.6531) .. (129.4688,23.2500) -- (129.4688,27.8125) .. controls
(128.3930,28.7282) and (127.6875,30.0951) .. (127.6875,31.6250) --
(127.6875,44.9063) .. controls (127.6875,46.4361) and (128.3930,47.7718) ..
(129.4688,48.6875) -- (129.4688,132.7813) .. controls (111.2924,137.6362) and
(98.5000,149.2322) .. (98.5000,162.7813) .. controls (98.5000,163.0560) and
(98.5208,163.3206) .. (98.5313,163.5938) -- (98.5000,163.5938) --
(98.5000,392.9688) -- (98.5000,398.5000) -- (98.5000,414.2500) .. controls
(98.5000,419.7900) and (107.4200,424.2500) .. (118.5000,424.2500) --
(178.5000,424.2500) .. controls (189.5800,424.2500) and (198.5000,419.7900) ..
(198.5000,414.2500) -- (198.5000,398.5000) -- (198.5000,392.9688) --
(198.5000,163.5938) -- (198.4688,163.5938) .. controls (198.4792,163.3206) and
(198.5000,163.0560) .. (198.5000,162.7813) .. controls (198.5000,149.2322) and
(185.7076,137.6362) .. (167.5313,132.7813) -- (167.5313,48.6875) .. controls
(168.6070,47.7718) and (169.3125,46.4361) .. (169.3125,44.9063) --
(169.3125,31.6250) .. controls (169.3125,30.0951) and (168.6070,28.7282) ..
(167.5313,27.8125) -- (167.5313,23.2500) .. controls (167.5313,20.4800) and
(163.0712,18.2500) .. (157.5313,18.2500) -- (139.4688,18.2500) .. controls
(139.1225,18.2500) and (138.7745,18.2330) .. (138.4375,18.2500) -- cycle;
\path[fill=Goldenrod] (138.4375,18.2500) .. controls (133.3827,18.5051) and (129.4688,20.6531)
.. (129.4688,23.2500) -- (129.4688,27.8125) .. controls (128.3930,28.7282) and
(127.6875,30.0951) .. (127.6875,31.6250) -- (127.6875,44.9063) .. controls
(127.6875,46.4361) and (128.3930,47.7718) .. (129.4688,48.6875) --
(129.4688,113.7188) -- (167.5313,113.7188) -- (167.5313,48.6875) .. controls
(168.6070,47.7718) and (169.3125,46.4361) .. (169.3125,44.9063) --
(169.3125,31.6250) .. controls (169.3125,30.0951) and (168.6070,28.7282) ..
(167.5313,27.8125) -- (167.5313,23.2500) .. controls (167.5313,20.4800) and
(163.0712,18.2500) .. (157.5313,18.2500) -- (139.4688,18.2500) .. controls
(139.1225,18.2500) and (138.7745,18.2330) .. (138.4375,18.2500) -- cycle;
\path[cm={{1.00568,0.0,0.0,1.04128,(-0.7231,-1.09659)}},fill=cfff6d5,opacity=0.250,nonzero
rule,rounded corners=0.1123cm] (128.5367,27.8539) rectangle
(168.2575,31.0989);
\path[cm={{1.00568,0.0,0.0,1.04128,(-0.54283,15.90944)}},fill=caa8800!40!yellow,opacity=0.500,nonzero
rule,rounded corners=0.0751123cm] (128.5367,27.8539) rectangle
(168.2575,31.0989);
\path[fill=cfff8e1,nonzero rule] (148.5000,219.4688) .. controls
(142.0713,219.4688) and (136.4836,223.0606) .. (133.6250,228.3438) .. controls
(121.9169,229.1484) and (110.2081,230.7023) .. (98.5000,232.8438) --
(98.5000,367.6563) .. controls (130.3793,375.6532) and (163.8910,374.6724) ..
(198.5000,367.6563) -- (198.5000,232.8438) .. controls (186.7394,230.1864) and
(174.9793,228.6453) .. (163.2188,228.0313) .. controls (160.3118,222.9179) and
(154.8024,219.4688) .. (148.5000,219.4688) -- cycle;
\path[fill=black] (102.04292,366.51251) node[above right,align = center,draw=brown,inner sep =
4pt,line width = 2pt,rounded corners =6pt,minimum width=2.6cm] (text3061) {
\pgfornament[color=red!50!black,width=1.05cm]{69}\\[4pt]
\calligra \kern-8pt Drink\\
\calligra \kern-5pt --\&-- \\[3pt] \calligra \kern-10pt Wedded\\[20pt]
\rotatebox[origin=c]{180}{\pgfornament[color=red!50!black,width=1.05cm]{69}}};
\path[fill=black] (147.04292,329.51251) node[draw=black,double,outer sep=2pt,minimum width =
1.5cm,inner sep=3pt,fill= orange!30]{\scalebox{.4}{\itshape July 13, 1913}};
\end{tikzpicture}
\end{document}


• @karlkoeller Cheers :) – user11232 Sep 17 '13 at 10:48
• @Harish Kumar:Very nice too. By the way: how does one find the controls for drawing things like this bottle; scarcely by trial and error? – schmendrich Sep 17 '13 at 19:41
• @schmendrich: I cheated! ;). The bottle is traced from an image. Then I added a very simple label. Thought a bare label is not interesting! :-) – user11232 Sep 17 '13 at 22:08
• @Harish Kumar: I see! :) Bare labels are of interest for me. I'm looking for inspiration to create my own. Unusual design prefered. I like the design of the Woodford Reserve label on this site: creativebloq.com/spirit-bottle-labels-1131545 and want to use it for my selfmade meadh. Think I will experiment with nested tcolorboxes. – schmendrich Sep 20 '13 at 9:48
• @MarcvanDongen Thanks. I feel that it will be a duplicate entry though. Kindly feel free to use this in whichever way you want, if you liked. :-) – user11232 Sep 10 '14 at 9:01

Here is my own attempt:

It is a bw-print only to test how the design works on the bottle. I still have to play around with fonts. Since I placed another question regarding the code for that label you'll find the code there: Cleaner Code for a Table design

• The label is very small. Would you mind providing a link to a pdf of the label please? – user10274 Sep 10 '14 at 8:02
• Could you also post this as an entry for my question for contributions in my calendar question, please? – user10274 Sep 10 '14 at 8:06
• @MarcvanDongen: Sorry, I've been away for a while now and just read your comment now. Unfortunately the labels are at home on my laptop. But if it still of interest I will post it. – schmendrich Nov 5 '14 at 14:38

I am cleaning up my hard drives and accidentally found my old code that I forgot to submit. It is a pity if I delete it without making a backup here.

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-fun}
\usepackage{siunitx}
\usepackage{times}
\usepackage{contour}

\contourlength{0.5pt} % thickness
\contournumber{10} % number of replication

\begin{document}
\begin{pspicture}(5,6)
\pscustom[fillstyle=solid,fillcolor=brown]
{
\psarcn(0,0){.2}{90}{0}
\psline(.2,0)(4.8,0)
\psarcn(5,0){.2}{180}{90}
\psline(5,.2)(5,5.8)
\psarcn(5,6){.2}{270}{180}
\psline(4.8,6)(.2,6)
\psarcn(0,6){.2}{0}{-90}
\closepath
}
\rput{180}(4.5,3.5){\psBird}
\rput(2.5,3){%
\parbox[t]{4cm}{%
\centering
{\huge\bfseries \contour{white}{PSTricks\textsuperscript{\textregistered}}}\\[2pt]
\textit{an easy-to-drink wine}\\[2pt]
{\tiny\textit{since 1750 B.C.}}\\[25mm]
{\ttfamily\tiny
\textit{Alcohol 100\% by Volume}\\[2pt]
\textit{\SI{1000}{\m^3}}}
}%
}
\end{pspicture}
\end{document}


• That's a lot of wine...err, alcohol... in 1000 cubic metres! – Werner Nov 6 '13 at 20:14
• @Werner: I just plugged the numbers at random. – kiss my armpit Nov 6 '13 at 20:16
• Is this supposed to show what harm PSTricks can do to you:-) – user10274 Sep 10 '14 at 8:01
• The upside down bird conveyed a meaning. – kiss my armpit Sep 10 '14 at 8:37
• @cyanide-basedfood I understand, but did it die because of taking too much cyanide-based food or because of using too much PSTricks? – user10274 Sep 10 '14 at 15:51