前言

在写毕业论文的时候不可避免需要插入代码片段(凑字数啊 ),以往使用的word插入方式感觉不太适合正规严肃的场合,遂再研究了一遍word插入代码方式,最终结果差强人意吧。下面列出几种方式待查阅。

同时先放出最心仪的效果(在该场景中):

word 插入JAVA代码块的方法 word中添加代码块_microsoft

方案

VSCode直接复制粘贴

效果如图所示:

word 插入JAVA代码块的方法 word中添加代码块_CSS_02


优点:保留原IDE中的主题、代码着色等效果。

缺点:代码块在word文档中没有分隔与突出的效果。

适用场景:作为技术文档非常实用,方便技术人员查看。

借助网页的渲染格式

方式最简单,借助某些帮助网址即可。

原本流传较广的是,http://www.planetb.ca/projects/syntaxHighlighter/

不过现在似乎停止维护了,但其他地方也能达到同样的效果,可以参考使用:http://www.codeinword.com/

达到的效果参考如下:

word 插入JAVA代码块的方法 word中添加代码块_microsoft_03


优点:显示效果较好,同时满足了代码块的突出强调。(也是我之前一直使用的方式)

缺点:这个CSS渲染的效果不太适用于正式的场合,如前面提到的论文中,代码显示效果也不是十分出色(相比于在IDE中的显示效果)。

适用场景:较为通用。

使用Notepad++等格式转换插件

比如使用Notepad++,可以安装NppExport插件,导出代码格式。

详细可参考:。

参考效果:

word 插入JAVA代码块的方法 word中添加代码块_microsoft_04


优点:作为文档中的一部分文本时,显示效果出色。

缺点:同样缺少作为代码块的突出效果。

应用场景:将代码作为文档的一部分文本使用。

Office中OpenDocument功能或其他插件

直接复制的代码文本可能在office中会存在拼写提示的红色波浪线等,导致显示效果很差,这个问题可以通过office的OpenDocument功能解决。

该方法可以结合上述任意一种插入方式,具体使用如下:

Office中,插入>对象> Opendocument Text

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

参考效果:

word 插入JAVA代码块的方法 word中添加代码块_代码块_05


可以看到显示效果基本一样。

同样的

在背景表格上添加代码

为达到最开头实现的那种正式的效果,手动实现途径如下:

在Office中添加1*1的表格,双击表格左上角全选按钮进入表格设置,选择底纹设置背景颜色,得到一个背景框,再填入普通代码即可(不需要其着色渲染效果)。

如图所示:

word 插入JAVA代码块的方法 word中添加代码块_openoffice_06


效果参考:

word 插入JAVA代码块的方法 word中添加代码块_openoffice_07


基本实现了要求。

优点:显示效果最佳,适用于正式的书面表述中。

缺点:代码本身的阅读效果较差,没有着色、高亮的效果。但该做法同样可以跟上面的做法结合,通过改变背景颜色和代码渲染的匹配程度达到更好的显示效果。

适用场景:正式场合。

奇技淫巧

按道理到上面这步已经完成了本人的所有要求,但是,本人最开始看到的效果(即最开头那个),它本身不是office中的表格,它不能被拉伸、选中等,这个特性也非常有趣,可以保证所有地方的一致性以及不可修改性。但这个设置是在其他人的文档中看见的,无法得知其实现原理。(预计也是某个格式转换工具自动完成的)

于是,本人的做法是,选中看到的那段代码块,删除所有代码只留下一个空格,选中空格,创建样式。直接就能套用了。

至于复用性…单击样式右下角,点击管理样式,导入/导出,将新建的样式复制到右侧Normal.dotm,则以后新建的docx都能使用到该样式。

word 插入JAVA代码块的方法 word中添加代码块_openoffice_08


word 插入JAVA代码块的方法 word中添加代码块_microsoft_09

word 插入JAVA代码块的方法 word中添加代码块_代码块_10

word 插入JAVA代码块的方法 word中添加代码块_CSS_11

word 插入JAVA代码块的方法 word中添加代码块_openoffice_12