Linux 下体验极速飙车
Linux 为何对病毒免疫?

试用了一下 diff + patch

lyanry posted @ 2007年8月21日 17:14 in 我爱用Gentoo with tags diff patch , 3743 阅读

Beamer 3.07 + CJKutf8 + pdfLaTeX 生成的 PDF 演示文档,其中文书签是乱码。究其原因,是因为 Beamer 只支持 CJK ,不支持 CJKutf8。鱼一尾兄对这个问题给出了一个解决的方法,见:
http://acevery.cnlog.org/2007/02/beamerutf8.html。我的测试,这个方法对于 Beamer 3.07 依然有效。

我这里要说的不是解决 PDF 演示文档中文书签是乱码的问题,而是如何从一份修改后的文件产生补丁并作用于未修改文件的方法。

假定我的Beamer 安装路径是 $Beamer。首先,我进入 $Beamer/base 目录,在该目录下将 beamer.cls 复制一份,命名为 beamer_new.cls。之后,按照鱼一尾兄给出的方法,对 beamer_new.cls 进行了修改。完后,可以使用 diff 工具对 beamer.cls 与 beamer_new.cls 进行比对,并生成补丁文件,所用命令如下:

$ diff -Nur beamer.cls beamer_new.cls > beamer.patch

生成补丁后,我就可以将这个补丁提供给别人使用。

现在假定你下载了 beamer.patch ,你需要将它复制到 $Beamer/base 目录中,然后执行:

$ patch -p0 < beamer.patch

这样,你的 beamer.cls 就与我修改后的 beamer_new.cls 一样了。

如果你觉得这个补丁不好,或者你有更好的方法来解决 PDF 演示文档中文书签,你想将已经打了补丁的 beamer.cls 恢复原状。这时,只要你的 beamer.patch 还在 $Beamer/base 目录下,可以这样:

$ patch -R -p0 < beamer.patch

具体 diff 与 patch 各参数的作用可参考 man,也可以参考下面文章:

用Diff和Patch工具维护源码

Avatar_small
email login 说:
2020年10月13日 16:19

Even when you are quite good at using internet or email, you may have problems with it. Some problems are quite common and you can solve it (forgot password, forgot username...) but sometimes, because of the high secure policy of Google, proxy problems... you may cannot sign in your email. If you cannot solve it yourself, email login will be a helpful choice.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter