51

我需要为我的编程课写很多课堂课程演示文稿,而且我经常需要展示源代码(主要是C代码)。

在此处输入图像描述

我找不到简单的方法:

  1. 从我的编辑器 (kate)复制我的源代码,然后
  2. 将其粘贴格式并突出显示源到开放式办公室演示文稿(OOP)。

如果代码很小,我会做一个快照,或者如果代码太大,则停止演示并在数据显示中打开 Kate。

在这个其他问题中,一些人建议嵌入HTML代码。所以我安装了QSource-Highlight,它可以轻松地将 C 代码转换为 HTML(还有 gnu source-highlight、code2html 等)。他们都不能将源代码转换为突出显示的RTF(富文本格式)的版本,这将是另一种方式。

拥有 HTML 并没有帮助,因为我也找不到将 HTML 插入演示文稿的简单方法。这个站点展示了一个非常巧妙的 windows解决方案。它需要使用特定的 Windows 程序将 c 代码转换为 HTML,该程序具有将 HTML 复制为 RTF 的选项,之后您需要在 Word 或写字板中粘贴 RTF,然后将 RTF 特殊粘贴到 PowerPoint。一切都很好,但我是一个linux用户,我认为可能有更好的方法。

此外,还有另一种可能的解决方案,将coooder扩展安装到 openoffice。我不知道为什么,但是尝试在我的系统中安装此扩展程序会给我一个错误。Synaptic 告诉我 openoffice.org-core 和许多其他的应该被标记。我点击下一步,它告诉我它想要删除所有的包,并且这个库需要这些包才能工作,所以它不会被安装。出色地...

我正在使用 linux UBUNTU 10.04 和 Open Office 3.2

谢谢!贝科。

PS.:这个问题在元中进行了辩论,因此可能与上述问题重复。但据我了解,较旧的问题并不能解决这个特定问题。

PPS.:关于 coooder 错误,我在这里发布了错误报告


编辑 (2015-08-19)

要将 RTF 文本插入演示文稿 LibreOffice,您可以使用菜单insert、、filertf(或HTML)。

4

9 回答 9

33

有人说从Eclipse编辑器复制代码效果很好(更新:Proven FALSE)。另一种选择是从Highlight导出到 RTF(也可以导出行号)或剪贴板,然后在 OpenOffice.org 中打开/粘贴它。(更新:证明是真的

这是一个突出显示 GUI 屏幕截图: 突出显示 GUI (KDE)

您还可以从 OpenOffice.org 切换到LibreOffice ,并从这里获取 COOoder 。

于 2011-04-13T06:19:23.790 回答
29

这个答案非常适合这项工作:

于 2012-10-19T23:35:39.113 回答
5

您可以轻松做到这一点

  • 从您喜欢的编辑器中复制文本
  • 去打动,创建一个新的文本字段
  • CTRL + SHIFT + V(或编辑 → 粘贴内容
  • 然后选择富文本格式 (RTF)

我已经在 Ubuntu 下使用 LibreOffice 4.2.8 对此进行了测试。

于 2016-02-23T16:00:48.803 回答
4

我有完全相同的问题,但使用 PHP 代码而不是 C。我几乎解决方案是将代码复制为 Kate 中的 HTML 并将其粘贴到临时 Open Office Writer 文档中。这会将其转换为 Open Office 自己的样式文本格式,然后您可以从那里将其复制并粘贴到 Impress 中。除了稍微烦人的双步复制和粘贴之外,这大部分都可以正常工作,只是完全粗体的线条失去了底气,我必须手动修复它们。其他一些奇怪的错误也可能发生 - Impress 从 OOWriter 导入样式文本似乎有点错误。

于 2011-06-09T23:52:22.537 回答
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 并转到工具 -> 自定义 -> 键盘

  • 选择 LibreOffice 选项按钮(位于左上角)
  • 选择任何所需的快捷方式
  • 选择Functions Category 下的share/Highlight/Highlight_source_code
  • 点击修改按钮设置快捷方式

用法

LibreOffice 印象

  • 打开 LibreOffice Impress。
  • 插入一个文本框(插入 -> 文本框)。
  • 将任何代码片段复制并粘贴到该文本框中。
  • 创建新样式(右键单击现有样式 -> 新建...)
  • 将样式命名为code-<language>
  • 将样式应用于您的代码片段文本框。
  • 选择文本框。
  • 使用快捷键执行宏。

LibreOffice Writer/Calc

  • 打开 LibreOffice Writer/Calc。
  • 插入一个文本框(插入 -> 文本框)。
  • 将任何代码片段复制并粘贴到该文本框中。
  • 右键单击文本框并选择“描述”。
  • 添加以下格式的描述:code-<language>
  • 选择文本框
  • 使用快捷键执行宏。

更新:

我为此扩展添加了自定义样式支持。用于code-<language>默认样式和code-<language>-<style>自定义样式。我的 Git Hub 页面中列出了可用的样式。

例如Code-Java-Emacs,将使用 Emacs 样式为 Java 代码着色。

有关更多详细信息,请访问 Git Hub 链接:libreoffice-code-highlighter

于 2015-11-24T15:13:20.860 回答
2

如果你熟悉LaTeX,你应该考虑使用beamer来创建你的演示文稿。维基百科页面有许多教程和文档的指针。用户指南可能是我找到的最好的。

这可以为您提供 LaTeX 的所有功能,用于源代码片段(列表包或您喜欢的任何其他内容)以及您习惯的 LaTeX 的其他常用功能。它捆绑了许多非常好的主题。

于 2011-04-08T17:38:04.070 回答
1

您可以轻松地使用 1 行 1 列的表格,从您最喜欢的 IDE 中复制并粘贴您的代码,开放式办公室将保留您的代码风格。

于 2013-05-17T19:09:38.590 回答
1

从 Eclipse 直接粘贴到 OpenOffice Impress 似乎失去了颜色。但是,首先粘贴到 OO Writer 并从那里粘贴到 OO Impress 确实有效。

于 2014-01-19T16:20:46.653 回答
0

我一直在使用 Windows 下的源代码开放式办公室来执行此操作。在您喜欢的编辑器(emacs、记事本等)中查看代码,然后选择/复制感兴趣的文本。在开放式办公室中制作一个文本框,然后粘贴。这是因为所有 Windows 工具共享一个全局剪切缓冲区。我对 Linux 的使用不足以知道它是否有这样的共享剪切缓冲区,如果没有,我有点理解你的问题。(如果有,我真的不明白你的问题)。当然,我的解决方案本身并不能很好地格式化/突出显示代码。

具体步骤:在打开幻灯片的Open Office Impress(“演示文稿”)中,单击下方工具栏上标有“T”的框(或按F2)。然后在幻灯片上大致单击您想要文本的位置,然后拖动以使框大小合适。单击框,您可以输入文本。对于代码,我从一些编辑器窗口中剪切,并在选择文本框后粘贴。如果单击文本框的轮廓,则可以更改字体(courier new 适合代码)和打印大小。

获得正确大小的文本后,您可以重新访问特定的子字符串,如果您想要花哨的文本,则可以选择/粗体或选择/颜色。

您可能会考虑从 JavaDoc 或 Doxygen 输出中剪切和粘贴;您很可能会随文本获得格式数据。

于 2011-04-11T00:30:56.973 回答