Txt2tags
Документ описує систему швидкого створення документації для наступного її друку, чи публікації в інтернеті. Система чудово підійде для створення документації для програм, створення простих статичних веб-сайтів, створення контенту для складних динамічних веб-сайтів (блогів, чи вікі наприклад), швидкого запису конспектів на лекціях, чи ведення звичайних нотаток.
Мотивація
ред.Далі буде трохи філософських роздумів про створення документації. Ви можете їх пропустити і перейти одразу до справи.
Електронний?
ред.Перше питання яке може виникнути: А нащо взагалі писати конспекти в електронному форматі? Всі вже звикли до нормальних. А й справді, навіщо було винаходити друкарську машинку, коли вже були ручки, і навіщо нам текстові редактори коли є друкарські машинки?
Електронний текст має купу переваг над паперовим - можливість створення безлічі копій, можливість виправлення без створення нової копії, та навіть швидкість створення (освоюйте десятипальцевий набір!).
Мови розмітки vs WYSIWYG
ред.Є два підходи до створення документів - ми редагуємо їх як бачимо, змінюючи шрифти, кольори, поля і т.д. або ми пишемо якийсь код, який потім перетворюється в щось придатне для друку. Чому варто обрати саме код?
В WYSIWYG велика увага приділяється зовнішньому вигляду. Це трохи розсіює зусилля по створенню документа. На лекції у вас не буде часу шукати яким саме зеленим кольором ви виділяєте заголовки теорем.
Розмітка (HTML, LaTeX, wiki) ж концентрується на структурі. Ви виділяєте окремі блоки документа (розділи, абзаци, таблиці), та записуєте зміст. Потім можна буде надати документу будь-якого вигляду. І всі блоки однакового призначення оформляються однаково, і ви за виглядом блоку вже здогадуватиметесь про що в ньому йтиме мова. А для чого ще красиве оформлення як не для зручності сприйняття?
Крім того, системи керування версіями працюють з текстом. Вони запросто покажуть відмінності між двома версіями текстового файлу. А от з бінарним, якщо і вийде, то ви мало що розберете...
І загалом, я вважаю, що вчити системи керування версіями треба ще в школі, на уроках інформатики. Мене досі ніхто не навчив, про що я сильно жалію, але це окрема історія.
Про гарне оформлення документів
ред.Шедевр - це коли вже немає чого додати, ані викинути. Документи можна вважати гарно оформленими, якщо вони відповідають хоча б таким вимогам:
- Стиль однаковий протягом всього документа.
- Стиль відповідає загальноприйнятим стандартам: посилання і з підкреслюванням, заголовки вищого рівня більші за заголовки нижчого, код написаний моноширинним шрифтом, біля формул справа стоїть номер в дужках і т.п.
- Додатково виділю: пишіть чорним по білому, чи близько до такого. Це звісно зовсім не оригінально, але так роблять вже тисячі років, і ще ніхто не жалівся.
- Флеш, фонові звуки, і різні зайві елементи оформлення. Звісно анімація може бути чудовою ілюстрацією, але тільки якщо вона справді щось унаочнює.
- Форматування документа прискорює пошук потрібної інформації, дозволяючи очам швидко виділяти головне.
Як прискорити свій набір?
ред.- Вивчіть десятипальцевий спосіб набору.
- Переключайте розкладки клавішею Caps Lock (так в кілька разів швидше). І крім того, ТАК CAPS LOCK ВИКОРИСТОВУЮТЬ ТІЛЬКИ БЛОНДИНКИ В АНЕКДОТАХ ПРО ICQ. :) Правильні люди використовують мало великих букв, і їм досить клавіші Shift. Можна протестувати що це незвично, але ви спробуйте хоча б день, і вас почнуть бісити комп'ютери, які переключають розкладку інакше.
- Використовуйте хороший текстовий редактор, з підсвідкою синтаксису, і хорошим набором макросів.
- Використовуйте хорошу мову розмітки :)
Чому саме txt2tags?
ред.Скільки ви знаєте мов розмітки? Як люди що користуються інтернетом, всі мали б хоч трохи знати HTML. Як люди близькі до науки - LaTeX. Ці мови універсальні, розширювані, і взагалі чудові. Та не ідеальні. HTML потребує написання багатьох зайвих букв, таких як наприклад теги <tt><p></p></tt> біля абзаців, чи ще гірше <tt><strong></tt> для жирного тексту. LaTeX трохи кращий, та все ж теж потребує багато писанини. Наприклад для жирного тексту треба написати <tt>\textbf{жирний текст}</tt>. Мова розмітки вікіпедії запозичила краще з обох згаданих мов, і навіть додала щось своє. Наприклад, <tt>'''жирний текст'''</tt> в вікі виділяється трьома апострофами. Абзаци розділяються порожнім рядком. Таблиці - невже може бути щось простіше? (Як виявилось може). Математичні формули вводяться в синтаксисі LaTeX (<tt>\int_a^b</tt>), та щоб позначити формулу використовують незручний тег <tt><math></tt>. WordPress використовує трохи покращену версію xhtml, і для позначення формули використовує синтаксис "<tt>текст $latex formula$ текст</tt>".
Одним словом, мов багато, парсерів теж багато, але кожна з них має певні недоліки. txt2tags старається від цих недоліків позбавитись. txt2tags - це як Есперанто світу мов розмітки. Щоправда не така потужна, але зате більш проста.
Переваги txt2tags:
ред.- Простий синтаксис (вчиться кілька хвилин). Інтуїтивно зрозумілий, на відміну від всяких там TeX...
- Чистий синтаксис (Мінімум зайвих символів. Більшість того що написано з'являється в вихідному документі.)
- Трансляція в купу різних форматів, що звільняє вас від необхідності їх вивчати:
- Кросплатформенний, має три різні інтерфейси (консоль, графічний, та веб-інтерфейс).
- Єдиний скрипт на Python, тому досить тільки завантажити та користуватись.
- Активна спільнота, та активна розробка, яка не припиняється вже десять років. (Що порівнюючи з HTML та й навіть TeX дуже мало, але показує серйозне ставлення розробників до проекту.
- Відкритий і безплатний.
- Розширюється регулярними виразами. (І вам ніхто не заважає підредагувати сам скрипт).
Думаю вже досить розказувати про те, яка ця штука зручна та корисна. Напевне вже пора пояснити як цим користуються.
Інсталяція
ред.Перед тим як вивчати якусь програму, треба її дістати.
Ubuntu
ред.Виконайте команду
sudo apt-get install txt2tags
Готово.
В будь-яких дистрибутивах Linux
ред.- Скачайте архів з програмою. (txt2tags.sf.net)
- Розпакуйте цей архів.
- Знайдіть у ньому файл txt2tags та дайте права на виконання (chmod +x txt2tags). Тепер програму txt2tags можна запускати подвійним клацанням
- Перемістіть його в одну з директорій що містяться у системній змінній $PATH (/usr/local/bin) Тепер txt2tags можна напряму викликати з консолі.
Windows
ред.- Скачайте та встановіть Python. (www.python.org)
- Скачайте архів з програмою. (txt2tags.sf.net)
- Розпакуйте архів, і знайдіть там файл txt2tags
- Перейменуйте його на txt2tags.py та скопіюйте в каталог, що міститься в змінній середовища PATH. Можливо C:\Windows. Це дозволить запускати програму прямо з командного рядка.
- Або просто перемістіть на робочий стіл та запускайте як звичайну програму з графічним інтерфейсом.
Також є сайт [1], на якому є два спеціальні пакети інсталяцій:
- Автоматична інсталяція для тих, хто вже встановив Python.
- Версія програми що взагалі не потребує Python для запуску (вона має вбудований)
Vim
ред.Архів окрім самої програми містить документацію і ще деякі корисні файли. Зокрема підсвідку синтаксису для Vim:
Підсвітка синтаксису дозволяє робити менше помилок в розмітці при написанні документа. Наприклад будуть виділені пробіли в кінці рядка (а вони часто позначають вирівнювання. Для її встановлення:
- Шукаєте в архіві файл extras/txt2tags.vim.
- Якщо ви
- Звичайний користувач:
- Копіюєте txt2tags.vim у ~/.vim/syntax.
- Додаєте в файл ~/.vimrc рядок:
```au BufNewFile,BufRead *.t2t set ft=txt2tags
- Адміністратор, і хочете встановити підсвітку для всіх.
- Копіюєте txt2tags.vim у /usr/share/vim/vim*/syntax
- Редагуєте файл /usr/share/vim/vim*/filetype.vim додавши наступні рядки після Z-Shell script
" txt2tags file au BufNewFile,BufRead *.t2t set ft=txt2tags
Крім цього, можна додати до Vim зручні комбінації клавіш, які будуть виконувати деякі операції командного рядка автоматично. Наприклад:
map 2h :w<CR>:!txt2tags -t html % ; chromium-browser %<.html<CR>
При натисканні клавіші 2, і одразу після неї h документ буде перетворено в html і відкрито для перегляду в браузері chromium. Якщо ваш браузер інший - змініть chromium-browser на команду що запускає ваш браузер. Для інших документів аналогічно...
Локалізація
ред.Linux
ред.- Знайдіть в архіві з програмою файл /po/uk.po, для української, чи якийсь інший для іншої мови.
- Скомпілюйте файл .po в файл .mo командою:
msgfmt -o txt2tags.mo uk.po
- Перемістіть файл .mo в каталог локалі (/usr/share/locale/uk/LC_MESSAGES)
mv txt2tags.mo /usr/share/locale/uk/LC_MESSAGES/
- Якщо програма чомуль не локалізувалась - розберіться зі своєю локаллю. Детальна теорія тут
Windows
ред.- Знайдіть в архіві з програмою файл /po/README та дотримуйтесь інструкцій в ньому. Успіхів!
- Якщо у вас щось вийде - поділіться досвідом.
Інтерфейси програми
ред.Графічний
ред.Графічний інтерфейс - те що ви побачите запустивши цю програму з віконного менеджера:
Загалом - графічний інтерфейс говорить сам за себе, і пояснювати тут щось - зайве. Єдине що відрізняє його від консольного - менша кількість опцій, і одна не присутня в консольному - показати результат роботи на екрані не створюючи файл (Хоча, якщо в консольній команді ви задасте "-" замість вихідного файлу, то результат теж потрапить на екран).
Інтерфейс командного рядка
ред.Цей інтерфейс, на відміну від інших дає доступ до всіх можливостей та налаштувань програми.
і скільки в неї можливостей? |
---|
Веб-інтерфейс
ред.Перевагою веб-інтерфейсу є те, що він завжди є, не залежно від того, чи встановлений txt2tags на вашому комп'ютері. Його можна знайти тут.
Вам потрібно лише скопіювати потрібний текст в поле редактора, вибрати у що конвертувати, і натиснути кнопку "Convert!". Результат покажуть знизу. І якщо це html, то навіть відобразять те як він має виглядати.
Розмітка
ред.Краще починати практикуватись з програмою через веб-інтерфейс, або графічний інтерфейс. Там налаштувань набагато менше, і заплутатись важче.
Швидко вивчити основні способи розмітки, та попрактикуватись з трансляцією можна подивившись приклад документа.
Чи прочитати шпаргалку і подальші пояснення.
Шпаргалка
ред.Основне | Виділення | ||
---|---|---|---|
Заголовки документа | Перші 3 рядки | Жирний | **слова** |
Заголовок | = слова = | Курсив | //слова// |
Нумерований заголовок | + слова + | Підкреслений | __слова__ |
Абзац | слова | Перекреслений | --слова-- |
Посилання | [label url] | Моноширинний | ``слова`` |
Зображення | [filename.jpg] | Нерозмічений текст | слова |
Інше | |||
Цитата | <TAB>слова | Лінія | ------------... |
Список | - слова | Товста лінія | ============... |
Нумерований список | + слова | Таблиця | 1 | 2 | 3... |
Іменований список | : слова | Мітка | = заголовок =[мітка] |
Рядок коментаря | % comments | Область коментарів | %%%\n коментарі \n%%% |
Моноширинний рядок | ``` слова | Моноширинна область | ```\n рядки \n``` |
Нерозмічений рядок | """ слова | Нерозмічена область | "\n рядки \n" |
Заголовки документа
ред.Заголовки - це перші три рядки документа. Щоб відмовитись від заголовків взагалі - залиште перший рядок порожнім. Тоді основну частину документа можна починати одразу з другого рядка. Щоб відмовитись від деякої частини заголовка - залиште порожнім відповідний їй рядок (другий чи третій). Розмітка всередині тексту заголовків не працює.
В заголовках можна розміщувати довільну інформацію, і конкретні типи даних зовсім не вимагаються. Проте, в заголовках для більшості документів рекомендують розміщувати:
- Назву документу
- Ім'я та/або контакти автора
- Дату створення документу та/або версію (чудове місце для %%mtime ([#macros див. макроси]) )
Абзаци
ред.Абзаци - це блоки тексту що розділяються порожнім рядком, чи іншим блоком: списком, цитатою, таблицею...
Цитата - це рядок що починається з табуляції. Зазвичай оформлюється як абзац зі збільшеним лівим полем. Покажу приклад:
Вимагати від людей писати руками кутові дужки видавалося мені (як і багатьом, на мою думку) так само неприйнятним, як змушувати при роботі з документом у Word писати його двійковим кодом. Проте вміння читати HTML обернулося несподіваною удачею. На моє здивування люди швидко опанували теги, і почали писати документи безпосередньо на HTML. Тім Бернерс Лі "Заснування павутини"
Чим більше табуляцій, тим більше вкладення цитати, але таке не завжди може підтримуватись у вихідному документі.
Позначення розділів
ред.Заголовки розділів виділяються однаковою кількістю знаків дорівнює чи плюс (для нумерованих розділів) по краях.
Увага: Якщо перед заголовком розділу був список, то розділ має відділятись від списку хоча б двома пустими рядками, інакше його автоматично включать в останній елемент списку, і він не буде вважатись заголовком.
Заголовки розділів мають ієрархію: = Розділ =, == Підрозділ ==, === Підпідрозділ ===, і так аж до п'ятого рівня: ===== Секція =====.
Крім того, розділи можуть мати мітки, до яких можна здійснювати перехід за посиланнями. Наприклад можна швидко перейти до [#install розділу про встановлення].
Додаються мітки до розділів так:
== Розділ 5 ==[ch5]
Тоді локальною адресою п'ятого розділу в документі буде #ch5.
Ім'я мітки може складатись лише з латинських букв, цифр, та символу підкреслювання "_".
Посилання
ред.Будь-який коректний url, чи адреса електронної пошти буде автоматично розпізнана та перетворена на гіперпосилання. Протокол писати не обов'язково, можна наприклад так: www.bunyk.wordpress.com. Щоправда так: bunyk.wordpress.com, вже ні. Видно він визначає url за буквами www.
Можна також явно вписувати текст посилання: [текст посилання www.url.com]. Замість тексту можна вставити зображення: [[image.jpg] www.url.com].
Увесь текст та адреса посилання разом з квадратними дужками мають розміщуватись в одному рядку.
Якщо вихідний документ не підтримує гіперпосилання, вони лише підкреслюються.
Виділення
ред.Довгі масиви простого тексту швидко стомлюють людей, і їхня увага зменшується. Щоб читачі не пропустили щось важливе, текст виділяють. Виділяти текст можна різними способами, придумавши для кожного способу своє призначення. Наприклад у деяких підручниках нові терміни позначають курсивом. Викреслення може привертати увагу до чогось, що не варто робити: $ sudo rm -rf /. Людям подобається заборонене, тому викреслюйте текст, якщо хочете щоб на нього справді звернули увагу (жартую).
Текст що виділяється поміщують всередину подвійних символів:
- **жирний**
- //курсив//
- __підкреслений__
- --перекреслений--
Ці символи не мають відділятись від тексту пропусками, ** таке ** не спрацює.
А ще стилі виділення можна змішувати. Ось так //стилі __виділення__ **можна** змішувати//.
Коментарі
ред.Коментарі дають змогу написати щось у документі який ми редагуємо, що не попаде в вихідний документ. Це можна використовувати в різних цілях. Наприклад видалити текст, який нам жаль видаляти остаточно. Є два види коментарів:
% однорядковий коментар
Це рядок, який починається символом "%", і ніяких пропусків, чи інших символів на початку. Та
%%% Закоментована область. В ній можна вмістити скільки завгодно рядків тексту. % Навіть коментарі А ще можна закоментувати позначку закінчення закоментованої області (три відсотки), поставивши спочатку ще один: %%%% Але закоментована область таки закінчиться, коли ми напишемо рядок з трьома відсотками: %%%
Списки
ред.- Список задається рядком що починається з мінуса, плюса чи двокрапки, після яких стоїть рівно один пропуск.
- Першим символом списку не може бути пропуск
(окрім іменованих списків).
- Додаткові пропуски (не табуляції) на початку рядка позначають вкладені списки
- Підсписки завершуються елементом меншої глибини вкладення, або порожнім елементом
- Вкладатись можуть підсписки різних типів.
- Всі відкриті списки закриваються двома порожніми рядками.
- Заголовок елемента
- в списку означень починається з двокрапки.
- Наступний рядок автоматично є означенням.
- Всі інші після нього теж
- якщо звісно не почати новий заголовок,
- чи не завершити список двома порожніми рядками...
- Дивно те
- що заголовки списку означень не стають жирними автоматично, і це треба робити вручну. Не знав. Може тому що найчастіше користувався таким в основному в вікі.
Таблиці
ред.Рядок що починається з труби "|" означає рядок таблиці. Якщо він починається з двох труб "||", то це рядок заголовка.
Перший рядок частково задає загальний вигляд всієї таблиці. Пропуски перед першою трубою позначають горизонтальне вирівнювання таблиці. (Якщо вставити хоч один пропуск, таблиця вирівняється по центру). Труба в кінці рядка вказуює на необхідність промальовувати границі наблиці. Якщо її немає, то межі таблиці невидимі. В інших рядках крім першого пропуски на початку, та труба в кінці ігноруються.
Клітини таблиці теж розділяються трубами. Якщо клітина таблиці закривається більш ніж одною трубою, то це означає, що вона об'єднує кілька (скільки й труб) стовпців. Пропуски всередині клітин таблиці задають вирівнювання їх вмісту. Наприклад:
Таблиця з однієї клітинки, по центру, без рамки |
робиться кодом:
| Таблиця з однієї клітинки, по центру, без рамки
Це можна використати для центрування чого небудь.
А:
|| Складна таблиця || | ліво | право | | право | ліво | | по центру ||
дасть нам:
Складна таблиця | |
---|---|
ліво | право |
право | ліво |
по центру |
Ну в якій ще мові розмітки код такий природній?
Звісно бракує способу зробити клітинку що об'єднує кілька рядків, та британські вчені довели, що 80% їх взагалі не використовують, а у 95% випадків можна обійтись і без цього.
Машинописний текст
ред.Деякий текст прийнято оформляти моноширинним шрифтом. Зазвичай це текст, який користувач має набрати, комбінації клавіш, адреси та імена файлів, текст що комп'ютер виводить на термінал, чи код програм. Його виділяють символами "`", двома, якщо ``такий текст`` має бути в тексті рядка, трьома,
``` Якщо таким шрифтом треба написати цілий рядок
Та виділяючи блок трьома, як це робили з коментарями, якщо потрібен цілий блок такого тексту.
Крім того, в такого тексту є одна хороша властивість - всередині нього вимикається все форматування. Тобто, якщо навіть вживаються позначення txt2tags, вони все одно не
Як зробити підсвітку синтаксису обраної мови? |
---|
Лінії
ред.Щоб в документі з'явилась горизонтальна лінія, потрібно ввести рядок з мінусів чи підкреслювань. Щоб з'явилась товста горизонтальна лінія треба ввести рядок з знаків рівності. Цих знаків має бути не менше двадцяти. На початку і в кінці такого рядка можуть бути пропуски. При появі інших символів рядок не буде розпізнаватись як горизонтальний.
Жирна лінія в різних вихідних документах може мати додаткові ефекти:
- Пауза в презентації MagicPoint
- Розрив сторінки в документах зі сторінками, наприклад LaTeX
Зображення
ред.Зображення розміщуються дуже просто: [ім'я зображення.jpg]. Де замість імені зображення підставляємо шлях до нього. Розширення файлу вписувати обов'язково.
[[Файл:./t2tpowered-white.png|left]] Якщо вписати код зображення зліва рядка, то воно буде розміщене зліва.
Якщо в тексті, [[Файл:./t2tpowered-white.png|center]] то прямо в тексті. По центрі - це в окремому рядку, з пропуском на початку та в кінці:
[[Файл:./t2tpowered-white.png|center]]
Ну, а справа - логічно справа: [[Файл:./t2tpowered-white.png|right]]
Вимкнення розмітки
ред.Іноді розмітка трохи заважає. От хочете ви написати текст в //подвійних косих рисках//, а він падлюка стає курсивом. Що робити? Треба позначити текст як чистий, тобто такий, в якому символи розмітки зовсім не позначають розмітку. Виділяють "чистий" текст за допомогою двох подвійних лапок (таких: "), як це робили з коментарями, чи машинописним текстом. Є три способи: прямо в тексті, один рядок, чи кілька рядків.
Чесно кажучи, це позначення не доведеться часто використовувати, оскільки на відміну від, скажімо, LaTeX символи розмітки стають такими лише за певних жорстко визначених умов, і випадково == якесь слово == заголовком, чи чимось іншим не стане. От де вимкнення розмітки справді часто застосовується - так це при написанні інструкцій з txt2tags. Повірте, я знаю :).
Макроси
ред.Ось така от простенька мова. На перший погляд... Хоча з іншого боку, її простота вимушена - потрібно ж якось реалізовувати сумістність з купою інших, в які відбувається трансляція.
Тим не менш, html хоч і проста, та все ж колись ми дізнаємось про CSS, та про JavaScript, і вау, які на ній можна писати сторінки, і як гнучко можна змінювати відображення. Тут так само.
Макроси - це спеціальні ключові слова, які замінюються під час трансляції документа. Використовуються для вставки динамічної інформації, наприклад поточної дати, чи інформації про розміщення коду документа.
Макрос записується за допомогою символів %%, після яких пишуть ім'я макросу, наприклад %%date. Деякі макроси приймають рядок формату, який пишуть після макросу в круглих дужках, наприклад так: %%date(%Y-%m-%d). Цей рядок формату містить як і звичайний текст, так і спеціальні двосимвольні директиви: перший символ % позначає директиву, а наступний її ідентифікує.
Основні макроси:
Назва | Замінюється на... |
---|---|
%%date | Поточну дату |
%%mtime | Час модифікації вихідного файлу |
%%infile | Шлях до вихідного файлу |
%%outfile | Шлях до документа що генерується |
%%toc | Місце в яке вставляється зміст документа |
Правила:
- Ім'я макроса нечутливе до регістру
- Всі макроси можуть з'являтись як і в заголовках так і в тілі документа. А зміст можна проставляти тільки в тілі.
- Всі макроси крім %%toc можуть розміщуватись будь-де в рядку. %%toc працює лише коли є єдиним в рядку.
%%date та %%mtime
ред.Макрос %%date замінюється на дату та час генерації. Час останньої зміни задається макросом %%mtime. Обидва макроси поводяться однаково, і приймають однаковий рядок формату.
Всі директиви що використовуються при форматуванні часу можна знайти в документації мови Python. Тут ми випишемо лиш основні:
Директива | Опис |
---|---|
%c | Формат дати і часу, стандартний в поточній локалі |
%d | День місяця |
%H | Година в 24-х годинному форматі |
%m | Місяць |
%M | Хвилина |
%x | Дата в форматі поточної локалі |
%X | Час в форматі поточної локалі |
%y | Рік без століття (дві цифри: 10) |
%Y | Рік (2010) |
%% | Знак відсотка: % |
%%infile та %%outfile
ред.Теги %%infile та %%outfile дозволяють дізнатись про розташування файлу з кодом, та файлу що генерується відповідно.
Використовуються в основному для того, щоб вставляти в кінцевий файл посилання на його початковий код. Якщо назви файлу немає (використовується STDOUT чи STDIN), то макроси замінюються на "-".
Опис |
---|
Ім'я файлу |
Ім'я файлу без розширення |
Тільки розширення файлу |
Повне ім'я файлу з адресою |
Адреса файлу |
Назва каталогу в якому знаходиться файл (тільки верхнього) |
Знак відсотка: % |
%%toc
ред.Макрос %%toc вказує розмішення змісту документа. Він використовується разом з опцією командного рядка --toc, інакше ігнорується. Хоча його використання не обов'язкове, зміст автоматично розміщується на початку документа, проте з ним, зміст можна помістити будь-де в тілі документа, і скільки завгодно разів. Наприклад на початку та в кінці. Не приймає ніяких параметрів.
Область налаштувань
ред.В t2t документа є ще одна частина, яку ми досі не згадували. Це область налаштувань. Міститься вона рівно між тілом документа та заголовками. Тіло документа починається там, де зустрічається перший непорожній та незакоментований рядок тексту. Ось загальна схема документа:
Заголовок 1 Заголовок 2 Заголовок 3 % А ось власне і область налаштувань А документ починається з цього рядка...
Не згадували ми її тому, що документ може бути і без неї, але її використання іноді досить сильно спрощує життя.