MacTeX 的内存设置——需要修改哪个 texmf.cnf

MacTeX 的内存设置——需要修改哪个 texmf.cnf

我对如何管理 LaTeX 内存有些困惑。我使用麦金塔电脑2011 发行版未经过任何修改(cad 仅适用于 TeXLive 2011)。

我在网上和这个非常好的论坛(有类似的主题)上搜索了很多。无论如何,我找到并测试过的所有方法都没有用。

我想我应该修改的文件是位于此路径上的文件:

/usr/local/texlive/2011/texmf.cnf

该文件原本包含:

% (Public domain.)
% This texmf.cnf file should contain only your personal changes from the
% original texmf.cnf (for example, as chosen in the installer).
%
% That is, if you need to make changes to texmf.cnf, put your custom
% settings in this file, which is .../texlive/YYYY/texmf.cnf, rather than
% the distributed file (which is .../texlive/YYYY/texmf/web2c/texmf.cnf).
% And include *only* your changed values, not a copy of the whole thing!
%
TEXMFHOME = ~/Library/texmf
TEXMFVAR = ~/Library/texlive/2011/texmf-var
TEXMFCONFIG = ~/Library/texlive/2011/texmf-config

然后我应该在这个文件的末尾写下我的修改(例如buf_size = 250000:)。

无论如何,这似乎不起作用(错误日志告诉我TeX capacity exceeded, sorry [buffer size=200000])。如果修改有效,我会得到 250000 而不是 200000。

我也测试过将 放入texmf.cnf~/Library/texmf~/Library/texlive/2011~/texmf/mytexcnf/texmf.cnf按照包 pgfplots 手册中的建议)和其他类似路径最后我尝试在终端上输入texhash或但仍然没有成功。fmtutil --all

我想我完全迷失了,非常感谢专家的帮助。

提前致谢

答案1

要更改内存分配,您应该编辑/usr/local/texlive/2011/texmf.cnf。在 Mac 上,这些是系统拥有的文件,您必须以管理员用户身份进行身份验证才能编辑它们。

有两种方法可以做到这一点。如果您熟悉命令行编辑器,例如 vi、emacs、pico 或 nano(MacOS 中均已标准安装),则可以使用其中一种编辑器来编辑文件。为此,您可以使用sudo管理员帐户调用编辑器。(下面的示例,使用emacs)。

sudo emacs /usr/local/texlive/2011/texmf.cnf

系统将提示您输入密码。

如果你不熟悉这些编辑器,并且更愿意从常规 GUI 界面执行此操作,则可以使用优质的文本编辑器,例如免费的文本管理工具这将允许您在身份验证后保存系统文件。要从 Finder 中执行此操作,您可以执行以下操作:

  • 在前往菜单中,选择前往文件夹
  • 进入/usr/local/texlive/2011/
  • 按住 Control 键单击texmf.cnf并选择打开方式,然后选择 TextWrangler

现在您可以编辑该文件,当您保存它时,TextWrangler 将对您进行身份验证。

要将主内存增加到例如 7000000,请添加以下行:

main_memory = 7000000 

修改后/usr/local/texlive/2011/texmf.cnf你需要运行

sudo fmtutil-sys --all

这应该用新的值重建格式。

重要的是你要跑sudo fmtutil-sys,而不是fmtutil

如果你之前错误地运行过fmtutil,你应该从你的当地的图书馆(即〜/ Library /)

~/Library/texlive/2011/texmf-var

您可以通过导航到该~/Library/texlive/2011/文件夹​​并将该texmf-var文件夹拖到垃圾箱来执行此操作。或者,您也可以在命令行中输入:

rm -rf ~/Library/texlive/2011/texmf-var

当然,如果此目录中已有内容,则不应删除所有内容,而应删除web2c其中的目录:

rm -rf ~/Library/texlive/2011/texmf-var/web2c

相关内容