4

我的同事建议 texniscope 在某种程度上应该受到责备,我应该尝试从我的系统中清除它。我真的希望不必诉诸于此!

可能的线索:

  • 在我升级到 Leopard 之前,这不是问题。

  • 当我说字体被搞砸时,我的意思是正文看起来可能是默认的 mac 系统字体,所有的数学都是完全不可读的。基本上所有特殊符号都是完全乱码的。

  • 我从这里安装了乳胶: http ://www.tug.org/mactex/ 。我已经安装了texniscope。

  • 当我运行时/usr/texbin/pdflatex foo.tex,它似乎工作:

     这是 pdfTeXk,版本 3.1415926-1.40.9 (Web2C 7.5.7)
     %&-line 解析已启用。
     进入扩展模式
    ...

但生成的 pdf 文件搞砸了字体。

  • 在命令行上使用 pdflatex 或使用 TeXShop 都会发生同样的事情。
4

6 回答 6

5

Apple 知道这个问题并且不打算修复它(我让一位教员花了很多时间测试并向 Apple 提交了一个错误)。他们声称 PDFTeX 错误地嵌入了字体,并且他们已修复 Apple PDF 库,使其对将接受和不接受的内容更加严格,这意味着您将继续在预览中看到使用 PDFTeX 创建的 PDF 文档的问题、TeXShop 或其他使用 Apple 的 PDF 引擎显示 PDF 的工具。不幸的是,他们根本不清楚 PDFTeX 到底做错了什么,这使得修复它甚至向 PDFTeX 开发人员报告错误成为问题。请注意,Adobe 的 Acrobat 或 Reader 应用程序通常可以毫无问题地显示这些文档;大概 Adob​​e 的错误检查比 Apple 的更自由。

您实际上可以在不重新启动的情况下从该问题中恢复,尽管您可能会看到它在同一个会话中与同一个文档一起出现。你需要跑

atsutil server -shutdown

这将杀死 Apple 类型服务服务器守护程序 (ATSServer) 并生成一个新实例,巧合地重建其缓存文件。

于 2009-02-18T23:08:59.187 回答
3

TUG 最近发布了更新的二进制文件,修复了触发字体缓存损坏的错误:http://www.tug.org/mactex/fontcache/

于 2009-04-16T22:29:38.337 回答
1

看来我找到了答案,来自http://www.stat.duke.edu/~dmm36/tech.php,粘贴在下面。唉,看来我不得不放弃 TeXniscope。我喜欢 TeXniscope 比 Skim 好得多,因为它更简单,具有更好的分页键盘快捷方式,并且 Skim 让您在每次出现乳胶错误时手动刷新 pdf(否则 Skim 自动刷新)。

引自http://www.stat.duke.edu/~dmm36/tech.php

在最近升级到 Leopard 之后,由 latex(MacTeX 2007 发行版)创建的 pdf 文件开始发生一些非常奇怪和可怕的事情。关键是任何使用 Apple 原生 pdf 引擎的应用程序(例如 preview.app、skim.app、Texniscope.app、LaTeXit.app,但不是 adobe reader 8)都不能正确显示字体。更神秘的是,同一个文档在多个开口上可能呈现不同的效果。

随后进行了很多谷歌搜索,直到我在 mac tex 新闻组上找到一个线程,该线程表明问题在于损坏的字体缓存。另一项搜索带来了有关如何删除 Leopard 中所有字体缓存的提示。从终端发出以下命令:

sudo rm -rf `lsof | grep com.apple.ATS/annex.aux | grep Finder | cut -c 66-139`

(替换lsof/usr/sbin/lsof如果/usr/sbin不在您的路径中)

sudo rm -rf /private/var/folders/*/*/-Caches-/com.apple.ATS

然后重启。这为我解决了字体问题。

注意:这个问题的一部分似乎是 TeXniscope.app 搞砸了字体缓存的结果。例如,如果您删除字体缓存,重新启动并在预览中打开某些内容,它看起来会很好,但是一旦您再次在 TeXniscope 中打开某些内容,就会回到绘图板。如果您遇到此问题并使用 TeXniscope 作为您的 pdf 预览器(如在 aquamacs 中),您应该切换到 Skim 作为您的 pdf 预览器。它非常好,Skim wiki 有关于如何将它与 Aquamacs 集成的说明。无论如何,TeXniscope 并没有处于积极的开发中。

于 2008-12-20T00:54:16.453 回答
1

这个错误让我发疯了。受此提示的启发,这是我找到的应对它的最佳方法,即在 shell 中执行以下序列:

atsutil databases -removeUser
sudo atsutil databases -remove
atsutil server -shutdown
atsutil server -ping

您可以将此序列添加到您的 shell 配置文件中的 shell 函数中(我的是.zshrc):

function atsrm()
{
  atsutil databases -removeUser
  sudo atsutil databases -remove
  atsutil server -shutdown
  atsutil server -ping
}

...并简单地调用atsrm终端来清除字体缓存。请注意,如果打开 Skim 会崩溃,并且某些应用程序可能无法正确显示某些字符,因此您必须重新启动它们。

于 2010-02-09T16:10:32.307 回答
0

在 Adob​​e Reader 中的文档属性下查看 pdf。如果您有用于数学的 Type 3 (?) 位图字体,您需要告诉驱动程序将正确的 Type 1 矢量字体嵌入到生成的文档中。

我在 linux 上使用乳胶和 dvips,然后使用 pdf。以前我不得不告诉它这样做,但现在看来至少 ubuntu 上的包具有正确的字体设置。

在网上查看告诉您如何将正确的字体嵌入到文档中。

再想一想,也许您的系统上没有安装任何字体,或者您的字体没有嵌入到文档中。

于 2008-12-20T00:21:12.417 回答
0

我对你的 MacTeX 问题感到有点惊讶。我最近安装了 2008 版本,无论是 pdftex/latex 还是 xetex/latex,它的运行都非常棒。即使我安装了以前的 teTeX,字体也不是问题。你能把你的 foo.tex 放在某个地方供我们测试吗?

于 2008-12-20T00:46:11.960 回答