TL; DR: 使用三遍(验证抓图分析)阅读算法,可以轻松阅读 数百 篇论文。 使用org-mode(带有helm-bibtex,org-ref和interleave)并检查笔记。
介绍
随着计算资源一分钟变得便宜,功能和分布式编程,软件业务和学术界的兴起比以往任何时候都更加紧密。 现代软件能够并且确实非常依赖学者的进步。 进入日常代码的尖端研究并非罕见。 我们可以选择忽略我们提供的代码的支持概念,也可以选择接受更改并按照自己的方式进行。 要么抢库,要么使用开放源代码提供的解决方案,要么忽略内部工作原理,要么尝试理解这些想法。 每当有东西掉入黑洞时,请向厨房水槽下方看。 跟随科学进步需要巨大的意志力,无论哪种方式,它都只会导致阅读科学论文的10个阶段1。 但是,您可以通过教给自己一种跳过痛苦的部分的方法来轻松地超越这一范围。

三遍阅读
曾经有过很多次的报道2、3,阅读论文(诚实地阅读任何需要充分理解高级概念的文章)应该以多阶段的方式进行。 这里的主要概念是,每当您通过论文时,您都要牢记特定的目的。 首先,您验证论文及其内容, 其次,您掌握了总体思路, 其次,您全面了解了这些概念,并使笔记变得流畅。
首过—验证
第一遍为您提供内容的高级视图。 帮助您避免陷入书写不佳,无趣,错误或仅超出您当前知识文本范围之内的情况。 为了从第一遍获得最大收益,我通常从参考开始。 并且尽管统计上80%的作者从未完整阅读过引用的文章(共4篇),但他们提供了对期望内容的全面概述。 每当处理复杂而冗长的论文时,我都会倾向于标记已阅读的论文。 因此,我可以返回臭名昭著的笔记)或验证背景。 阅读论文从标题,摘要和简介开始,我在第一次接触论文时会仔细阅读。 它们是该文章是否适合的第一个标志。 之后,我会仔细阅读文章,重点关注章节标题,图形元素和数学公式。 我还阅读了结果和讨论部分,以概述本文的撰写方向。 最近在HackerNews上流行的“如何阅读论文” 2论文的作者建议,第一遍应该给您5C的答案:
- 类别 -这是什么类型的纸张?
- 上下文 -它与哪些其他论文有关? 使用哪些理论基础来分析问题?
- 正确性 -这些假设似乎有效吗?
- 贡献 -该论文的主要贡献是什么?
- 清晰度 -是否写得好?
一经阅读,对我来说,除了鸟瞰图之外,还可以决定我是否应该第二遍。 我个人问自己:
- 对我有什么用?
- 我有足够的背景吗?
阅读论文可以大大提高您的知识水平,为您提供实用的解决方案,处理方法甚至实验性设计概念。 然而,论文确实需要先验知识-背景。 第一次通过后,只要看到缺失背景的空白洞,就会将文章标记为TODO ,并用:advanced:标记,直到我能够阅读或通过参考资料和互联网建立背景为止。
第二遍-掌握概念
我以掌握概念和支持证据为目标开始第二遍,以便可以通过啤酒向其他程序员描述它。 我通常将其同步到我的Onyx Boox大屏幕电子纸阅读器,以避免打印。 这使我可以方便地遵循思想过程,而无需深入执行概念就关注概念。 在阅读时,我会在纸的侧面标记,突出显示或涂抹笔记。 快速重新扫描将在稍后向我显示该论文的要点。 我尝试通过图表和图形表示来工作。 每当碰到我不理解的东西时,通常很容易看出它是否会阻止我遵循使这变得无用的概念,或者我可以记下来以后再学习。 必须立即处理阻止程序,然后再进行进一步操作。 所以…谷歌搜索我的笔记,学习。 接下来,我还将重点关注第二遍的是内联引用。 一些参考是即时挂钩,因此我将它们添加到TODO论文列表中。 在第二遍中,我有一篇,草,标记和突出显示的文章,了解概念并可以分享想法。 但是,对于基本概念来说,这还不够。 第三遍。
第三关-批评
第三遍显然是我需要理解的非常有趣的论文。 我会逐步处理以前错过的部分,并尝试在更大范围内查看结果/讨论。 就是 教授光学器件与我们建立的广泛领域有何关系? 第三遍也是我倾向于与某些学者有所不同的地方。 据说,要审阅论文,您需要不复制而重新创建它。 我通常只用对我的工作至关重要的论文来做到这一点。 我选择了我使用的工具,然后尝试重建它。 确实,它可以使人生气。 它会让您感到不安,并且您会讨厌这些想法。 但是最后,宏伟的想法通常是值得的。 第三遍通常以一些代码和注释结束。 或只是笔记。 但是笔记是所有的地方。 第三遍是主动读者。 即使本文不是我要做的事情的核心,并且我决定不在REPL中摆弄,我还是一个活跃的读者。 我标记了更多的东西,并注意侧面的东西(通常不留在边距中)。 我不复制东西。 用我自己的话说,以便我处理。 我使用结构化注释-大纲。 我严格地寻找不一致之处。 推理正确吗? 样本数量是否足够?
笔记
几年来我一直在修改Notes工作流程。 大量阅读笔记和论文后,要为相关笔记编写grep文件变得很繁琐。 将其全部存储在纸质笔记本中正处于疯狂的边缘。 作为狂热的Emacs的使用,我一直在以全能的org-mode做笔记。 一种可扩展的Emacs主模式,用于处理与文本/数据相关的所有事物。 使用org-mode的最小语法和树形布局,可以非常轻松地构造和扩展简单的单文件知识库。
工作流程
几年来,我一直保持着巨大的备忘文件papers.bib和参考文件papers.bib 。 这些文件包含我被标记为TODO的书籍,论文和文章的糟糕清单。 通常,为了避免摆弄我,我只需添加一个带有org-capture 5模板的文档的快速TODO (无论是纸张,文章,链接还是其他)。 时不时地(通常每当选择下一篇要阅读的内容时)我会遍历文件并将捕获的内容转换为适当的Bibtex参考。

多年来,Bibtex一直是事实上的标准参考管理系统。 因此,完全有可能从Internet上获取所有必要的文档详细信息。 通过名称,标题,标签或…pdf文件搜索。 我通常将下载的pdf拖放到带有参考文件的Emacs窗口中,以便它自己获取数据。 或者…只是使用美丽的helm-bibtex,它使我可以快速访问所有主要的科学搜索引擎,从arxiv到google Scholar。

我还将在papers.org本身中将捕获的TODO转换为文档TODO任务。 但是,为了保持最佳状态,可以使用参考来完成–输入org-ref。 快速快捷键以及参考和TODO现在已链接。 我通常做笔记的工作流程从我通常在Emacs的pdf工具中进行的第三遍开始。 与纸张并排运行REPL或工作表非常宝贵。 做笔记也一样。 猜猜是什么,到目前为止,我所做的一切都使我能够使用单个命令将注释链接到pdf中的特定位置。 在给定的子树上启用交错模式( Mx interleave ,duh)(通过:INTERLEAVE_PDF:属性设置)可以通过简单地附加pdf位置来实现。 瞧:

有了这些,我就可以有效地将笔记整齐地连接到原始资料。 彼此之间使用org-mode子树搜索和标签。
设置
该设置确实非常容易实现。 几个软件包和最少的配置选项。 我将我的dotfiles存储在github存储库中。 我的(现在是从普通的init.el迁移的)spacemacs配置也在那里。 随意漫游并窃取东西-dotfiles.codearsonist.com。
pdf工具
Emacs能够正确显示pdf的先决条件。 我使用的库存配置没有其他选择。
组织参考
org-ref还只需要进行最小的设置即可使车轮转动,并且该配置与helm-bibtex相对应:
( setq org-ref-notes-directory "$SOME"
org-ref-bibliography-notes "$SOME/index.org"
org-ref-default-bibliography ' ("$SOME/index.bib")
org-ref-pdf-directory "$SOME/lib/")
掌舵裤
我猜应该将org-ref配置传播到helm-bibtex之一。 但是,这是直接配置helm-bibtex的方法:
( setq helm-bibtex-bibliography "$SOME/index.bib" ;;references path
helm-bibtex-library-path "$SOME/lib/" ;;pdfs path
helm-bibtex-notes-path "$SOME/index.org" ;;notes path
bibtex-completion-bibliography "$SOME/index.bib" ;;completion
bibtex-completion-notes-path "$SOME/index.org" )
交错
没有。 在papers.org的子树上设置:INTERLEAVE_PDF:属性,即可完成🎉️
挑选下一张纸
作为旁注。 互联网上到处都是论文。 Hackernews,Twitter流,Reddit产品必须比我们能够追踪的更快地阅读项目。 从我的个人经验来看,最好的论文来源只是其他论文的参考。 每个专业都有自己的纸张“佳能”。 从他们开始,通过遵循引用(CiteSeer,Google学术搜索)或直接引用,逐步朝着其他人迈进。 请记住,每当有论文被推荐时,引文数量都是一个很好的检查。
摘要
借助阅读科学材料的方法,我阅读了许多深入的技术论文。 通常超出我的常识水平。 该方法使我在阅读每篇论文时都能提高阅读能力(另请参阅:6)。 我读得越多,我的理解就越好。 通过与他人讨论,我可以分享知识。 以上是我一直在使用的基本工作流程构想,并发现它非常适合我的需求。 还有更多的功能,包括我已经实现的自动标记依赖图。 但这是一个单独的(长篇故事)……