You will want to have the ps.map reference manual handy as you will refer to it often. Within the document click on the instruction list links to quickly jump to the section of interest. It is suggested to start simply, test the result, and then add more decorations one at a time. The command interface may appear daunting at first but you should get used to it before too long. Manual placement of decorations is a bit of a pain and time-consuming, but it is hoped that there will soon be a new wxGUI map-composer wizard which will act as a front-end to the program, greatly speeding up this part of the task. While any number of vector maps can be drawn, ps.map will only let you draw one raster image or RGB image set per map. Use the text instruction with a y coordinate less than 0%. In the same way text can be placed above the map box by using a coordinate greater than 100%. To right justify the text set the x coordinate to 100% and the reference to right. The scalebar position and divisions will still have to be set manually, but that just takes a minute if you get the box center coordinate from the gv mouse cursor (see points->,inch conversion tip below). For a more simple to use version see the ps.map mapinfo instruction. The same method can be used with the ps.map point and text instructions to create a custom legend. In this example we also rotate the north arrow to match true-north instead of the projection’s north. This is useful when used with a geo-grid overlay where the grid and the north arrow are right next to each other but don’t point in the same direction. The deviation between true north and the map projection’s local +y direction can be obtained from the proj program from PROJ.4. Look for the Convergence angle. It can be obtained in newer versions of GRASS with ‘g.region -n’ It is also possible to estimate this angle by reprojecting two points within the map with the same longitude, and then using trigonometry on the resulting coordinates. For example: Which is reasonably close to the more trusted value given by the proj software, and good enough for our purposes. By default ps.map centers the image at the top of the page and adjusts the map scale to suit. If you set a fixed map scale it will then place the map box at the top-left margins. Note that if the scale does not fit on the page it will be adjusted so it does, so keep an eye on it. A method to recenter a map box with fixed scale follows. It involves the ‘gv’ program and a hand calculator. It is hoped in future this can be set automatically … a pain, but you only have to do it once per map. Example uses the Spearfish dataset. If you view the resulting PS file you will see it nicely centered, i.e. extending to the left and right margins. Note the scale is set to what we asked it to be, and the map box is now smaller and justified to the top-left margins. and note a few numbers: the coordinate of the right edge of the paper (596 for A4), the right-hand border of the map box (466 for the above example), and the left edge of the map box (36 in the above example). tip: use the middle mouse button to draw a temporary zoom box in gv. You can then calculate the map location to use to center the map box by finding the average of the current margins (in points): So for this example the map should be centered if 1.146′ left and right margins are used. Use the maploc instruction to place the map. The ps.map eps and vpoints instructions can display an EPS symbol at points on the map. For instructions on how to convert SVG images to EPS using Inkscape, see the symbols help page. To fix typos, insert special characters, etc., you can open the PostScript file in your favorite industrial-strength text editor, search for the text string, make the edit and resave. Much easier then regenerating the graph for something as simple as a spelling mistake or a figure number change. ps2pdf is a GhostScript wrapper for converting PostScript files to PDF. The default is to create PDF with rasters sampled at 72dpi for viewing on a computer screen. To render at 1200dpi with defaults set for high quality printing, you can add some gs options to the operation: If your raster maps are still showing obvious JPEG artifacts in the output PDF, at the cost of larger PDF file size, you can preserve the original quality by bypassing some filters. Add the following switches to the ps2pdf command line: Well, perhaps it is better to say they are an evolution. If you uncompress the PDF file you can edit it just as in the PostScript editing example above, and then recompress when you are done. A nice tool to compress/decompress PDF is pdftk. The pdftk program also lets you do nice things like concatenate a series of PDF pages into a single PDF document, and split a multi-page document into a series of single page PDFs. Very handy for splicing figures into a bigger document. Source.