I've been using the package pst-vectorian (https://ctan.org/pkg/pst-vectorian) in order to customise part, chapter and section headings. I, however, would like to add new ornaments by using other vector graphic files (usually, an .eps file extension).

It seems that the ornaments contained in pst-vectorian come from the freely available ones in https://www.vectorian.net/free-vintage-vectors.html .

I would like to add, for instance, also other ornaments of https://www.vectorian.net which are not contained in this freely available package. I suppose, however, that I can't post here these ornaments since they are not free (it's easy to find online, though). These files are in the format .ai and .eps.

In order to have a concrete example, if necessary, I will suggest using , for instance, the ornaments available here https://www.freepik.com/free-photos-vectors/floral-ornaments .

To be honest, I don't even know how to start as I don't understand the content of the pst-vectorian package nor how a package works in general.

I'm not really familiar with the pgfornament package. However, if it's easier, I would be happy with an answer dealing with this package instead of the former one.

Thanks in advance.

  • For those who voted for close: The question is absolutely not "too broad"!
    – user187802
    Commented Jun 30, 2019 at 12:57
  • 1
    @Red-Cloud Please refrain from using exclamation marks when addressing other users!
    – user121799
    Commented Jun 30, 2019 at 14:12
  • 1
    @marmot: Please also refrain from using exclamation marks when addressing other users! Commented Jul 1, 2019 at 8:05
  • 1
    @Gold Digging Programmer: Please also refrain from using exclamation marks when addressing other users! Commented Jul 1, 2019 at 8:14

1 Answer 1


It does not make real sense to extend the psvectorian package. It is much more easier to use a single graphic file.

However, if you really want it, then copy the files psvectorian.tex and psvectorian.pro into your local directory as psvectorian2.tex and psvectorian2.pro. For a test you can save the file in the documents directory. In the style file replace

\ProvidesPackage{psvectorian}[2012/12/12 v0.4 vector ornaments]


\ProvidesPackage{psvectorian2}[2012/12/12 v0.4 vector ornaments]

If you have a single ornament as eps file then you can extend the two files: Into psvectorian2.sty extend the \ifcase wit the next number which is ornament 197 and insert the values for the pspicture environment. Into the psvectorian2.pro you have to include the PostScript code from the epsfile.

Often it is easier to convert a raster image file into a vector format, then the code is shorter as images created by Illustrator or something else. Here is an example where I first converted the jpg image into a pnm format and then used potrace as

 potrace -b ps -c myImage.pnm

It creates a PostScript file which code I inserted into the pro file.



enter image description here

  • Thanks for the answer. I'm not understanding some points though 1) By using a single graphic file, do you mean something like graphicx? If so, why psvectorian was written in this way instead of simply adding the eps file through graphicx? 2) What's the value for the pspicture environment? I don't get exactly what this means. For the 196, the line is \or\def\@psvectorianX{148}\def\@psvectorianY{30}%196, but I don't get how it should be for the next ornament . 3) From where do I start to copy the ps code? More precisely, /vec197 { 1 setlinejoin %\pst@setColor newpath [what here?]
    – user40276
    Commented Jul 2, 2019 at 2:58
  • The ps code starts with something like: /languagelevel where { pop languagelevel } { 1 } ifelse 2 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto (This print job requires a PostScript Language Level 2 printer.) show showpage quit } if [...]
    – user40276
    Commented Jul 2, 2019 at 3:01
  • Then a lot of lines down it starts to show some numbers: %%EndPageSetup q 0 -1 52 80 rectclip q 0.309804 0.298039 0.298039 rg [...]
    – user40276
    Commented Jul 2, 2019 at 3:01
  • Yes, using \includegraphics from graphics is easier. If you have something like 0.298039 0.298039 rg in your code, then it was converted from PDF and makes things complicated. psvectorian uses pure PostScript code without all those helper commands defined by pdftops. Run kpsewhich psvectorian.pro and you'll get the location of the PostScript prologue file. It shows you how the single ornaments are defined.
    – user187802
    Commented Jul 2, 2019 at 5:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .