Szukam edytora do wydrukowania (na papierze) kodu C ++. Jestem obecnie w szkole inżynierskiej, a instruktor poprosił nas o przesłanie kodu na papierze.
On chce imię + nazwisko, numer klasy (w nagłówku), numer strony na dole i zarezerwowane słowa pogrubione dla każdej strony!
W systemie Windows można to zrobić za pomocą notepadd++
. Ale korzystam z Linuksa i nie znalazłem IDE lub edytora tekstu, który działałby. (Ja już próbowałem SCITE
, gedit
i Syntaxic
)
Odpowiedzi:
Cóż, jeśli chcesz pójść o krok dalej, zrób to w LaTeX i zapewnij profesjonalny plik PDF. Nie wspomniałeś o swojej dystrybucji, więc dam instrukcje dla systemów opartych na Debianie. Ten sam podstawowy pomysł można jednak wykonać na dowolnym systemie Linux.
Zainstaluj system LaTeX i niezbędne pakiety
Utwórz nowy plik (nazwij go
report.tex
) o następującej treści:Po prostu pamiętaj o zmianie
/path/to/your/code.c
w przedostatniej linii, aby wskazywała na rzeczywistą ścieżkę pliku C. Jeśli chcesz dołączyć więcej niż jeden plik, dodaj a,\newpage
a następnie nowy\lstinputlisting
dla drugiego pliku.Skompiluj plik PDF (spowoduje to utworzenie
report.pdf
)Przetestowałem to na moim systemie z przykładowym plikiem, który tu znalazłem i tworzy plik PDF, który wygląda następująco:
Bardziej wyczerpujący przykład, który automatycznie znajdzie wszystkie pliki .c w folderze docelowym i utworzy indeksowany plik PDF z każdym w osobnej sekcji, znajduje się w mojej odpowiedzi tutaj .
źródło
Zwykle używam enscript: coś w rodzaju
zacznie się - zapisuje dane wyjściowe PostScript
output.ps
, dzięki czemu można wyświetlić podgląd i zastąpić go podczas majstrowania przy konfiguracji, a następnie wydrukować go, gdy będziesz zadowolony. Zobacz stronę manuala, aby uzyskać bardziej rozbudowane opcje.EDYCJA poprawne działanie stopki jest trochę uciążliwe przy pomocy encyklopedii - nigdy tego nie zauważyłem, ponieważ nigdy jej nie potrzebowałem. Jeśli zapiszesz ten plik w
~/.enscript/so.hdr
(prawdopodobnie musisz utworzyć katalog), faktycznie uzyskasz wymagane dane wyjściowe za pomocądający
W przybliżeniu,
:hardcopy
polecenie vima jest łatwe, ale nie tak elastyczne, iźródło
emscript
. Ma mnóstwo opcji i daje bardzo dobre wyniki.Możesz użyć
:TOhtml
polecenia w vimie. To renderuje to, co widzisz (tj. Podświetlanie składni) jako HTML. Stamtąd działa przeglądarka internetowa, która może drukować do formatu pdf, ponieważ zwykle można dostosować zawartość nagłówka / stopki.Prawdopodobnie jest to podobne do
:hardcopy
polecenia wspomnianego przez Bezużyteczne, ale nie mogę teraz zweryfikować w moim systemie.Inną możliwością jest drukowanie z QtCreatora, jednak wydaje się, że nie ma sposobu na ustawienie nagłówków / stopek.
źródło
Geany to proste IDE, które daje wiele opcji dla tego, co znajduje się w nagłówku.
Słowami zastrzeżonymi można manipulować w menu opcji, ale wyróżnianie kodu robi to dla stylu notatnika ++. (może być konieczne skopiowanie / pobranie schematów kolorów do folderu „/home/$USER_NAME/.config/geany/colorschemes/”, aby uzyskać żądany)
Bardzo prosty i osobiście bardzo podoba mi się numer linii i format, który drukuje.
Geany działa także w systemie Windows i Linux.
źródło
Ponieważ prosisz o edytor , możesz drukować bezpośrednio z Emacsa, używając
ps-print-buffer
.Nagłówki i stopki znajdują się w grupie Dostosuj o nazwie
ps-print-headers
.Zakładając, że używasz blokady czcionek, prawdopodobnie masz podświetlanie składni, które jest wymagane. W razie potrzeby można go dostosować za pomocą
ps-extend-face
funkcji.Powiedziawszy to, nadal zalecałbym użycie odpowiedniego narzędzia „grind”, takiego jak a2ps, enscript lub LaTeX +.
źródło
Dla kompletności i chociaż nie poleciłbym tego rozwiązania,
lp
program ma-o prettyprint
opcję, która może wyróżniać składnię.Możesz użyć tego w następujący sposób:
Tutaj użyłem opcji
-t
(tytuł), aby ustawić nagłówek. Nie mogę jednak zmienić stopki (ale numer strony pojawia się u góry). Możesz ustawić typ pliku za pomocą opcji-o document-format
(lista dopuszczalnych wartości powinna być w,/usr/share/cups/mime/mime.types
a może/etc/cups/mime/mime.types
), ale jeśli plik ma prawidłowe rozszerzenie, nie powinno być konieczne. Ponadto wyróżnianie składni jest dalekie od doskonałości.źródło
Potrzebujesz tylko LibreOffice Writer .
Wklej swój kod C / C ++.
Znajdź słowa i pogrub wszystkie słowa kluczowe C ++.
Można je znaleźć tutaj: http://en.cppreference.com/w/cpp/keyword
Aby znaleźć słowo Naciśnij Ctrl + F. Wybierz „Dopasuj wielkość liter” i kliknij Znajdź wszystko (jak pokazano na zrzucie ekranu).
Następnie potrzebujesz Nagłówka i Stopki z Twoim imieniem i numerem strony.
EDYCJA: ( komentuje Christophe Strobbe:)
Istnieje rozszerzenie LibreOffice do kolorowania kodu: Code Colorizer Formatter . (Jeszcze tego nie testowałem.)
źródło
Kiedyś korzystałem z Nedit, kiedy byłem na systemie Solaris wiele lat temu, ponieważ lubiłem interfejs GUI. Widzę, że wciąż jest w pobliżu. Sprawdź to.
źródło
W przeszłości, gdy KDE3 wciąż było wielką rzeczą, używałem Kate, ponieważ jako edytor tekstów naprawdę produkuje najlepsze wyniki. Dzisiaj wybrałbym lateks, aby uzyskać bardziej osadzalne rozwiązanie z pakietem lstlisting. Ten pakiet nie służy do drukowania w kolorze, ale na drukarce laserowej kolory nie są zaletą.
źródło