TeX: Perbedaan antara revisi
k robot Adding: sr:TeX |
k →Pranala luar: clean up |
||
(48 revisi perantara oleh 38 pengguna tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
{{For|bantuan menampilkan rumus matematika di Wikipedia|Bantuan:Menampilkan rumus}}{{distinguish|LaTeX}} |
|||
'''T<sub><big>E</big></sub>X''', juga ditulis sebagai '''TeX''' dalam teks biasa, adalah sistem [[typesetting]] yang diciptakan oleh [[Donald Knuth]] dan populer di bidang akademis, terutama dalam [[matematika]], [[fisika]] dan [[ilmu komputer]]. |
|||
{{Infobox software |
|||
| name = TeX |
|||
| logo = [[File:TeX logo.svg|100px|The TeX logo]] |
|||
| developer = [[Donald Knuth]] |
|||
| released = {{start date and age|df=yes|1978}} |
|||
| latest_release_version = 3.141592653 |
|||
| latest_release_date = {{start date and age|df=yes|2021|2}} |
|||
| latest preview version = |
|||
| latest preview date = <!-- {{Start date and age|df=yes|YYYY|MM|DD}} --> |
|||
| programming_language = [[WEB]]/[[Pascal (bahasa pemrograman)|Pascal]] |
|||
| operating_system = [[Lintas platform]] |
|||
| genre = [[Typesetting]] |
|||
| license = ''Permissive free software'' |
|||
| website = {{URL|tug.org}} |
|||
}} |
|||
{{Infobox file format|name=TeX|icon=|logo=|screenshot=|caption=|extension=.tex|mime=application/x-tex|type code=|uniform type=|magic=|owner=|released={{Start date and age|1978|df=yes}}|latest release version=|latest release date=|genre=[[Format berkas dokumen]]|container for=|contained by=|extended from=|extended to=|standard=|url=}} |
|||
'''TeX''', juga ditulis sebagai <span class="texhtml" style="font-family: 'CMU Serif', cmr10, LMRoman10-Regular, 'Latin Modern Math', 'Nimbus Roman No9 L', 'Times New Roman', Times, serif;">T<span style="text-transform: uppercase; vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; line-height: 1ex;">e</span>X</span>, sistem [[typesetting]] (penyusunan huruf) yang dirancang dan ditulis oleh [[Donald Knuth]],<ref>{{cite web|title=Per Bothner (attendee at TeX Project meetings) discusses authorship|url=https://gcc.gnu.org/ml/java/1999-q2/msg00419.html|quote=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.}}</ref> dan pertama kali dirilis pada tahun 1978. TeX adalah cara populer untuk menyusun [[Notasi matematika|rumus matematika]] yang kompleks; TeX telah dicatat sebagai salah satu sistem tipografi digital yang paling canggih.<ref>Yannis Haralambous. ''Fonts & Encodings (Translated by P. Scott Horne)''. Beijing; Sebastopol, Calif: O’Reilly Media, 2007, pp. 235.</ref> |
|||
TeX banyak digunakan dalam dunia [[akademi]]s, terutama dalam [[matematika]], [[ilmu komputer]], [[ekonomi]], [[ilmu politik]], [[Rekayasa|teknik]], [[linguistik]], [[fisika]], [[statistika]], dan [[psikologi kuantitatif]]. TeX telah lama menggantikan [[Troff|troff Unix]],{{efn|Meskipun ''troff'' masih tetap digunakan sebagai formatter default dari dokumentasi UNIX.}} 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. |
|||
==See also== |
|||
*[[LaTeX]] |
|||
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 [[Fon komputer|font]] dan keluarga ''[[Rupa huruf|typeface]]'' [[Computer Modern]]).<ref>{{cite journal|last=Gaudeul|first=Alexia|date=27 March 2006|title=Do Open Source Developers Respond to Competition?: The (La)TeX Case Study|ssrn=908946}}</ref> 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,<ref>{{cite web|last1=Knuth|first1=Donald E|title=Less brief biography|url=http://www-cs-faculty.stanford.edu/~uno/vita.html|website=Don Knuth's Home Page|access-date=9 January 2017}}</ref> buku ini diketik dengan menggunakan ''[[hot metal typesetting]]'' pada [[Sistem Monotype|mesin Monotype]]. Metode ini, yang berasal dari abad ke-19, menghasilkan "gaya klasik" yang disukai oleh Knuth.<ref name="Knuth Kyoto 1996">{{cite web|last1=Knuth|first1=Donald E|title=Commemorative lecture of the Kyoto Prize, 1996|url=https://www.kyotoprize.org/wp/wp-content/uploads/2016/02/12kA_lct_EN.pdf|publisher=[[Kyoto Prize]]|archive-url=https://web.archive.org/web/20180127194502/http://www.kyotoprize.org/wp/wp-content/uploads/2016/02/12kA_lct_EN.pdf|archive-date=27 January 2018|access-date=18 August 2018|url-status=dead}}</ref> 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.<ref>{{Citation|first=Donald Ervin|last=Knuth|url=https://www.saildart.org/TEXDR.AFT[1,DEK]1|archive-url=https://web.archive.org/web/20150112075949/https://www.saildart.org/TEXDR.AFT%5B1%2CDEK%5D1#91;1,DEK]1|url-status=dead|archive-date=2015-01-12|title=TEXDR.AFT}}</ref> |
|||
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'' ([[Masukan/keluaran|I/O]]) TeX untuk dijalankan di sistem operasi [[Incompatible Timesharing System]] (ITS). Versi pertama TeX, yang disebut TeX78, ditulis dalam [[SAIL (bahasa pemrograman)|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 (bahasa pemrograman)|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 ''[[Aritmetika titik tetap|fixed-point]]'', bukan [[Aritmetika titik kambang|''floating-point'']], untuk memastikan hasil yang sama di berbagai perangkat keras komputer yang berbeda,{{sfn|Knuth|Plass|1981|p=144}} dan menyertakan bahasa pemrograman [[Turing-lengkap]] yang nyata, setelah lobi intens oleh Guy Steele.<ref>Knuth, Donald E. ''[http://maps.aanhet.net/maps/pdf/16_15.pdf Knuth meets NTG members]'', NTG: MAPS. '''16''' (1996), 38–49. Reprinted as ''Questions and Answers, III'', chapter 33 of ''Digital Typography'', p. 648.</ref> Pada tahun 1989, Donald Knuth merilis versi baru TeX dan [[Metafont]].<ref>Knuth, Donald E. [http://www.tug.org/TUGboat/Articles/tb10-3/tb25knut.pdf ''The New Versions of TeX and METAFONT''], TUGboat '''10''' (1989), 325–328; '''11''' (1990), 12. Reprinted as chapter 29 of ''Digital Typography''.</ref> 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 [[Pi|{{pi}}]]. 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.<ref>{{cite web|title=TeX 21 release|url=http://ftp.cs.stanford.edu/pub/tex/tex21.tar.gz|access-date=2022-01-05}}</ref> 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 (komputer)|kutu]].<ref name=":1">{{Cite web|date=2018-05-27|title=What is the future of TeX?|url=https://texfaq.org/FAQ-TeXfuture|website=The TeX FAQ|archive-url=https://web.archive.org/web/20190428184722/https://texfaq.org/FAQ-TeXfuture|archive-date=28 April 2019|access-date=2019-07-21|url-status=dead}}</ref> 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 {{pi}}, di mana semua bug yang tersisa akan menjadi fitur.<ref>Knuth, Donald E. [http://www.ntg.nl/maps/05/34.pdf ''The future of TeX and METAFONT''], NTG journal MAPS (1990), 489. Reprinted as chapter 30 of ''Digital Typography'', p. 571.</ref> Demikian juga, versi Metafont setelah 2.0 secara asimtotik mendekati {{math|[[E (mathematical constant)|''e'']]}} (saat ini di 2.7182818), dan perubahan serupa akan diterapkan setelah kematian Knuth.<ref name=":1" /> |
|||
=== 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 (TeX)|Omega]] dikembangkan setelah tahun 1991, terutama untuk meningkatkan kemampuan typesetting multibahasa TeX.<ref>{{Cite web|date=2018-05-24|title=TeX Engine development|url=https://texfaq.org/FAQ-enginedev|website=The TeX FAQ|archive-url=https://web.archive.org/web/20190428184859/https://texfaq.org/FAQ-enginedev|archive-date=28 April 2019|access-date=2019-07-21|url-status=dead}}</ref> 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 oleh [[Addison-Wesley]], [[Cambridge University Press]], [[Elsevier]], [[Oxford University Press]], dan [[Springer Science+Business Media|Springer]]. Banyak jurnal di bidang ini diproduksi menggunakan TeX atau LaTeX, yang memungkinkan penulis untuk mengirimkan naskah mentah mereka yang ditulis dalam TeX.{{sfn|Beebe|2004|p=10}} 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),<ref name="autogenerated1">{{Citation|last1=Knuth|first1=Donald E|title=Mixing Right-to-Left Texts with Left-to-Right Texts|date=1987|url=http://www.tug.org/TUGboat/Articles/tb08-1/tb17knutmix.pdf|journal=TUGboat|volume=8|pages=14–25|last2=MacKay|first2=Pierre}}. Reprinted as {{Cite book|last1=Bigelow|first1=Charles|last2=Day|first2=Donald|year=1983|title=Digital Typography|journal=Scientific American|volume=249|page=106|chapter=Chapter 4|bibcode=1983SciAm.249b.106B|doi=10.1038/scientificamerican0883-106|issue=2}}</ref> kebanyakan orang telah memperluas TeX hanya dengan menggunakan makro dan TeX tetap menjadi sistem yang terkait dengan penyusunan huruf teknis.<ref>{{Citation|last=Knuth|first=Donald E|title=Questions and Answers II|date=1996|journal=TUGboat|volume=17|pages=355–367}}. Reprinted as {{Cite book|last1=Bigelow|first1=Charles|last2=Day|first2=Donald|year=1983|title=Digital Typography|journal=Scientific American|volume=249|pages=616–617|chapter=Chapter 32|bibcode=1983SciAm.249b.106B|doi=10.1038/scientificamerican0883-106|issue=2}}</ref><ref>{{Citation|last=Knuth|first=Donald E|title=Questions and Answers I|date=1996|journal=TUGboat|volume=17|pages=7–22}}. Reprinted as {{Cite book|last1=Bigelow|first1=Charles|last2=Day|first2=Donald|year=1983|title=Digital Typography|journal=Scientific American|volume=249|page=598|chapter=Chapter 31|bibcode=1983SciAm.249b.106B|doi=10.1038/scientificamerican0883-106|issue=2}}</ref> |
|||
== Sistem penyusunan huruf == |
|||
Perintah TeX biasanya dimulai dengan [[garis miring terbalik]] dan dikelompokkan dengan [[Tanda kurung|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 [[Analisis leksikal#Token|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.<ref>{{Citation|first=Alan|last=Jeffrey|url=http://tug.org/TUGboat/Articles/tb11-2/tb28jeffrey.pdf|title=Lists in TeX's Mouth|journal=TUGboat|volume=11|number=2|date=1990|pages=237–45}}</ref> 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'' [[Format berkas DVI|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.<ref>{{Cite web|title=CTAN: Package pdftex|url=https://ctan.org/pkg/pdftex?lang=en|website=ctan.org|access-date=2019-07-21}}</ref> Sistem TeX dasar memahami sekitar 300 perintah, yang disebut ''primitif''.{{Sfn|Knuth|1984|p=9}} 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.<ref>{{citation|title=Plain TeX|type=source code|url=ftp://tug.ctan.org/pub/tex-archive/systems/knuth/dist/lib/plain.tex|publisher=CTAN}}</ref> 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, <code>amsmath</code>, <code>amssymb</code>) dan "kelas dokumen AMS" (misalnya, <code>amsart</code>, <code>amsbook</code>). Hal ini kemudian disebut sebagai [[AMS-LaTeX]].<ref>{{Cite web|date=2018-05-27|title=What are the AMS packages (amsmath, etc.)?|url=https://texfaq.org/FAQ-AMSpkg|website=The TeX FAQ|archive-url=https://web.archive.org/web/20190428184756/https://texfaq.org/FAQ-AMSpkg|archive-date=28 April 2019|access-date=2019-07-21|url-status=dead}}</ref> Format lain termasuk [[ConTeXt]], yang digunakan terutama untuk penerbitan desktop dan sebagian besar ditulis oleh Hans Hagen di [[PRAGMA Advanced Document Engineering|Pragma]]. |
|||
=== Cara kerja === |
|||
[[Berkas:LaTeX sample.png|jmpl|Contoh halaman yang dihasilkan dengan TeX dengan makro [[LaTeX]].]] |
|||
Contoh program [[Hello world]] dalam TeX biasa adalah:<syntaxhighlight lang="latex"> |
|||
Hello, World |
|||
\bye % menandai akhir file; tidak ditampilkan dalam output akhir |
|||
</syntaxhighlight>Teks program ini mungkin berada dalam file ''myfile.tex'', karena ''.tex'' adalah ekstensi file yang umum untuk file TeX biasa. Secara default, semua yang mengikuti tanda persen pada suatu baris adalah komentar, dan diabaikan oleh TeX. Menjalankan TeX pada file ini (misalnya, dengan mengetik <kbd>tex myfile.tex</kbd> dalam [[antarmuka baris perintah]], atau dengan memanggilnya dari [[antarmuka pengguna grafis]]) akan membuat file output yang disebut ''myfile.dvi'', yang mewakili konten halaman dalam format independen perangkat (DVI, '''''d'''e'''v'''ice '''i'''ndependent format''). File DVI kemudian dapat dilihat di layar atau dikonversi ke format yang sesuai untuk salah satu dari berbagai printer yang driver perangkatnya ada (dukungan printer umumnya bukan fitur sistem operasi pada saat TeX dibuat). Knuth mengatakan bahwa tidak ada yang melekat pada TeX yang membutuhkan DVI sebagai format output, dan versi TeX yang lebih baru, terutama [[pdfTeX]], [[XeTeX]] dan [[LuaTeX]], semuanya mendukung output langsung ke [[PDF]]. |
|||
=== Contoh matematika === |
|||
(''Contoh-contoh di sini tidak benar-benar di-''render ''dengan TeX; jarak spasi, ukuran karakter, dan yang lainnya mungkin berbeda''). |
|||
TeX menyediakan sintaks teks yang berbeda khusus untuk rumus matematika. Misalnya, [[rumus kuadrat]] (yang merupakan solusi dari [[persamaan kuadrat]]) ditulis:{{markup|<syntaxhighlight lang="latex"> |
|||
Rumus kuadrat adalah $-b \pm \sqrt{b^2 - 4ac} \over 2a$ |
|||
\bye |
|||
</syntaxhighlight>|<math>\hbox{Rumus kuadrat adalah } \textstyle{-b \pm \sqrt{b^2 - 4ac} \over 2a}</math>}}Rumus dicetak dengan cara seseorang akan menulisnya dengan tangan, atau dengan mengetik persamaan. Dalam dokumen, ''mode matematika'' dimulai dengan simbol $, kemudian memasukkan rumus dalam sintaks TeX, dan ditutup lagi dengan $. Knuth menjelaskan dengan bercanda bahwa dia memilih tanda dolar untuk menunjukkan awal dan akhir mode matematika di TeX biasa karena ''typesetting'' matematika secara tradisional seharusnya mahal.{{Sfn|Knuth|1984|loc=Ch. 16: Typing Math Formulas|p=127}} ''Tampilan matematika'' (matematika yang disajikan rata-tengah pada baris baru) dihasilkan dengan cara serupa tetapi menggunakan $$ bukan simbol $ tunggal. Sebagai contoh, di atas dengan rumus kuadratik dalam tampilan matematika:{{markup|<syntaxhighlight lang="latex"> |
|||
The quadratic formula is $$-b \pm \sqrt{b^2 - 4ac} \over 2a$$ |
|||
\bye |
|||
</syntaxhighlight>|<math>\hbox{The quadratic formula is}\,</math>{{center|1=<math>-b \pm \sqrt{b^2 - 4ac} \over 2a</math>}}}} |
|||
== Aspek == |
|||
Perangkat lunak TeX menggabungkan beberapa aspek yang tidak tersedia, atau kualitasnya lebih rendah, dalam program penyusunan huruf (''typesetting'') lainnya pada saat TeX dirilis. Beberapa inovasi didasarkan pada [[algoritma]] yang menarik, dan telah menghasilkan beberapa tesis untuk mahasiswa Knuth. Walaupun beberapa penemuan ini sekarang telah disertakan ke dalam program ''typesetting'' lainnya; yang lain, seperti aturan untuk spasi matematis, masih unik. |
|||
=== Spasi matematika === |
|||
[[Berkas:AMS Euler sample math.svg|ka|jmpl|280x280px|Pengetikan teks matematika menggunakan TeX dan font [[AMS Euler]].]] |
|||
Karena tujuan utama dari bahasa TeX adalah penyusunan huruf berkualitas tinggi untuk penerbit buku, Knuth memberikan banyak perhatian pada aturan spasi untuk rumus matematika.<ref>{{citation|title=Portraits in Silicon|first=Robert|last=Slater|publisher=MIT Press|date=1989|isbn=9780262691314|page=349|url=https://books.google.com/books?id=aWTtMyYmKhUC&pg=PA349}}</ref><ref>{{citation|title=Digital Typography Using LaTeX|first1=Apostolos|last1=Syropoulos|first2=Antonis|last2=Tsolomitis|first3=Nick|last3=Sofroniou|publisher=Springer|date=2003|isbn=9780387952178|url=https://books.google.com/books?id=LLYYisjrFdEC&pg=PA92|page=93}}</ref> Dia mengambil tiga sistem yang dia anggap sebagai standar keunggulan untuk tipografi matematika: buku-buku yang disusun oleh penerbit [[Addison-Wesley Publishing]] (penerbit ''The Art of Computer Programming'') di bawah pengawasan [[Hans Wolf]]; edisi jurnal matematika ''[[Acta Mathematica]]'' yang berasal dari sekitar tahun 1910; dan salinan ''[[Indagationes Mathematicae]]'', sebuah jurnal matematika [[Belanda]]. Knuth mencermati kertas-kertas cetak ini untuk memilah dan mencari seperangkat aturan untuk spasi.<ref>{{Citation|last=Knuth|first=Donald E|title=Questions and Answers II|journal=TUGboat|volume=17|date=1996|pages=355–367}}. Reprinted as {{Cite book|last1=Bigelow|first1=Charles|last2=Day|first2=Donald|year=1983|title=Digital Typography|journal=Scientific American|volume=249|pages=620–624|chapter=Chapter 32|bibcode=1983SciAm.249b.106B|doi=10.1038/scientificamerican0883-106|issue=2}}</ref> Sementara TeX menyediakan beberapa aturan dasar dan alat yang diperlukan untuk menentukan spasi yang tepat, parameter yang-tepat bergantung pada font yang digunakan untuk mengeset rumus. Misalnya, jarak spasi untuk font [[Computer Modern]] telah disetel dengan tepat selama bertahun-tahun dan sekarang sudah diatur; tetapi ketika font lain digunakan oleh Knuth untuk pertama kalinya (seperti [[AMS Euler]]), parameter jarak spasi baru harus ditentukan.<ref>Knuth, Donald E. [http://www.tug.org/TUGboat/Articles/tb10-1/tb23knut.pdf ''Typesetting Concrete Mathematics''], TUGboat '''10''' (1989), pp. 31–36, 342. Reprinted as chapter 18 of ''Digital Typography'', pp. 367–378.</ref> |
|||
Penyusunan huruf matematika di TeX menuai beberapa kritik, terutama yang berkaitan dengan detail teknis metrik font, yang dirancang di era ketika perhatian yang signifikan diperlukan pada persyaratan penyimpanan data. Hal ini mengakibatkan beberapa "hack" di beberapa lokasi, yang pada gilirannya membutuhkan "hack" lainnya. Pada tingkat estetika, hasil ''render'' bentuk akar (''radical'') juga dikritik.<ref>Ulrik Vieth (2001) [http://www.ntg.nl/maps/26/27.pdf Math typesetting in TEX: The good, the bad, the ugly]</ref> Spesifikasi font matematika [[OpenType]] sebagian besar meminjam dari TeX, tetapi memiliki beberapa fitur/peningkatan baru.<ref>{{cite web|title=High-Quality Editing and Display of Mathematical Text in Office 2007|url=http://blogs.msdn.com/b/murrays/archive/2006/09/13/752206.aspx}}</ref><ref>{{cite web|title=Map|url=http://www.ntg.nl/maps/38/03.pdf|website=ntg.nl}}</ref><ref>{{cite web|title=LineServices|url=http://blogs.msdn.com/b/murrays/archive/2006/11/15/lineservices.aspx}}</ref> |
|||
== Lihat pula == |
|||
{{div col|colwidth=22em}} |
|||
* [[LaTeX]] |
|||
* [[MathTime]] |
|||
* [[PGF/TikZ]] |
|||
* [[PSTricks]] |
|||
* [[MakeIndex]] |
|||
* [[xdvi]] – Sebuah program untuk melihat berkas .dvi |
|||
{{div col end}}{{Portal bar|Free and open-source software|Mathematics}} |
|||
== Catatan kaki == |
|||
{{notelist}}{{reflist|group=Note}} |
|||
== Referensi == |
|||
{{reflist}} |
|||
=== Sumber === |
|||
{{Refbegin|30em}} |
|||
* {{Citation|first=Nelson HF|last=Beebe|url=http://www.tug.org/TUGboat/Articles/tb25-1/beebe-2003keynote.pdf|title=25 Years of TeX and METAFONT: Looking Back and Looking Forward|journal=TUGboat|volume=25|date=2004|pages=7–30}}. |
|||
* {{Citation|first=Donald Ervin|last=Knuth|title=The TeXbook|series=[[Computers and Typesetting]]|volume=A|place=Reading, [[Massachusetts|MA]]|publisher=Addison-Wesley|date=1984|isbn=0-201-13448-9|url-access=registration|url=https://archive.org/details/texbook00dona}}. The [http://www.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex source code of the book in TeX] (and a needed set of macros [ftp://tug.ctan.org/pub/tex-archive/systems/knuth/dist/lib/manmac.tex]) 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. |
|||
* {{Citation|first=Donald Ervin|last=Knuth|author-mask=3|title=TeX: The Program|series=Computers and Typesetting|volume=B|place=Reading, [[Massachusetts|MA]]|publisher=Addison-Wesley|date=1986|isbn=0-201-13437-3|url-access=registration|url=https://archive.org/details/texprogram00knut}}. The full source code of TeX; also [ftp://tug.ctan.org/pub/tex-archive/systems/knuth/dist/tex/tex.web available] on [[CTAN]]. Being written using [[literate programming]], it contains plenty of human-readable documentation. |
|||
* {{Citation|first=Donald Ervin|last=Knuth|author-mask=3|title=Digital Typography|series=Lecture notes|number=78|publisher=Center for the Study of Language and Information|date=1999|isbn=1-57586-010-4|url-access=registration|url=https://archive.org/details/digitaltypograph0000knut}}. |
|||
* {{Citation|first1=Donald Ervin|last1=Knuth|author-mask=3|first2=Michael F|last2=Plass|title=Breaking Paragraphs into Lines|journal=Software: Practice and Experience|volume=11|date=1981|issue=11|pages=1119–84|doi=10.1002/spe.4380111102|s2cid=206508107}}. Reprinted as {{Cite book|last1=Bigelow|first1=Charles|last2=Day|first2=Donald|year=1983|title=Digital Typography|journal=Scientific American|volume=249|pages=67–155|chapter=Chapter 3|bibcode=1983SciAm.249b.106B|doi=10.1038/scientificamerican0883-106|issue=2}}. |
|||
* {{Citation|first=Donald Ervin|last=Knuth|author-mask=3|url=http://www.tex.ac.uk/ctan/systems/knuth/dist/tex/|title=TeX|type=source code|format=[[WEB]]|url-status=dead|archive-url=https://web.archive.org/web/20110927042518/http://www.tex.ac.uk/ctan/systems/knuth/dist/tex/|archive-date=27 September 2011}} contains extensive documentation about the algorithms used in TeX. |
|||
* {{Citation|first=Leslie|last=Lamport|author-link=Leslie Lamport|title=[[LaTeX]]: A Document Preparation System|place=Reading, [[Massachusetts|MA]]|publisher=Addison-Wesley|edition=2nd|date=1994|isbn=0-201-52983-1}}. |
|||
* {{Citation|first=Franklin Mark|last=Liang|url=http://www.tug.org/docs/liang/|title=Word Hy-phen-a-tion by Com-put-er|type=[[PhD]] thesis|publisher=Department of Computer Science, [[Stanford University]]|date=August 1983}}. |
|||
* {{Citation|first=David|last=Salomon|title=The Advanced TeXbook|publisher=Springer|date=1995|bibcode=1995adte.book.....S|isbn=0-387-94556-3}}. |
|||
* {{Citation|first=MD|last=Spivak|title=The Joy of TeX|edition=2nd|publisher=American Mathematical Society|date=1990|isbn=0-8218-2997-1|type=reference}} on AMS-TeX. |
|||
* {{Citation|first=Michael|last=Vulis|url=https://books.google.com/books?id=UfUdto-Sz9QC|title=Modern TeX and Its Applications|publisher=CRC Press|date=1992|isbn=0-8493-4431-X}}. |
|||
{{Refend}} |
|||
== Pranala luar == |
== Pranala luar == |
||
{{Sisterlinks|b=TeX|commons=TeX|d=Q5301|voy=no|s=no|species=no|n=no|m=no|mw=no|q=no}} |
|||
* {{en}} [http://www.csit.fsu.edu/~mimi/tex/tex-refcard-letter.pdf Plain TeX Quick Reference (PDF)] |
|||
* [http://www.tug.org/ TeX Users' Group] |
|||
[[Category:TeX]] |
|||
* {{Citation|url=https://tex.stackexchange.com/|title=TeX|type=questions and answers|publisher=StackExchange}}. |
|||
{{computer-stub}} |
|||
* Eijkhout, Victor. [http://www.eijkhout.net/tbt/ ''TeX by Topic''] {{Webarchive|url=https://web.archive.org/web/20210225003039/http://www.eijkhout.net/tbt/|date=25 February 2021}} |
|||
* [http://ftp.gwdg.de/pub/ctan/info/impatient/book.pdf ''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 |
|||
{{TeX navbox|state=expanded}}{{Authority control}} |
|||
[[ |
[[Kategori:TeX| ]] |
||
[[cs:TeX]] |
|||
[[da:TeX]] |
|||
[[de:TeX]] |
|||
[[en:TeX]] |
|||
[[eo:TeX]] |
|||
[[es:TeX]] |
|||
[[fr:TeX]] |
|||
[[hu:TeX]] |
|||
[[it:TeX]] |
|||
[[ja:TeX]] |
|||
[[ko:TeX]] |
|||
[[lt:Tex]] |
|||
[[nl:TeX]] |
|||
[[oc:TeX]] |
|||
[[pl:TeX]] |
|||
[[pt:TeX]] |
|||
[[ru:TeX]] |
|||
[[sl:TeX]] |
|||
[[sr:TeX]] |
|||
[[sv:TeX]] |
|||
[[uk:TeX (мова програмування)]] |
|||
[[vi:TeX]] |
|||
[[zh:TeX]] |
Revisi terkini sejak 2 Juli 2024 10.04
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
[sunting | sunting sumber]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
[sunting | sunting sumber]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
[sunting | sunting sumber]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
[sunting | sunting sumber]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
[sunting | sunting sumber]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 oleh Addison-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
[sunting | sunting sumber]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.
Cara kerja
[sunting | sunting sumber]Contoh program Hello world dalam TeX biasa adalah:
Hello, World
\bye % menandai akhir file; tidak ditampilkan dalam output akhir
Teks program ini mungkin berada dalam file myfile.tex, karena .tex adalah ekstensi file yang umum untuk file TeX biasa. Secara default, semua yang mengikuti tanda persen pada suatu baris adalah komentar, dan diabaikan oleh TeX. Menjalankan TeX pada file ini (misalnya, dengan mengetik tex myfile.tex dalam antarmuka baris perintah, atau dengan memanggilnya dari antarmuka pengguna grafis) akan membuat file output yang disebut myfile.dvi, yang mewakili konten halaman dalam format independen perangkat (DVI, device independent format). File DVI kemudian dapat dilihat di layar atau dikonversi ke format yang sesuai untuk salah satu dari berbagai printer yang driver perangkatnya ada (dukungan printer umumnya bukan fitur sistem operasi pada saat TeX dibuat). Knuth mengatakan bahwa tidak ada yang melekat pada TeX yang membutuhkan DVI sebagai format output, dan versi TeX yang lebih baru, terutama pdfTeX, XeTeX dan LuaTeX, semuanya mendukung output langsung ke PDF.
Contoh matematika
[sunting | sunting sumber](Contoh-contoh di sini tidak benar-benar di-render dengan TeX; jarak spasi, ukuran karakter, dan yang lainnya mungkin berbeda).
TeX menyediakan sintaks teks yang berbeda khusus untuk rumus matematika. Misalnya, rumus kuadrat (yang merupakan solusi dari persamaan kuadrat) ditulis:
Markah | Hasil akhir |
---|---|
|
|
Rumus dicetak dengan cara seseorang akan menulisnya dengan tangan, atau dengan mengetik persamaan. Dalam dokumen, mode matematika dimulai dengan simbol $, kemudian memasukkan rumus dalam sintaks TeX, dan ditutup lagi dengan $. Knuth menjelaskan dengan bercanda bahwa dia memilih tanda dolar untuk menunjukkan awal dan akhir mode matematika di TeX biasa karena typesetting matematika secara tradisional seharusnya mahal.[23] Tampilan matematika (matematika yang disajikan rata-tengah pada baris baru) dihasilkan dengan cara serupa tetapi menggunakan $$ bukan simbol $ tunggal. Sebagai contoh, di atas dengan rumus kuadratik dalam tampilan matematika:
Markah | Hasil akhir |
---|---|
|
|
Aspek
[sunting | sunting sumber]Perangkat lunak TeX menggabungkan beberapa aspek yang tidak tersedia, atau kualitasnya lebih rendah, dalam program penyusunan huruf (typesetting) lainnya pada saat TeX dirilis. Beberapa inovasi didasarkan pada algoritma yang menarik, dan telah menghasilkan beberapa tesis untuk mahasiswa Knuth. Walaupun beberapa penemuan ini sekarang telah disertakan ke dalam program typesetting lainnya; yang lain, seperti aturan untuk spasi matematis, masih unik.
Spasi matematika
[sunting | sunting sumber]Karena tujuan utama dari bahasa TeX adalah penyusunan huruf berkualitas tinggi untuk penerbit buku, Knuth memberikan banyak perhatian pada aturan spasi untuk rumus matematika.[24][25] Dia mengambil tiga sistem yang dia anggap sebagai standar keunggulan untuk tipografi matematika: buku-buku yang disusun oleh penerbit Addison-Wesley Publishing (penerbit The Art of Computer Programming) di bawah pengawasan Hans Wolf; edisi jurnal matematika Acta Mathematica yang berasal dari sekitar tahun 1910; dan salinan Indagationes Mathematicae, sebuah jurnal matematika Belanda. Knuth mencermati kertas-kertas cetak ini untuk memilah dan mencari seperangkat aturan untuk spasi.[26] Sementara TeX menyediakan beberapa aturan dasar dan alat yang diperlukan untuk menentukan spasi yang tepat, parameter yang-tepat bergantung pada font yang digunakan untuk mengeset rumus. Misalnya, jarak spasi untuk font Computer Modern telah disetel dengan tepat selama bertahun-tahun dan sekarang sudah diatur; tetapi ketika font lain digunakan oleh Knuth untuk pertama kalinya (seperti AMS Euler), parameter jarak spasi baru harus ditentukan.[27]
Penyusunan huruf matematika di TeX menuai beberapa kritik, terutama yang berkaitan dengan detail teknis metrik font, yang dirancang di era ketika perhatian yang signifikan diperlukan pada persyaratan penyimpanan data. Hal ini mengakibatkan beberapa "hack" di beberapa lokasi, yang pada gilirannya membutuhkan "hack" lainnya. Pada tingkat estetika, hasil render bentuk akar (radical) juga dikritik.[28] Spesifikasi font matematika OpenType sebagian besar meminjam dari TeX, tetapi memiliki beberapa fitur/peningkatan baru.[29][30][31]
Lihat pula
[sunting | sunting sumber]Catatan kaki
[sunting | sunting sumber]- ^ Meskipun troff masih tetap digunakan sebagai formatter default dari dokumentasi UNIX.
Referensi
[sunting | sunting sumber]- ^ "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.
- ^ Knuth 1984, hlm. 127, Ch. 16: Typing Math Formulas.
- ^ Slater, Robert (1989), Portraits in Silicon, MIT Press, hlm. 349, ISBN 9780262691314
- ^ Syropoulos, Apostolos; Tsolomitis, Antonis; Sofroniou, Nick (2003), Digital Typography Using LaTeX, Springer, hlm. 93, ISBN 9780387952178
- ^ 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. 620–624. Bibcode:1983SciAm.249b.106B. doi:10.1038/scientificamerican0883-106.
- ^ Knuth, Donald E. Typesetting Concrete Mathematics, TUGboat 10 (1989), pp. 31–36, 342. Reprinted as chapter 18 of Digital Typography, pp. 367–378.
- ^ Ulrik Vieth (2001) Math typesetting in TEX: The good, the bad, the ugly
- ^ "High-Quality Editing and Display of Mathematical Text in Office 2007".
- ^ "Map" (PDF). ntg.nl.
- ^ "LineServices".
Sumber
[sunting | sunting 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
[sunting | sunting sumber]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