Saya mencari editor untuk mencetak (di atas kertas) kode C ++. Saya saat ini di sekolah teknik dan instruktur telah meminta kami untuk menyerahkan kode di atas kertas.
Dia ingin nama + nama keluarga, nomor kelas (di header), jumlah halaman di bagian bawah, dan kata-kata yang dicadangkan dicetak tebal untuk setiap halaman!
Di Windows itu bisa dilakukan dengan notepadd++
. Tapi saya di Linux dan saya belum menemukan IDE atau editor teks yang berfungsi. (Aku sudah mencoba SCITE
, gedit
dan Syntaxic
)
Jawaban:
Nah, jika Anda ingin bekerja lebih keras, lakukan di LaTeX dan berikan file PDF level profesional. Anda belum menyebutkan distribusi Anda, jadi saya akan memberikan instruksi untuk sistem berbasis Debian. Ide dasar yang sama dapat dilakukan pada Linux apa pun.
Instal sistem LaTeX dan paket yang diperlukan
Buat file baru (sebut saja
report.tex
) dengan konten berikut:Pastikan untuk mengubah
/path/to/your/code.c
baris kedua dari belakang sehingga mengarah ke jalur sebenarnya file C Anda. Jika Anda memiliki lebih dari satu file untuk dimasukkan, tambahkan\newpage
dan kemudian baru\lstinputlisting
untuk file lainnya.Kompilasi PDF (ini menciptakan
report.pdf
)Saya menguji ini di sistem saya dengan contoh file yang saya temukan di sini dan itu menciptakan PDF yang terlihat seperti ini:
Untuk contoh yang lebih komprehensif yang secara otomatis akan menemukan semua file .c di folder target dan membuat file PDF yang diindeks dengan masing-masing bagian terpisah, lihat jawaban saya di sini .
sumber
Saya biasanya menggunakan enskrip: sesuatu seperti
akan menjadi awal - ini menulis output postscript
output.ps
, sehingga Anda dapat melihat dan menimpanya saat Anda mengutak-atik konfigurasi dan kemudian mencetaknya setelah Anda senang. Lihat halaman manual untuk opsi yang lebih luas.EDIT mendapatkan footer untuk bekerja dengan benar adalah sedikit rasa sakit dengan enscript - aku tidak pernah melihat karena saya tidak pernah diperlukan itu. Jika Anda menyimpan file ini ke
~/.enscript/so.hdr
(Anda mungkin perlu untuk membuat direktori), Anda akan benar-benar mendapatkan output yang diperlukan denganmemberi
Kurang lebih,
:hardcopy
Perintah vim mudah tetapi tidak fleksibel, dansumber
emscript
. Ini memiliki banyak pilihan dan memberikan hasil yang sangat bagus.Anda dapat menggunakan
:TOhtml
perintah di vim. Ini menjadikan apa yang Anda lihat (yaitu penyorotan sintaksis) sebagai html. Dari sana, browser web yang dapat mencetak ke pdf berfungsi, karena Anda biasanya dapat menyesuaikan konten header / footer.Ini mungkin mirip dengan
:hardcopy
perintah yang disebutkan oleh Useless, tetapi saya tidak dapat memverifikasi sistem saya sekarang.Kemungkinan lain adalah mencetak dari QtCreator, namun sepertinya tidak ada cara untuk mengatur header / footer.
sumber
Geany adalah IDE sederhana yang memberi Anda banyak pilihan untuk apa yang ada di header.
Kata-kata yang dicadangkan dapat dimanipulasi dalam menu opsi tetapi penyorotan kode melakukan ini untuk gaya notepad ++. (Anda mungkin perlu menyalin / mengunduh skema warna ke folder "/home/$USER_NAME/.config/geany/colorschemes/" untuk mendapatkan yang Anda inginkan)
Sangat sederhana dan secara pribadi saya sangat suka nomor garis dan memformat cetakannya.
Geany juga berjalan di kedua windows dan linux.
sumber
Karena Anda meminta editor , Anda dapat mencetak langsung dari Emacs, menggunakan
ps-print-buffer
.Header dan footer berada dalam grup Customize yang disebut
ps-print-headers
.Dengan asumsi Anda menggunakan font-lock, Anda mungkin memiliki penyorotan sintaks yang diperlukan. Itu dapat disesuaikan, jika perlu, menggunakan
ps-extend-face
fungsi.Karena itu, saya masih menyarankan Anda menggunakan alat 'grind' yang tepat seperti a2ps, enscript, atau daftar LaTeX +.
sumber
Untuk kelengkapan, dan meskipun saya tidak akan merekomendasikan solusi itu,
lp
program ini memiliki-o prettyprint
opsi yang dapat melakukan penyorotan sintaksis.Anda bisa menggunakannya seperti ini misalnya:
Di sini saya menggunakan opsi
-t
(judul) untuk mengatur tajuk. Saya tidak dapat mengubah catatan kaki (tetapi nomor halaman muncul di bagian atas). Anda dapat mengatur jenis file dengan opsi-o document-format
(daftar nilai yang dapat diterima harus dalam/usr/share/cups/mime/mime.types
atau mungkin/etc/cups/mime/mime.types
) tetapi jika file Anda memiliki ekstensi yang benar, itu tidak perlu. Juga, penyorotan sintaksis jauh dari sempurna.sumber
Anda hanya perlu LibreOffice Writer .
Rekatkan kode C / C ++ Anda.
Temukan kata-kata dan buat Bold semua kata kunci C ++.
Anda dapat menemukannya di sini: http://en.cppreference.com/w/cpp/keyword
Untuk menemukan kata Tekan Ctrl + F. Pilih "Cocokkan huruf" dan klik Temukan Semua (seperti yang ditunjukkan pada tangkapan layar).
Setelah itu Anda membutuhkan Header dan Footer dengan nama dan nomor halaman Anda.
EDIT: ( Christophe Strobbe berkomentar :)
Ada ekstensi LibreOffice untuk pewarnaan kode: Code Colorizer Formatter . (Saya belum mengujinya.)
sumber
Saya dulu menggunakan Nedit ketika saya menggunakan sistem Solaris bertahun-tahun yang lalu karena saya menyukai antarmuka GUI. Saya melihat bahwa itu masih ada. Saksikan berikut ini.
sumber
Di masa lalu ketika KDE3 masih merupakan hal yang besar, saya menggunakan Kate becaus untuk editor teks yang benar-benar menghasilkan output terbaik. Hari ini saya menggunakan lateks untuk solusi yang lebih mudah diembed, dengan paket lstlisting. Paket ini bukan untuk keluaran warna, tetapi pada printer laser, warna bukan keuntungan.
sumber