Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Кафедра ІТВС
/
Звіт з лабораторної роботи №5
З дисципліни:
«Технічне редагування»
Тема
РЕДАГУВАННЯ ТАБЛИЦЬ В LATEX
Мета роботи – навчитись створювати та редагувати таблиці в LaTeX.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Вміст таблиці організується в колонки (графи) і горизонтальні рядки таким чином, що кожен елемент є складовою частиною і рядка, і колонки, див. рис. 5.1. Таблиця складається з наступних основних елементів: нумераційного та тематичного заголовків (номер таблиці і її назва), головки (заголовна частина таблиці), хвоста (вся інша частина таблиці без головки), боковика (перша зліва графа таблиці) і прографки (хвостова частина таблиці без боковика).
Рис. 5.1. Структура таблиці
Набір простих таблиць
У LaTeX оточення tabular задає таблицю. Між \begin {tabular} (з преамбулою) і командою \end {tabular} (команда, яка закриває оточення) розташовується власне текст таблиці.
Команда \\ розділяє рядки таблиці, а знак & (амперсендом) розділяє колонки таблиці всередині одного рядка (текст між двома найближчими амперсендами описує «одну графу» таблиці), див. рис. 5.2. Пробіли початку або в кінці «графи» таблиці ігноруються.
Приклад:
\begin{tabular}[c]{c|c|c}
\textbf{\ OR} & TRUE & FALSE \\[2mm]\hline
TRUE & TRUE & TRUE \\
FALSE & TRUE & FALSE
\end{tabular}
/
Рис. 5.2. Набір простої таблиці
У необов’язковому параметрі команди перенесення рядка (\\) можна вказати додатковий зсув по вертикалі. Вертикальний розмір кожного з рядків автоматично виставляється відповідно до висоти тексту. Оточення tabular створює єдиний об’єкт – таблицю. Таблицю вигідно вкладати в плаваюче оточення table.
Приклад.
\begin{ table } [ht]
\centering%центруємо таблицю
\begin{tabular} [«позиціонування таблиці»] {«формат стовбців2}
«тіло таблиці»
\end{ tabular }
\caption{«підпис»}\label{ tab:metka}
\end{table}
Це дозволяє автоматично створити нумераційний заголовок таблиці та додати тематичний. Необов’язковий аргумент оточення tabular дає можливість вказати як позиціонувати всю таблицю по вертикалі по відношенню до оточуючого тексту:
t – вирівнювання по верхньому рядку, тобто верхній рядок таблиці буде розташована на одному рівні з рядком де ця таблиця розміщена;
c – вирівнювання по центру;
b – вирівнювання по нижньому рядку.
Ширина стовпців обчислюється автоматично за заданим форматом, який задається через обов’язковий аргумент оточення (преамбула таблиці). Кожному з стовпців повинна відповідати своя літера:
l – вирівнювання по лівому краю;
c – вирівнювання по центру;
r – вирівнювання по правому краю;
p {«ширина»} – завдання колонки певної ширини. У разі жорстко заданої довжини занадто довгий текст може розбиватися на кілька рядків.
Якщо формат стовпців повторюється, то для скорочення запису можна використати *{N}{«формат стовпця або стовпців»}, де n – число повторень (це своєрідний цикл).
Приклад:
\begin{tabular}{|*{3}{c|}}
\textbf{\ OR} & TRUE & FALSE \\[2mm]\hline
TRUE & TRUE & TRUE \\
FALSE & TRUE & FALSE
\end{tabular}
Лінії у таблицях
Символ |, розташований між літерами, що описують колонки, задає вертикальну лінійку, що розділяє колонки. Можна поставити символ | перед першою з цих букв або після останньої – тоді вертикальна лінійка буде обмежувати таблицю зліва чи справа. Кілька таких символів можуть стояти підряд – тоді колонки будуть розподілятися не одинарною, а подвійною (потрійною і т. д.) вертикальною лінійкою.
Горизонтальні лінії створюються за допомогою команди \hline. За аналогією з подвійною вертикальної рискою дві команди \hline формують подвійну горизонтальну лінію. Інструкція @{«символ»} дозволяє вставити між стовпцями будь символ зазначений у якості обов’язкового аргументу.
Для того щоб обмежити лінією тільки частину стовпців можна скористатися командою \cline {«діапазон стовпців»}. Вона має обов’язковий аргумент – номери першої та останньої з колонок, які охоплюються горизонтальній рискою, розділені знаком «-» (мінус), див. рис. 5.3.
Приклад:
\begin{tabular}{|c|c|}
\hline
Північний-Захід & Північний-Схід \\
\hline
Південний-Захід & Південний-Схід \\ \hline
\end{tabular}
Результат
/
Рис. 5.3. Набір таблиці із вирівнюванням
Об’єднання суміжних колонок таблиці
Щоб створити напис на декілька колонок потрібно на місці відповідної графи таблиці записати команду \multicolumn{n}{«формат колонки»}{«текст»}, де перший обов’язковий параметр відповідає числу об’єднаних колонок, другий – формату об’єднаної колонки , третій – текст. формат об’єднаної колонки задається буквою l, r або c (текст у графі буде притиснутий вліво, вправо або центрований), можливо, з символами | ліворуч або праворуч, якщо ми хочемо, щоб графа була обмежена вертикальними лінійками.
Приклад.
\begin{tabular}{|l|l|l|l|}
\hline
\multicolumn{4}{|c|}{\textbf{Кількість студентів}}\\
\hline
Назва потоку & ФЛ & КН & ВП\\
\hline
Курс &1 & 1 & 1\\
\hline
Кількість & \multicolumn{2}{c|}{90}&\multicolumn{1}{c|}{25}\\
\hline
\end{tabular}
Результат
/
Рис. 5.4. Набір таблиці із об’єднанням стовпців
Об’єднання суміжних рядків таблиці
Для об’єднання комірок по вертикалі необхідно використати пакет multirow (необхідно підключити в преамбулі документу) в якому визначається набір однойменних команд. У пакеті визначені дві команди з двома і трьома обов’язковими аргументами:
\multirow {«число рядків»}{«ширина»}{«текст»}
\multirow {«число рядків»}{«текст»}
Як перший аргумент передається число рядків, які займе об’єднана комірка, далі можна вибрати або автоматичне обчислення ширини, або вказати її самостійно. Число рядків може бути від’ємним. У цьому випадку об’єднуються комірки зверху від команди.
Приклад.
\begin {tabular}{|*{ 3} {p{1.2cm}|}}
\textbf {АБО} & Істина & Брехня \\[2mm]
\hline \hline
Істина & \multirow {2}{Істина} & Істина \\
Брехня & & Брехня
\end {tabular}
/
Рис. 5.5. Набір таблиці із об’єднанням комірок
Похилі лінії в комірках таблиць
Команда \backslashbox{текст}{текст} розділяє комірку на дві частини похилою лінією. Для використання команди в преамбулі документу необхідно підключити пакет slashbox.
Вирівнювання чисел в таблицях
Пакет dcolumn з колекції tools додає ще одну специфікацію до формату стовпців таблиці.
Нова специфікація має формат D {delim}{output}{nfruc}, де delim – символ або набір символів по якому відбувається вирівнювання (зазвичай це крапка або кома), output – символ який заміщає delim при компіляції (наприклад, буває потрібно замінити крапку на кому), nfrac – максимальна кількість позицій в дробовій частини числа (при від’ємному значенні число позицій не фіксується).
Багатосторінкові таблиці
Оточення tabular розглядається LaTeX як одна велика буква, і тому не розбивається по сторінках. В LaTeX можна створювати таблиці, в яких розбиття на сторінки та визначення ширини колонок відбувається автоматично.
Для цього треба підключити в преамбулі документу стильовий пакет longtable і використовувати оточення longtable.
Як і оточення tabular, воно приймає один обов’язковий параметр – преамбулу (аналогічно до tabular); всередині оточення діють ті ж правила запису тексту, що і в оточенні tabular (зокрема, припустимі команди \hline, \cline і \multicolumn). Різниця з оточенням tabular в тому, що одержувана при цьому таблиця може займати кілька сторінок і мати довільну довжину.
Наведемо тепер деякі особливості оточення longtable, пов’язані з розбиттям на сторінки.
По-перше, після першого запуску LaTeX колонки таблиці, визначеної як longtable, можуть виявитися неформатованими (це пов’язано з тим, що при першому проході LaTeX читає таку таблицю шматках і вирівнює ці шматки незалежно один від одного). Щоб домогтися вирівнювання, треба запустити LaTeX ще раз.
По-друге, ви маєте можливість зробити так, щоб заголовок таблиці повторювався на кожній новій сторінці, на якій продовжується таблиця. Для цього треба оформити заголовок у вигляді рядка чи групи рядків (та/або команд \hline), і при цьому останній з цих рядків треба завершити не командою \\, а командою \endhead. Окремий заголовок для початку таблиці також оформляють у вигляді одного або кількох рядків, останній з яких завершується командою \endfirsthead. Крім того, можна передбачити спеціальну групу рядків, які будуть ставитися на кожній сторінці внизу таблиці – для цього треба записати рядок або групу рядків, завершивши останній з них не командою \, а командою \endfoot. Можна також передбачити окрему групу рядків, які ставляться внизу таблиці лише на останній із займаних таблицею сторінок. Для цього треба замість \endfoot написати \endlastfoot. Групи рядків, що завершуються командами \endhead, \endfirsthead, \endfoot або \endlastfoot, повинні стояти на початку оточення longtable.
При користуванні пакетом longtable передбачена можливість автоматичної нумерації таблиць, створених оточенням longtable.
Для цього використовується та ж команда \caption, що і в середовищах table, але користуватися нею треба трохи по-іншому: після цієї команди необхідно поставити \ \, \endhead або \endfirsthead (або \endfoot і т.п.).
У таблиці, оформленої за допомогою longtable, можна явно вказати місце розриву сторінки за допомогою \newpage (а також \pagebreak або \nopagebreak). Ці команди повинні бути розташовані безпосередньо після \\ (можна з нового рядка).
Для того, щоб таблиця була притиснута до правого краю, треба вказати в оточення longtable необов’язковий аргумент r (у квадратних дужках, між \begin {longtable} і преамбулою); необов’язковий аргумент l (у квадратних дужках, між \begin {longtable} і преамбулою) дасть таблицю, притиснуту вліво.
ПОРЯДОК ВИКОНАННЯ РОБОТИ
Ознайомлююсь з основними принципами створення таблиць в системі LaTeX.
Компілюю наведені приклади в редакторі TexWorks.
Відповідно до індивідуального завдання , створюю таблицю та заповнюю її текстом.