МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ І СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
РЕДАГУВАННЯ БАГАТОСТОРІНКОВИХ ПУБЛІКАЦІЙ В LATEX
МЕТОДИЧНІ ВКАЗІВКИ ДО ЛАБОРАТОРНОЇ РОБОТИ №8
з курсу
“Технічне редагування ”
для студентів базового напряму 051501 «Видавничо-поліграфічна справа»
освітньо-кваліфікаційного рівня бакалавр
Затверджено
на засіданні кафедри АСУ
Протокол № 14-2010/2011
від 20.06.2011 р.
Львів – 2011
Лабораторна робота №8
Редагування багатосторінкових публікації в LaTeX
Мета роботи – навчитись створювати елементи багатосторінкових публікацій (титульні сторінки, виноски, списки літературних джерел, предметні покажчики).
Теоретичні відомості
Титульний лист
Для того, щоб оформити заголовок до всього документа, необхідно:
внести інформацію для заголовка (автор, назва і т.д.);
застосувати LaTeX-команду \maketitle для генерування заголовоку.
Команда \maketitle створить титульний лист, якщо це передбачено класом і стильовими опціями. Якщо титульний лист не передбачений, то команда \maketitle розмістить задану вами інформацію про автора, заголовок та інше на першій сторінці, вибравши відповідні шрифти і зробивши належні відступи між титульною інформацією і текстом. Для класів report і book титульний лист створюється завжди (і не створюється, якщо вказана класова опція notitlepage), для класу article титульний лист не створюється (але буде створено, якщо вказати класову опцію titlepage).
Примітка. Оскільки команда \maketitle генерує текст, її не можна поміщати в преамбулі документа.
Автор документу вказується за допомогою команди \author. Вона має один обов’язковий аргумент – ім’я автора (в тому вигляді, як ви хочете його бачити на титулі). Якщо авторів кілька, їх імена повинні бути розділені командою \and.
Заголовок задається за допомогою команди \title. Якщо заголовок довгий, можна задати його розбиття на рядки з допомогою команди \\; якщо цього не зробити, заголовок буде розбито на центровані рядки автоматично (аналогічно до абзацу в оточенні center).
Наступний елемент інформації для титулу – команда \date. Вона має один обов’язковий аргумент, в якому можна задати будь-який текст (наприклад, дату), який буде розміщений на титульному аркуші (або перед початком основного тексту, якщо титульний аркуш не передбачений класом і/або опціями) в одному або декількох центрованих рядках (так само, як і текст, що задається в аргументі команди \title). Зокрема, можна залишити аргумент цієї команди «порожнім», якщо сказати \date{} –тоді відповідний текст взагалі не з’явиться. Але якщо взагалі не дати цю команду, хоча б і з порожнім аргументом, то LaTeX надрукує на титулі дату свого запуску.
Команди \author, \title і \date можна задавати в будь-якому порядку, але обов’язково до команди \maketitle (можна і в преамбулі). Команда \maketitle повинна бути першою з команд для генерування тексту.
Останнє, що можна зробити з інформацією для титулу документа, – це забезпечити його виносками. До будь-якого з авторів, до будь-яких слів в титулі або в тексті, що міститься в аргументі команди \date, можна зробити виноску з допомогою команди \thanks, що має один обов’язковий аргумент – текст виноски (на відміну від звичайних виносок, абзаци в цьому тексті не можна розділяти порожніми рядками або командами \par; якщо у вашій виносці має бути кілька абзаців, розділяйте їх LaTeX-командою \endgraf). Виноски будуть надруковані внизу титульного аркуша (або першої сторінки, якщо титульний аркуш не передбачено).
Примітка. Команда \thanks розміщується всередині аргументу команд \title та/або \author.
Приклад.
\documentclass[12pt]{article}
\usepackage[cp1251]{inputenc}
\usepackage [ukrainian,russian] {babel}
\author{Студент групи ВП-41}
\title{Лабраторна робота\thanks{Виноска}}
\date{}
\begin{document}
\maketitle
\end{document}
Можна взагалі не використовувати стиль оформлення титульного аркуша від LaTeX. Альтернативою є оточення titlepage. Текст між \begin{titlepage} і \end{titlepage} складе титульний лист, за оформлення якого відповідає той, хто готує текст. Сам LaTeX всередині цього оточення робить тільки три етапи:
встановлює друк в одну колонку (навіть якщо сам документ буде друкуватися у дві колонки);
починає нову сторінку і встановлює лічильник кількості сторінок у нуль;
встановлює сторінці стиль оформлення empty (без колонтитула і номера).
Що і як розмістити на цій сторінці – задача того, хто готує текст.
Виноски
Для того, щоб зробити виноску до якогось місця в тексті, необхідно використовувати команду \footnote з одним обов’язковим аргументом – текстом виноски. У стандартних класах LaTeX виноски нумеруються підряд протягом всієї глави або навіть (у класі article) всього документа.
Приклад.
Виноски \footnote {Приклад виноски} нумеруються ...
Якщо після слова, до якого робиться виноска, повинен стояти знак, то в початковому тексті його треба поставити після закриваючої фігурної дужки, яка обмежує аргумент команди \footnote.
Текст виноски може складатися з кількох абзаців; в цьому випадку вони, зазвичай, відділяються порожній рядком.
У LaTeX не передбачена можливість автоматично заново починати нумерацію виносок на кожній сторінці. Варіантом організації нової нумерації виносок на кожній сторінці є використання команди \footnote з необов’язковим аргументом. Цей необов’язковий аргумент розташовується (у квадратних дужках) перед обов’язковим. Параметром необов’язкового аргументу є бажаний номер виноски.
Приклад.
Виноска з номером \footnote[555]{Приклад виноски з нестандартною нумерацією}
Примітка. При використанні команди \footnote з необов’язковим аргументом автоматична нумерація виносок не збивається: попередня виноска, наприклад, мала номер 9, потім ми штучно створили виноску номер 555, а наступна виноска матиме номер 10.
Рубрикація документу
При роботі з LaTeX, доцільно робити заголовки і нумерацію розділів документу не вручну, а за допомогою спеціальних команд. Для позначення розділів документу стандартні класи LaTeX надають команди, які перераховані в табл. 1.
Таблиця 1.
Команди для рубрикації документу.
Команда
Вид рубрикації документу
\part
частина
\chapter
глава
\section
розділ
\subsection
підрозділ першого рівня
\subsubsection
підрозділ другого рівня
\paragraph
параграф
\subparagraph
підпараграф
В табл. 1 кожна наступна команда позначає більш дрібний підрозділ, ніж попередня. Слід мати на увазі, що команда \chapter («глава») в класі article не визначена, решта команд визначені в чотирьох основних класах.
Стандартні класи забезпечують нумерацію розділів, при якій більш дрібний розділ «підпорядкований» більш великому: коли, наприклад, починається новий розділ \section, нумерація розділів \subsection і дрібніших починається заново. Виключенням з цього правила є тільки команда \part.
Кожна з команд має один обов’язковий параметр – ім’я розділу, яке вказується в фігурних дужках після назви відповідного розділу.
Для того, щоб почати новий розділ, не нумеруючи його, використовують варіант відповідної команди вказуючи символ «*» після імені команди.
Приклад.
\part{Bce про \LaTeX}
\section{Bcтуп}
...
\subsection{Основи роботи}
...
\subsection*{Основнi прийоми}
...
\subsection*{Нумерацiя сторінок}
...
\subsection{Поля та розмір сторінки}
...
\subsubsection{Висота i ширина документу}
...
\subsubsection{Поля документу}
Примітка. У розділах, створених описаними вище командами, перший абзац набирається без абзацного відступу (за винятком найдрібнішого розділу \subparagraph).
Зміст
У процесі роботи LaTeX автоматично збирає інформацію для створення змісту і записує її в спеціальний файл з тим же ім’ям, що й в оброблюваного файлу, і з розширенням «.toc». Для того, щоб LaTeX записав цю інформацію, а потім використав її та надрукував зміст, необхідно задати команду команду \tableofcontents.
Примітка. Зміст, що генерується LaTeX, щоразу буде «на крок відставати» від реального стану в документі. Щоб врахувати всі можливі зміни і отримати вірний зміст, необхідно в самому кінці роботи над текстом запустити LaTeX ще раз (нагадування про це LaTeX не видасть).
Весь зміст в цілому буде названо словом, визначеним командою \contentsname. Якщо стандартний стиль оформлення змісту не влаштовує користувача, то його можна змінити (див. п. «Зміна стандартних заголовків»).
Приклад.
\part{Bce про \LaTeX}
\section{Bcтуп}
...
\subsection{Основи роботи}
...
\subsection*{Основнi прийоми}
...
\subsection*{Нумерацiя сторінок}
...
\subsection{Поля та розмір сторінки}
...
\subsubsection{Висота i ширина документу}
...
\subsubsection{Поля документу}
...
\tableofcontents %створити зміст документу
Список літератури
В LaTeX існує можливість оформити список літератури, елементи якого нумеруються автоматично; в тексті при цьому необхідно посилатися не на ці номери, які можуть змінитися в процесі роботи над документом, а на встановлені умовні позначення для елементів списку літератури («джерел»).
Список літератури оформляється як оточення thebibliography. Це оточення має обов’язковий аргумент – номер джерела, що займає найбільше місця на друці (у стандартних шрифтах всі цифри мають однакову ширину, тому досить навести в якості аргументу, наприклад, номер 99, якщо джерел буде менше 100).
Кожен джерело вводиться командою \bibitem. У неї є один обов’язковий аргумент – умовне позначення («мітка джерела»). В якості такого позначення можна використовувати будь-яку послідовність з букв і цифр.
У тексті посилання на джерело виконується за допомогою команди \cite. У неї є обов’язковий аргумент – умовне позначення того джерела, на який ви посилаєтесь. Можна послатися відразу на кілька джерел –для цього в аргументі команди \cite необхідно вказати їх позначення через кому.
Приклад.
В~\cite[Гл. ~4]{Lvovsky} розглянуто принципи оформлення тексту.
В~\cite{Notshort} описано всі команди системи.
\begin{thebibliography}{99}
\bibitem{Lvovsky}Львовский С. М. Набор и верстка в пакете LaTeX, 3-е издание. — М.: МЦHМО, 2003, 448 с.
\bibitem{Notshort}Оетикер Т., Партль Х., Шлегл Э., Хина И. Не очень краткое введение в LaTeX2e, или LaTeX2e за 94 минуты. Перевод с английского Б. Тоботраса, 1999, 108 с.
\end{thebibliography}
У цьому прикладі використано команду \cite з необов’язковим аргументом: він ставиться перед обов’язковим; в квадратних дужках записується текст, який буде через кому надрукований після номерів посилань.
Примітка. Після першого запуску програми ви побачите повідомлення про те, що посилання не визначені. Для коректного відображення списку літератури необхідно запустити програму декілька разів. Якщо надалі в процесі роботи над текстом нумерація посилань зміниться, LaTeX повідомить вам про це і запропонує запустити програму ще раз, щоб отримати коректні посилання.
Якщо вам не подобається, що джерела в списку літератури нумеруються, можна придумати для них свої позначення, які будуть друкуватися замість номерів. Для цього треба використовувати команду \bibitem з необов’язковим аргументом, що йде перед обов’язковим. У квадратних дужках ставиться те позначення, яке буде замінювати номер для цього джерела.
Приклад.
\begin{thebibliography}{XXXX}
\bibitem[EGA]{Groth} A.\,Grothendieck, J.\,Dieudonn\’e. \’El\’ements de G\’eom\’trie Alg\’ebrique.
...
\end{thebibliography}
В прикладі команда \cite{Groth} буде генерувати текст [EGA].
Списку літератури в цілому LaTeX автоматично дає заголовок, який визначається командою \refname в класі article і \bibname в класах report і book. Якщо цей заголовок друкується по-російськи, то його можна перевизначити для української мови (див. п. «Зміна стандартних заголовків»).
Предметний покажчик
На відміну від списку літератури, який генерується абсолютно автоматично, процес створення покажчика автоматизований не повністю.
Створення предметного покажчика починається зі створення спеціального файлу, який міститиме інформацію про індекси.
Щоб створити спеціальний файл для автоматичної генерації індексу, необхідно зробити:
по-перше, у преамбулу документа необхідно включити команду \makeindex.
по-друге, за умови, що зроблено перший крок, можна помітити ті місця в тексті, на які ви хочете послатися в предметному покажчику, командою \index (якщо команда \makeindex в преамбулі відсутня, то команди \index нічому не заважають, але ніякої дії не виконають). У цієї команди один обов’язковий аргумент – текст мітки (у найпростішому випадку така мітка – це ключове слово майбутнього предметного покажчика).
Інформація про те, на які сторінки потрапили ваші мітки, буде записана у спеціальний файл з тим же ім’ям, що і у вашого файлу, і розширенням «.idx».
Після розташування команди \makeindex в преамбулі документу та позначення необхідних слів командою \index необхідно запустити програму MakeIndex (в редакторі TexWorks необхідно вибрати опцію і виконати її). У результаті чого буде створено idx-файл – напівфабрикат предметного покажчика, створений LaTeX.
У аргументі команди \index можуть бути будь-які символи, і взагалі текст в аргументі цієї команди може бути неосмисленим чи недопустимим з точки зору LaTeX – в будь-якому випадку аргумент команди \index буде в незмінному вигляді переписаний у idx-файл. В аргументі команди \index можна задавати допоміжну інформацію для програми обробки idx-файлу.
У результаті роботи програми Makeindex з’явиться файл з тим же ім’ям, що у вихідного файлу, і розширенням «.ind». Це – готовий файл для предметного покажчика, який залишається тільки включити у ваш документ.
Якщо не вживати спеціальних заходів, то всі записи в ind-файлі, створеному програмою Makeindex, будуть рівноправні – всі вони будуть виводитися командою \item. Для того щоб предметний покажчик був влаштований ієрархічно, необхідно в аргументі команди \index після заголовного слова поставити знак оклику (!), а після нього – підпорядковане йому слово. Можливо також створити підпорядкування другого порядку – тоді потрібен ще один знак оклику.
Приклад.
Багато людей люблять домашніх кішок. \index {Кішки!Домашні}
Добре також мати собаку. \index {Собаки}
Мало хто ризикне тримати вдома таку дику кішку, \index{Кішки} як тигр.
Пудель \index {Собаки} набагато безпечніше.
Для того щоб відобразити сформований предметний покажчик необхідно помістити команду \printindex{«назва файлу».ind}. У місці розташування команди буде виведено предметний покажчик.
LaTeX автоматично дає предметному покажчику заголовок, який визначається командою \indexname. Якщо вас не влаштовує ця назва – його можна перевизначити (див. п. «Зміна стандартних заголовків»).
Структура документа при створенні предметного покажчика повинна мати вигляд:
\documentclass[12pt]{article}
\usepackage[cp1251]{inputenc}
\usepackage [ukrainian,russian] {babel}
\usepackage {makeidx}
\makeindex
…
%інші команди в преамбулі документу
\begin{document}…
Текст \index{«мітка покажчика»} текст текст текст
\printindex{«название файла».ind}
\end{document}
Зміна стандартних заголовків
Для зміни стандартних заголовків типу «Розділ», «Література » і т.д. необхідно в тілі документу надрукувати команду вигляду: \renewcommand{«команда заголовка»}{«Новий напис»}
Приклад.
\renewcommand{\chaptername}{Моя назва розділу}
Команда \renewcommand, використовується для зміни значень вже існуючих команд. Робити це треба тільки в тому випадку, якщо команда \chapter передбачена у використовуваному вами класі.
В табл. 2 наведено список написів (заголовків), значення яких можна змінити.
Таблиця 2.
Список команд, написи в яких можна перевизначити.
Команда
Зміст напису (за замовчуванням)
\chaptername
«Глава»
\contentsname
«Зміст»
\listfigurename
«Список рисунків»
\listtablename
«Список таблиць»
\abstractname
«Анотація»
\refname
«Література» (для класу article)
\bibname
«Література» (для класу report і book)
\indexname
«Предметний покажчик»
\figurename
«Рис.»
\tablename
«Таблиця»
\partname
«Частина»
\appendixname
«Додаток»
Посилання в тексті
Будь-яке місце в тексті можна позначити за допомогою команди \label з одним аргументом – назвою мітки; на позначене місце можна послатися з допомогою команди \ref або \pageref з тим же аргументом.
Команда \pageref дає на друку номер сторінки, на який потрапила відповідна позначка, тому \label потрібно ставити без пробілу до того слова, до якого відноситься посилання (при наявності пробілу слово і посилання на нього можуть потрапити на різні сторінки).
Команда \ref має свої особливості. Багато конструкцій LaTeX автоматично елементи документа (команди рубрикації тексту, оточення, що створюють нумеровані виключні формули, команда \caption, команда \item в оточенні enumerate, команда \cite). Крім того, автоматично створюють номери, наприклад, оточення типу «теорема».
Для команди \ref діє наступне правило: якщо в тексті стоїть команда \label{123}, то \ref{123} видає на друці останній з автоматично згенерували номерів, який опинився перед \label{123}.
При першому (після появи нової команди \label) запуску LaTeX команди \ref та \pageref друкують замість номерів знаки питання (?). Це означає, що в даний момент посилання, згенеровані командами \ref або \pageref, можуть бути невірними. Після повторного запуску LaTeX (іноді – не одного) все встає на свої місця.
В аргументі команди \label не можна розміщувати фігурні дужки, а також символи ~ («тильда») або \ («backslash»).
Замітки на полях (маргіналії)
Замітки на полях сторінки створюються за допомогою команди \marginpar з єдиним обов’язковим аргументом – текстом замітки.
Приклад.
Маргіналії (ліхтарики) --- заголовки у вигляді написів \marginpar {!!!} на полях сторінок.
Якщо документ друкується в одну колонку і в «односторонньому» стилі (як в класах article або report без класової опції twoside), то замітки виводяться за замовчуванням на праве поле, а якщо документ друкується в одну колонку, але в «двосторонньому» стилі, то на зовнішнє поле (праве, якщо сторінка має непарний номер, і ліве в протилежному випадку). Якщо документ друкується у дві колонки, то замітка завжди виводиться на найближче поле (найближче до тієї колонці, в яку потрапила замітка).
У команди \marginpar передбачений і необов’язковий аргумент. Він розміщується перед обов’язковим у квадратних дужках; якщо ця команда використана з необов’язковим аргументом, то текст, який виводиться на поля, буде залежати від того, на праве або на ліве поле потрапляє замітка: на праве поле буде виведений текст, наведений в обов’язковому аргументі, на ліве – текст, наведений в необов’язковому аргументі.
Приклад.
\marginpar[$\Longrightarrow$]{$\Longleftarrow$}
По можливості замітки на полях розміщуються на тому ж рівні, що і текст, до яких вони належать, але якщо цих заміток на кожній сторінці є багато, то деякі з них будуть зсунуті вниз, а іноді навіть перенесені на іншу сторінку.
Якщо текст набирається в одну колонку, то можна зробити так, щоб замітки з’являлися не на тих полях, на яких вони повинні бути відповідно до описаних вище правил, а на протилежних. Для цього треба застосувати команду \reversemarginpar. Існує ще й команда \normalmarginpar, яка повертає правила розміщення заміток в початковий стан.
Можна також змінювати параметри оформлення самих заміток на полях:
\marginparwidth – ширина рядка на полях;
\marginparsep – відстань між полем і замітками;
\marginparpush – мінімальна відстань по вертикалі між сусідніми замітками.
Значення цих параметрів встановлюються автоматично, в залежності від класу документа.
Всередині «блоків» (наприклад, всередині аргументу команди \mbox або всередині оточення tabular, призначеного для верстки таблиць) команду \marginpar застосовувати не можна.
Порядок виконання роботи
Ознайомитись з теоретичними відомостями та наведеними прикладами.
Використовуючи шаблон, створений в попередній лабораторній роботі, створити багатосторінковий документ (мінімум 3 сторінки), в якому:
додати титульний лист (вказати прізвище, ім’я та по батькові студента, аргументом команди \date задати номер групи);
створити 5 виносок по тексту (для двох виносок призначити власні мітки);
створити рубрики документа (розбити на глави, розділи, підрозділи і т.д.);
на основі рубрикації створити зміст документу;
створити список літератури (мінімум 5 літературних джерел з посиланнями на джерела в тексті документу).
створити предметний покажчик (мінімум 5 термінів).
Перевизначити написи для списку літератури і т.д. української мовою (за необхідності).
Створити замітку на полях.
Зміст звіту
Титульна сторінка.
Мета роботи.
Короткі теоретичні відомості.
Порядок виконання роботи.
Текст LaTeX-файлу (з командами).
Приклад відкомпільованого LaTeX-файлу.
Висновки.
Рекомендована література
Львовский С. М. Набор и верстка в пакете LaTeX, 3-е издание. — М.: МЦHМО, 2003, 448 с.
Оетикер Т., Партль Х., Шлегл Э., Хина И. Не очень краткое введение в LaTeX2e, или LaTeX2e за 94 минуты. Перевод с английского Б. Тоботраса, 1999, 108 с.
Клименко С. В., Лисина М. В. LaTeX и его команды. – Институт физики высоких энергий, 1996, 149 с.
Сюткин В. Русский язык в LaTeX2e. 2002, 7 с.
Сюткин В. Включение рисунков в LaTeX2e. 2001, 12 с.
Гуссенс М., Миттельбах Ф., Cамарин А. Путеводитель по пакету LaTeX и его расширению LaTeX2e. — Москва: Мир, 1999, 606 с.
Контрольні запитання
Як створити титульний лист?
Як створити виноску на титулі?
Як створити виноску в тексті?
Назвіть основні команди для розбиття тексту на розділи та підрозділи.
Створення змісту документу.
Створення списку літературних джерел з посиланнями на джерела.
Етапи створення предметного покажчика.
Як змінити стандартні заголовки (написи)?
Що таке маргіналії?
Як створити посилання в тексті?