脚本化的 pdf 代码审查

脚本化的 pdf 代码审查

我试图实现的目标

我需要查看分布在十几个目录中的一堆 C 源代码。我已经有一个 bash 脚本,它执行以下操作:它搜索我感兴趣的目录中的所有源代码。对于找到的每个代码,它使用以下命令生成一个 pdf(源文件所在的位置):

a2ps $source -R --columns=1 --prologue='color' --line-numbers=1 -T2 -M A4 \
  --chars-per-line=100 --borders=no --encoding=iso1 -o - | \
  ps2pdf -sPAPERSIZE=a4 - $dest

然后它使用 PDF 查看器打开生成的 pdf,让我使用便签查看它。然后我保存它,关闭它,脚本对下一个 c 源代码执行相同的操作,等等。

这样我就可以自动查看所有源代码,并将评论以方便的 pdf 格式分发回来。

失败的地方

我找不到合适的 PDF 阅读器,可以让我完全执行上面提到的操作。基本上我已经尝试过了:

表明

不允许将便签保存在同一个文件中,我需要“另存为...”并证明然后打开以前使用的位置,而不是当前 pdf 的位置。这迫使我手动导航目录以找到源 pdf 来覆盖它。

期刊

它没有便签,这对我来说是强制性的。

奥库拉

Adobe Reader 中看不到便签,这对我来说也是必需的。

Adobe 阅读器 9

Linux 的旧版本(感谢 Adob​​e)不支持便笺。

因此我需要什么

总结一下我上面所说的,我需要一个 PDF 阅读器:

  • 能够节省直接或至少带注释的pdf另存为直接放在同一个目录下
  • 使用官方 pdf 便签
  • 创建至少可以看到的便笺Adobe阅读器表明

非常感谢您的帮助,它可以节省我很多时间!如果符合我的要求,也请随意提出一个完全不同的工作流程想法。

答案1

涉及 evince 和 bash 脚本的快速想法:

 dir=$(dirname $source)
 rm -f ~/evince_save
 ln -s $dir ~/evince_save

当您明显“另存为”时,保存到~/evince_save.正如您所观察到的,evince 每次都会使用相同的目录,但自动化脚本每次都会替换其链接;您无需进行任何导航,文件就会到达正确的位置。

删除rm符号链接而不是目录;如果尚不存在则-f表示没有错误。~/evince_save

答案2

如果这些 C 源文件尚未受到修订控制,请将它们置于修订控制之下(我的建议是 Mercurial)。如果它们在某些过时的版本控制系统(SVN、CVS)下转换源库。

(之后)克隆存储库并进行分支“修订”,使用带有语法突出显示的普通编辑器(应该与 PDF 一样可读)以及一些可识别的方式来标记您的评论:

/*CID: need to review the following in more detail */

可以通过提交和推送您的更改来提供审核反馈,其他人只需执行(图形差异)即可查看您的评论在哪里(每个文件或一堆文件)。

您不必标记评论,但如果有人合并您的评论中的“更改”,则更容易被识别。

(我不太确定为什么您觉得 PDF 格式很方便。)

相关内容