将源代码示例插入Microsoft Word文档的最佳方法是什么?

我必须编写一些包含源代码示例的文档。 一些例子将从IDE写入,其他的将写入到位。 我的例子主要是在Java中。

作为习惯LaTeX的人,在Word中这样做是非常痛苦的。 不过,我必须为此而Word。 我看到的唯一select是:

  1. 写入或复制到文档中,然后使用固定types的字体,排列格式,并希望Word不会为您大写。 不用说,这看起来像废话。
  2. 从IDE复制并粘贴源代码的屏幕截图。 至less我保持色彩。 但是,如果我改变我的字体大小,我搞砸了。 我也是跨页面的界限。 让我们承认,Word在文档上pipe理多个图像并不是很好。
  3. 写HTML(这里不是一个真正的select)

有一些更好的(和理想的便携式)的方式来做到这一点? 是否至less有某种类似于LaTeX环境的逐字风格? 是否至less有一些漂亮的打印机,我可以复制和粘贴为RTF?

我绝对讨厌和鄙视微软免费工作,考虑到如何在数十亿美元之后,他们仍然没有正确的指导,就像在他们该死的网站上截图一样。

无论如何,下面是Word 2010中的一个快速指南,使用Notepad ++进行语法着色,以及一个TextBox,可以使用标题:

  1. select插入/文本框/简单文本框
    01word
  2. 插入一个默认的文本框
    02word
  3. 切换到NPP,select您的代码的语法着色语言,去Plugins / NPPExport / RTF复制到剪贴板
    03npp
  4. 切换回文字,并粘贴到文本框中 – 它可能太小…
    04word
  5. …所以你可能不得不改变它的大小
    05word
  6. select文本框,右键单击它,然后select插入标题…
    06word
  7. 在标题菜单中,如果你还没有,点击新标签,并将新标签设置为“代码”,点击确定…
    07word
  8. 然后在标题对话框中,将标签切换到代码,然后点击确定
    08word
  9. 最后,在新创build的标题框中键入您的标题
    09word

您需要在Word文档中定义一种样式 ,并将其用于源代码。 我通常有一个称为“代码”的风格,它有一个小的点尺寸的等宽字体,固定大小的制表符,单行间距,段落间距之前/之后等等。你只需要定义一个样式然后重用它。 你粘贴你的源代码,并应用“代码”的风格。

请注意,在应用程序之间复制/粘贴时,某些编辑器(例如Mac上的Xcode)将RTF和文本添加到剪贴板 – Word识别RTF,并有助于保留格式化,语法着色等。

Xcode中的源代码:

在这里输入图像说明

复制并粘贴到Word中:

在这里输入图像说明

(注意:在Word中禁用“代码”风格的拼写检查是一个好主意。)

它的种类取决于IDE。 例如,Visual Studio和Eclipse都将允许您复制为RTF并粘贴到Word中,保留所有格式。

记事本+ +有一个名为“NppExport”(预先安装),允许您复制到RTF的插件,虽然我不关心Notepad ++的语法高亮(虽然它肯定会通过)。 它所做的是支持数十种语言,而上述的IDE仅限于less数几种语言(没有其他插件)。

我最近遇到这个post,发现一些有用的提示。 但是,我最终采用了一种完全不同的方法来满足我的需求。 我分享了我为什么select这种方法的方法和理由。 这个post比我想要的要长,但我相信截图总是有帮助的。 希望答案对某人有用。

我的要求如下:

  1. 将代码片段添加到word文档中,使用语法高亮显示代码和其他文本更易于查看和区分。
  2. 代码片段应与其他文本内联。
  3. 代码片段应该顺利地打破页面,无需额外的努力。
  4. 代码片段应该有一个很好的边框。
  5. 代码段应禁用拼写检查。

我的方法如下所示:

  1. 使用外部工具来实现语法高亮要求1以上。 人们可以使用记事本加plus,如上所述。 不过,我使用这里的工具 – http://www.planetb.ca/syntax-highlight-word 。 这使我可以select使用行号,以及非常好的语法高亮显示。 下面列出了实现语法高亮显示的步骤:
  2. 要达到上述要求2,3和4,请使用Microsoft word中的表格来插入代码片段。 步骤如下:

    • 插入单列的表格。
    • 将步骤1中复制的文本粘贴到表格列中。 我已经保留了行号,以显示这与微软的话有多好。
    • 应用边框,只要你喜欢。 我已经使用大小1pt。 如下面的屏幕截图所示,将显示所产生的Microsoft word代码段。 请注意它在页面中打破了多么好 – 不需要额外的努力来pipe理这个,如果插入“OpenDocument Text”对象或者使用“Simple TextBox”,你将会面对这个问题。 在Microsoft Word表格中粘贴语法突出显示的代码片段
  3. 要达到要求5,请按照以下步骤操作:

    • select整个表格或文字。
    • 转到审阅选项卡。 在语言下,select“校对语言”。 将出现一个新的popup窗口。
    • select“不检查拼写或语法”。 然后,单击确定。 禁用拼写检查
    • 生成的文本已禁用拼写检查。 最终结果如下图所示,并符合所有要求。 最终结果 - 满足所有5个要求。

请提供您是否有任何反馈或改进或遇到任何问题的方法。

这与这个答案有关: https : //stackoverflow.com/a/2653406/931265创build一个对象解决了我所有的问题。

插入>对象> Opendocument文本

这将打开一个文档窗口,粘贴您的文本,格式化你想要的,并closures它。

结果是一个数字。 右键单击对象,然后select“添加标题”。

您现在可以进行交叉引用,创build一个数字表格。

您可以使用Open Xml Sdk。 如果你的HTML代码的颜色和格式。 您可以使用altchunks将其添加到word文档。 请参阅这篇文章添加HTMLstring到OpenXML(* .docx)文档希望这会有所帮助!

这就是我所做的。

最终结果: 在这里输入图像说明

https://stackoverflow.com/a/25092977/1161594

您可以在Ms.Word https://store.office.com/syntax-highlighter-WA104315019.aspx?assetid=WA104315019中使用插件;语法高亮 。 我遵循这一步,工作

在Mac上,我发现这个解决scheme与VIM是美好的:

https://github.com/zerowidth/vim-copy-as-rtf