Macos 在mac osx上使用latex(特别是pdflatex)生成pdf文档时,文档中的字体会出错

Macos 在mac osx上使用latex(特别是pdflatex)生成pdf文档时,文档中的字体会出错,macos,pdf,latex,fonts,pdf-generation,Macos,Pdf,Latex,Fonts,Pdf Generation,我的同事建议说texniscope在某种程度上应该受到责备,我应该尝试从我的系统中清除它。我真的不希望不得不求助于此 可能的线索: 这不是一个问题,直到我升级到豹 当我说字体是错误的,我的意思是主文本看起来可能是默认的mac系统字体,所有的数学都是完全不可读的。基本上所有的特殊符号都是完全混乱的 我从这里安装了latex:。我已经安装了texniscope 当我运行/usr/texbin/pdflatex foo.tex时,它似乎可以工作: 这是pdfTeXk,版本3.1415926-1.4

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

可能的线索:

  • 这不是一个问题,直到我升级到豹

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

  • 我从这里安装了latex:。我已经安装了texniscope

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

这是pdfTeXk,版本3.1415926-1.40.9(Web2C 7.5.7) %&-已启用行分析。 进入扩展模式 ... 但由此产生的pdf文件已经弄乱了字体

  • 在命令行上使用pdflatex或使用TeXShop时都会发生同样的情况

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

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

浏览网页,告诉你如何在文档中嵌入合适的字体


仔细想想,可能您的系统上没有安装任何字体,或者文档中没有嵌入任何字体。

我对您在MacTeX中遇到的问题感到有点惊讶。我最近安装了2008版,无论是pdftex/latex还是xetex/latex,它都工作得很好。即使安装了以前的teTeX,字体也不是问题。你能把你的foo.tex放在某个地方让我们测试一下吗?

看来我找到了答案,从,粘贴在下面。唉,看来我不得不放弃TeXniscope了。与Skim相比,我更喜欢TeXniscope,因为它更简单,有更好的分页键盘,Skim可以让您在每次出现latex错误时手动刷新pdf(否则Skim会自动刷新)

引自:

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

谷歌搜索了很多次,直到我在MacTex新闻组上发现了一条线索,表明问题出在损坏的字体缓存中。另一个搜索提示如何删除Leopard中的所有字体缓存。从终端发出以下命令:

sudo rm -rf `lsof | grep com.apple.ATS/annex.aux | grep Finder | cut -c 66-139`
(如果路径中不存在
/usr/sbin
,则将
lsof
替换为
/usr/sbin/lsof

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


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

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

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

atsutil server -shutdown

这将杀死Apple Type Services服务器守护程序(ATSServer)并生成一个新实例,同时重建其缓存文件。

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

这个错误让我发疯了。受此启发,我找到了处理此问题的最佳方法,即在shell中执行以下序列:

atsutil databases -removeUser
sudo atsutil databases -remove
atsutil server -shutdown
atsutil server -ping
您可以在shell配置文件的shell函数中按此顺序添加它(我的是
.zshrc
):


…只需在终端中调用
atsrm
,即可清除字体缓存。请注意,如果Skim打开,它将崩溃,并且某些应用程序可能会不正确地显示某些字符,因此您必须重新启动它们。

这肯定不是tex文件的错误。看看我刚才补充的答案。它似乎是TeXniscope和Leopard的组合。如果有人能证实或否认,请务必让我知道!确认。看我补充的答案。聪明,虽然这不是问题所在。看我补充的答案。我在Leopard上偶尔会遇到这种问题,尽管我从未使用过Texniscope。这似乎只是随机发生的。我使用了来自的OnyX来清除我的字体ca
atsutil server -shutdown
atsutil databases -removeUser
sudo atsutil databases -remove
atsutil server -shutdown
atsutil server -ping
function atsrm()
{
  atsutil databases -removeUser
  sudo atsutil databases -remove
  atsutil server -shutdown
  atsutil server -ping
}