TeX
TeX | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tipe | typesetting software (en) , Bahasa markah, format berkas, perangkat lunak sumber terbuka dan bahasa pemrograman | ||||||||
Versi pertama | 1978 | ||||||||
Versi stabil | |||||||||
Genre | Typesetting | ||||||||
Lisensi | Permissive free software | ||||||||
Eponim | techne (en) | ||||||||
| |||||||||
| |||||||||
Sumber kode | |||||||||
| |||||||||
| |||||||||
Ekstensi berkas | .tex |
---|---|
Jenis MIME | application/x-tex |
Rilis pertama | 1978 |
Jenis format | Format berkas dokumen |
TeX, juga ditulis sebagai TeX, sistem typesetting (penyusunan huruf) yang dirancang dan ditulis oleh Donald Knuth,[1] dan pertama kali dirilis pada tahun 1978. TeX adalah cara populer untuk menyusun rumus matematika yang kompleks; TeX telah dicatat sebagai salah satu sistem tipografi digital yang paling canggih.[2]
TeX banyak digunakan dalam dunia akademis, terutama dalam matematika, ilmu komputer, ekonomi, ilmu politik, teknik, linguistik, fisika, statistika, dan psikologi kuantitatif. TeX telah lama menggantikan troff Unix,[a] sistem pemformatan yang sebelumnya disukai di sebagian besar instalasi Unix. TeX juga digunakan untuk banyak tugas penyusunan huruf lainnya, terutama dalam bentuk LaTeX, ConTeXt, dan paket makro lainnya.
TeX dirancang dengan dua tujuan utama: untuk memungkinkan siapa pun menghasilkan buku berkualitas tinggi dengan usaha yang minimal, dan untuk menyediakan sistem yang akan memberikan hasil yang persis sama di semua komputer kapanpun (bersama dengan bahasa Metafont untuk deskripsi font dan keluarga typeface Computer Modern).[3] TeX adalah perangkat lunak gratis, yang membuatnya dapat diakses oleh berbagai pengguna.
Sejarah
Ketika volume pertama dari buku The Art of Computer Programming karya Knuth diterbitkan pada tahun 1968,[4] buku ini diketik dengan menggunakan hot metal typesetting pada mesin Monotype. Metode ini, yang berasal dari abad ke-19, menghasilkan "gaya klasik" yang disukai oleh Knuth.[5] Ketika edisi kedua diterbitkan, pada tahun 1976, seluruh buku harus diketik lagi karena teknologi Monotype sebagian besar telah digantikan oleh phototypesetting, dan font asli tidak lagi tersedia. Ketika Knuth menerima cetak coba dari buku baru pada tanggal 30 Maret 1977, dia menemukan bahwa kualitas buku tersebut lebih rendah.
Kecewa dengan cetak coba edisi kedua dari jilid kedua, dia termotivasi untuk merancang sistem penyusunan hurufnya sendiri. Knuth melihat untuk pertama kalinya output dari sistem penyusunan huruf digital berkualitas tinggi, dan menjadi tertarik pada tipografi digital. Pada tanggal 13 Mei 1977, ia menulis memo untuk dirinya sendiri yang menjelaskan fitur dasar TeX.[6]
Dia berencana untuk menyelesaikannya pada masa cuti panjangnya pada tahun 1978, tetapi bahasa tersebut tidak sempat "frozen" (siap digunakan) sampai tahun 1989, lebih dari sepuluh tahun kemudian. Guy Steele kebetulan berada di Universitas Stanford selama musim panas 1978, ketika Knuth mengembangkan versi pertama TeX. Ketika Steele kembali ke Institut Teknologi Massachusetts pada musim gugur itu, dia menulis ulang input/output (I/O) TeX untuk dijalankan di sistem operasi Incompatible Timesharing System (ITS). Versi pertama TeX, yang disebut TeX78, ditulis dalam bahasa pemrograman SAIL untuk dijalankan pada PDP-10 di bawah sistem operasi WAITS milik Stanford.
WEB dan pemrograman literasi
Untuk versi TeX yang lebih baru, Knuth menemukan konsep pemrograman literasi (literate programming), sebuah cara untuk menghasilkan kode sumber yang dapat dikompilasi dan dokumentasi cross-linked yang diketik dalam TeX, dari berkas asli yang sama. Bahasa yang digunakan disebut WEB dan menghasilkan program dalam DEC PDP-10 Pascal.
TeX82
TeX82, versi baru TeX yang ditulis ulang dari awal, diterbitkan pada tahun 1982. Di antara perubahan lainnya, algoritma tanda hubung (hypenation) yang asli digantikan oleh algoritma baru yang ditulis oleh Frank Liang. TeX82 juga menggunakan aritmetika fixed-point, bukan floating-point, untuk memastikan hasil yang sama di berbagai perangkat keras komputer yang berbeda,[7] dan menyertakan bahasa pemrograman Turing-lengkap yang nyata, setelah lobi intens oleh Guy Steele.[8] Pada tahun 1989, Donald Knuth merilis versi baru TeX dan Metafont.[9] Terlepas dari keinginannya untuk menjaga kestabilan program, Knuth menyadari bahwa 128 karakter yang berbeda untuk input teks tidak cukup untuk mengakomodasi bahasa asing; perubahan utama dalam TeX versi 3.0 (juga disebut TeX90) adalah kemampuan untuk bekerja dengan input 8-bit, memungkinkan 256 karakter berbeda dalam input teks.
Sejak versi 3, TeX telah menggunakan sistem penomoran versi yang istimewa, yakni pembaruan ditunjukkan dengan menambahkan digit ekstra di akhir desimal, sehingga nomor versi secara asimtotik mendekati π. Ini adalah cerminan dari fakta bahwa TeX sekarang sangat stabil, dan hanya pembaruan kecil yang diantisipasi. Versi TeX saat ini adalah 3.141592653; terakhir diperbarui pada tahun 2021.[10] Desainnya dibekukan (frozen) setelah versi 3.0, dan tidak ada fitur baru atau perubahan mendasar yang akan ditambahkan, jadi semua versi yang lebih baru hanya akan berisi perbaikan kutu.[11] Meskipun Donald Knuth sendiri telah menyarankan beberapa area di mana TeX dapat ditingkatkan, dia mengindikasikan bahwa dia sangat yakin bahwa memiliki sistem yang tidak berubah dan yang akan menghasilkan output yang sama sekarang juga di masa depan, lebih penting daripada memperkenalkan fitur baru. Untuk alasan ini, dia telah menyatakan bahwa "perubahan yang benar-benar terakhir (yang akan dilakukan setelah kematian saya)" adalah mengubah nomor versi menjadi π, di mana semua bug yang tersisa akan menjadi fitur.[12] Demikian juga, versi Metafont setelah 2.0 secara asimtotik mendekati e (saat ini di 2.7182818), dan perubahan serupa akan diterapkan setelah kematian Knuth.[11]
Domain publik
Karena kode sumber TeX pada dasarnya berada dalam domain publik (lihat di bawah), programmer lain diperbolehkan (dan secara eksplisit didorong) untuk meningkatkan sistem, tetapi diharuskan menggunakan nama lain untuk mendistribusikan TeX yang dimodifikasi, yang berarti bahwa kode sumber masih dapat berkembang. Sebagai contoh, proyek Omega dikembangkan setelah tahun 1991, terutama untuk meningkatkan kemampuan typesetting multibahasa TeX.[13] Knuth menciptakan versi modifikasi "tidak resmi", seperti TeX-XeT, yang memungkinkan pengguna untuk mencampur teks yang ditulis dalam sistem penulisan kiri-ke-kanan dan kanan-ke-kiri dalam dokumen yang sama.
Penggunaan TeX
Dalam beberapa bidang teknis seperti ilmu komputer, matematika, teknik dan fisika, TeX telah menjadi standar de facto. Ribuan buku telah diterbitkan menggunakan TeX, termasuk buku-buku yang diterbitkan olehAddison-Wesley, Cambridge University Press, Elsevier, Oxford University Press, dan Springer. Banyak jurnal di bidang ini diproduksi menggunakan TeX atau LaTeX, yang memungkinkan penulis untuk mengirimkan naskah mentah mereka yang ditulis dalam TeX.[14] Sementara banyak publikasi di bidang lain, termasuk kamus dan publikasi hukum, telah diproduksi menggunakan TeX, namun belum sesukses di bidang yang lebih teknis, karena TeX terutama dirancang untuk mengetik matematika.
Ketika dia mendesain TeX, Donald Knuth tidak percaya bahwa satu sistem penyusunan huruf tunggal akan sesuai dengan kebutuhan semua orang; sebagai gantinya, dia mendesain banyak pengait di dalam program sehingga memungkinkan untuk menulis ekstensi, dan merilis kode sumbernya, dengan harapan bahwa penerbit akan merancang versi yang menyesuaikan dengan kebutuhan mereka sendiri. Meskipun ekstensi semacam itu telah dibuat (termasuk beberapa oleh Knuth sendiri),[15] kebanyakan orang telah memperluas TeX hanya dengan menggunakan makro dan TeX tetap menjadi sistem yang terkait dengan penyusunan huruf teknis.[16][17]
Sistem penyusunan huruf
Perintah TeX biasanya dimulai dengan garis miring terbalik dan dikelompokkan dengan kurung kurawal. Hampir semua sifat sintaksis TeX dapat diubah dengan cepat (on the fly), yang membuat input TeX sulit diurai oleh apa pun kecuali TeX itu sendiri. TeX adalah bahasa berbasis makro dan token: banyak perintah, termasuk sebagian besar perintah yang ditentukan pengguna, diperluas (expanded) dengan cepat sampai hanya token yang tidak dapat diekspansi yang tersisa, yang kemudian dieksekusi. Ekspansi itu sendiri praktis bebas dari efek samping. Rekursi ekor dari makro tidak membutuhkan memori, dan konstruksi if-then-else tersedia. Hal ini membuat TeX menjadi bahasa Turing-lengkap bahkan pada tingkat ekspansi.[18] Sistem ini dapat dibagi menjadi empat tingkat: yang pertama, karakter dibaca dari file input dan diberi kode kategori (kadang-kadang disebut dengan "catcode"). Kombinasi garis miring terbalik (sebenarnya, karakter apa pun dari kategori nol) yang diikuti oleh huruf (karakter kategori 11) atau satu karakter lain digantikan oleh token control-sequence. Dalam hal ini, tahap ini seperti analisis leksikal, meskipun tidak membentuk angka dari digit. Pada tahap berikutnya, urutan kontrol yang dapat diperluas (seperti kondisional atau makro yang didefinisikan) digantikan oleh teks penggantinya. Masukan untuk tahap ketiga adalah aliran karakter (termasuk yang memiliki makna khusus) dan urutan kontrol yang tidak dapat diperluas (biasanya tugas dan perintah visual). Di sini, karakter-karakter tersebut dirangkai menjadi sebuah paragraf, dan algoritma pemecah paragraf TeX bekerja dengan mengoptimalkan breakpoints di seluruh paragraf. Tahap keempat memecah daftar vertikal baris dan materi lainnya ke dalam halaman.
Sistem TeX memiliki pengetahuan yang tepat tentang ukuran semua karakter dan simbol, dan dengan menggunakan informasi ini, sistem ini menghitung pengaturan optimal huruf per baris dan baris per halaman. Kemudian sistem menghasilkan file DVI ("DeVice Independent") yang berisi lokasi akhir dari semua karakter. File DVI ini kemudian dapat dicetak langsung dengan driver printer yang sesuai, atau dapat dikonversi ke format lain. Saat ini, pdfTeX sering digunakan, yang melewati pembuatan DVI sama sekali.[19] Sistem TeX dasar memahami sekitar 300 perintah, yang disebut primitif.[20] Perintah-perintah tingkat rendah ini jarang digunakan secara langsung oleh pengguna, dan sebagian besar fungsionalitas disediakan oleh file format (memory image TeX yang di-predump setelah koleksi makro besar telah dimuat). Format default asli Knuth, yang menambahkan sekitar 600 perintah, adalah Plain TeX.[21] Format yang paling banyak digunakan adalah LaTeX, awalnya dikembangkan oleh Leslie Lamport, yang menggabungkan gaya dokumen untuk buku, surat, slide, dll.; juga menambahkan dukungan untuk referensi dan penomoran otomatis bagian dan persamaan. Format lain yang banyak digunakan, AMS-TeX, diproduksi oleh American Mathematical Society dan menyediakan banyak perintah yang lebih ramah pengguna, yang dapat diubah oleh jurnal-jurnal agar sesuai dengan format gaya mereka. Sebagian besar fitur AMS-TeX dapat digunakan di LaTeX dengan menggunakan "paket AMS" (misalnya, amsmath
, amssymb
) dan "kelas dokumen AMS" (misalnya, amsart
, amsbook
). Hal ini kemudian disebut sebagai AMS-LaTeX.[22] Format lain termasuk ConTeXt, yang digunakan terutama untuk penerbitan desktop dan sebagian besar ditulis oleh Hans Hagen di Pragma.
Lihat pula
Catatan kaki
- ^ Meskipun troff masih tetap digunakan sebagai formatter default dari dokumentasi UNIX.
Referensi
- ^ "Per Bothner (attendee at TeX Project meetings) discusses authorship".
Knuth definitely wrote most of the code himself, at least for the Metafont re-write, for which I have pe[r]sonal knowledge. However, some of his students (such as Michael Plass and John Hobby) did work on the algorithms used in TeX and Metafont.
- ^ Yannis Haralambous. Fonts & Encodings (Translated by P. Scott Horne). Beijing; Sebastopol, Calif: O’Reilly Media, 2007, pp. 235.
- ^ Gaudeul, Alexia (27 March 2006). "Do Open Source Developers Respond to Competition?: The (La)TeX Case Study". SSRN 908946 .
- ^ Knuth, Donald E. "Less brief biography". Don Knuth's Home Page. Diakses tanggal 9 January 2017.
- ^ Knuth, Donald E. "Commemorative lecture of the Kyoto Prize, 1996" (PDF). Kyoto Prize. Diarsipkan dari versi asli (PDF) tanggal 27 January 2018. Diakses tanggal 18 August 2018.
- ^ Knuth, Donald Ervin, TEXDR.AFT, diarsipkan dari versi asli tanggal 2015-01-12
- ^ Knuth & Plass 1981, hlm. 144.
- ^ Knuth, Donald E. Knuth meets NTG members, NTG: MAPS. 16 (1996), 38–49. Reprinted as Questions and Answers, III, chapter 33 of Digital Typography, p. 648.
- ^ Knuth, Donald E. The New Versions of TeX and METAFONT, TUGboat 10 (1989), 325–328; 11 (1990), 12. Reprinted as chapter 29 of Digital Typography.
- ^ "TeX 21 release". Diakses tanggal 2022-01-05.
- ^ a b "What is the future of TeX?". The TeX FAQ. 2018-05-27. Diarsipkan dari versi asli tanggal 28 April 2019. Diakses tanggal 2019-07-21.
- ^ Knuth, Donald E. The future of TeX and METAFONT, NTG journal MAPS (1990), 489. Reprinted as chapter 30 of Digital Typography, p. 571.
- ^ "TeX Engine development". The TeX FAQ. 2018-05-24. Diarsipkan dari versi asli tanggal 28 April 2019. Diakses tanggal 2019-07-21.
- ^ Beebe 2004, hlm. 10.
- ^ Knuth, Donald E; MacKay, Pierre (1987), "Mixing Right-to-Left Texts with Left-to-Right Texts" (PDF), TUGboat, 8: 14–25. Reprinted as Bigelow, Charles; Day, Donald (1983). "Chapter 4". Digital Typography. Scientific American. 249. hlm. 106. Bibcode:1983SciAm.249b.106B. doi:10.1038/scientificamerican0883-106.
- ^ Knuth, Donald E (1996), "Questions and Answers II", TUGboat, 17: 355–367. Reprinted as Bigelow, Charles; Day, Donald (1983). "Chapter 32". Digital Typography. Scientific American. 249. hlm. 616–617. Bibcode:1983SciAm.249b.106B. doi:10.1038/scientificamerican0883-106.
- ^ Knuth, Donald E (1996), "Questions and Answers I", TUGboat, 17: 7–22. Reprinted as Bigelow, Charles; Day, Donald (1983). "Chapter 31". Digital Typography. Scientific American. 249. hlm. 598. Bibcode:1983SciAm.249b.106B. doi:10.1038/scientificamerican0883-106.
- ^ Jeffrey, Alan (1990), "Lists in TeX's Mouth" (PDF), TUGboat, 11 (2): 237–45
- ^ "CTAN: Package pdftex". ctan.org. Diakses tanggal 2019-07-21.
- ^ Knuth 1984, hlm. 9.
- ^ Plain TeX (source code), CTAN
- ^ "What are the AMS packages (amsmath, etc.)?". The TeX FAQ. 2018-05-27. Diarsipkan dari versi asli tanggal 28 April 2019. Diakses tanggal 2019-07-21.
Sumber
- Beebe, Nelson HF (2004), "25 Years of TeX and METAFONT: Looking Back and Looking Forward" (PDF), TUGboat, 25: 7–30.
- Knuth, Donald Ervin (1984), The TeXbook, Computers and Typesetting, A, Reading, MA: Addison-Wesley, ISBN 0-201-13448-9. The source code of the book in TeX (and a needed set of macros [1]) is available online on CTAN. It is provided only as an example and its use to prepare a book like The TeXbook is not allowed.
- ——— (1986), TeX: The Program, Computers and Typesetting, B, Reading, MA: Addison-Wesley, ISBN 0-201-13437-3. The full source code of TeX; also available on CTAN. Being written using literate programming, it contains plenty of human-readable documentation.
- ——— (1999), Digital Typography, Lecture notes (78), Center for the Study of Language and Information, ISBN 1-57586-010-4.
- ———; Plass, Michael F (1981), "Breaking Paragraphs into Lines", Software: Practice and Experience, 11 (11): 1119–84, doi:10.1002/spe.4380111102 . Reprinted as Bigelow, Charles; Day, Donald (1983). "Chapter 3". Digital Typography. Scientific American. 249. hlm. 67–155. Bibcode:1983SciAm.249b.106B. doi:10.1038/scientificamerican0883-106..
- ———, TeX (source code), diarsipkan dari versi asli (WEB) tanggal 27 September 2011 contains extensive documentation about the algorithms used in TeX.
- Lamport, Leslie (1994), LaTeX: A Document Preparation System (edisi ke-2nd), Reading, MA: Addison-Wesley, ISBN 0-201-52983-1.
- Liang, Franklin Mark (August 1983), Word Hy-phen-a-tion by Com-put-er (PhD thesis), Department of Computer Science, Stanford University.
- Salomon, David (1995), The Advanced TeXbook, Springer, Bibcode:1995adte.book.....S, ISBN 0-387-94556-3.
- Spivak, MD (1990), The Joy of TeX (reference) (edisi ke-2nd), American Mathematical Society, ISBN 0-8218-2997-1 on AMS-TeX.
- Vulis, Michael (1992), Modern TeX and Its Applications, CRC Press, ISBN 0-8493-4431-X.
Pranala luar
Cari tahu mengenai TeX pada proyek-proyek Wikimedia lainnya: | |
Definisi dan terjemahan dari Wiktionary | |
Gambar dan media dari Commons | |
Buku dari Wikibuku | |
Entri basisdata #Q5301 di Wikidata |
- TeX Users' Group
- TeX (questions and answers), StackExchange.
- Eijkhout, Victor. TeX by Topic Diarsipkan 25 February 2021 di Wayback Machine.
- TeX for the Impatient
- Donald Knuth membahas pengembangan perangkat lunak untuk TEX di Xerox PARC 2/21/1980 https://archive.org/details/xerox-parc-tapes-v49