首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS Word跟踪更改和RMarkDown

MS Word跟踪更改和RMarkDown
EN

Stack Overflow用户
提问于 2016-03-12 00:53:36
回答 4查看 2.8K关注 0票数 18

我尝试使用R Markdown来编写所有的数据分析报告,因为我可以拥有一个可以以多种输出格式(Pdf、html和MS Word)共享的可重现文档。

然而,我的大多数同事都在使用MS Word,他们对R、Markdown等一无所知。

使用R Markdown的一个好处是,我可以在MS Word中生成我的报告,并直接与我的同事分享。

缺点是协作对我来说变得很麻烦,因为我也会收到MS Word上的反馈(通常使用跟踪更改),并且我必须手动将这些更改重新引入.rmd文件中。

因此,我的问题是:我如何简化将MS Word文档中的更改导入.Rmd的过程(即使其尽可能自动化)?

有没有什么工具可以帮我呢?

P.s.getting我的同事成为R文字是不是一个选择:(

EN

回答 4

Stack Overflow用户

发布于 2017-05-17 15:03:42

我还没有尝试我的建议,但这里是我计划如何处理这个问题,因为我有完全相同的需求。首先,有两种截然不同的场景:

  1. I是主要作者,或者我负责统计分析:我将要求所有合作者学习和使用markdown (不是R Markdown,只是通用markdown),我会指示他们不要接触任何R代码。我相信markdown非常简单,任何有足够能力与数据分析合作的人都会更有能力学习markdown。为了教导他们,对于熟悉使用Microsoft Word和跟踪更改的人来说,关键功能如下:
    • Basic markdown参考:我会给他们核心的R Markdown参考,这是他们的R Markdown cheat sheet.
    • Track文档和更改:合作者只需编辑纯文本形式的markdown并提交他们编辑过的版本。为了查看和协调差异,我会简单地使用diff工具;我会找到一个很好的在线工具来教我的合作者如何在作者之间比较changes.
    • Comments:我会选择一个options for markdown comments,并在需要时教我的合作者使用它。修改后的超文本标记语言注释(<!--- Pandoc-enhanced HTML comment -->)是我可能会使用use.
    • Reference管理的:我使用Zotero,所以我会使用Better BibTeX for Zotero来处理引用。这样做的好处是,虽然我必须自己处理引用,但合作者可以直接向Zotero组库添加引用。实际上,使用引用键,协作者学习如何将引用本身插入到markdown text.

中应该很简单

  1. I不是主要作者,我也不负责统计分析:我会使用主要作者使用的任何工作流程(例如,如果主要作者使用带有跟踪更改的Word,我将使用相同的内容)。

我想指出的是,似乎唯一不那么容易的部分(与Microsoft Word的正常工作功能相比)是用diff替换跟踪更改。我不知道有什么工具可以使合并diff文件像Word如何协调更改一样简单,但如果这样的工具存在,那么这个过程应该更加无缝。

票数 5
EN

Stack Overflow用户

发布于 2018-05-13 01:30:43

我认为我们需要在几个包上工作,以便在Word和RMarkdown用户之间实现真正的协作。我很乐意与任何有兴趣实现这一目标的人合作。

  1. 为RStudio添加了一个CriticMarkup插件。https://github.com/CriticMarkup/CriticMarkup-toolkit/
  2. Having是一个R包,它可以抓取Word文档以及跟踪的更改。officer包已经可以读取Word文档,但不能读取跟踪的更改。如果这个包可以为抓取添加简单的RMarkdown格式,例如粗体,下标,甚至表格,以便于随后将Word文本匹配到RMarkdown文件,这也是非常有用的。https://github.com/davidgohel/officer/issues/132
  3. Write一个包,它可以将抓取到的CriticMarkup跟踪更改转换为RMarkdown文件。

代码语言:javascript
复制
- Generate a key (paragraph)->(lines) that matches paragraphs scraped from Word (without any of the tracked changes) to lines in the RMarkdown. The problem is that we don't know what was generated using code, and what was directly written as Rmd. The first step would be to find lines in the RMarkdown file that should form paragraphs (exclude R chunks, but not inline R). Then, ensuring the order remains the same, compare these lines (remove newlines) to paragraphs scraped from the Word document, using a regexp symbol for "any char, any length" in the place of inline r chunks. Next, split paragraphs with inline chunks as into sub-paragraphs in order to be able to apply tracked changes and comments to either the inline code, before, or after the inline chunk more easily. Finally, the paragraphs that could not be matched were likely generated within code chunks and should be matched to the appropriate code chunks, determined from the order of the paragraphs.
- Use the generated key, apply tracked changes (as CritcMarkup) to the RMarkdwown file. Any changes made to code chunks should be reported as a CrticMarkup comment around that code chunk (or group of code chunks if there is no markdown in between chunks).

票数 4
EN

Stack Overflow用户

发布于 2020-12-18 01:25:12

我知道这是一个老帖子,但对于未来的提问者,现在有一个包可以(主要)做到这一点:

{redoc} package可以输出到Word,通过在Word文档内部存储R代码,它还可以将Word文件dedoc()回RMarkdown。它使用了另一个答案中讨论的批判性标记语法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35945728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档