**LaTeX**  — turli xil koʻrinishdagi hujjatlarni yaratish va tahrirlash uchun moʻljallangan makropaket boʻlib, TeX dasturi asosida ishlaydi. Shuningdek, nashriyot tizimlarida ham qoʻllaniladi.

Ushbu paket yordamida turli koʻrinishdagi maqolalar, hisobotlar, taqdimotlar, bundan tashqari butun boshli kitoblarni yozish mumkin. Unda turli matematik formulalarni yozish juda qulay, shuningdek, jadvallar yaratish, havolalar bilan ishlash, raqamli va belgili roʻyxatlar hosil qilish kabi amallar avtomatlashtirilgan. Bundan tashqari, yana boshqa qoʻshimcha paketlar ham bor boʻlib, ularning yordamida hujjat yaratish birmuncha oson va qiziqarli koʻrinishga keladi.

Paketning ilk versiyasi 1984-yilda Lesli Lemport tomonidan ishlab chiqilgan. Hozirgi versiyasi *LaTeX2ε* deb nomlangan boʻlib, 1994-yilda yaratilgan.

Ushbu paket yordamida yaratilgan fayl kengaytmasi *\*.tex* kengaytmaga ega boʻladi.

Hozirgi kunda zamonaviy analitik sistemalar, masalan, Maple, Mathematica, Maxima yoki Reduce kabilarda yaratilgan hujjatni \*.tex formatga oʻtkazish imkoniyati mavjud.

Wikipediada ham matematik formulalarni chop etish uchun aynan TeX sintaksisidan foydalaniladi.

Imkoniyatlari
-------------

Umuman olganda, dastur imkoniyatlari cheklanmagan (yangi makroslarni dasturlash imkoniyati tufayli). Quyida uning CTAN serveridan yuklab olish mumkin boʻlgan imkoniyatlari keltirilgan:

* Hujjatni tarkibiy qismlarga ajratish;
* Xatboshi, soʻzlar orasidagi boʻsh joylarni avtomatik aniqlash;
* Graflar, diagramma va sxemalarni chop etish;
* Organik kimyo va Noorganik kimyoga tegishli kimyoviy formulalar va molekulyar bogʻlanishlarni tasvirlash;
* Matematik formulalar, tenglamalar, tenglamalar sistemasi, operatorlarni tasvirlash;
* Bibliografiyalar hosil qilish va ularni tahrirlash;
* Formula, rasm, jadvallar uchun havolalar yaratish va tahrirlash;

va hokazo.

Hujjat tuzilishi
----------------

Qaysidir maʼnoda, LaTeXda hujjat yaratishni dasturlashga oʻxshatish mumkin. Chunki, unda yaratilgan hujjat — bu turli buyruq va operatorlarning ketma-ketligi koʻrinishidagi fayl. Hujjatning oʻzi *preambula* va *asosiy qism* ga boʻlinadi.

Preambulada yaratilayotgan hujjatning toifasi, sahifa oʻlchamlari, ishlatiladigan paketlar roʻyxati, hujjat muallifi, yaratilgan sana va boshqalar aniqlanadi. Masalan, preambulaning koʻrinishi quyidagicha boʻlishi mumkin: (LaTeX da izohlar % belgisi yordamida beriladi):

```
\documentclass[14pt]{article}%Yaratiladigan hujjat maqola koʻrinishida, 14 pt shriftda yoziladi
\usepackage{amsmath}%Matematik formulalarni yozish uchun foydalaniladigan paket
\usepackage[russian]{babel}%Kirill harflarini aks ettirish uchun moʻljallangan maxsus paket
\usepackage{geometry}%Sahifa oʻlchamlarini belgilash uchun paket
\geometry{
          top=2cm,
          bottom=2cm,
          left=3cm,
          right=2cm}
\title{LaTeX}%Maqola sarlavhasi
\date{\today}%Maqola yaratilgan vaqt (boshqa sanani oʻrnatish uchun esa '12.12.2012' deb yozish mumkin)

```

Hujjatning asosiy qismi `\begin{document}` va `\end{document}` buyruqlari orasida yoziladi. Masalan,

```
\begin{document}
\textbf{LaTeX} — turli xil koʻrinishdagi hujjatlarni yaratish va tahrirlash uchun moʻljallangan makropaket boʻlib, TeX dasturi asosida ishlaydi. 

Shuningdek, nashriyot tizimlarida ham qoʻllaniladi.

Ushbu paket yordamida turli koʻrinishdagi maqolalar, hisobotlar, taqdimotlar, bundan tashqari butun boshli kitoblarni yozish mumkin. 

Unda turli matematik formulalarni yozish juda qulay, shuningdek, jadvallar yaratish, havolalar bilan ishlash, raqamli va belgili roʻyxatlar hosil qilish kabi amallar avtomatlashtirilgan.

Bundan tashqari, yana boshqa qoʻshimcha paketlar ham bor boʻlib, ularning yordamida hujjat yaratish birmuncha oson va qiziqarli koʻrinishga keladi.
\end{document}

```

Misol
-----


| LaTeX da yozilgan kod | Natija |
| --- | --- |
| 
```
\documentclass[12pt]{report}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{geometry}
\geometry{
		paperheight=29.7cm,
		paperwidth=21cm,
		left=3cm,
		right=2cm,
		top=2.5cm,
		bottom=2cm,
		}
		\begin{document}
 Frenelning sinus integrali
		\begin{equation}
		S(x)=\frac{1}{\sqrt{2\pi}}\int\_{0}^{x}\frac{sint}{\sqrt{t}}dt
		\end{equation}

		 Frenelning kosinus integrali
		\begin{equation}
		C(x)=\frac{1}{\sqrt{2\pi}}\int\_{0}^{x}\frac{cost}{\sqrt{t}}dt
		\end{equation}

		 Sinus integral
		\begin{equation}
		si(x)=-\int\_{x}^{\infty}\frac{sint}{t}dt
		\end{equation}

Kosinus integral
\begin{equation}
ci(x)=-\int\_{x}^{\infty}\frac{cost}{t}dt
\end{equation}

Eulerning dilogarifmik integrali
\begin{equation}
Li\_{2}(x)=-\int\_{0}^{x}\frac{ln(1-x)}{x}dx=\sum\_{k=1}^{\infty}\frac{x^{k}}{k^{2}}
\end{equation}

Binomial koeffitsiyentlar
\begin{subequations}
	\begin{equation}
	C\_{n}^{m}=\frac{n!}{m!(n-m)!}
	\end{equation}
	\begin{equation}
	C\_{n}^{0}=1
	\end{equation}
	\begin{equation}
	n!=1\cdot 2\cdot 3 \dots (n-1)\cdot n
	\end{equation}
	\begin{equation}
	(2n)!!=2\cdot 4\cdot 6\dots (2n)=2^{n}n!
	\end{equation}
	\begin{equation}
	(2n+1)!!=1\cdot 3\cdot 5\dots (2n+1)
	\end{equation}
	\begin{equation}
	n!!=\left\{
	\begin{array}{lr}
	(2k)!!, \ \ \ \ \ \ \ n=2k\\
	(2k+1)!!,\ \ n=2k+1
	\end{array} \right.
	\end{equation}
	\begin{equation}
	0!!=(-1)!!=1
	\end{equation}
\end{subequations}

$B\_{n}$ — Bernulli sonlari.

$$B\_{0}=1$$
$$B\_{1}=-\frac{1}{2}$$
$$B\_{2}=\frac{1}{6}$$
$$B\_{4}=-\frac{1}{30}$$
$$B\_{6}=\frac{1}{42}$$
$$B\_{8}=-\frac{1}{30}$$
$$B\_{10}=\frac{5}{66}$$
$$B\_{12}=\frac{691}{2730}$$
$$B\_{2n+1}=0,\ \ \ \ \ n=1,2,3,\dots , $$
\begin{equation}
B\_{n}=\sum\_{k=0}^{n}=C\_{n}^{k}B\_{k}
\end{equation}
\end{document}

```
 |  |

LaTeXda yangi buyruqlar kiritish
--------------------------------

LaTeX asosan ingliz tilida hujjat yaratish uchun mo`ljallangan. Masalan, `\tableofcontents` buyrug`i orqali munadarija hosil qilinadi. Lekin bu buyruq *Table Of Contents* ko`rinishida natijani ekranga chiqaradi. O'zbek tilida hujjat yaratish vaqtida bu noqulayliklarni keltirib chiqaradi. 

Shu va shu kabi noqulayliklarni bartaraf etish uchun `**\renewcommand**` buyrug`i ishlab chiqilgan. Uning yordamida hujjat ko`rinishini o`zgartirish, buyruqlar natijasini o`zimizga moslashtirishimiz mumkin. Masalan bizga *Table Of Contents* emas, "Mundarija" yozuvi chiqib turishi kerak bo`lsin. Buni amalga oshirish uchun quyidagicha yozish mumkin:

`**\renewcommand={\contentsname}{Mundarija}**`

Bundan tashqari, jadval sarlavhasini, foydalanilgan adabiyotlar bandini, sahifa raqamlanish tartibini va boshqa ko`plab parametrlarni o`zgartirish mumkin.

```
\renewcommand{\refname}{Foydalanilgan adabiyotlar} %Adabiyotlar ro`yxati "Foydalanilgan adabiyotlar" ko`rinishida ekranga chiqadi

\renewcommand{\tablename}{jadval} %Jadval nomlanishini o`zgartirish

\renewcommand{\figurename}{rasm} %Rasm nomi "figure 1" ko`rinishida emas, balki "rasm 1" ko`rinishida chiqadi. 

\renewcommand{\arraystretch}{1.8} %Jadval satrlari orasidagi masofani kattalashtirish

```

1. == Tahrirlagichlar ==

* Eclipse + TeXlipse;
* Emacs + AUCTeX + RefTeX + PreviewLaTeX;
* Gummi: Linux;
* Kile: KDE muhiti uchun tahrirlagich;
* LEd;
* LyX — grafik interfeysli matn protsessori;
* Texmaker: Windows, Linux, Mac OS X;
* TeXShop: Mac OS X;
* TeXstudio: Windows, Linux, Mac OS X;

Yana qarang
-----------

* LaTeXda matematik formulalarning yozilishi
* LaTeXda ishlatiladigan belgilar ro'yxati
* LaTeX va MS Word: ustunligi va kamchilliklari

Havolalar
---------

* LaTeX Project(ingl.) — rasmiy sayti
* Dokumentatsiya, qoʻllanmalar va boshq. Wayback Machine saytida arxivlandi (2020-02-17).
* onlayn LaTeX tahrirlagichi