Jaki jest najlepszy sposób wstawiania przykładów kodu źródłowego do dokumentu Microsoft Word?

134

Muszę napisać kilka dokumentów, które będą zawierać przykłady kodu źródłowego. Niektóre przykłady zostaną napisane w środowisku IDE, a inne na miejscu. Moje przykłady są głównie w Javie.

Dla kogoś, kto jest przyzwyczajony do LaTeX-a, robienie tego w programie Word jest niezwykle bolesne. Jednak jestem zobowiązany do Worda. Jedyne opcje, które widziałem, to:

  1. Napisz lub skopiuj do dokumentu, a następnie użyj czcionki o stałym kroju, zaaranżuj formatowanie i miej nadzieję, że Word nie pisał dla Ciebie wielkich liter. Nie trzeba dodawać, że to wygląda na bzdury.
  2. Skopiuj i wklej zrzuty ekranu kodu źródłowego z IDE. Przynajmniej zachowuję kolory. Jeśli jednak zmienię rozmiar czcionki, mam przerąbane. Przekraczam też granice stron. I przyznajmy, program Word nie radzi sobie świetnie z zarządzaniem wieloma obrazami w dokumencie.
  3. Napisz HTML (nie jest to opcja tutaj)

Czy jest jakiś lepszy (i najlepiej przenośny) sposób na zrobienie tego? Czy jest przynajmniej jakiś styl dosłowny podobny do środowiska LaTeX? Czy jest przynajmniej jakaś ładna drukarka, którą mógłbym skopiować i wkleić w formacie RTF?

Uri
źródło
Russel: Nie jestem pewien, czy rozumiem.
Uri
2
Myślę, że jest to prawdopodobnie bardziej odpowiednie dla superużytkownika. Tylko dlatego, że element, który wstawiasz do dokumentu, jest kodem, nie sprawia, że ​​jest to pytanie programistyczne.
danben
2
@danben: Chyba. Właśnie doszedłem do wniosku, że przykłady kodu w dokumentach tekstowych są czymś, co większość programistów wykonuje w swojej codziennej pracy.
Uri
1
Czy jesteś zobowiązany do formatu Word-the-program lub Word-the-file?
Ken

Odpowiedzi:

188

Absolutnie nienawidzę i gardzę pracą za darmo dla Microsoftu, biorąc pod uwagę to, że po tych wszystkich miliardach dolarów, NADAL nie mają odpowiednich przewodników o takich rzeczach ze zrzutami ekranu na ich cholernej stronie internetowej.

W każdym razie, oto krótki przewodnik po programie Word 2010, używający Notepad ++ do kolorowania składni i TextBox, który można podpisać:

  1. Wybierz Wstaw / Pole tekstowe / Proste pole tekstowe
    01 słowo
  2. Wstawione zostanie domyślne pole tekstowe
    02 słowo
  3. Przełącz na NPP, wybierz język do kolorowania składni kodu, przejdź do Wtyczki / NPP Eksportuj / Kopiuj RTF do schowka
    03npp
  4. Wróć do słowa i wklej w polu tekstowym - może być za małe ...
    04słowo
  5. ... więc być może będziesz musiał zmienić jego rozmiar
    05słowo
  6. Po zaznaczeniu pola tekstowego kliknij je prawym przyciskiem myszy, a następnie wybierz opcję Wstaw podpis ...
    06word
  7. W menu Podpis, jeśli jeszcze go nie masz, kliknij Nowa etykieta i ustaw nową etykietę na „Kod”, kliknij OK ...
    07 słowo
  8. ... następnie w oknie dialogowym podpisu zmień etykietę na Kod i naciśnij OK
    08word
  9. Na koniec wpisz swój podpis w nowo utworzonym polu podpisu
    09word
sdaau
źródło
Kiedy porównujesz podpis z odniesieniem, wstawia on cały kod, aby rozwiązać ten problem?
MonsterMMORPG
1
W programie Word 2013 tekst jest wklejany jako zwykły tekst, nie ma sposobu, aby zachować format Notepad ++
Jose Nobile
2
@JoseNobile musisz użyć wtyczki NppExport w Notepad ++
NeilenMarais
1
Działa również z Android Studio, Visual Studio i Eclipse.
Teocci
Początkowo użyłem tej samej techniki, ale od tego czasu zmieniłem na używanie tabeli 1x1, ponieważ stwierdziłem, że pola tekstowe są trudne do ustawienia. Próbowałem „od góry do dołu”, żeby tekst był tylko przed i po, a Word magicznie przesuwał ramkę w górę lub w dół, czasami podpis był niewidoczny, ah co za ból. Zacząłem używać tabel w oparciu o inną SO QA, która jak dotąd działa dobrze. Tworzę nowy typ etykiety podpisu „Lista”.
Oliver
28

Niedawno natknąłem się na ten post i znalazłem kilka przydatnych wskazówek. Jednak ostatecznie zastosowałem zupełnie inne podejście, które odpowiadało moim potrzebom. Podzielam podejście i moje uzasadnienie, dlaczego wybrałem to podejście. Post jest dłuższy, niż bym chciał, ale uważam, że zrzuty ekranu są zawsze pomocne. Miejmy nadzieję, że odpowiedź komuś się przyda.

Moje wymagania były następujące:

  1. Dodaj fragmenty kodu do dokumentu tekstowego, z podświetlaniem składni dla łatwiejszej widoczności i różnicowania kodu i innego tekstu.
  2. Fragment kodu powinien być osadzony w innym tekście.
  3. Fragment kodu powinien bezproblemowo dzielić się na stronach bez dodatkowego wysiłku.
  4. Fragment kodu powinien mieć ładną ramkę.
  5. Fragment kodu powinien mieć wyłączone sprawdzanie pisowni.

Moje podejście jest wymienione poniżej:

  1. Użyj narzędzia zewnętrznego, aby osiągnąć wymaganie 1 dotyczące podświetlania składni powyżej. Można by użyć notatnika plus plus, jak opisano powyżej. Korzystam jednak z narzędzia obecnego tutaj - http://www.planetb.ca/syntax-highlight-word . Daje mi to możliwość użycia numeru linii, a także bardzo fajnego podświetlania składni (w tym kroku używaj Google Chrome, ponieważ podświetlenie składni nie jest kopiowane podczas korzystania z Mozilla Firefox, na co również wskazuje kilka komentarzy użytkowników). Kroki prowadzące do podświetlenia składni są wymienione poniżej:
  2. Aby spełnić wymagania 2, 3 i 4 powyżej, użyj tabeli w programie Microsoft Word, aby wstawić fragment kodu. Kroki są wymienione poniżej:

    • Wstaw tabelę z jedną kolumną.
    • Wklej skopiowany tekst z kroku 1. do kolumny tabeli. Zachowałem numery wierszy, aby pokazać, jak dobrze to działa z Microsoft Word.
    • Zastosuj obramowanie, jak chcesz. Użyłem rozmiaru 1pt. Wynikowy fragment słowa Microsoft pojawi się, jak pokazano na zrzucie ekranu poniżej. Zwróć uwagę, jak ładnie łamie się na całej stronie - nie wymaga dodatkowego wysiłku, aby temu zaradzić, z którym możesz się zmierzyć, wstawiając obiekt „OpenDocument Text” lub używając „Simple TextBox”. Fragment kodu z podświetleniem składni wklejony do tabeli programu Microsoft Word
  3. Aby spełnić wymaganie 5, wykonaj poniższe czynności:

    • Zaznacz całą tabelę lub tekst.
    • Przejdź do zakładki Recenzja. W sekcji Język wybierz „Sprawdzanie języka”. Zostanie wyświetlone nowe wyskakujące okienko.
    • Wybierz „Nie sprawdzaj pisowni ani gramatyki”. Następnie kliknij OK. Wyłącz sprawdzanie pisowni
    • W wynikowym tekście sprawdzanie pisowni jest wyłączone. Ostateczny wynik jest pokazany na poniższym obrazku i spełnia wszystkie wymagania. Wynik końcowy - spełnia wszystkie 5 wymagań.

Podaj, jeśli masz jakieś uwagi lub ulepszenia lub napotkasz jakiekolwiek problemy z podejściem.

abhishek
źródło
2
Dzięki! Wygląda świetnie ... Musiałem użyć Google Chrome, ponieważ Mozilla Firefox nie kopiowała podświetlania składni.
loveMeansNothing
Myślę, że to najlepsze rozwiązanie. Jeszcze jedna wskazówka: jeśli nie chcesz sprawdzać pisowni, ale nie piszesz po angielsku, wstaw kod jako obiekt tekstu otwartego dokumentu. Idź do INSERT - OBJECT - i wybierz OpenDocument Text. Wstaw kod do otwartego dokumentu, a następnie zapisz i zamknij. Kod jest wyświetlany jak powyżej, ale pisownia jest całkowicie ignorowana. Jedyną wadą może być to, że numer nie działa poprawnie, jeśli chcesz umieścić go w podpisie aukcji. Havent to sprawdził.
user3629892
@ user3629892 Pomyślałem, że z Open Document nie da się ładnie zawijać na różnych stronach.
sok z marakui
Czy jest jakaś możliwość uzyskania tej pięknej ramki również dla numerów wierszy podczas kopiowania do słowa?
Paramesh Korrakuti
1
@ Capt.Krusty - W punkcie 1, punkt 1 i 5, wspomniałem już o używaniu Chrome. Ale pójdę dalej i dodam „Google Chrome”, jak ty i loveMeansNic nie zasugerowano.
abhishek
23

Musisz zdefiniować styl w dokumencie programu Word i użyć go w kodzie źródłowym. Zwykle mam styl o nazwie „Kod”, który ma czcionkę o stałej szerokości w małym rozmiarze w punktach, tabulatory o stałym rozmiarze, pojedyncze odstępy między wierszami, brak odstępów między akapitami przed / po itd. Wystarczy tylko raz zdefiniować ten styl i użyć go ponownie. Wklejasz kod źródłowy i stosujesz do niego styl „Kod”.

Zwróć uwagę, że niektóre edytory (np. Xcode na komputerach Mac) dodają RTF, a także tekst do schowka podczas kopiowania / wklejania między aplikacjami - Word rozpoznaje format RTF i pomaga zachować formatowanie, kolorowanie składni itp.

Kod źródłowy w Xcode:

wprowadź opis obrazu tutaj

Skopiowano i wklejono do programu Word:

wprowadź opis obrazu tutaj

(Uwaga: dobrze jest wyłączyć sprawdzanie pisowni w stylu „Kod” w programie Word).

Paul R.
źródło
To jednak nie dodaje automatycznie stylu do słów kluczowych, liczb, ciągów znaków itp.
Bart
@Bart: ogólnie rzecz biorąc, nie, ale dla tych, którzy używają Xcode (dla rozwoju Mac OS X, iOS itp.) Schowek zawiera RTF ze wszystkimi kolorami składni itp., A Word to akceptuje. Możliwe, że są inne edytory, które również mają tę przydatną funkcję, ale nie jestem ich świadomy.
Paul R
RTF działa, tak, użyłem tego również w przeszłości, używając Notepad ++ do Worda. Byłoby jednak bardzo fajnie, gdyby istniał sposób na dodanie prawdziwego stylu kodu, tj. Takiego, który automatycznie wyróżnia składnię. Szkoda, że ​​nic takiego nie istnieje. To prawda, istnieje kilka dodatków, które możesz zainstalować i które mogą być podświetlane na żądanie, ale nie znalazłem jeszcze takiego, który może łatwo zmienić styl wszystkich bloków kodu na inny styl, jeśli chcesz.
Bart
Nie sądzę, że to obsługuje napisy, prawda?
Oliver
@Schollii: Myślę, że napisy można stosować tylko do „obiektów” w programie Word. Myślę, że mógłbyś umieścić kod w tabeli 1x1, co uczyniłoby z niego obiekt?
Paul R
11

To trochę zależy od IDE. Na przykład zarówno program Visual Studio, jak i Eclipse umożliwiają kopiowanie w formacie RTF i wklejanie do programu Word, zachowując całe formatowanie.

Notepad ++ ma wtyczkę o nazwie „NppExport” (jest fabrycznie zainstalowana), która umożliwia kopiowanie do formatu RTF, chociaż nie obchodzi mnie zbytnio podświetlanie składni Notepad ++ (chociaż byłoby to z pewnością zadowalające). Obsługuje dziesiątki języków, podczas gdy wspomniane środowiska IDE są ograniczone do kilku (bez innych wtyczek).

Cᴏʀʏ
źródło
1
Miałem szczęście z VS i Eclipse w robieniu tego właśnie - używając edytora IDE do kolorowania składni (i dowolnego formatowania, które lubię), a następnie wycinania i wklejania bezpośrednio do słowa. Zwykle śledzę to, ustawiając czcionkę w poprzek fragmentu na czcionkę o stałej szerokości (nie zawsze mi się to
spotykało
3

Jest to związane z tą odpowiedzią: https://stackoverflow.com/a/2653406/931265 Utworzenie obiektu rozwiązało wszystkie moje problemy.

Wstaw> Obiekt> Tekst dokumentu otwartego

Spowoduje to otwarcie okna dokumentu, wklejenie tekstu, sformatowanie go w dowolny sposób i zamknięcie.

Rezultatem jest liczba. Kliknij obiekt prawym przyciskiem myszy i wybierz opcję „dodaj podpis”.

Możesz teraz tworzyć odsyłacze, tworzyć tabele rysunków.

rickfoosusa
źródło
Kiedy łączysz się z podpisem referencyjnym, wstawia on cały kod, a także jak rozwiązać ten problem?
MonsterMMORPG
2

Użyj tego - http://hilite.me/

hilite.me konwertuje fragmenty kodu do ładnie wydrukowanego formatu HTML, który można łatwo osadzić w postach na blogach, wiadomościach e-mail i witrynach internetowych.

Jak: Po prostu skopiuj kod źródłowy do lewego okienka, wybierz język i schemat kolorów, a następnie kliknij „Podświetl!”. Kod HTML z prawego panelu można teraz wkleić do swojego bloga lub wiadomości e-mail, nie są wymagane żadne zewnętrzne pliki CSS ani JavaScript.

W przypadku dokumentu Microsoft Word: Skopiuj zawartość z sekcji Podgląd i wklej do dokumentu Microsoft Word.

3 sekcje: Kod źródłowy, HTML i Podgląd

Saghir Hussain
źródło
1

Możesz do tego użyć Open Xml Sdk. Jeśli masz kod w html z kolorem i formatowaniem. Możesz użyć altchunks, aby dodać go do dokumentów Word. Odnieś się do tego posta Dodaj ciąg HTML do dokumentu OpenXML (* .docx) Mam nadzieję, że to pomoże!

Mohamed Alikhan
źródło
1

Jeśli nadal szukasz prostego sposobu na dodanie fragmentów kodu.

możesz łatwo przejść do [Wstaw]> [Obiekt]> [Tekst otwartego dokumentu]> wklej swój kod> Zapisz i zamknij.

Możesz również umieścić to w makrze i dodać do paska łatwego dostępu.

uwagi:

  • To zajmie tylko jeden stronę kodu.
  • Twój kod nie zostanie automatycznie poprawiony .
  • Możesz wejść w interakcję z nim tylko poprzez dwukrotne kliknięcie .
Meatyflesh
źródło
1

W programie Word można wkleić kod, który używa koloru, aby odróżnić komentarze od kodu za pomocą opcji „Wklej, zachowaj formatowanie źródłowe”. Jeśli jednak użyjesz wklejonego kodu do utworzenia nowego stylu, program Word automatycznie usunie zakodowany kolorem tekst i zmieni go na czarny (lub inny domyślny kolor). Ponieważ stosowanie stylu jest najlepszym sposobem zapewnienia zgodności z wymaganiami dotyczącymi formatu dokumentu, program Word nie jest zbyt przydatny do dokumentowania programów. Niestety, nie przypominam sobie, żeby Open Office był lepszy. Najlepszym rozwiązaniem jest użycie domyślnego prostego pola tekstowego.

user10128757
źródło
1

Wypróbowałem wszystkie twoje metody, ale nie zadziałały dla mnie, w rzeczywistości stworzyłem łatwiejszą metodę przy użyciu tabel MS Word .

Plusy:

  1. Piękniejsza
  2. Łatwiejsze w zarządzaniu i bardziej spójne
  3. Mają mniejszą skłonność do problemów
  4. Nie ma potrzeby stosowania zewnętrznych wtyczek ani mikrododowania MS Word.
  5. Łatwiejszy w obsłudze dla prostych użytkowników ( takich jak ja ).

Wady: Nie zachowa kolorowania kodu, chociaż ktoś mógłby ulepszyć moją sztuczkę.

Kroki:

  1. Wstaw tabelę 3x3, w moim przypadku zawsze sprawiam, że całkowita szerokość tabeli jest równa szerokości wolnej strony ( minimum 3 wiersze do przetestowania stylu tabel ).

  2. Użyj niewidocznych ramek ( opcjaBez granic ) i aktywuj opcję „ Wyświetl linie siatki ”. powinien mieć ten aspekt. Pamiętaj, że te wiersze służą do wyświetlania siatki tabeli i nie zostaną wydrukowane.

wprowadź opis obrazu tutaj

  1. Dostosuj odstępy między komórkami i szerokość kolumn, aby uzyskać pożądany wygląd. ( Będziesz musiał wejść w " Właściwości tabeli " w celu dostrojenia ). wprowadź opis obrazu tutaj

  2. Utwórz „ Styl akapitu ” z nazwą „ Kod ” tylko dla fragmentów kodu ( sprawdź https://stackoverflow.com/a/25092977/8533804, aby uzyskać pomysł, nie musisz podążać za wszystkimi)

  3. Utwórz inny „ Styl akapitu ” o nazwie „ Numer_kodu ”, który będzie oparty na wcześniej utworzonym stylu. wprowadź opis obrazu tutaj

  4. W nowo utworzonym „ Code_numberline ” dodaj styl numeracji, który Ci się podoba (to zautomatyzuje numerowanie linii). wprowadź opis obrazu tutaj

  5. Zastosuj „ Code_numberline ” do pierwszej kolumny i „ Code ” do trzeciej kolumny. wprowadź opis obrazu tutaj

  6. Dodaj wypełnienie w środkowej kolumnie. wprowadź opis obrazu tutaj

  7. Zapisz ten styl stołu i ciesz się!

Nader Belal
źródło
Świetnie, dopóki nie powiedziałeś „Zapisz ten styl tabeli” .
Martin z Hessle
@MartinofHessle, dobrze dla rozszerzonych dokumentów, w których wypełnisz je fragmentami kodu w wielu miejscach opcja zapisania tego stylu tabel to oszczędność czasu, poza tym pozwala na bezproblemową modyfikację stylu tabeli w całym dokumencie, jak w moim przypadku gdzie mam styl dla IDE i IDLE ... z drugiej strony, jeśli używasz tylko jednego stołu, to możesz pominąć ostatni krok
Nader Belal
Zgadzam się z uzasadnieniem. To był sposób, w jaki powiedzieć to normal.dot, aby utrzymywał się, co byłoby pożytecznym dodatkiem. Rozgryzłem to, ale nie było to oczywiste.
Martin z Hessle,
@MartinofHessle, przepraszam, ale nie zrozumiałem twojego ostatniego stwierdzenia. Czy mógłbyś to powtórzyć w prostszych słowach?
Nader Belal
1
Przepraszam, literówka, powinno być jak zapisać go do normal.dot .
Martin of Hessle,
1

Te odpowiedzi wyglądają na przestarzałe i dość uciążliwe w porównaniu z dodatkami internetowymi; który jest dostępny dla produktów od Office 2013.

Używam Easy Code Formatter , który pozwala zakodować tekst w miejscu. Zapewnia również opcje numerowania linii, podświetlania, różnych stylów, a style są dostępne tutaj: https://github.com/armhil/easy-code-formatter-styles, dzięki czemu możesz samodzielnie rozszerzyć stylizację. Aby zainstalować - otwórz Microsoft Word, przejdź do zakładki Wstaw / kliknij „Pobierz dodatki” i wyszukaj „Easy Code Formatter”

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

Mavi Domates
źródło
0

Jest łatwy sposób, jeśli chcesz prostego formatowania kodu.

  1. Otwórz słowo> zakładka Wstaw> kliknij „Pobierz dodatki”
  2. wyszukaj „Mikser treści” 3. kliknij „Dodaj”

Następnie dodawanie do miksera treści otworzy się automatycznie i możesz skopiować, wkleić tam swój kod i kliknąć „Wstaw”, aby wstawić go do Word doc.

Hitesh Bisht
źródło