感谢 Szabolcs'评论到这问题,我找到了一种方法Export
来数学正确转换为 PDF。我们只需要设置一个系统范围的变量,通常称为系统本地(或者非 Unicode 应用程序的语言)按照描述转换为美国英语这里:
打开区域和语言选项在控制面板。
在先进的标签下非 Unicode 程序的语言, 选择英语(美国)。
这种方法几乎没有可用性限制:
- 只有管理员才有设置系统区域设置值的能力。
- 设置系统区域设置需要重新启动系统。
- 一次只能设置一个系统区域设置。
不幸的是,此设置不仅会影响数学, 但每一个计算机上使用的非 Unicode 程序(包括 Windows 本身的一些组件)。因此,这些程序无法正常工作,在某些情况下,更改此选项甚至会导致蓝屏死机.例如,命令行解释器命令执行程序在将系统本地化设置为英语后,在本地化版本的 Windows 上显示如下:
对于 Windows Server 2003 和 Windows XP,Microsoft 开发了Microsoft AppLocale 实用程序目的是允许运行非unicode应用程序而不改变系统区域设置(感谢Windows 程序员供参考)。但我没能让它工作数学。
是否可以单独设置系统区域设置数学为了将正确的西里尔文转换Export
为 PDF?
编辑
有PDF文件管理工具 MathLink
可执行文件.\SystemFiles\Converters\Binaries\Windows目录。也许我们应该为这个可执行文件精确地设置系统语言环境为美国英语?
PS 我使用本地化的 Windows XP SP3。
答案1
似乎可以通过设置CharacterEncoding
全局 FE 选项的明确值来解决该问题(使用 MMa 8.0.4 和 9.0.0 检查):
SetOptions[$FrontEnd, CharacterEncoding -> "UTF8"];
Export["test.pdf", "кириллический текст"]
一种等效方法(不改变全局 FE 设置):
Export["test.pdf",
Style["кириллический текст", CharacterEncoding -> "UTF8"]]
也"UTF8"
可以设置"UTF-8"
或 ,"ASCII"
效果相同。这种方法的缺点是所有非英文字母都会被勾勒出来。