如何在“工作”样式环境下导出图形,而不是“打印输出”?

14
我最近了解到,在将内容导出为PDF时,Mathematica中的Export默认使用"Printout"屏幕样式环境,而不是"Working"这有时会导致导出的PDF中FontSize波动,非常令人烦恼。

例如,请尝试:

Show[First@ImportString[ExportString[Style[T, 100], "PDF"], "PDF"], 
 Prolog -> Inset[Style[T, 100], FormatType -> StandardForm]]
Show[First@ImportString[ExportString[Style[T, 100], "PDF"], "PDF"], 
 Prolog -> 
  Inset[Style[T, 100, Magnification -> .8], 
   FormatType -> StandardForm]]

screenshot

你可以看到,导出的“T”比笔记本中显示的“T”的大小小80%。这是默认情况下调整“Printout”环境的方式。
是否有一种方法强制Export使用默认的"Working"环境?
附注:由于某种原因,为“Printout”环境设置私有样式表并将Magnification->1设置为不影响Export

我记不得你在用哪个版本了?我不得不将“Prolog”更改为“Epilog”,以使你的示例在第7版中能够正常工作。 - Mr.Wizard
@Mr.Wizard 我使用 Windows 2000 下的 v.7.0.1 版本。在我的机器上,PrologEpilog 在这种情况下给出了视觉上相同的结果,正如它们应该做的那样。 - Alexey Popkov
奇怪的是,当使用 Prolog 时,我只看到一个 T;Inset 根本没有出现,就像被不透明的层遮挡住了一样。 - Mr.Wizard
@Alexey,值得一提的是,这似乎不会影响Graphics。请尝试例如Show[First@ ImportString[ ExportString[ Graphics[Inset[Style[T, 100]], FormatType -> StandardForm], "PDF"], "PDF"], Epilog -> Inset[Style[T, 100], FormatType -> StandardForm]] - Szabolcs
@Szabolcs,根据你的示例,使用Export导出的文件页面大小为4.17x4.17英寸,但保存为PDF后,文件页面大小为3.33x3.33英寸(Mathematica 7.0.1 for Windows)。3.33/4.17=80%。在两种情况下,“T”相对于页面大小的大小是相同的。 - Alexey Popkov
显示剩余4条评论
1个回答

12

解决方案似乎是:

SetOptions[$FrontEnd, PrintingStyleEnvironment -> "Working"]

2
谢谢,看起来它正在工作。另一种选择是为 $FrontEndSession 设置此选项:SetOptions[$FrontEndSession, PrintingStyleEnvironment -> "Working"]。有趣的是,在这种情况下,此设置仅影响新创建的笔记本的打印和保存到 PDF,而不影响当前笔记本(但 Export 到 PDF 的效果如预期)。 - Alexey Popkov
@Alexey,感谢您的选中标记和有趣的观察。 - Mr.Wizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接