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


131

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

作为习惯使用LaTeX的人,在Word中执行此操作非常痛苦。但是,我为此必须遵守Word。我看到的唯一选择是:

  1. 写入或复制到文档中,然后使用固定类型的字体,安排格式,并希望Word不会为您带来大写的麻烦。不用说,这看起来像胡扯。
  2. 从IDE复制并粘贴源代码的屏幕快照。至少我保持色彩。但是,如果我更改字体大小,那会很麻烦。我也跨页面边界。让我们承认,Word在管理文档中的多个图像方面并不出色。
  3. 编写HTML(此处实际上不是一个选项)

有没有更好的方法(最好是便携式方法)来做到这一点?是否至少有某种类似于LaTeX环境的逐字记录样式?至少有一些漂亮的打印机可以复制并粘贴为RTF吗?


罗素:不确定我能理解。
乌里(Uri)2010年

2
我认为这可能更适合于超级用户。仅仅因为您要插入文档中的东西恰好是代码,所以这并不是编程问题。
danben

2
@danben:我想。我刚刚发现,Word文档中的代码示例是大多数程序员最终在日常工作中所要做的事情。
乌里(Uri)2010年

1
您是否绑定到程序字或文件格式?

Answers:


186

我绝对讨厌并鄙视为微软免费工作,因为毕竟他们仍然数十亿美元仍然没有在该死的网站上提供带有此类屏幕快照的适当指南。

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

  1. 选择插入/文本框/简单文本框
    01字
  2. 插入默认文本框
    02字
  3. 切换到NPP,选择用于代码语法着色的语言,转到“插件” /“ NPP导出” /“将RTF复制到剪贴板”
    03npp
  4. 切换回单词,然后粘贴到文本框中-可能太小...
    04字
  5. ...因此您可能必须更改其大小
    05字
  6. 选择文本框后,右键单击它,然后选择“插入标题...”。
    06字
  7. 在“标题”菜单中,如果还没有,请单击“新建标签”,然后将新标签设置为“代码”,然后单击“确定”。
    07字
  8. ...然后在“标题”对话框中,将标签切换为“代码”,然后单击“确定”
    08字
  9. 最后,在新创建的标题框中输入标题
    09字

当您交叉引用标题时,它将自己插入整个代码以解决此问题?
MonsterMMORPG 2015年

1
在Word 2013中,文本是将代码粘贴为纯文本,无法保持记事本++的格式
Jose Nobile

2
@JoseNobile您需要在Notepad ++中使用NppExport插件
NeilenMarais

1
它还可以与Android Studio,Visual Studio和Eclipse一起使用。
Teocci

最初,我使用了相同的技术,但后来更改为使用1x1的表,因为我发现放置文本框非常麻烦。我尝试使用“顶部和底部”,因此文本只会在文本的前后,而Word会神奇地上下移动该框,有时标题将不可见,这是多么痛苦。今天开始使用基于另一个SO QA的表,到目前为止效果很好。我创建一个新的标题标签类型“列表”。
奥利弗(Oliver)

26

我最近遇到了这篇文章,发现了一些有用的提示。但是,最终我使用了完全不同的方法来满足我的需求。我将分享这种方法以及我为什么选择这种方法的理由。帖子的长度比我想要的要长,但是我相信屏幕快照总是有帮助的。希望答案对某人有用。

我的要求如下:

  1. 将代码段添加到word文档中,并突出显示语法,以便于查看和区分代码和其他文本。
  2. 代码段应与其他文本内联。
  3. 代码段应平稳地跨页面,而无需任何额外的努力。
  4. 代码段应具有漂亮的边框。
  5. 代码段应禁用拼写检查。

我的方法如下所示:

  1. 使用外部工具可以达到上述语法高亮要求1。如上所述,可以使用记事本plus加号。但是,我使用此处提供的工具-http: //www.planetb.ca/syntax-highlight-word。这使我可以选择使用行号以及非常好的语法高亮显示(此步骤请使用Google Chrome,因为使用Mozilla Firefox时不会复制语法高亮显示,也有一些用户评论指出)。下面列出了实现语法突出显示的步骤:
  2. 要达到上述2、3和4的要求,请使用Microsoft Word中的表格插入代码段。步骤如下:

    • 插入具有单列的表。
    • 将步骤1中复制的文本粘贴到表格列中。我保留了行号以显示它与Microsoft word一起使用的效果。
    • 根据需要应用边框。我使用了1pt的尺寸。最终的Microsoft文字片段将出现,如下面的屏幕截图所示。请注意,它在页面上的显示效果很好-无需额外的精力来管理它,如果插入“ OpenDocument Text”对象或使用“ Simple TextBox”,您将面临此麻烦。 Microsoft Word表中粘贴的语法突出显示的代码段
  3. 要达到要求5,请执行以下步骤:

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

如果您有任何反馈或改进,或者遇到任何问题,请提供。


2
谢谢!看起来很棒...我必须使用Google Chrome,因为Mozilla Firefox没有复制语法突出显示。
loveMeansNothing

我认为这是最好的解决方案。另一个提示:如果您不想进行拼写检查,但又不想用英语书写,则将代码插入为“打开文档文本”对象。转到“插入”-“对象”-,然后选择“ OpenDocument文本”。将代码插入打开的文档中,然后保存并关闭。代码显示如上,但拼写被完全忽略。唯一的缺点是,如果您想将其包括在列表标题中,则该数字将无法正常工作。Havent检查了一下。
user3629892

@ user3629892我认为使用Open Document不能很好地包装不同页面。
maracuja-juice

复制到Word时,行号是否有可能获得漂亮的边框。
Paramesh Korrakuti

1
@ Capt.Krusty-在第1点,第1点和第5点,我已经提到过要使用Chrome。但是,我会继续添加“ Google Chrome浏览器”作为您和loveMeansNothing的建议。
Abhishek

23

您需要在Word文档中定义样式,并将其用作源代码。我通常有一种称为“代码”的样式,该样式在小磅磅大小,固定大小的制表符,单行间距,在段落前后没有空格的情况下具有等宽字体。您只需定义一次此样式,然后再使用它即可。您粘贴源代码并对其应用“代码”样式。

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

Xcode中的源代码:

在此处输入图片说明

复制并粘贴到Word:

在此处输入图片说明

(注意:在Word中以“代码”样式禁用拼写检查是个好主意。)


然而,这并不自动添加风格关键词,数字,字符串等
巴特

@Bart:通常,不,但是对于使用Xcode的用户(适用于Mac OS X,iOS等开发),剪贴板包含带有所有语法颜色等的RTF,而Word接受。可能还有其他编辑器也具有此有用的功能,但我不知道它们。
Paul R

RTF可以工作,是的,我过去也曾在Word中使用Notepad ++来使用它。但是,如果有一种方法可以添加真实的代码样式,即自动突出显示语法的代码,那就太好了。真可惜,似乎不存在这样的东西。当然,您可以安装一些可以按需突出显示的加载项,但是我还没有找到一个可以轻松将所有代码块重新设置为其他样式的样式(如果需要)。
巴特

我不认为这支持字幕吗?
奥利弗(Oliver)

@Schollii:我认为字幕只能应用于Word中的“对象”。我想您可以将代码放在1x1表中,然后将其作为对象?
Paul R

11

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

Notepad ++有一个名为“ NppExport”的插件(已预先安装),可让您复制到RTF,尽管我不太在乎Notepad ++的语法突出显示(不过绝对可以通过)。它所做的是支持数十种语言,而上述IDE仅限于少数几种(没有其他插件)。


1
我在VS和Eclipse方面做的很好,就是使用IDE的编辑器进行语法着色(以及我喜欢的任何格式),然后直接剪切并粘贴到word中。我通常将片段中的字体设置为固定宽度的字体(对于我来说并不总是这样)
heckj 2010年

3

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

插入>对象> Opendocument文本

这将打开一个文档窗口,粘贴您的文本,根据需要设置其格式,然后关闭它。

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

您现在可以进行交叉引用,创建表格。


当您交叉引用标题时,它会插入整个代码以及如何解决此问题?
MonsterMMORPG 2015年





1

如果您仍在寻找添加代码段的简单方法。

您可以轻松地转到[插入]> [对象]> [Opendocument文本]>粘贴代码>保存并关闭。

您也可以将其放入宏并将其添加到您的轻松访问栏中。

笔记:

  • 这将只需要长达一个的代码页。
  • 您的代码将不会自动更正
  • 您只能通过双击与之交互

1

在Word中,可以粘贴使用颜色的代码,以使用“粘贴保留源格式”将注释与代码区分开。但是,如果您使用粘贴的代码来创建新样式,则Word会自动剥离颜色编码的文本,并将其更改为黑色(或自动默认颜色是任何颜色)。由于应用样式是确保符合文档格式要求的最佳方法,因此Word对于记录软件程序不是很有用。不幸的是,我不记得Open Office会更好。最好的解决方法是使用默认的简单文本框。


1

我已经尝试了所有方法,但对我没有用,实际上,我已经使用MS Word Tables创建了一种更简单的方法。

优点:

  1. 更美丽
  2. 易于管理且更加一致
  3. 不太容易出现问题
  4. 无需外部插件或MS Word微编码。
  5. 简单的用户(例如我自己)更容易处理。

缺点: 尽管有人可以改善我的技巧,但它不会保持代码的颜色。

脚步:

  1. 插入一个3x3的表格,在我的情况下,我总是使表格的总宽度等于空闲页面的宽度(测试表格样式至少要3行)。

  2. 使用不可见的边框(“ 无边框 ”选项),然后激活“ 查看网格线 ”选项。它应该有这个方面。 请注意,这些行是供您查看表格的网格的,并且不会打印出来。

在此处输入图片说明

  1. 调整单元格的间距和列的宽度,以获得所需的外观。(您必须进入“ Table Properties ”进行微调)。 在此处输入图片说明

  2. 为您的代码段创建一个名称为“ Code ” 的“ Paragraph Style ” (请查看https://stackoverflow.com/a/25092977/8533804以获得想法,您不必全都遵循)

  3. 创建另一个“ 段落样式 ”,其名称为“ Code_numberline ”,该样式将基于先前创建的样式。 在此处输入图片说明

  4. 在新创建的“ Code_numberline ”中,添加您喜欢的编号样式(这将自动进行行编号)。 在此处输入图片说明

  5. 将“ Code_numberline ”应用于第一列,将“ Code ”应用于第三列。 在此处输入图片说明

  6. 在中间列中添加一个填充。 在此处输入图片说明

  7. 保存该表样式并享受!


很好,直到您说过保存表格样式
Hessle的马丁,

@MartinofHessle,很适合扩展文档,在许多地方都可以用代码片段填充它,选择保存此表格样式可以节省时间,此外它还可以让您轻松地在整个文档中修改表格样式,就像我这样另一方面,如果我只使用一张桌子,那我就有IDE和IDLE的样式了,那么您可以省略最后一步
Nader Belal 18/12/19

我同意为什么。这是对normal.dot讲它的方法,使它持久存在,这将是一个有用的补充。我想通了,但并不明显。
Hessle的马丁,

@MartinofHessle对不起,但我不理解您的最后声明。您能否以更简单的方式重复一遍?
Nader Belal

1
抱歉,错字,应该是如何将其保存到normal.dot的
Hessle的马丁,

1

使用这个-http://hilite.me/

hilite.me将您的代码片段转换为漂亮的HTML格式,可以轻松地嵌入博客文章,电子邮件和网站中。

作法: 只需将源代码复制到左窗格,选择语言和配色方案,然后单击“突出显示!”。现在可以将右窗格中的HTML粘贴到您的博客或电子邮件中,不需要外部CSS或Javascript文件。

对于Microsoft Word文档:复制“ 预览”部分中的内容,然后粘贴到您的Microsoft Word文档中。

3个部分:源代码,HTML和预览


0

如果您想要简单的代码格式,则有一种简单的方法。

  1. 打开单词>插入选项卡>单击“获取加载项”
  2. 搜索“内容混合器” 3.单击“添加”

然后内容混合器添加将自动打开,您可以将代码复制粘贴到其中,然后单击“插入”以将其插入Word文档中。


0

与Web加载项解决方案相比,这些答案显得过时且乏味。自Office 2013起可用于产品。

我正在使用Easy Code Formatter,它使您可以就地编码文本。它还为您提供行编号选项,突出显示,不同的样式,并且样式是从此处开源的:https : //github.com/armhil/easy-code-formatter-styles,以便您可以自己扩展样式。要安装-打开Microsoft Word,请转到“插入”选项卡/单击“获取加载项”,然后搜索“简易代码格式化程序”

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.