Some experimentation later I got it almost working:
elegant_pajama.pdf (36.9 KB)
gmt begin elegant_pajama pdf
gmt coast -R0/360/-70/70 -JM17c -BWESN -Bxa40f15g20 -Bya20f15g20 -Dc -A5000 -Saliceblue -W0.75p,grey
gmt basemap --MAP_FRAME_TYPE=plain -Ba0 --MAP_FRAME_PEN=6.75p,black
gmt basemap --MAP_FRAME_TYPE=plain -Ba0 --MAP_FRAME_PEN=6p,white
gmt basemap --MAP_FRAME_TYPE=inside -BWESN -Bf5 --MAP_TICK_LENGTH_PRIMARY=5p/3p --MAP_FRAME_PEN=0.375p,black
gmt basemap --MAP_FRAME_TYPE=fancy -Bxf20 -Byf20
gmt basemap --MAP_FRAME_TYPE=plain -BWESN -Bf10 --MAP_TICK_LENGTH_PRIMARY=5p/5p --MAP_FRAME_PEN=0.375p,black
gmt end show
It is somewhat fragile and I didn’t find the correct line to modify in gmt_plot.c to get the “thin pajama pen”. But it is working as a proof of concept in pure GMT.
Done with GMT 6.2.0_9b6c1c7_2021.01.02