gpt4 book ai didi

matlab - 防止 matlab 将 CreationDate 写入 eps 文件

转载 作者:太空宇宙 更新时间:2023-11-03 20:01:04 24 4
gpt4 key购买 nike

我正在使用 matlab 将图形编写为 eps 文件以便在 LaTeX 中使用,使用:

print( '-depsc', 'filename.eps');

我将这些 eps 文件保存在版本控制中。由于我一次生成大量图形,但只更改其中一两个,因此特定 eps 文件中的唯一更改通常是:

-%%CreationDate: 06/29/2011  17:52:57
+%%CreationDate: 06/30/2011 19:18:03

这不是有值(value)的信息。有没有办法阻止 matlab 写入 CreationDate?

鼓励肮脏的解决方案...

最佳答案

一个解决方案是完全删除该行,并依靠文件系统来跟踪创建/修改日期。这可以使用常见的 shell 工具以多种方式完成:

# sed
sed -i file.eps '/^%%CreationDate: /d'

# grep
grep -v '^%%CreationDate: ' file.eps > tmp && mv tmp file.eps

如果您使用的是 Windows 机器,MATLAB 应该包含一个 Perl 解释器:

# perl
perl -i -ne 'print if not /^%%CreationDate: /' file.eps

在 MATLAB 内部,您可以执行以下操作来调用单行 Perl 程序:

%# construct command, arguments and input filename (with quotes to escape spaces)
cmd = ['"' fullfile(matlabroot, 'sys\perl\win32\bin\perl.exe') '"'];
args = ' -i.bak -ne "print if not /^%%CreationDate: /" ';
fname = ['"' fullfile(pwd,'file.eps') '"'];

%# execute command
system([cmd args fname])

关于matlab - 防止 matlab 将 CreationDate 写入 eps 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6532159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com