set capstyle of spines for pdf backend
I don't think it's possible. I did a little bit of the backend's work in my main script, setting up a RendererPdf (defined in backend_pdf.py) and conatining a GraphicsContextPdf which is a GraphicsContextBase which keeps a capstyle, intialized as butt. As confirmed by grep, this is the only place where butt is hardcoded as a capstyle. After some ipython debugging, I've found that a new GraphicsContextPdf or 'gc' is generated each time a patch is drawn (c.f. patches.py:392, called by way of a necessary fig.draw() in the main script), and the settings for the new gc (again initialized as butt) are incorporated into the original RendererPdf's gc. So everything gets a butt capstyle. Line2D objects are not patches, so they can maintain a particular capstyle.
Figures rendered with the PDF backend have a 'butt' capstyle in my reader. (If I zoom at the corner of a figure in a pdf, I do not see a square corner, but the overlap of shortened lines.) I would like either a 'round' or 'projecting' (what matplotlib calls the 'square' capstyle) cap. Thus the Spine objects are in question, and a Spine is a Patch is an Artist, none of which seem to have anything like the set_solid_capstyle() of Line2D, so I'm not sure how or where to force a particular capstyle, or if it's even possible.