Jak osadzić kod źródłowy lub HTML w prezentacjach Open Office Org bez użycia zrzutów ekranu?

Muszę napisać wiele kursów klasowych prezentacje do mojej klasy programowania, i ciągle muszę pokazywać kod źródłowy (głównie C kod).

Tutaj wpisz opis obrazka

Nie znajduję łatwego sposobu na:

  1. skopiuj mój kod źródłowy z mojego edytora (kate) i
  2. wklej go sformatowany i ze źródłem podświetlony do Prezentacji Open Office (OOP).

To, czego używam, to snapshot Jeśli kod jest mały, lub aby zatrzymać prezentację i otworzyć Kate w datashow, jeśli jest zbyt duży.

W tym inne pytanie niektórzy sugerują umieszczenie kodu HTML . Zainstalowałem więc QSource-Highlight, który z łatwością konwertuje kod C na HTML (także GNU source-highlight, code2html i tak dalej). Żaden z nich nie potrafi przekonwertować kodu źródłowego na wersję podświetlonego RTF (rich text format), to byłby inny sposób.

Mając HTML nie pomaga, ponieważ nie mogę znaleźć łatwego sposobu, aby wstawić HTML do prezentacji . Ta strona pokazuje bardzo trick windows rozwiązanie. Musi przekonwertować kod c na HTML za pomocą określonego programu windows, który ma opcję kopiowania HTML jako RTF, po tym musisz przejść przez RTF w Word lub Wordpad, a następnie specjalny Past RTF do PowerPoint. Wszystko dobrze, ale jestem użytkownikiem Linuksa i myślę, że może być lepszy sposób.

Jest też innym możliwym rozwiązaniem jest zainstalowanie rozszerzenia coooder w OpenOffice. Nie wiem dlaczego, ale próba zainstalowania tego rozszerzenia w moim systemie daje mi błąd. Synaptic powiedz mi, że OpenOffice. org-core i wiele innych powinno być oznaczone. Klikam dalej i mówi mi, że chce usunąć wszystkie pakiety, i że coooder potrzebuje tych pakietów do działania, więc nie będzie zainstalowany. Cóż...

używam Linuksa UBUNTU 10.04 i Open Office 3.2

Dzięki! Beco.

PS.: To pytanie jest dyskutowane w meta-so jako możliwe powtórzenie pytania cytowanego powyżej. Ale rozumiem, że starsze pytanie nie rozwiązuje tego konkretnego problemu.

PPS.: O Bugu coooder, uruchomiłem raport o błędzie tutaj


Edycja (2015-08-19)

Aby wstawić tekst RTF do prezentacji LibreOffice można użyć menu insert, file, i rtf (lub HTML).

Author: Community, 2011-03-31

9 answers

Niektórzy mówią, że kopiowanie kodu z edytora Eclipse działa dobrze (UPDATE: Proven FALSE). Inną alternatywą jest eksport do RTF (może również eksportować numery linii), lub do schowka, z Podświetl , a następnie otwarcie / wklejenie go w OpenOffice.org. (UPDATE: Proven TRUE )

Oto zrzut ekranu Highlight GUI: Highlight GUI (KDE)

Możesz także przełączyć się z OpenOffice.org do LibreOffice , i pobierz Cooder z tutaj .

 33
Author: Francisco Alvarado,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-13 07:04:35

Ta ODPOWIEDŹ jest idealna do pracy:

 29
Author: Daniel Reis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:09:58

Mam dokładnie ten sam problem, ale z kodem PHP zamiast C. moim prawie-rozwiązaniem jest skopiowanie kodu jako HTML w Kate i wklejenie go do tymczasowego dokumentu Open Office Writer. To konwertuje go do własnego stylu Open Office format tekstowy, a stamtąd można skopiować i wkleić go do Impress. Pomijając nieco irytujące dwuetapowe kopiowanie i wklejanie, działa to głównie dobrze z wyjątkiem, że linie, które były całkowicie pogrubione, tracą swoje emboldening i muszę ręcznie je naprawić. A może też wystąpić kilka innych dziwnych błędów - Impress import tekstu stylizowanego z OOWriter wydaje się być nieco błędny.

 4
Author: trampgeek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-09 23:52:22

Możesz to zrobić łatwo

  • skopiuj tekst z ulubionego edytora
  • Przejdź do impress, utwórz nowe pole tekstowe
  • Naciśnij CTRL + SHIFT + V (lub Edytuj → Wklej zawartość)
  • a następnie wybierz Rich Text Format (RTF) .

Testowałem to z LibreOffice 4.2.8 pod Ubuntu.

 4
Author: Sandro L,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-23 16:00:48

Update: wydałem to makro jako rozszerzenie LibreOffice. Możesz go zainstalować z oficjalnej strony: Code Highlighter


Miałem ten sam problem, ale dla Javy i w końcu znalazłem natywne rozwiązanie przy użyciu makra Pythona, które jest testowane w LibreOffice 5.

Instalacja

Krok 1: zainstaluj libreoffice-script-provider-python:

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

Krok 2: zainstaluj pygments dla Pythona 3:

sudo pip3 install python3-pygments

Krok 3: Pobierz Highlight.py

Krok 4: skopiuj Highlight.py do / usr / lib / libreoffice/share/Scripts/python /

sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/

Krok 5: Ustaw skryptowi uprawnienia tylko do odczytu.

sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py

Krok 6: Otwórz LibreOffice Writer i goto Tools -> Customize - > Keyboard

  • wybierz przycisk opcji LibreOffice (dostępny w lewym górnym rogu)
  • Wybierz dowolny Skrót
  • Wybierz share/Highlight / Highlight_source_code w kategorii Funkcje
  • Kliknij przycisk Modyfikuj, aby ustawić skrót

Użycie

LibreOffice Impress

  • Open LibreOffice Impress.
  • Wstaw pole tekstowe (Wstaw -> pole tekstowe).
  • skopiuj i wklej dowolny fragment kodu do tego pola tekstowego.
  • Utwórz nowy styl (kliknij prawym przyciskiem myszy istniejący styl - > Nowy...)
  • Nazwij styl jako code-<language>
  • Zastosuj styl do pola tekstowego fragmentu kodu.
  • zaznacz pole tekstowe.
  • Użyj klawiszy skrótu, aby uruchomić makro.

LibreOffice Writer / Calc

  • Open LibreOffice Writer / Calc.
  • Wstaw pole tekstowe (Wstaw -> pole tekstowe).
  • skopiuj i wklej dowolny fragment kodu do tego pola tekstowego.
  • Kliknij prawym przyciskiem myszy na polu tekstowym i wybierz "Opis".
  • Dodaj opis w następującym formacie: code-<language>
  • Wybierz pole tekstowe
  • Użyj klawiszy skrótu, aby uruchomić makro.

UPDATE:

Dodałem obsługę niestandardowego stylu do tego rozszerzenia. Użyj code-<language> dla stylu domyślnego i code-<language>-<style> dla stylu niestandardowego. Dostępne style są wymienione na mojej stronie Git Hub.

Na przykład Code-Java-Emacs pokoloruje Kod Javy używając stylu Emacs.

Aby uzyskać więcej szczegółów, Odwiedź Git Hub link: libreoffice-code-highlighter

 4
Author: Gobinath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-07 01:26:27

Jeśli Jesteś zaznajomiony z latexem, powinieneś rozważyć użycie beamer do stworzenia swojej prezentacji. Strona Wikipedii zawiera wskazówki do wielu samouczków i dokumentów. Przewodnik użytkownika jest chyba najlepszym, jaki znalazłem.

To może dać ci całą moc LaTeX dla urywków kodu źródłowego (listings package lub inne preferowane) wraz z resztą zwykłych funkcji LaTeX, do których jesteś przyzwyczajony. Jest w zestawie z naprawdę ładnym tematy.

 2
Author: Noufal Ibrahim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-08 17:38:04

Możesz łatwo użyć tabeli z 1 linią i 1 kolumną, skopiować i przekazać kod z ulubionego IDE, open office zachowa twój styl kodu.

 1
Author: Ôûssàmâ Höûd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-17 19:09:38

Wklejanie z Eclipse do OpenOffice Impress bezpośrednio wydaje się tracić kolorystykę. Jednak pierwsze wklejenie do OO Writer i stamtąd do OO Impress działa.

 1
Author: Andreas Abel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-19 16:20:46

Robię to cały czas z open office z kodem źródłowym pod Windows. Wyświetl kod w ulubionym edytorze (emacs, notatnik,...) i wybrać / skopiować interesujący tekst. Utwórz pole tekstowe w open office i wklej. Działa to, ponieważ wszystkie narzędzia systemu Windows mają wspólny globalny bufor cięcia. Nie używam Linuksa na tyle, żeby wiedzieć, czy ma taki współdzielony bufor odcinający, jeśli nie, to rozumiem twój problem.(Jeśli tak, to naprawdę nie rozumiem twojego problemu). Moje rozwiązanie oczywiście nie dostaje ładnie sformatowany / podświetlony kod sam w sobie.

Konkretne kroki: W Open Office Impress ("prezentacja") z otwartym slajdem kliknij pole oznaczone " T " na dolnym pasku narzędzi (lub wciśnij F2). Następnie kliknij slajd mniej więcej w miejscu, w którym chcesz tekst, i przeciągnij, aby pole o odpowiednim rozmiarze. Kliknij w pole i możesz wprowadzić tekst. Dla kodu wyciąłem z jakiegoś okna edytora i wklejam po wybraniu pola tekstowego. Jeśli klikniesz na obrys pola tekstowego, możesz zmienić czcionkę (kurier nowy jest dobry dla kodu) i rozmiaru wydruku.

Po poprawnym rozmiarze tekstu, możesz ponownie przejść do określonych podłańcuchów i wybrać / pogrubienie lub wybrać / kolor, jeśli chcesz fantazyjny tekst.

Możesz rozważyć wycinanie i wklejanie z wyjścia JavaDoc lub Doxygen; prawdopodobnie otrzymasz dane formatowania wraz z tekstem.

 0
Author: Ira Baxter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-11 00:30:56