我需要在编程课上写很多课程演示文稿,我经常需要显示源代码(主要是 C 码)。
我找不到一个简单的方法:
如果代码很小,我用来做快照,或者如果数据库太大则停止演示并打开Kate。
在此other question中,有人建议嵌入 HTML 代码。所以我安装了 QSource-Highlight ,轻松将C代码转换为HTML (还有gnu source-highlight,code2html等)。他们都不能将源代码转换为突出显示的 RTF (富文本格式)的版本,这将是另一种方式。
使用HTML无济于事,因为我找不到一种简单的方法来将HTML插入演示文稿。这个网站显示了一个非常特殊的窗口solution。它需要使用特定的Windows程序将c代码转换为HTML,该程序可以选择将HTML复制为RTF,之后您需要通过Word或Wordpad中的RTF,之后您将特殊的RTF转换为PowerPoint。一切都很好,但我是 linux 用户,我认为可能有更好的方法。
此外,还有另一种可能的解决方案,即向openoffice安装 coooder 扩展。我不知道为什么,但尝试在我的系统中安装此扩展程序会给我一个错误。 Synaptic告诉我,openoffice.org-core和许多其他应该被标记。我点击下一步,它告诉我它要删除所有的包,并且该coooder需要这个包才能工作,所以它不会被安装。嗯......
我正在使用Linux UBUNTU 10.04和Open Office 3.2
谢谢! BECO。
PS .: meta-so中对此问题进行了辩论,尽可能重复上述问题。但我的理解是,较旧的问题无法解决这个具体的问题。
PPS。:关于coooder bug,我发布了一个错误报告here
编辑(2015-08-19)
要向演示文稿LibreOffice插入RTF文本,您可以使用菜单insert
,file
和rtf
(或HTML
)。
答案 0 :(得分:33)
有人说从Eclipse编辑器复制代码效果很好(更新:证实 FALSE )。另一种方法是从Highlight导出到RTF(也可以导出行号)或剪贴板,然后在OpenOffice.org中打开/粘贴它。 (更新:证明 TRUE )
这是一个精彩的GUI屏幕截图:
您也可以从OpenOffice.org切换到LibreOffice,并从here获取COOoder。
答案 1 :(得分:29)
这answer非常适合这项工作:
答案 2 :(得分:4)
我有完全相同的问题,但使用PHP代码而不是C.我几乎解决方案是将代码复制为Kate中的HTML并将其粘贴到临时的Open Office Writer文档中。这会将其转换为Open Office自己的样式文本格式,然后您可以将其复制并粘贴到Impress中。除了稍微讨厌的双步复制和粘贴之外,这大多数工作正常除了以外,完全以粗体显示的线条会失去它们的支持,我必须手动修复它们。还可能出现一些其他奇怪的错误 - Impress从OOWriter导入样式文本似乎有点儿错误。
答案 3 :(得分:4)
更新:我已将此宏发布为LibreOffice扩展程序。您可以从官方网站安装它:Code Highlighter
我遇到了同样的问题但是对于Java而言我终于找到了一个使用Python宏的原生解决方案,该解决方案在LibreOffice 5中进行了测试。
第1步:安装libreoffice-script-provider-python:
sudo apt-get install libreoffice-script-provider-python
第2步:为Python 3安装pygments:
sudo pip3 install python3-pygments
第3步:下载Highlight.py
第4步:将Highlight.py复制到 / usr / lib / libreoffice / share / Scripts / python /
sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/
步骤5:设置脚本的只读权限。
sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py
第6步:打开LibreOffice Writer并转到工具 - >自定义 - >键盘
code-<language>
code-<language>
<强>更新强>
我已为此扩展程序添加了自定义样式支持。使用code-<language>
作为默认样式,使用code-<language>-<style>
作为自定义样式。可用的样式列在我的Git Hub页面中。
例如Code-Java-Emacs
将使用Emacs样式着色Java代码。
有关详细信息,请访问Git Hub链接:libreoffice-code-highlighter
答案 4 :(得分:4)
您可以轻松完成此操作
我已经使用Ubuntu下的LibreOffice 4.2.8进行了测试。
答案 5 :(得分:2)
如果您 熟悉LaTeX,则应考虑使用beamer来创建演示文稿。 wikipedia page指向许多教程和文档。 user guide可能是我发现的最好的一个。
这可以为您提供LaTeX的所有功能,包括源代码片段(列表包或您喜欢的任何其他内容)以及您习惯使用的LaTeX的其他常用功能。它捆绑了一些非常好的主题。
答案 6 :(得分:1)
您可以轻松地使用包含1行和1列的表格,复制并通过您喜欢的IDE中的代码,开放式办公室将保留您的代码风格。
答案 7 :(得分:1)
直接从Eclipse粘贴到OpenOffice Impress似乎失去了色彩。 然而,首先粘贴到OO Writer并从那里进入OO Impress确实有效。
答案 8 :(得分:0)
我一直在Windows下使用源代码的开放式办公室这样做。在您喜欢的编辑器中查看代码(emacs,记事本,...),然后选择/复制感兴趣的文本。在开放式办公室中制作一个文本框,然后粘贴。这是有效的,因为所有Windows工具都共享一个全局剪切缓冲区。我没有足够使用Linux来知道它是否有这样的共享切割缓冲区,如果没有,我会理解你的问题。(如果确实如此,我真的不明白你的问题)。我的解决方案当然没有得到格式良好/突出显示的代码。
具体步骤: 在打开幻灯片的Open Office Impress(“演示文稿”)中,单击下方工具栏上标有“T”的框(或按F2)。然后在幻灯片上大致单击要放置文本的位置,然后拖动以使框大小合适。单击框,您可以输入文本。对于代码,我从一些编辑器窗口剪切,并在选择文本框后粘贴。如果单击文本框的轮廓,则可以更改字体(courier new适用于代码)和打印尺寸。
在右对齐文本后,您可以重新访问特定的子字符串,如果需要精美的文本,请选择/粗体或选择/颜色。
您可以考虑从JavaDoc或Doxygen输出中剪切和粘贴;您可能会获得格式化数据以及文本。