如何在不使用屏幕截图的情况下在Open Office组织演示文稿中嵌入源代码或HTML?

Dr *_*eco 51 openoffice.org syntax-highlighting presentation libreoffice

我需要在我的编程课写很多课程演示文稿,而且我经常需要显示源代码(主要是C代码).

在此输入图像描述

我找不到一个简单的方法:

  1. 从我的编辑器(kate)复制我的源代码
  2. 将其格式化并将源突出显示Open Office Presentation(OOP).

我用来做的是如果代码很小的快照,或者如果它太大则停止演示并在数据池中打开Kate.

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

拥有HTML没有帮助,因为我找不到一种简单的方法将HTML插入到演示文稿中.这个网站表现出非常招窗口的解决方案.它需要使用特定的Windows程序将c代码转换为HTML,该程序可以选择将HTML复制为RTF,之后您需要通过Word或Wordpad中的RTF,之后您将特殊的RTF转换为PowerPoint.一切都很好,但我是一个Linux用户,我认为可能有更好的方法.

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

我使用的是Linux UBUNTU 10.04和Open Office 3.2

谢谢!贝乔.

PS.:这个问题在meta中进行了辩论,因此可能重复上述问题.但我的理解是,旧问题并没有解决这个具体问题.

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


编辑(2015-08-19)

要插入RTF文本呈现的LibreOffice,您可以使用菜单insert,filertf(或HTML).

Fra*_*ado 33

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

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

您也可以从OpenOffice.org切换到LibreOffice,并从此处获取COOoder .


Dan*_*eis 29

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

  • 它粘贴到Wtiter并从那里复制到Impress,仍然不舒服. (5认同)

Gob*_*ath 5

更新:我已将此宏作为 LibreOffice 扩展发布。您可以从官方网站安装它:代码荧光笔


我遇到了同样的问题,但对于 Java,最后我找到了一个使用 Python 宏的本机解决方案,该解决方案在 LibreOffice 5 中进行了测试。

安装

步骤1:安装libreoffice-script-provider-python:

sudo apt-get install libreoffice-script-provider-python
Run Code Online (Sandbox Code Playgroud)

步骤 2:安装 Python 3 的 pygments:

sudo pip3 install python3-pygments
Run Code Online (Sandbox Code Playgroud)

第三步:下载Highlight.py

步骤4:将Highlight.py复制到/usr/lib/libreoffice/share/Scripts/python/

sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/
Run Code Online (Sandbox Code Playgroud)

步骤5:设置脚本的只读权限。

sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py
Run Code Online (Sandbox Code Playgroud)

第 6 步:打开 LibreOffice Writer 并转到“工具”->“自定义”->“键盘”

  • 选择 LibreOffice 选项按钮(位于左上角)
  • 选择任何所需的快捷方式
  • 在“函数”类别下选择“share/Highlight/Highlight_source_code”
  • 单击“修改”按钮设置快捷方式

用法

LibreOffice Impress

  • 打开 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


San*_*o L 5

你可以很容易地做到这一点

  • 从您最喜欢的编辑器中复制文本
  • 去留下深刻印象,制作一个新的文本字段
  • CTRL + SHIFT + V(或编辑?粘贴内容
  • 然后选择富文本格式 (RTF)

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