Как вставить исходный код или HTML в Open Office Org Presentations без использования скриншотов?

Мне нужно писать много курсовых презентаций для своего класса по программированию, и постоянно приходится показывать исходный код (в основном C код).

Я не могу найти простой способ:

  1. Скопировать мой исходный код из моего редактора (kate) и
  2. Вставить его в форматированном виде и с выделенным исходным текстом в Open Office Presentation (OOP).

Если код маленький, то я делаю снапшот, а если большой, то останавливаю презентацию и открываю Kate в datashow.

В этом другом вопросе некоторые предлагают встраивать HTML код. Поэтому я установил QSource-Highlight, который легко преобразует код на Си в HTML (также gnu source-highlight, code2html и т.д.). Ни одна из них не может преобразовать исходный код в версию выделенного RTF (rich text format), это был бы еще один способ.

Наличие HTML не помогает, потому что я также не могу найти простой способ вставить HTML в презентацию. На этом сайте показано очень хитрое windows решение. Нужно преобразовать c-код в HTML с помощью специальной windows-программы, в которой есть возможность скопировать HTML в RTF, затем вставить RTF в Word или Wordpad, а после этого вставить RTF в PowerPoint. Все это хорошо, но я - пользователь linux, и мне кажется, что есть лучший способ.

Кроме того, есть еще одно возможное решение - установить расширение coooder для openoffice. Я не знаю почему, но при попытке установить это расширение в моей системе возникает ошибка. Synaptic сообщает мне, что openoffice.org-core и многие другие должны быть отмечены. Я нажимаю кнопку next, и он сообщает мне, что хочет удалить все пакеты, и что coooder нуждается в этих пакетах для работы, и поэтому он не будет установлен. Что ж...

Я использую linux UBUNTU 10.04, и Open Office 3.2.

Спасибо! Беко.

PS..: Этот вопрос обсуждается в meta-so как возможное дублирование вопроса, процитированного выше. Но, насколько я понимаю, более старый вопрос не решает эту специфическую проблему.

PPS.: По поводу ошибки с кудером я запустил сообщение об ошибке здесь


Редактировать (2015-08-19)

Для вставки RTF-текста в презентацию LibreOffice можно использовать меню вставка, файл и rtf (или HTML).

Комментарии к вопросу (6)
Решение

Некоторые утверждают, что копирование кода из редактора Eclipse работает хорошо (UPDATE: доказано FALSE). Другая альтернатива - экспорт в RTF (можно также экспортировать номера строк) или в буфер обмена из Highlight и последующее открытие/вставка в OpenOffice.org. (UPDATE: подтверждено TRUE)

Вот снимок экрана с графическим интерфейсом Highlight:

Вы также можете перейти с OpenOffice.org на LibreOffice и получить COOoder отсюда здесь.

Комментарии (13)

Этот ответ идеально подходит для работы:

  • скопируйте текст кода на http://markup.su/highlighter/, а затем
  • скопируйте отформатированный код обратно в Open Office.
Комментарии (8)

Вы можете сделать это легко

  • скопируйте текст из вашего любимого редактора
  • иди, чтобы произвести впечатление, сделать новое текстовое поле
  • нажмите CTRL + SHIFT + V (или Редактировать → Вставить содержимое )
  • и затем выберите Rich Text Format (RTF) .

Я протестировал это с LibreOffice 4.2.8 под Ubuntu.

Комментарии (1)

У меня точно такая же проблема, но с кодом PHP, а не с C. Мое почти решение - скопировать код в формате HTML в Kate и вставить его во временный документ Open Office Writer. Это преобразует его в собственный формат текста Open Office, и оттуда вы можете скопировать и вставить его в Impress. Помимо слегка раздражающей двухступенчатой копирования и вставки, это в основном работает нормально за исключением того, что линии, которые были полностью выделены жирным шрифтом, теряют свое ободрение, и мне приходится их вручную исправлять. Также может произойти несколько других странных ошибок - импорт стилизованного текста от OOWriter Impress выглядит немного глючным.

Комментарии (0)

Обновление: Я выпустил этот макрос как расширение LibreOffice. Вы можете установить его с официального сайта: Code Highlighter


У меня была та же проблема, но для Java, и, наконец, я нашел собственное решение с использованием макроса Python, который протестирован в LibreOffice 5.

Установка

Шаг 1: Установите libreoffice-script-provider-python:

sudo apt-get install libreoffice-script-provider-python

Шаг 2: Установите пигменты для Python 3:

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 и goto Tools - > Настроить - > Клавиатура

  • Выберите кнопку опции 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 раскрасит код Java, используя стиль Emacs.

Для получения более подробной информации посетите ссылку Git Hub: libreoffice-code-highlighter

Комментарии (0)

Если вы знакомы с LaTeX, то для создания презентации вам следует использовать beamer. На странице wikipedia есть ссылки на многие учебники и документы. Руководство пользователя user guide является, пожалуй, лучшим из тех, что я нашел.

Он может предоставить вам все возможности LaTeX для работы с фрагментами исходного кода (пакет listings или любой другой, который вы предпочитаете) наряду с остальными обычными возможностями LaTeX, к которым вы привыкли. В комплекте с ним поставляются несколько очень красивых тем.

Комментарии (1)

Вы можете легко использовать таблицу с 1 строкой и 1 столбцом, копировать и переходить свой код из своей любимой IDE, открытый офис сохранит ваш стиль кода.

Комментарии (0)

Извлечение из Eclipse в OpenOffice Impress напрямую, кажется, теряет окраску. Тем не менее, первое вхождение в OO Writer и оттуда в OO Impress работает.

Комментарии (0)

Я постоянно делаю это в open office с исходным кодом под Windows. Просмотрите код в своем любимом редакторе (emacs, notepad, ...), выделите/скопируйте интересующий вас текст. Создайте текстовое поле в open office и вставьте. Это работает потому, что все инструменты Windows имеют общий глобальный буфер вырезания. Я недостаточно использую Linux, чтобы знать, есть ли у него такой общий буфер вырезания, если нет, то я понимаю вашу проблему. (Если есть, то я действительно не понимаю вашу проблему). Мое решение, конечно, само по себе не позволяет получить красиво отформатированный/выделенный код.

Конкретные шаги: В Open Office Impress ("Презентация") с открытым слайдом щелкните на поле с надписью "T" на нижней панели инструментов (или нажмите F2). Затем щелкните на слайде примерно в том месте, где вы хотите разместить текст, и перетащите рамку до нужного размера. Щелкните в поле и введите текст. Для кода я вырезаю его из окна какого-либо редактора и вставляю после выделения текстового поля. Если щелкнуть по контуру текстового поля, можно изменить шрифт (для кода хорошо подходит courier new) и размер шрифта.

После того как размер текста будет определен, можно вернуться к определенным подстрокам и выбрать/полужирный или выбрать/цвет, если требуется причудливый текст.

Можно рассмотреть возможность вырезания и вставки из JavaDoc или Doxygen; скорее всего, вместе с текстом вы получите данные форматирования.

Комментарии (1)