# Does anybody know a good source of (free) ornaments, decorations, frames, backgrounds etc.?

I'd like to prepare a "fancy" typographical project, more interesting visually than a "boring" black-on-white text. I'm not very talented at drawing, though, so I'd like to ask about a place to find (colorful) page backgrounds, page "frames", chapter title frames and the like. (I am aware of various "ornament" fonts, but this is not exactly the same thing - the things I'm asking for are bigger and not "monochromatic".) Both bitmaps and tikz/metapost programs would be welcome.

I am also aware that it is very easy to "overdo" such things and get an ugly effect, but I'm going to accept this risk;).

Note: this question is not exactly TeX-related, rather typography-related, so if there is a better place to ask this question, I'll be happy to learn about it, too.

-
– knut Jan 15 '12 at 19:51
Thanks, I missed that! – mbork Jan 16 '12 at 0:10

Now with pgfornament.sty. The idea comes from the psvectorian package of Patrick Fradin and a lot of things are inpired from it. I added another package tikzrput to emulate the macro \rput from pstricks.

You can find it here

Update

I made a new version of the example e02 from psvectorian that you can see in Herbert's answer. In this example I used the rputversion from pgf and some style to see how to fill the symbol.

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikzrput}
\usepackage[object=vectorian]{pgfornament}
\begin{document}
\tikzset{pgfornamentstyle/.style={draw = Periwinkle,
fill = SpringGreen}}
\unitlength=1cm

\begin{center}
\begin{picture}(10,10)%
\color{blue}%
\put(0,0){\framebox(10,10){%
\rput[tl](-3,5){\pgfornament[width=6cm]{71}}%
\rput[bl](-3,-5){\pgfornament[width=6cm,,symmetry=h]{71}}%
\rput[tl](-5,5){\pgfornament[width=2cm]{63}}%
\rput[tr](5,5){\pgfornament[width=2cm,,symmetry=v]{63}}%
\rput[bl](-5,-5){\pgfornament[width=2cm,,symmetry=h]{63}}%
\rput[br](5,-5){\pgfornament[width=2cm,,symmetry=c]{63}}%
\rput[bl]{-90}(-5,3){\pgfornament[width=6cm]{46}}%
\rput[bl]{90}(5,-3){\pgfornament[width=6cm]{46}}%
\rput(0,0){\Huge \color{MidnightBlue} Ornaments}%
\rput[t](0,-0.5){\pgfornament[width=5cm]{75}}%
\rput[b](0,0.5){\pgfornament[width=5cm]{69}}%
\rput[tr]{-30}(-1,2.5){\pgfornament[width=2cm]{57}}%
\rput[tl]{30}(1,2.5){\pgfornament[width=2cm,symmetry=v]{57}}}}%
\end{picture}
\end{center}
\end{document}


Another example

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[dvipsnames]{xcolor}
\usepackage[object=vectorian]{pgfornament}
\usetikzlibrary{calc}
\definecolor{fondpaille}{cmyk}{0,0,0.1,0}

\begin{document}
\pagecolor{fondpaille}
\color{Maroon}
\begin{tikzpicture}[every node/.style={inner sep=0pt}]
\node[text width=8cm,align=center](Text){%
In visions of the dark night\\
I have dreamed of joy departed-\\
But a waking dream of life and light\
Hath left me broken-hearted.\\
\bigskip
Ah! what is not a dream by day\\
To him whose eyes are cast \\
On things around him with a ray \\
Turned back upon the past? \\
\bigskip
That holy dream- that holy dream,\\
While all the world were chiding,\\
Hath cheered me as a lovely beam\\
A lonely spirit guiding.\\
\bigskip
What though that light, thro' storm and night,\\
So trembled from afar- \\
What could there be more purely bright \\
In Truth's day-star? \\
\vspace{24pt}
A Dream  (1827) by Edgar Allan Poe
} ;
\node[shift={(-1cm,1cm)},anchor=north west](CNW)  at (Text.north west)
{\pgfornament[width=2cm]{61}};
\node[shift={(1cm,1cm)},anchor=north east](CNE)   at (Text.north east)
{\pgfornament[width=2cm,symmetry=v]{61}};
\node[shift={(-1cm,-1cm)},anchor=south west](CSW) at (Text.south west)
{\pgfornament[width=2cm,symmetry=h]{61}};
\node[shift={(1cm,-1cm)},anchor=south east](CSE)  at (Text.south east)
{\pgfornament[width=2cm,symmetry=c]{61}};
\pgfornamenthline{CNW}{CNE}{north}{87}
\pgfornamenthline{CSW}{CSE}{south}{87}
\pgfornamentvline{CNW}{CSW}{west}{87}
\pgfornamentvline{CNE}{CSE}{east}{87}
\end{tikzpicture}
\end{document}

-
Wow, that is impressive - and should work with pdflatex, too. Thank you!!! – mbork Mar 1 '12 at 22:23
@mbork yes it works with pdflatex and latex but it's the first version ... – Alain Matthes Mar 2 '12 at 6:39
@Altermundus Is tikzrput standard? – Yiannis Lazarides Mar 2 '12 at 12:44
What you mean by "standard" ? I tried to use the same options as the Pstricks one but I don't know exactly all these options. Actually it's only possible to use bl, tr etc. and not lb, rt. If Pstricks is loaded then it's the version of Pstricks that is used (I hope...). My only test is with psvectorian's examples and I don't need to change anything to get the same result. – Alain Matthes Mar 2 '12 at 13:09
@YiannisLazarides tikzrput and pgfornament are not standard, in the sense that they are not part of TeXlive. It would be nice if they were made accessible as a package of the distribution rather than a third-party download. – Damien Pollet Feb 2 '13 at 15:05

with the PSTricks package psvectorian you can create something like this:

\documentclass[]{book}
\usepackage[svgnames]{pstricks}
\usepackage{psvectorian}
\begin{document}

\begin{pspicture}(-5,-5)(5,5)
\renewcommand*{\psvectorianDefaultColor}{blue}%
\psframe[linewidth=0.4pt,fillstyle=solid,fillcolor=Beige](-5,-5)(5,5)%
%
\rput[tl](-3,5){\psvectorian[width=6cm]{71}}
\rput[bl](-3,-5){\psvectorian[width=6cm,flip]{71}}
%
\rput[tl](-5,5){\psvectorian[width=2cm]{63}}
\rput[tr](5,5){\psvectorian[width=2cm,mirror]{63}}
\rput[bl](-5,-5){\psvectorian[width=2cm,flip]{63}}
\rput[br](5,-5){\psvectorian[width=2cm,flip,mirror]{63}}
%
\rput[bl]{-90}(-5,3){\psvectorian[width=6cm]{46}}
\rput[bl]{90}(5,-3){\psvectorian[width=6cm]{46}}
%
\rput(0,0){\Huge Ornaments}
\rput[t](0,-0.5){\psvectorian[width=5cm]{75}}
\rput[b](0,0.5){\psvectorian[width=5cm]{69}}
%
\rput[tr]{-30}(-1,2.5){\psvectorian[width=2cm]{57}}
\rput[tl]{30}(1,2.5){\psvectorian[width=2cm,mirror]{57}}
\end{pspicture}

\end{document}

-
Nice. Almost looks like this. – Marc van Dongen Jan 15 '12 at 20:39
Thank you, this looks impressive; it's a pity there's no English documentation, I'll probably have to employ the g....e translator;). – mbork Jan 16 '12 at 0:11
@mbork: It is easy, you have 89 different type of ornaments which can be set with \rput, including a rotation and scaling. – Herbert Jan 16 '12 at 7:40
unfortunately, on writelatex.com the example does not work: it gives me these errors: nopaste.info/5b7e150d83.html Any idea on how to fix it? – fstab Mar 12 '14 at 17:43
run the example with xelatex and not pdflatex – Herbert Mar 12 '14 at 21:02

You can use web-o-mints and put variety of ornamental letters as borders. Some examples:

\PassOptionsToPackage{usenames,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}
\usepackage{geometry}
\geometry{a4paper,tmargin=1in,bmargin=1in,
lmargin=1in,rmargin=1in,heightrounded}
%
\newcommand\deco[3][black]{%
\par\vspace{1ex}
%\begin{center}
\textcolor{#1}{%
\fontsize{#2}{#2}\usefont{U}{webo}{xl}{n}#3
}
%\end{center}
\vspace*{1ex}\par
}
%
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node[rotate=90,align=center] at ($(current page.west)+(.8cm,0.14cm)$){{\deco[DarkGreen]{15.1pt}{ NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN}}};
\node[rotate=90,align=center] at ($(current page.east)+(-.8cm,0.14cm)$){{\deco[DarkGreen]{15.1pt}{ \rotatebox[origin=c]{180}{NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN}}}};
\node[rotate=0,align=center] at ($(current page.north)+(0.1cm,-.8cm)$){{\deco[DarkGreen]{14.35pt}{\rotatebox[origin=c]{0}
{NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\hspace{2pt}}}}};
\node[rotate=0,align=center] at ($(current page.south)+(0.1cm,.9cm)$){{\deco[DarkGreen]{14.35pt} {\rotatebox[origin=c]{180}{\hspace{2pt}NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN}}}};
\draw [rounded corners=8pt,line width=4pt,draw=DarkRed]($(current page.south west)+(.4cm,.5cm)$) rectangle ($(current page.north east)+(-.4cm,-.39cm)$);
\end{tikzpicture}

\end{document}


# Second example (with background):

\PassOptionsToPackage{usenames,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[]{scrartcl}
\usepackage{wallpaper}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}
\usepackage{geometry}
\geometry{a4paper,tmargin=1in,bmargin=1in,
lmargin=1in,rmargin=1in,heightrounded}

\newcommand\deco[3][black]{%
\par\vspace{1ex}
\textcolor{#1}{%
\fontsize{#2}{#2}\usefont{U}{webo}{xl}{n}#3
}
\vspace*{1ex}\par
}

\begin{document}

\TileWallPaper{4cm}{4cm}{N-00.png}%
\begin{tikzpicture}[remember picture,overlay]
\node[rotate=90,align=center] at ($(current page.west)+(.8cm,0.14cm)$){{\deco[DarkGreen]{15.1pt}{ \rotatebox[origin=c]{0}{LKIJLKIJLKIJLKIJLKIJLK}}}};
\node[rotate=90,align=center] at ($(current page.east)+(-.8cm,0.14cm)$){{\deco[DarkGreen]{15.1pt}{ \rotatebox[origin=c]{180}{LKIJLKIJLKIJLKIJLKIJLK}}}};
\node[rotate=0,align=center] at ($(current page.north)+(0.1cm,-.8cm)$){{\deco[DarkGreen]{14.25pt}{\rotatebox[origin=c]{0}
{LKIJLKIJLKIJLKIJ\hspace{2pt}}}}};
\node[rotate=0,align=center] at ($(current page.south)+(0.1cm,.9cm)$){{\deco[DarkGreen]{14.25pt} {\rotatebox[origin=c]{180}{\hspace{2pt}LKIJLKIJLKIJLKIJ}}}};
\draw [rounded corners=8pt,line width=4pt,draw=DarkRed]($(current page.south west)+(.4cm,.5cm)$) rectangle ($(current page.north east)+(-.4cm,-.39cm)$);
\end{tikzpicture}
This is my text.
\end{document}


These take at least two compilation runs to settle down. Some manual adjustments will be necessary to get the finishing touch. (We call it procrastination ;-)). The background image N-00.png is here:

# Niceframe:

Another options that is not mentioned here is niceframe package.:

\PassOptionsToPackage{usenames,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[landscape]{article}
\usepackage{wallpaper}
\usepackage{niceframe}
\usepackage{geometry}
\geometry{a4paper,tmargin=.5cm,bmargin=.5cm,
lmargin=.5cm,rmargin=.5cm}

\begin{document}

\vspace*{-5.05mm}
\hspace*{-6mm}
\centering
\scalebox{3.015}{\color{DarkGreen} %% green!30!red!80!blue!80
\begin{minipage}[.329835\textheight]{.339835\textwidth}
%\font\border=umrandb
%\generalframe{\border\char'165}{\border\char'151}{\border\char'164}%
%             {\border\char'150}                  {\border\char'150}%
%             {\border\char'166}{\border\char'151}{\border\char'167}
\font\border=umranda
\generalframe{\border\char'136}{\border\char'137}{\border\char'140}
{\border\char'145}                  {\border\char'141}
{\border\char'144}{\border\char'143}{\border\char'142}
{\centering
\vspace*{1.145cm} %% Change this for vertical alignment
\vspace{44.8mm}} %% Change this for vertical alignment
\end{minipage}
}
\end{document}


-
Says I can upvote after 8 hours. ;) +1 – hpesoj626 Dec 24 '12 at 15:20

This is a demonstration of adding a background using any ornamental font (OTF or TTF) (Say from here). Download and install the otf or ttf fonts from the above link. This code may be compiled with pdftex. One should have imagemagick installed to get the .png files:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{N.tex}
\documentclass[preview]{standalone}
\usepackage[usenames,x11names,dvipsnames,svgnames]{xcolor}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text} % To support LaTeX quoting style
\setmainfont[Mapping=tex-text]{IM FELL FLOWERS 1}
\begin{document}
\textcolor{LightGoldenrod3}{N} %%OliveDrab4 You can use other colors and letters too
\end{document}
\end{filecontents*}
% compile with xelatex
\immediate\write18{xelatex --shell-escape N}
% convert to PNG
\makeatletter
\immediate\write18{convert -density 500 -alpha on N.pdf N-\@percentchar02d.png}
\makeatother
%
\begin{document}
See the folder for the \verb|pdf| and \verb|png| files. You should have \verb|imagemagick| installed and in system path. If you don't want \verb|png| file simply locate \verb|N.tex| in the folder and compile it with \verb|xetex|.
\end{document}


One can use other letters than N and different colors comfortably. Below I have used the letter G and a different color (OliveDrab4!20).

This is inserted inside the document in this manner :

\documentclass[]{scrartcl}
\usepackage{wallpaper}
\usepackage{geometry}
\geometry{a4paper,tmargin=1in,bmargin=1in,
lmargin=1in,rmargin=1in,heightrounded}
\begin{document}
\TileWallPaper{4cm}{4cm}{N-00.png}%
This is my text.
\end{document}


-