Показ дописів із міткою LaTeX. Показати всі дописи
Показ дописів із міткою LaTeX. Показати всі дописи

субота, 6 грудня 2008 р.

Сервіси: онлайн-редактор формул для LaTeX

Вирішив потроху викладати інформацію про цікаві Інтернет-сервіси. Все ж таки живемо в епоху Web 2.0.

Online LaTeX Equation Editor - це онлайн редактор формул. Для вводу формул використовується формат LaTeX. Також можна використовувати панель інструментів.


Ідеальна штука, якщо вам потрібно, наприклад, надрукувати декілька формул у власному блозі.лицензионные программы

вівторок, 13 травня 2008 р.

Для новачків: розмови про LaTeX

Сьогодні, розмовляючи з колегою на роботі, стикнувся з запитанням: а чому закордонні математичні журнали приймають статті лише у форматі LaTeX? Чому вони не можуть приймати документи у звичному форматі Word? Для чого людям мучитися з якимось там LaTeX-ом якщо те ж саме можна простіше і швидше набрати у Word? Чесно кажучи, мене, як користувача LaTeX з п'ятирічним стажем, ці питання дещо поставили у ступор. Я спробував навести декілька аргументів але побачив лише повне нерозуміння з її боку. Насправді, досить низький рівень комп'ютерної грамотності і тотальна зацикленість наших людей на продуктах Microsoft, навіть в академічному середовищі, справляє іноді гнітюче враження. Це власне й було поштовхом до написання даного посту з серії Для новачків. Тут я спробую максимально простими словами пояснити, що являє собою LaTeX, для якого класу задач його найкраще використовувати, які його переваги та недоліки.

Отже, почати розмову мені хотілося б з невеличкого екскурсу в історію. Я думаю, що багатьом людям які тісно працюють з комп'ютерами відоме ім'я професора Дональда Кнута, автора бестселлера Мистецтво програмування. Саме він, стикнувшись з проблемами при підготовці макету другого видання своєї книги, розробив типографську систему TeX. Систему планувалося завершити ще у 1978 році, проте остаточне завершення TeX розтягнулося ще на 10 років. Проте, не дивлячись на свою потужність, TeX є мовою розмітки досить низького рівня, тому частіше користувачі мають справу з його розширеннями. Одним з таких найпопулярніших розширень є LaTeX, розроблений в 1984 році програмістом Леслі Лемпортом. З тих пір змінилося декілька версій, але ближче до кінця 90-х років синтаксис стабілізувався. Існують версії системи для різноманітних платформ, таких як Linux, Windows, DOS, Mac та ін. Стандарт TeX використовується для експорта документів у багатьох професійних математичних пакетах (Maple, Mathematica, Maxima), а також наприклад для вводу формул у Вікіпедії.

Тепер спробуємо визначити у чому ж сила LaTeX у порівнянні з програмами типу MS Word. Сучасні текстові процесори використовують технологію WISIWYG, що передбачає акцентування уваги на тому як документ буде виглядати після друку. LaTeX є спеціалізованою мовою розмітки націленою на оформлення документів, приблизно так як HTML використовується для стоворення веб-сторінок. Особливістю LaTeX є відокремлення змісту документу і правил його оформлення. Фактично, увага користувача зосереджується на змісті документу і його логічній структурі, а всю роботу по верстанню документу бере на себе комп'ютер базуючись на обраному класі документу (книга, стаття, звіт, лист чи ін.). Крім того, автоматизується не лише розміщення ілюстрацій, робота з таблицями, нумерація формул, але й робота з перехресними посиланнями, бібліографією та ін. З погляду на особливості такого підходу, можна виділити декілька його переваг.

1. Легка зміна оформлення документу. Наприклад якщо першим рядком документу буде команда \documentclass{article}, то ми отримаємо статтю. Тобто документ буде зверстано на одну сторону в одну колонку шрифтом в 10пт. Якщо захочемо зверстати у дві колонки і шрифтом 12пт, то достатньо написати \documentclass[12pt,twocolumn]{article}. Якщо ж ми захочемо перетворити статтю в книгу і відповідно зверстати текст на дві сторони, то потрібно змінити ім'я класу article на book. От і все. Даний підхід насправді є дуже важливим. Наприклад якщо ви пишете статтю для журналу, то вам абсолютно не потрібно думати про шрифти, поля та інші параметри оформлення. Видавництва таких журналів мають вже готові файли з описом класу документу, тому підігнати надісланий текст під задані правила оформлення є справа декількох хвилин.

2. Переносимість результату між різними комп'ютерами. LaTeX компілює tex-файли у переносимі формати, такі як DVI, PS чи PDF, на вибір користувача. Таким чином, підготовлений документ можна понести на інший комп'ютер і роздрукувати на будь-якому принтері будучи впевненим у тому, що документ скрізь буде виглядати однаково.

3. Швидкий спосіб набору математичних формул. WISIWYG інструменти, такі як наприклад Equation в Word, здаються зрусними для новачка і не вимагають багато часу на вивчення, проте серйозно гальмують роботу коли потрібно набирати тексти з великою кількістю формул. У цьому випадку зручна і логічна командна мова дозволяє суттєво збільшити швидкість набору, дозволяючи не відволікатися на перенесення рук між клавіатурою та мишкою, а також чекання завантаження редактору формул. Набір команд є логічним, тому нічого складного у цьому немає. Наприклад така формула: r_{Y_1Y_2}=\frac{K_{Y_1Y_2}}{\hat{Y}_1\hat{Y}_2}=\frac{\hat{X}^2+a_1a_2\hat{q}^2}{\sqrt{\hat{X}^2+a_1^2\hat{q}^2}\sqrt{\hat{Z}^2+a^2_2\hat{q}^2}} після компіляції отримає наступний вигляд:



Крім того, у LaTeX просто банально набагато більше можливостей по набору формул чисто технічно, бо деякі формули, що використовуються в математиці, набрати ні в Equation ні навіть у MathType немає можливості через відсутність там потрібних символів.

4. Проста нумерація формул. LaTeX здатен автоматично проставляти нумерацію формул. Більше того, з допомогою пари команд \label та \ref можна легко працювати з перехресними посиланнями. Тобто наприклад у вас є пронумеровані формули, а у тексті є посилання на них. Якщо ви захочете вставити декілька формул перед вже існуючими, то нумерація зіб'ється, а значить доведеться змінювати посилання і в тексті. Але LaTeX може зробити це сам, автоматично, таким чином вам не доведеться думати про відповідність номерів потрібним формулам. Аналогічно можна працювати з номерами рисунків, таблиць, глав та ін.

5. Робота з бібліографією. Це досить серйозна проблема при підготовці наукових публікацій. Знову ж таки з тієї причини, що відслідковувати вручну нумерацію бібліографічних джерел складно. LaTeX дозволяє не лише працювати зі списками джерел але й працювати з бібліографічними базами даних, у такому випадку повністю автоматизується не лише слідкування за нумерацією але й оформлення бібліографії згідно стандартів.

6. Плаваючі об'єкти. Розміщення рисунків є не завжди простою задачею, адже при цьому потрібно переформатовувати текст. Стандартна ситуація у текстових процесорах - коли рисунки з'їзджають на сусідню сторінку, текст розривається некрасиво, потрібно думати як набрати документ так щоб підряд не йшло занадто багато картинок і т.д. LaTeX бере на себе всі ці проблеми, користувач лише вказує, що він хотів би десь тут вставити рисунок, а вже компілятор сам знаходить для нього конкретне місце в залежності від правил типографіки. Наприклад якщо зображення велике, то для нього буде виділено окрему сторінку, ну і т.д.

7. Підтримка макросів. Можна створювати власні команди і перекривати вже існуючі. Якщо ви постійно набираєте однотипгі документи, то це дуже зручно.

8. Простота генерації документів з інших програм. Ви можете легко реалізувати генерацію tex-файлів зі своїх власних програм. Я іноді пишу різні розрахункові програми і з допомогою LaTeX я можу генерувати в них звіти поліграфічної якості, з формулами, рисунками та ін.

9. Простота формату. Файли LaTeX - це не, що інше, як спеціалізовані програми, а тому вони являють собою звичайні текстові файли. У період масового користування дискетами, стандартною проблемою було неможливість прочитати файли через проблеми з файловою системою. Способи витягти потрібний файл були, але при цьому втрачалися ті байти які були розміщені на пошкоджених секторах. Тому якщо це був doc-файл ви втрачали його повністю, у випадку ж з tex ви просто втрачаєте декілька символів. Ще одна перевага текстового формату - широкий вибір редакторів на будь-якій платформі. Я наприклад часто набираю тексти на КПК, а потім компілюю їх у завершені документи на домашньому комп'ютері. Набирати на КПК тексти з формулами у форматі Word я не зміг би навіть якби захотів.

10. Величезна кількість додаткових пакетів. Фактично можливості LaTeX є необмеженими. Використовуючи сторонні пакети ви можете писати не лише текст, але й ноти, розписувати шахофі партії, малювати різноманітні схеми та багато іншого. В Інтернеті можна знайти безліч інформації з цього приводу.

Я міг би ще довго писати про LaTeX, бо це одна з тих речей яка мені дійсно подобається і якою я володію професійно, але думаю досить. Наостанок я лише згадаю про недоліки LaTeX у порівнянні з візуальними текстовими процесорами. Так, мінуси у цієї системи також є, хоча вони є й продовженням її плюсів.

1. На вивчення основного набору команд потрібно затратити деякий час, "метод тика" тут не зовсім проходить. Також потрібно мати деякі базові поняття з типографіки. Власне це мало відрізняється від вивчення нової мови програмування.
2. LaTeX не підходить для того щоб швидко накидати простенький документ зі складним оформленням але без видимої структури чи тоді коли ваші документи не схожі один на одний. Його стихія - автоматизація рутинних операцій при підготовці схожих за оформленням документів, а також структуровані документи великого об'єму.
3. Розробка власних класів документів є непростою як для новачка задачею. Хоча набагато простіше розробляти власні класи на базі вже готових.
4. Складність конвертації tex-файлів у розповсюджені формати текстових процесорів (наприклад doc). Вільні конвертори недостатньо функціональні, а комерційні коштують немалих грошей. Але у будь-якому випадку, через специфіку системи, не кожен файл взагалі можливо переконвертувати.

Ось така ситуація. Я далекий від думки, що мій пост може щось змінити у ситуації тотального засилля офісних інструментів у науковому середовищі, проте можливо комусь хто хотів би більше взнати про цю технологію, мої пости й допоможуть. Встановити LaTeX в Ubuntu можна дуже просто, з допомогою менеджера пакетів. Дистрибутив називається TeX-Live, з українською мовою жодних проблем немає.Для Вас салон красоты NOUVELLES,

пʼятниця, 22 лютого 2008 р.

Оформляємо програмний код у LaTeX

Оформляючи деякий методичний матеріал для студентів, я задався питанням, чи можна знайти простий спосіб оформлення програмного коду для публікації? Тобто, щоб програмний код який ви вставляєте наприклад у свою книжку чи посібник, мав би гарний вигляд, так щоб ключові слова автоматично виділялися жирним, а коментарі наприклад курсивом. Звісно ж, якщо ви як і я, використовуєте LaTeX, то це не проблема. Для оформлення програмних кодів передбачено пакет listings.

Працювати з ним дуже просто. Наприклад, якщо я пишу посібник по Pascal, то мені потрібно вставити у преамбулу документу наступні команди:

\usepackage{listings}
\lstset{language=Delphi}


А далі, вже у тілі документу, тепер можна використовувати оточення \begin{lstlisting}..\end{lstlisting} для того щоб вставити програмний код. Наприклад наступний код

\begin{lstlisting}
if вираз then
якщо так
else
якщо ні;
\end{lstlisting}

Ну наприклад:
\begin{lstlisting}
if a=2 then
writeln('Hi')
else
writeln('Bye');
\end{lstlisting}

після компіляції згенерує наступний код:



Ось так. Докладніше, про всі опції даного пакету можна прочитати завантаживши цей файл (700Кб).

четвер, 13 вересня 2007 р.

Текстовий процесор LyX

Я вже публікував статтю з розповіддю про чудову систему для підготовки публікацій типографської якості - LaTeX (http://korkholeh.blogspot.com/2007/09/latex.html). На жаль переважна більшість людей в Україні, навіть у академічному середовищі (що особливо прикро для мене) не лише не володіють даною системо, а навіть ніколи не чули про її існування. Більше того, навіть наші математики та інші фундаментальщики, на відміну від своїх зарубіжних колег, з впертістю гідної кращого застосування продовжують насилувати офісні інструменти (переважно MS Word) змушуючи їх робити те, для чого вони не були призначені. І це дійсно проблема, адже використання LaTeX допомоголо б сильно економити час, що витрачається просто впусту на потуги привести публікацію у Word до пристойного вигляду. Наші зарубіжні колеги вже більше 20 років використовують цю систему і наразі нічого кращого ще придумано не було.

Так, LaTeX дійсно штука не проста і вимагає певних знань. Це дійсно так, адже це спеціалізована мова розмітки, але вивчивши основний набір команд можна прискорити швидкість своєї роботи у рази. Ви не повинні витрачати свій час на верстання публікацій, нехай комп'ютер це робить за вас, це його задача, ваша ж задача лише набрати сам текст.

Проте, не потрібно й переоцінювати складність роботи з LaTeX. Адже створено багато програм які дозволяють спростити роботу з даною системою. Є такстові редактори які просто підсвічують синтаксис LaTeX (vim, gedit), є спеціалізовані редактори які дозволяють працювати зі структурою документу та вставляти різноманітні команди одним кліком мишки (TeXMaker), а потужні спеціалізовані текстові процесори, що використовують LaTeX для верстання документу проте не вимагають його глибинних знань (LyX, TeXmacs). Я розповім про один з таких текстових процесорів,який є мабуть найпотужнішим OpenSource інструментом у даній галузі і практично нічим не поступається своїм комерційним аналогам у середовищі Windows (Scientific Word наприклад) - LyX.

LyX - це текстовий процесор, що сповідує філософію WYSIWYM (What You See Is What You Mean). На відміну від WYSIWYG такий підхід акцентує увагу не на зовнішньому вигляді документу, а на його контенті та структурі. Принцип полягає у тому, що ви набираєте текст, включаючи формули, малюнки та таблиці, паралельно вказуючи логічну структуру документу та задаючи зв'язки між окремими об'єктами, а також задаючи логічне форматування. Остаточною ж підготовкою публікації згідно всіх типографських правил займається вже компілятор LaTeX генеруючи файл (.dvi, .ps, .pdf) придатний для роздруку на будь-якому обладнанні і під будь-якою платформою. При цьому у вас є 100% гарантія, що на чужому принтері документ роздрукується абсолютно у такому ж самому вигляді як і на вашому.

Оскільки у репозиторіях Ubuntu Feisty Fawn знаходиться стара версія, то я рекомендую скачати останню на сьогодні версію 1.5.1 з офіційного сайту http://www.lyx.org/ Серед нововведень у гілці 1.5 - підтримка кодування UTF-8, а також переведення інтерфейсу користувача на Qt4. Існують також версії і для інших платформ, у тому числі Windows.

Ось так виглядає LyX після запуску:



Звичайно, щоб описати всі можливості LyX потрібно написати немаленьку книжку, тому тут я буду говорити лише про основні речі. Нижче видно відкритий документ (це текст із системи допомоги).



LyX дозволяє набирати текст приблизно так же як ви його могли б набирати у тому ж Word чи Writer, але тут є свої особливості викликані тісною інтеграцією з LaTeX. Перша особливість - це те, що зовнішнє оформлення документу повністю описується класом документа (Document->Settings->Document Class). Саме клас документу визначає як верстати сторінки (друк з одного боку чи з двох), найвищий порядок команд рубрикації (у класі Book наприклад навідміну від Article присутні частини - Part), параметри оформлення заголовків та ін. У тому ж таки Document->Settings ви зможете задати розмір основного шрифта, поля, мову, підключити додаткові пакети та ін. Також можна вручну додати необхідні команди у преамбулу.

Дуже зручно працювати у LyX з рисунками. Наприклад вам потрібно вставити плаваючий рисунок у статтю, тоді просто вставляємо плаваючий кадр з допомогою Insert->Float->Figure. Набираємо підпис рисунка, а потім піднявши курсор угору, з допомогою Insert->Graphics вставляємо вже безпосередньо зображення. З допомогою Edit->Paragraph Settings вирівнюємо рисунок по центру.



Формули вставляються ще простіше. Якщо потрібна формула у тексті, то використовується Insert->Math->Inline Formula, а виключна формула вставляється з допомогою Insert->Math->Display Formula. Існує також велика кількість інших варіантів формул, включаючи додаткові середовища AMS-TeX (наприклад multline для багаторядкових формул).

Що стосується більшості стандартних команд LaTeX, то LyX обробляє їх "на льоту", але частина команд відображається явно сірим кольором. Наприклад команда вставки сноски \footnote, відображається саме таким чином, а її текст видно після подвійного кліку по ній. З допомогою Document->Outline можна проглядати структуру документа. Результуючий документ завжди можна переглянути з допомогою меню View у такому форматі який потрібен.

Нерозривний пробіл ставиться з допомогою Ctrl+Enter. Три та два дефіса вставлених підряд автоматично замінюються на довге або середнє тире.

Звісно ж реальна сила LaTeX ховається далеко за візуальними наворотами і можливості LyX обмежені. Проте у випадках коли потрібно швидко підготувати документ не заглиблюючись у тонкощі, то такий підхід дозволяє отримати досить якісний результат.

Зміна параметрів оформлення документу
Хоч LyX і дуже зручний інструмент, проте далеко не всім очевидно як змінити стандартне оформлення документу передбачене вибраним класом. Насправді даний текстовий процесор не має таких можливостей, тому для цього потрібно знати LaTeX. Для того щоб перекрити певні команди потрібно додати зміни у преамбулу (Document->Settings->LaTeX Preamble).

Наприклад, якщо ми хочемо щоб перед номером розділу саме слово Розділ писалось великими літерами нам потрібно додати команду:
\renewcommand{\@chapapp}{РОЗДІЛ~}

Якщо ми хочемо щоб номер сторінки проставлявся не внизу по центру, а вгорі праворуч, то потрібно вставити наступне:

\renewcommand{\@oddhead}{\hfil\thepage}
\renewcommand{\@oddfoot}{}


Якщо потрібно, щоб заголовок глави відображався не жирним шрифтом з вирівнюванням по лівому краю, а звичайним текстом вирівняним по центру, то потрібно перекрити команду \section. Таким же чином можна перекривати й інші команди описані у класі документу змінюючи оформлення різних елементів. Це здається складним якщо робити з нуля, проте початкові описи команд можна знайти у відповідному .cls файлі, потрібно лише їх зкопіювати і змінити їх опис з допомогою команди \renewcommand.

\renewcommand{\section}{\@startsection{section}{2}%
{\parindent}{3.5ex plus 1ex minus .2ex}%
{2.3ex plus .2ex}{\normalfont\large\centering}}


Для того щоб замінити двокрапку після номера рисунку на прийняту у нас крапку, потрібно перекрити команду \@makecaption

\renewcommand{\@makecaption}[2]{%
\vspace{\abovecaptionskip}%
\sbox{\@tempboxa}{#1. #2}
\ifdim \wd\@tempboxa >\hsize
#1. #2\par
\else
\global\@minipagefalse
\hbox to \hsize {\hfil #1. #2\hfil}%
\fi
\vspace{\belowcaptionskip}}


Щоб у списку бібліографії після номера джерела ставилася крапка, а не щоб номер брався як по замовчуванню у квадратні дужки:

\makeatletter
\renewcommand{\@biblabel}[1]{#1.\hfill}
\makeatother


Щоб включити до нумерації глав та підглав ще й номер роздулу:

\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}.}
\renewcommand{\thesubsection}{\arabic{chapter}.\arabic{section}.\arabic{subsection}.}


Більш докладно про модифікацію стандартних класів LaTeX можна прочитати тут: http://www.intuit.ru/department/publish/latex/9/программирование на языке ассемблера примеры задач

субота, 8 вересня 2007 р.

Підготовка наукових публікацій у LaTeX

LaTeX (http://www.latex-project.org/) вже 20 років як є найпотужнішою з усіх відомих систем для верстання наукової документації. Його розробив програміст Леслі Лемпорт у 1985 році на базі розробленої ще у 1979 році Дональдом Кнутом системи TeX. LaTeX є надбудовою над TeX, використовуючи останнього для відображення змісту він додає новий підхід до створення документів де оформлення і зміст існують окремо.

Незаслужено мало відома у наших краях система в усьому іншому світі широко використовується науковцями, а особливо спеціалістами з фундаментальних наук. Всі серйозні математичні журнали у світі приймають статті до публікації виключно у форматі LaTeX. Якщо потрібно підготувати наприклад книжку або звіт на декілька сотень сторінок з купою математичних формул, малюнків, таблиць, з безліччю перехресних посилань та об'ємним списком бібліографії, то LaTeX заткне за пояс будь-який текстовий процесор як би він не називався. При цьому він абсолютно вільно розповсюджується і має реалізації для Linux/Unix, MacOS, Windows та навіть DOS. Таким чином величезні документи насичені формулами можна створювати навіть користуючись архаїчною "четвіркою".

Встановлюється наступним чином:
sudo apt-get install tetex-base tetex-bin tetex-common tetex-extra

Я використовую дистрибутив teTeX бо з ним менше проблем, хоча рекомендують використовувати TeXLive, він встановлюється аналогічно, але там є деякі проблеми з українською мовою. З teTeX жодних проблем не виникає.

Основна особливість LaTeX, яка робить його настільки потужною системою - це те, що насправді він являє собою спеціалізовану мову розмітки. Приблизно як HTML використовується для побудови веб-сайтів, так LaTeX використовується для створення наукових текстів. Щоб зрозуміти як це все працює я наведу приклад.

Документ LaTeX можна створювати у будь-якому текстовому редакторі, який тільки може створювати звичайні текстові файли. В Ubuntu вже є gedit, він цілком підходить, тим більше, що він вміє ще й виділяти синтаксис кольором. Ну от наприклад простенький текстовий документ (щойно набрав дивлячись у довідник Бронштейна-Семендяєва):

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[ukrainian]{babel}
\usepackage{indentfirst}
\usepackage{amsmath}

\begin{document}

\section{Теорія Ейлера-Лагранжа}

\emph{Задачею Лагранжа} у варіаційному численні називають описану раніше задачу знаходження екстремуму для функціоналу
\begin{equation}
J(y)=\int\limits^{x_1}_{x_0} f(x,y,y') dx
\end{equation}
При цьому необхідно, щоб функції $y(x)$, що шукаються відповідали б граничним умовам
$$
y(x_0)=y_0, \quad y(x_1)=y_1.
$$
Якщо немає обумовлено іншого, то вважаємо, що $y(x)$ має неперервну похідну $y'(x)$.

\section{Приклад ще однієї формули}

Вирахуємо $F'(\varepsilon)$:
\begin{multline*}
F'(\varepsilon) = \int\limits^{x_1}_{x_0}\frac{df}{d\varepsilon}dx=\ int\limits^{x_1}_{x_0}(f'_yh(x)+f'_y(x))dx=\\
=\int\limits^{x_1}_{x_0}\left[f'_yh(x)-\frac{d}{dx}(f'_{y'})h(x)\right]dx+\left. h(x)f'_{y'}\right|^{x_1}_{x_0}=\\
=\int\limits^{x_1}_{x_0}h(x)\left(f'_y-\frac{d}{dx}(f'_{y'})\right)dx.
\end{multline*}
\end{document}


Тепер достатньо зберегти цей файл наприклад як euler.tex і дати команду:
pdflatex euler.tex

У результаті у цьому ж каталозі з'явиться новий файл euler.pdf, якщо ми його відкриємо, то побачимо наступне:


Спробую тепер трохи пояснити. У випадку з LaTeX ви просто набираєте текст розбавляючи його де потрібно командами, а вже компілятор перетворює його у готовий документ придатний до друку. Команди починаються з символу оберненого слешу ( \ ). Компілятор розрізняє малі та великі літери, тому майте на увазі, що \lambda та \Lambda - це дві різні команди. Якщо команда має параметри, то вони задаються у фігурних дужках. Деякі команди можуть мати ще додаткові необов'язкові параметри які задаються у квадратних дужках. Формула в тексті відокремлюється з обох боків символом $, я якщо потрібно вставити виключну формулу, то використовують $$. Пара команд \begin{...}...\end{...} вводять середовища.

Вхідний файл чітко розмежовується на дві частини. Спочатку йде так звана преамбула:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ukrainian]{babel}
\usepackage{indentfirst}
\usepackage{amsmath}


Тут вказується клас документу (у даному випадку - стаття). Клас - це спеціальний .cls файл який містить у собі відомості про оформлення документу. Серед стандартних класів присутні - article, report, book, letter та ін. Такий підхід є чимось схожим на використання каскадних таблиць стилів при створенні веб-сторінок, коли оформлення і власне текст є відокремленими. Це дуже зручно, бо повністю змінити оформлення можна заміною лише однієї команди. Команда \usepackage служить для підключення додаткових пакетів які можна порівняти з бібліотеками у мовах програмування. У даному випадку ми вказуємо кодування файлу (inputenc), включаємо автоматичні переноси (babel), активуємо відступ у першому абзаці (indentfirst) та підключаємо пакет з додатковими математичними командами (amsmath) від AMS (American Mathematical Society).

Далі між командами \begin{document} та \end{document} пишемо основний текст. Команда \section вводить нову главу. Абзаци відділяються пустим рядком. Декілька пробілів сприймаються як один, символ переводу рядка сприймається як пробіл.

Середовище \begin{equation}... \end{equation} створює виключну формулу і автоматично проставляє її номер. У математичних середовищах діють додаткові команди. Наприклад \int - інтеграл, \limits - ліміти, символ апострофу вказує на похідну, ^ вводить верхній індекс, а _ відповідно нижній. Якщо потрібно наприклад прописати у індекс декілька символів, то вони обмежуються фігурними дужками. \quad - вводить широкий пробіл, щоб відокремити дві формули якщо вони в одному рядку, \varepsilon - грецька буква ε, \frac - вводить дріб. Якщо потрібно щоб дужки автоматично підганяли свої розміри під їх вміст, то пишуть таким чином - \left( ... \right). Оскільки LaTeX контролює закриття/відкриття дужок, то щоб все зпрацювало коректно, а наприклад праву дужку не показувати, замість неї пишуть \right. (саме так, з крапкою).

Середовище \begin{multline*} ... \end{multline*} вводить формулу на декілька рядків. Зірочка означає, що формулу не потрібно нумерувати. Рядки відокремлюються символом \ . При цьому перший рядок автоматично вирівнюється по лівому краю, а останній по правому, проміжні рядки вирівнюються по центру.

Ось так працює LaTeX. Завдяки своїй природі він є не лише дуже гнучким, адже всі WYSIWYG текстові процесори мають певні обмеження, але й дозволяє суттєво збільшити швидкість набору тексту. Адже наприклад набрати не відриваючись від клавіатури $y=\int x^2 dx$ набагато швидше ніж вставляти формулу і тикаючи мишкаю по кнопкам редактора формул вставляти інтеграл та верхній індекс. Звісно такий підхід потребує певних базових знань, бо по суті ви текст програмуєте, але потративши декілька годин на вивчення основних команд можна вже приступати до роботи. Для зручності можна додатково встановити ще якийсь спеціалізований редактор який би спрощував процес набору, про це я розповім трохи пізніше.

Потрібно ще раз згадати, що величезним плюсом LaTeX є велика кількість доступних в Інтернеті та й просто у дистрибутивах пакетів. Те, що у математичних формулах можна використовувати такі символи про які MS Word навіть не підозрює це одне, але LaTeX підходить не лише для набору математичних текстів. Для прикладу я щойно створив документ у який додано ноти (за це відповідає пакет musixtex).

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ukrainian]{babel}
\usepackage{musixtex}
\begin{document}
\LaTeX вміє набирати ноти

\hsize=120mm
\generalmeter{\meterfrac24}%
\parindent 0pt
\setsign1{-3}
\startpiece\bigaccid
\NOtes\qu{ce}\enotes
\bar
\NOtes\qu{gh}\enotes
\bar
\NOtes\qu{=b}\enotes
\Notes\ds\cu g\enotes
\bar
\NOtes\qu{^f=f}\enotes
\NOtes\qu{=e}\itied0e\qu{_e}\enotes
\bar
\Notes\ttie0\Qqbu ed{_d}c\enotes
\bar
\Notes\ibu0b{-2}\qb0{=b}\enotes
\notes\nbbu0\qb0{=a}\tqh0N\enotes
\Notes\Dqbu cf\enotes
\NOtes\uptext{\it tr}\qu e\uptext{\it tr}\qu d\enotes
\bar
\NOtes\qu c\qp\enotes
\setdoubleBAR
\stoppiece
\bigskip
\end{document}


У результаті ми отримаємо наступне:


Те, що я показав це лише маленька частинка всього того, що може LaTeX. За допомогою інших пакетів можна розписувати шахові партії (з зображенням дошки і фігур), можна малювати всякі діаграми, можна будувати структурні хімічні формули та ін. Можливості даної системи просто безмежні. Оскільки в Інтернеті можна знайти величезну кількість літератури по даному питанню, то розібратися з LaTeX більш глибоко не становить серйозної проблеми.