This is an extendion of m_goldberg's answer.

Create the following fraction (Esc pi Esc ctrl-/2)

[![enter image description here][1]][1]


 [1]: https://i.sstatic.net/8FT3U.jpg

in your notebook and paste it into the text for the tick label. Then wrap the text in `Style` and make it size 18. When it shrinks in the grid you will approximately the same size for all of the tick labels.

 cp = ContourPlot[x^2 + y^2, {x, 0, \[Pi]}, {y, -\[Pi], \[Pi]}, 
 FrameTicks -> {{{{-\[Pi]/2, 
 Style["\!\(\*FractionBox[\(-\[Pi]\), \(2\)]\)", 18]}, 
 0, {\[Pi]/2, 
 Style["\!\(\*FractionBox[\(\[Pi]\), \(2\)]\)", 18]}}, 
 None}, {None, None}}, 
 FrameTicksStyle -> {Directive[14], Directive[14]}];

and then

 Grid[{{cp, cp}, {cp, cp}}]

![Mathematica graphics](https://i.sstatic.net/j9IXt.png)

This is a fair amount of work. If you are doing this a great deal you will probably need to automate it.