Maps that use projections in which North is only constant along meridians are disingenuous when it comes to their north arrows and scale bars, since both scale and North vary depending on where they are on the map. On large scale maps this matters very little. On medium and small scale maps, however, this matters a lot. The typical solution for the directional indicator is to display graticule lines instead of a north arrow. There are some potential solutions for scale bars, too, but I will focus only on the directional indicators in this post.
The problem with using graticules is that they can clutter up the map unnecessarily. You can seek to minimize that clutter by using thin gray line symbology. In this example, you see how a thin gray graticule looks. Also notice that the north arrow that I’ve placed here solely for purposes of illustration is definitely erroneous for most parts of this map.
You can go a step further and run the graticule lines only over the portions of the map that aren’t as important: the oceans, for example. That isn’t always possible, especially for those of us who make extensive use of single-layer basemaps such as that shown above, where there is no way to place the graticule layer between the oceans and the land. In this particular example it wouldn’t much help to run the graticules solely over the ocean area anyway, since there is too little ocean area compared to the land area and therefore only a single meridian line would be visible.
In no way is a graticule grid covering this entire map a bad thing. But what if there might be another option to consider on maps that have a lot more information?
What if we made an icon out of the graticule grid to illustrate the directions, placed in a corner of the map just as we would have done with a north arrow if it had been an equirectangular projection? An illustration of this is probably the best way to explain it:
Zooming in to the lower-right corner of the map:
To create this–and here I’m using ArcMap but it should be a very similar process in your GIS of choice–I created a new polygon data layer and edited it such that it contained one polygon of the extent of the map. This was pasted into a new data frame and that new data frame was set to the same projection as the first, then this data frame was zoomed to the extent of the new polygon layer. Now they both show the same exact location.
The new data frame needs to have the same height/width ratio as the main data frame so that the exact same graticules will show up in your graticule icon that would have shown up on the map itself had you placed them there. In this case the main page is 8.5 by 11 inches, so the secondary data frame is .77 by 1 inch.
The graticules, from Natural Earth data, are placed in this data frame and styled as thin gray lines, and the data frame is placed in the corner of the map along with the cardinal direction indicators in a nice serif font with matching gray font color.
As a side note, if anyone has seen this technique on any other existing maps please let me know as I have not yet come across it, and I would edit the “new” out of the title of this post accordingly.