
Troff adalah prosesor teks dokumen minimal namun kuat untuk sistem Linux. Ini memungkinkan Anda dengan mudah membuat dokumen siap cetak dengan mengkompilasi file sumber dari baris perintah. Tidak seperti LaTeX, Troff sangat ringan dan sudah terinstal di sebagian besar sistem Linux. Tutorial ini menunjukkan cara menggunakan Troff untuk memformat dokumen PDF di Ubuntu.
Apa Itu Troff dan Mengapa Menggunakannya
Pada dasarnya, Troff adalah program pengolah teks yang mengubah skrip seperti kode menjadi dokumen yang dapat dicetak. Tidak seperti pengolah kata, Troff tidak mengandalkan paradigma “WYSIWYG”. Sebagai gantinya, Anda harus menggunakan jenis kode tertentu untuk menangani pemformatan Anda.
Salah satu keuntungan terbesar dari pendekatan ini adalah kesederhanaan. Instalasi dasar Troff akan memiliki semua yang Anda butuhkan untuk membuat dokumen. Lebih lanjut, kurangnya antarmuka pengguna grafis berarti Anda dapat membuat dokumen bahkan melalui SSH.

Tip: pelajari cara meneruskan aplikasi GUI melalui SSH di Linux.
Memasang Trof
Troff sering dibundel secara default di sebagian besar distribusi Linux. Anda dapat memeriksa apakah Anda memilikinya di sistem Anda dengan menjalankannya -h
bendera. Ini akan menampilkan daftar singkat dari semua bendera yang diterima instalasi Troff Anda.

Ada beberapa contoh di mana distribusi tidak membundel Troff secara default. Dalam hal ini, Anda dapat menginstalnya dengan mencari paket “groff”.

Ini adalah implementasi ulang program Troff dan Nroff oleh Proyek GNU, yang mencakup sejumlah fitur baru dan modern.
Anda dapat menginstal groff di Ubuntu dengan menggunakan perintah berikut:

Membuat Dokumen Troff Pertama Anda
Mirip dengan kode sumber, setiap dokumen Troff adalah file teks yang berisi instruksi tentang cara membuat dokumen. Ini termasuk lebar halaman dan margin serta spasi huruf dan halaman.

Tingkat kontrol ini memungkinkan Anda memanipulasi program untuk membuat dokumen apa pun. Untuk menyederhanakannya, pengembang Troff membuat “makro” yang memadatkan perintah ini menjadi sintaks yang lebih sederhana.

Salah satu makro paling umum yang akan Anda gunakan di Troff adalah “ms”. Ini akan membuat dokumen dengan gaya artikel. Anda dapat membuat dokumen ms dengan menggunakan touch
memerintah:
touch my-first-document.ms
Karena semua dokumen Troff adalah teks, Anda dapat membuka dokumen Anda dengan menggunakan editor teks. Dalam kasus saya, saya menggunakan vim. Atau, Anda dapat menggunakan salah satu dari editor teks ini untuk Linux.

Memahami Format Troff
Semua dokumen Troff mengikuti struktur yang serupa. Setiap perintah pemformatan yang Anda buat harus berada di baris terpisah dalam konten yang ingin diformat. Dengan demikian, dokumen khas Troff akan terlihat seperti ini:
.COMMAND1 This is a piece of content in a Troff document. .COMMAND2 This is a different piece of content in a Troff document.
Dua dari perintah paling dasar yang akan Anda gunakan di ms adalah .TL
dan .PP
. Yang pertama mengubah teks Anda menjadi judul dan memusatkannya di dokumen Anda, sedangkan yang terakhir memformat teks Anda untuk mengikuti gaya seperti paragraf.
Sebagai contoh, kutipan berikut menggunakan keduanya .TL
dan .PP
perintah:
.TL
My First Troff Document
.PP
This is content that I want to look like a paragraph in my final document. It is not a very long content but it is my first Troff document and it is something that I am proud of. It is about three sentences long and it should wrap around the document properly.

Dari sini, buat dokumen Anda dengan meneruskan file Anda ke program Troff.
groff -ms -Tpdf ./my-first-document.ms > output.pdf

Tip: jika Anda lebih suka sesuatu yang lebih sederhana, pelajari cara menulis dalam format MLA di Google Dokumen.
Membuat Teks Tebal, Miring, dan Garis Bawah
Sama seperti pengolah kata biasa, sebagian besar makro Troff menyediakan sejumlah perintah gaya untuk menyesuaikan dokumen Anda. Untuk ms, ini adalah .B
, .I
, .UL
dan .BX
.
- Itu
.B
perintah mengubah teks menjadi huruf tebal. - Itu
.I
perintah mengubah teks menjadi miring. .UL
dan.BX
adalah perintah yang masing-masing menggambar garis bawah dan kotak di sekitar teks Anda.
Mirip dengan perintah di atas, menggunakan ini di dokumen Anda mengharuskan Anda untuk memisahkan setiap gaya pada barisnya sendiri:
.TL My First Troff Document .PP This is .B content .R that I want to look like a paragraph in my final document. [...]
Dalam contoh ini, saya membuat baris baru sebelum kata “konten” dan menambahkan .B
perintah untuk mengubahnya menjadi huruf tebal, lalu membuat baris baru dan menambahkan .R
memerintah. Ini memungkinkan Troff untuk kembali ke gaya sebelumnya.

Penting untuk dicatat bahwa Anda selalu perlu menambahkan .R
perintah saat mengubah gaya. Misalnya, kutipan berikut tidak akan mengakhiri .I
perintah karena Troff tidak melihat a .R
setelah itu:
.TL My First Troff Document .PP This is .I content that I want to look like a paragraph in my final document. [...]

Membuat Bagian Dokumen Baru
Mirip dengan LaTeX, Troff juga mendukung deteksi bagian dan hierarki, jadi Anda tidak perlu mengatur dan mencocokkan setiap level header saat mengedit.
Untuk membuat bagian baru di dokumen Anda, gunakan .NH
perintah diikuti dengan nama judul Anda.
.TL
My First Troff Document
.NH
My First Heading
.PP
This is content that I want to look like a paragraph in my final document.

Secara default, setiap tajuk Troff memiliki nilai level yang menentukan bagaimana struktur program dan menampilkan kontennya pada dokumen akhir. Mengetahui hal itu, Anda dapat mengubah nilai ini untuk menyesuaikan level heading.
Misalnya, berikut ini membuat heading level 2 tepat di bawah induknya:
.TL My First Troff Document .NH My First Heading .NH 2 My First Subheading .PP This is content that I want to look like a paragraph in my final document.

Selain header bernomor biasa, Troff juga dapat membuat header kosong yang masih mengikuti hierarki level dokumen.
Untuk melakukan ini, ganti .NH
dengan .SH
memerintah:
.TL My First Troff Document .SH My First Heading .SH 2 My First Subheading .PP This is content that I want to look like a paragraph in my final document.

Tip: cari tahu cara mengubah margin di Google Docs.
Membuat Daftar di Troff
Kesederhanaan Troff juga memungkinkan Anda membengkokkan perilakunya menjadi apa pun yang Anda inginkan. Misalnya, daftar tidak muncul secara default di makro Troff atau ms. Meskipun demikian, Anda tetap dapat membuat daftar dengan menggabungkan beberapa perintah ms.
Setiap daftar di Troff terdiri dari tiga bagian: indent, bullet, dan konten. Untuk membuat indentasi, gunakan .RS
dan .RE
perintah. Ini akan memindahkan tingkat indentasi teks apa pun di dalamnya dengan empat spasi.
.RS This is my first item. .RE

Selanjutnya, buat bullet untuk item daftar Anda dengan menggunakan .IP
. Ini adalah perintah “paragraf indent” yang memperbaiki margin kiri teks Anda ke lebar tertentu.
Itu .IP
perintah juga memungkinkan Anda untuk mengatur poin-poin khusus dan ruang antara itu dan teks Anda. Dalam hal ini, saya menyetel poin saya ke “[1]” dan akan memberinya empat spasi.
.RS .IP [1] 4 This is my first item. .RE

Sekarang salin dan tempel file Anda .IP
perintah untuk membuat item daftar tambahan.
.RS .IP [1] 4 This is my first item. .IP [2] 4 This is my second item. .IP [3] 4 This is my third item. .RE

Terakhir, otomatiskan proses ini dengan membuat makro khusus. Misalnya, kutipan berikut membatasi saya .IP
perintah untuk .QW
:
.de QW .IP [-] 4 .. .RS .QW This is my first item. .QW This is my second item. .QW This is my third item. .RE

Membuat Tabel dengan Preprosesor di Troff
Salah satu kekhasan Troff adalah sebagian besar fiturnya ada sebagai “preprosesor”. Sebagian besar, ini adalah binari di luar program yang bekerja dengan membuat “skrip wadah preprosesor” dan mengonversinya menjadi kode Troff tingkat rendah.

Tbl adalah contoh bagus dari preprosesor Troff. Ini adalah program yang mengelola tabel dalam dokumen. Wadah Tbl dasar terlihat seperti ini:
.TS allbox ; c c c. item1 <Tab> item2 <Tab> item3 item4 <Tab> item5 <Tab> item6 .TE
- Itu
.TS
dan.TE
perintah memberi tahu Tbl bahwa ini adalah lingkungan yang dapat dibaca. - Baris kedua memberi tahu program cara memformat tabel ini.
- Baris ketiga adalah bidang yang dipisahkan oleh spasi yang menentukan jumlah kolom dan perataannya di tabel Anda.
- Baris keempat dan kelima adalah bidang yang dipisahkan tab yang berisi konten tabel Anda.

Mengkompilasi dokumen dengan Tbl sedikit berbeda dari file Troff biasa. Pertama, muat file Anda:
tbl my-first-document.ms > preprocessed.ms
Selanjutnya, masukkan keluaran program ke Troff:
groff -ms -Tpdf ./preprocessed.ms > output.pdf
Terakhir, otomatiskan proses ini dengan menggunakan pipa UNIX:
tbl my-first-document.ms | groff -ms -Tpdf > output.pdf

Senang mendengarnya: pelajari lebih lanjut tentang pipa UNIX dan pengalihan file dengan sed.
Pertanyaan yang Sering Diajukan
Apakah mungkin menggunakan Troff di Windows?
Secara default, baik Troff maupun Groff tidak secara resmi dipindahkan ke Windows. Meskipun demikian, Anda masih dapat menggunakan Groff bersama utilitas GNU lainnya dengan menginstal Subsistem Windows untuk Linux.
Apakah Troff memiliki fitur pelacakan bibliografi?
Ya. Refer
adalah preprocessor sederhana yang menggunakan file bibliografi eksternal untuk secara otomatis melacak referensi dalam dokumen Troff. Anda dapat mempelajari lebih lanjut tentang cara kerjanya dengan mengunjungi halaman manualnya dengan menjalankan man refer
.
Bagaimana saya bisa memperbaiki kesalahan “DESC yang hilang” saat mengkompilasi Troff?
Masalah ini kemungkinan besar disebabkan oleh ketergantungan yang hilang di sistem Anda atau file versi yang tidak cocok. Untuk memperbaikinya, instal paket groff yang sesuai dari repositori distribusi Anda.
Kredit gambar: Simon Hattinga Verscheure melalui Unsplash. Semua perubahan dan tangkapan layar oleh Ramces Red.
Berlangganan newsletter kami!
Tutorial terbaru kami dikirim langsung ke kotak masuk Anda