I'm making maps for a book where maps run to the edge of the page. The printer has advised a 3mm bleed space around images, therefore if my page is 127x177 mm, images should be 133x183 mm. This bleed space is to allow for errors when the book pages are cut, and in the case of maps should not have any essential information. So I use a composer page size that includes these extra 3 mm on all sides.
I don't want labels for towns to be cut off at the edge of the map, therefore I have disabled the "Show partials labels" option. However, labels are still being shown within this 3 mm "no-man's-land" that may be cut by the printer.
The solution I have considered is to make two overlapping, concentric and perfectly aligned maps, the lower map runs to the edge of the bleed and would not show the towns, the map on top would be the exact size of the book page (i.e. 3mm less on each side than the underlying map) and would show the town layer, therefore creating a 3 mm border where there are no towns (or labels) shown.
However, I can't make these two maps align perfectly in composer. I have tried calculating the extents for these two maps so they have the same center and the same scale, but QGIS composer seems to have a fixed 3 decimal place precision so I can never get them to align perfectly.
Another way to approach this problem would be a new feature which would allow not rendering labels within the atlas "Margin around feature".
Is there any way I can prevent labels from being rendered within a bleed border?