It is a problem for the reasons @Alexey Popkov explains.
My workaround is to have one graphics format for the publisher and different one for printing PDFs from Word.
For printing PDFs from Word, the one thing that has ended up working nicely for me is to create large PNG files, which you then adjust to size in Word. For sending files to the publisher, you can produce PDF files of the graph at the size you want directly from Mathematica. In other words, you choose the font sizes you want for the text on your graphs and produce them at the size you want. In Inches, the size seems to be 100 units of ImageSize
per inch, so you will use Export["
filePathAndName.pdf",
graphname, ImageResolution->1200, ImageSize->3.75 100]
in order to produce a PDF file that the printer will insert in the text and which graph will have a width of 3.75 inches on the printed page.
You could insert this PDF into Word by using Alt-i-o (/insert/object, then the tab "From File") but my experience is that its quality will deteriorate. It will neither look good on the page nor in the PDF printed from Word.
Instead, you need to produce a PNG file in large resolution; in this example use Export["
filePathAndName.png",
graphname, ImageResolution->1200, ImageSize->3.75 100]
. Import the graph into your Word document using Alt-i-p-f (/insert/picture/from file). Word will ignore the size that you have set but you can right-click the graph, choose "Size and Position" from the drop-down menu, and set the size you want (3.75 inches width in the example). This will look sharp on the Word screen and the PDF files you produce from Word.
Now, because I work in Mathematica in 75% magnification, these graphs look far too small on my screen. So for the screen, I use larger font and resolution of image units for inches. I use 267 for inch units of graph size and 42 as the font size that corresponds to fonts of size 12. At my initialization cell, I have a line like If[True,{ftsz=12,imgsz=100},{ftsz=42,imgsz=267}];
and define font sizes and image sizes using the variables, e.g., Graph[
primitives and any fonts defined using ftsz
,BaseStyle->{
font family choices etc. ,FontSize->ftsz},ImageSize->3.75 imgsz]
. The graphs will be nice and large to see on the screen while you are building them using Mathematica and the False
setting in the If
statement, then render them again for Export
ing after changing that If
statement to True
. But be careful, if you export the large-dimension PNG graph not to set resolution at 1200 or you may, like me, get out of memory errors. But it may look better in Word than the 3.75-inch graph with the 1200 resolution.
I know, this should be easier. Perhaps I am missing some trick and someone will point it out in the comments.