Таблиці LaTeX | Aspose.TeX для Java
1. Вступ
Таблиці відіграють важливу роль у підвищенні чіткості, організації та візуальної привабливості академічних і професійних документів. Вони служать потужним засобом для представлення складних даних, порівнянь і взаємозв’язків у структурованому та зручному форматі. Ось короткий огляд їх важливості:
Узагальнення даних: таблиці забезпечують стисле представлення інформації, для пояснення якої в іншому випадку може знадобитися кілька параграфів. Вони дозволяють авторам стисло представити великі обсяги даних, полегшуючи читачам розуміння ключових моментів.
Чітка візуалізація: складні дані, такі як статистичні цифри, результати опитувань і експериментальних висновків, можна більш ефективно представити за допомогою таблиць. Табличний формат допомагає читачам набагато легше визначати тенденції, закономірності та викиди.
Порівняльний аналіз: таблиці дозволяють паралельно порівнювати різні набори даних. Незалежно від того, чи йдеться про порівняння специфікацій продукту, фінансових показників чи дослідницьких змінних, таблиці допомагають читачам миттєво зробити важливі висновки.
Логічна організація: таблиці забезпечують логічну структуру, яка розділяє дані на рядки та стовпці. Така організація полегшує представлення даних, які мають різні категорії, дозволяючи читачам легко орієнтуватися та знаходити конкретну інформацію.
Цілісність даних: в академічному та професійному контекстах точність даних має першорядне значення. Таблиці дозволяють авторам подавати необроблені дані, усуваючи ризик неправильного тлумачення, який може виникнути, коли дані передаються у формі розповіді.
Посилання та цитати: якщо таблиці добре позначені та належним чином посилаються, вони стають цінними опорними точками в документі. Автори можуть посилатися на конкретні таблиці під час обговорення висновків, щоб читачам було легше стежити за аргументацією.
Візуальне залучення: добре продумані таблиці розбивають монотонність текстового вмісту, візуально залучають читачів і допомагають підтримувати їх інтерес. Вони сприяють загальній естетичності та професійності документа.
Ефективність спілкування: зайнятим професіоналам і дослідникам часто потрібно швидко отримувати інформацію. Таблиці дозволяють їм переглядати дані та знаходити конкретні деталі без необхідності читати абзаци тексту.
Стандартизація: в академічних дослідженнях стандартизовані таблиці часто використовуються для представлення експериментальних методологій, результатів і статистичного аналізу. Це забезпечує узгодженість між публікаціями та сприяє відтворюваності досліджень.
По суті, таблиці служать інформаційними центрами, ефективно представляючи керовану даними інформацію, зберігаючи при цьому структурований і зручний для читання формат. Їхня роль у передачі складних деталей, одночасно забезпечуючи ясність і доступність, робить їх незамінним інструментом як в академічній, так і в професійній комунікації.
Давайте тепер звернемося до LaTeX як до потужної системи верстки, яка дозволяє авторам перетворювати свої ідеї в чудово створені документи. LaTeX виходить за рамки традиційних текстових процесорів, пропонуючи сферу точності, елегантності та універсальності, що дуже помітно під час обробки табличних структур.
За своєю суттю LaTeX — це більше, ніж просто інструмент підготовки документів; це форма мистецтва, яка поєднує типографіку з технологією. Незалежно від того, чи створюєте ви наукові роботи, звіти, презентації чи навіть книги, LaTeX чудово створює документи, які є не лише естетично привабливими, але й передають інформацію з надзвичайною чіткістю. Його майстерність полягає, серед іншого, в бездоганній інтеграції складних табличних структур, які є основою представлення даних у різних областях.
За допомогою LaTeX розташування інформації в таблицях виходить за рамки простої сітки рядків і стовпців. Натомість це ретельно організована симфонія, де вирівнювання, інтервали та стиль гармонізують, щоб забезпечити вишукане представлення даних. Табличні структури в LaTeX стають візуальними оповідями, передаючи складні набори даних, зв’язки та порівняння з елегантністю та точністю.
Пропонуючи безліч інструментів і пакетів, адаптованих до табличного дизайну, LaTeX перетворює дані на візуальну історію. Рівень налаштування LaTeX гарантує ідеальне узгодження кожної таблиці з призначенням вашого документа, починаючи від керування шириною стовпців і закінчуючи налаштуванням меж комірок і затіненням. Для тих, хто працює з математичним, технічним або науковим вмістом, безперебійне включення рівнянь і символів у клітинки таблиці LaTeX покращує передачу складних ідей.
Тим не менш, потужність LaTeX виходить за межі простої естетики. Він забезпечує ефективність завдяки механізмам перехресних посилань, роблячи таблиці навігаційними орієнтирами у вашому документі. Більше того, пакети LaTeX дозволяють створювати складні макети, які охоплюють кілька рядків або стовпців, що забезпечує представлення найвибагливіших даних.
Чим глибше ви заглиблюєтесь у світ LaTeX, тим більше нюансів ви досліджуєте; функції, які роблять LaTeX незамінним інструментом для вчених, професіоналів і дослідників. Ви занурюєтесь у мистецтво створення таблиць, які привертають увагу, переконливо представляють інформацію та сприяють загальному ефекту вашого документа.
2. Основи таблиць в LaTeX
Основна концепція таблиць у LaTeX обертається навколо «табличного» середовища, де ви визначаєте стовпці, рядки та їхній вміст для організації та представлення даних у структурованому та візуально приємному форматі.
Базова структура таблиці в LaTeX включає такі компоненти:
Почніть
табличне
середовище: щоб створити таблицю, ви вкладаєте вміст таблиці втабличне
середовище. Це середовище визначає макет і структуру таблиці.Специфікація стовпців: у середовищі
tabular
ви визначаєте кількість стовпців та їх вирівнювання за допомогою специфікаторів стовпців. Загальні специфікатори включаютьl
для вирівнювання по лівому краю,c
для вирівнювання по центру таr
для вирівнювання по правому краю. Ви також можете вказати, які стовпці LaTeX мають бути розділені вертикальними лініями та які вертикальні зовнішні межі мають бути намальовані.Вміст рядка: кожен рядок таблиці створюється шляхом вказівки вмісту для кожної комірки в рядку. Комірки розділені символом
&
, а кожен рядок завершується командою\\
.Горизонтальні лінії: Ви можете додати горизонтальні лінії до окремих рядків, а також горизонтальні зовнішні межі за допомогою команди
\hline
. Це покращує візуальну структуру таблиці.
Прості приклади LaTeX таблиць
Ось базовий приклад таблиці LaTeX:
1\begin{tabular}{|c|c|c|} \hline
2 Header 1 & Header 2 & Header 3 \\ \hline
3 Row 1, Cell 1 & Row 1, Cell 2 & Row 1, Cell 3 \\ \hline
4 Row 2, Cell 1 & Row 2, Cell 2 & Row 2, Cell 3 \\ \hline
5\end{tabular}
У цьому прикладі середовище tabular
використовується для створення таблиці з трьома стовпцями, кожен по центру (c
). Результат верстки показано нижче:
У наступному прикладі показано, як створити таблицю з вирівняними по лівому та правому краю стовпцями.
1\begin{tabular}{|l r||}
2 \hline
3 Company & Income \\ \hline \hline
4 Pinapple Computer & \$150M \\
5 Megasoft & \$210M \\
6 General Waters Ltd. & \$98M \\
7 Alphamet & \$2117M \\ \hline
8\end{tabular}
Права зовнішня межа зроблена подвійною, заголовок також відділений від таблиці подвійною лінією, вертикальна лінія, що розділяє стовпці, відсутня.
Ви також можете малювати горизонтальні лінії, які не охоплюють всю таблицю зліва направо.
1\begin{tabular}{|r|l|} \hline
2 9D5 & hexadecimal \\
3 4725 & octal \\ \cline{2-2}
4 1001 1101 0101 & binary \\ \hline \hline
5 2517 & decimal \\ \hline
6\end{tabular}
Тут команда \cline{i-j}
повідомляє LaTeX провести лінію від ith стовпця до jth стовпця.
Стовпці в таблиці можуть мати фіксовану ширину, у цьому випадку вони називаються стовпцями абзацу. Щоб створити такі стовпці, ви використовуєте специфікатор p
, за яким слідує ширина стовпця в дужках. Розглянемо такий приклад:
1\begin{tabular}{|p{3cm}|p{2cm}|} \hline
2 A short text. & A very very long text. \\ \hline
3 A very very long text. \newline And some more text in a new line. & A short text. \\ \hline
4\end{tabular}
Зверніть увагу на використання команди \новий рядок
.
З пакетом array
доступні ще два параметри для стовпців фіксованої ширини: m{width}
- те саме, що p{width}
, але вертикально вирівнює вміст комірки посередині;
b{width}
- те саме, що p{width}
, але вертикально вирівнює вміст клітинки внизу.
У рідкісних випадках, коли таблицю необхідно включити в текст абзацу, ви можете вказати положення таблиці відносно базової лінії текстового рядка, що вміщує текст. З цією метою ви використовуєте параметр t
, c
(за замовчуванням) або b
, щоб вирівняти базову лінію за верхньою, центральною чи нижньою частиною таблиці. Наприклад,
1This is the text of the paragraph
2\begin{tabular}[t]{|r|l|} \hline
3 9D5 & hexadecimal \\
4 4725 & octal \\ \cline{2-2}
5 1001 1101 0101 & binary \\ \hline \hline
6 2517 & decimal \\ \hline
7\end{tabular}
8that include a table.
Тут ми повідомляємо LaTeX, що базова лінія має вирівнятися до нижньої частини таблиці.
Визначення кількох стовпців
Якщо ваша таблиця містить однаково вирівняні стовпці, ви можете визначити їх усі по одному за допомогою синтаксису *{num}{format}
. Це особливо корисно, коли ваша таблиця має багато стовпців.
1\begin{tabular}{l*{7}{c}r}
2 Employee & Sun & Mon & Tue & Wed & Thu & Fri & Sat & Total \\ \hline
3 John Doe & & x & & & & x & & 2 \\
4 Dean Jones & x & & x & & x & & & 3 \\
5 Chris Cross& & & & x & & & & 1 \\
6 Pete Brad & & & & & & & x & 1
7\end{tabular}
Специфікація стовпців за допомогою >{\commmand}
і <{\command}
Інший спосіб вказати стовпці — використовувати >{\command}
для команд, що виконуються безпосередньо перед кожним елементом стовпця, і <{\command}
для команд, що виконуються відразу після кожного елемента стовпця. Це доступно, якщо у вас є пакет array
, включений у преамбулу документа. У наступному прикладі ми використовуємо цей синтаксис, щоб відцентрувати кожен із двох стовпців і набрати перший жирним шрифтом.
1\begin{tabular}{>{\centering\textbf\bgroup}p{3.5cm}<{\egroup}>|{\centering}p{3.5cm} }
2 History & Geometry
3 \tabularnewline \hline
4 Ancient & Elementary
5 \tabularnewline
6 Medieval & Affine
7 \tabularnewline
8 Modern & Analytic
9\end{tabular}
3. Налаштування макета таблиці
У таблицях LaTeX налаштування інтервалів має вирішальне значення для того, щоб таблиця виглядала добре структурованою та візуально привабливою. Правильний інтервал покращує читабельність і запобігає скупченню вмісту. Ось деякі ключові аспекти налаштування інтервалів у таблицях LaTeX:
Міжколонний відстань
LaTeX автоматично додає відстань між стовпцями. Щоб налаштувати простір між стовпцями, ви можете скористатися командою \setlength{\tabcolsep}{value}
перед табличним середовищем. Збільшення значення збільшує простір між стовпцями. Значення за замовчуванням – «6pt».
Міжрядні відстані
Щоб збільшити відстань між рядками, ви можете використати команду \renewcommand{\arraystretch}{value}
перед середовищем tabular
. Збільшення значення розтягує рядки, збільшуючи вертикальний інтервал таблиці. Значення за замовчуванням – 1.0
.
Ви також можете вказати пропуск після рядка явно за допомогою клею після кінцевика рядка.
1\begin{tabular}{cl} \hline
2 Level & Complexity \\ [1cm]
3 1 & Simple \\
4 2 & Intermediate \\
5 3 & Complex \\ \hline
6\end{tabular}
Використання виразів @
і !
Включивши пакет array
у преамбулу документа, ви можете вказати роздільники стовпців за допомогою конструкцій @{...}
або !{...}
.
Зазвичай вони приймають певний текст як аргумент, і коли додають його до стовпця, вони автоматично вставляють цей текст у кожну клітинку цього стовпця до та/або після фактичних даних для цієї клітинки. Команда @{...}
замінює проміжок між стовпцями вмістом, указаним як аргумент. Залишивши аргумент порожнім, ви можете придушити пробіли між стовпцями.
Давайте візьмемо базову таблицю, визначену таким кодом:
1\begin{tabular}{|l|l|}
2 \hline
3 1.1 & 1.2 \\ \hline
4 2.1 & 2.2 \\
5 \hline
6\end{tabular}
Змінюючи опис стовпця, ми отримуємо такі результати:
Щоб зберегти початковий інтервал, ви можете використовувати !{...}
.
А ось приклад стовпця чисел з плаваючою комою, вирівняних за десятковою комою:
1\begin{tabular}{r@{.}l}
2 3 & 14159 \\
3 16 & 2 \\
4 123 & 456 \\
5\end{tabular}
Використання пакета dcolumn
Можна відцентрувати стовпець за десятковим роздільником за допомогою пакета dcolumn
, який надає новий специфікатор стовпця для чисел з плаваючою комою. Простий спосіб використання цього пакета продемонстровано в наступному прикладі:
1\usepackage{dcolumn}
2................................................
3\newcolumntype{d}[1]{D{.}{\cdot}{#1} } %the argument for d specifies the maximum number of decimal places
4\begin{tabular}{l r c d{1} }
5 Left&Right&Center&\mathrm{Decimal}\\
6 1&2&3&4\\
7 11&22&33&44\\
8 1.1&2.2&3.3&4.4\\
9\end{tabular}
Зауважте, що стовпець із десятковим дробом набирається в математичному режимі, тому для заголовка стовпця у наведеному вище прикладі використовується \mathrm
. Крім того, текст у стовпці з десятковим вирівнюванням (наприклад, заголовок) буде вирівняно за правим краєм перед десятковим роздільником (припустимо, що в тексті немає десяткового роздільника). Хоча це може бути добре для дуже короткого тексту або числових заголовків стовпців, це виглядає громіздким у прикладі вище. Рішенням цієї проблеми є використання описаної нижче команди \multicolumn
, яка вказує один стовпець і його вирівнювання. Наприклад, щоб центрувати заголовок Decimal над його стовпцем у наведеному вище прикладі, перший рядок самої таблиці буде Left&Right&Center&\multicolumn{1}{c}{Decimal}\\
.
4. Об’єднання комірок
Трохи складнішу таблицю можна отримати шляхом об’єднання комірок по горизонталі та/або вертикалі.
Комірки, що охоплюють кілька стовпців
Загальна форма команди, яка робить комірку охопленою кількома стовпцями, така: \multicolumn{num_cols}{alignment}{contents}
. Тут num_cols
— це кількість стовпців для об’єднання; alignment
— це або l
, c
, r
, або, щоб мати обтікання текстом, p{width}
. А вміст
- це дані, які ви хочете помістити в цю клітинку.
Ось простий приклад:
1\begin{tabular}{|l|l|}
2 \hline
3 \multicolumn{2}{|c|}{Available currencies} \\
4 \hline
5 CNY & Chinese Yuan \\
6 JPY & Japanese Yen \\
7 GBP & Great Britain Pound \\
8 USD & US Dollar \\
9 CAD & Canadian Dollar \\
10 EUR & Euro \\
11 \hline
12\end{tabular}
Клітини, що охоплюють кілька рядків
Щоб охопити комірку кількома рядками, вам потрібно включити пакет multirow
. Пакет містить таку команду: \multirow{num_rows}{width}{contents}
.
Тут num_rows
— це кількість рядків для об’єднання; width
— це ширина комірки (*
для природної ширини вмісту), а content
— це фактичні дані, які потрібно набрати в комірці.
1\begin{tabular}{|l|l|l|}
2 \hline
3 \multicolumn{3}{ |c| }{Available currencies} \\
4 \hline
5 South America & BRL & Brazilian Real \\ \hline
6 \multirow{3}{*}{Asia} & CNY & Chinese Yuan \\
7 & JPY & Japanese Yen \\
8 & HKD & Hong Kong Dollar \\ \hline
9 \multirow{3}{*}{Europe} & EUR & Euro \\
10 & GBP & Great Britain Pound \\
11 & CHF & Swiss Franc \\ \hline
12 Oceania & AUD & Australian Dollar \\ \hline
13 \multirow{2}{*}{North America} & USD & US Dollar \\
14 & CAD & Canadian Dollar \\
15 \hline
16\end{tabular}
Ви повинні пам’ятати, що використовуючи команду \multirow
, ви повинні вставити порожній запис для кожної відповідної клітинки в кожному наступному рядку, який буде охоплений.
Охоплення клітин в обох напрямках
У наведеному нижче прикладі показано, як охопити клітинки в обох напрямках одночасно та правильно намалювати межі:
1\begin{tabular}{cc|c|c|c|c|l}
2 \cline{3-6}
3 & & \multicolumn{4}{ c| }{Primes} \\ \cline{3-6}
4 & & 2 & 3 & 5 & 7 \\ \cline{1-6}
5 \multicolumn{1}{ |c }{\multirow{2}{*}{Powers} } &
6 \multicolumn{1}{ |c| }{504} & 3 & 2 & 0 & 1 & \\ \cline{2-6}
7 \multicolumn{1}{ |c }{} &
8 \multicolumn{1}{ |c| }{540} & 2 & 3 & 1 & 0 & \\ \cline{1-6}
9 \multicolumn{1}{ |c }{\multirow{2}{*}{Powers} } &
10 \multicolumn{1}{ |c| }{gcd} & 2 & 2 & 0 & 0 & min \\ \cline{2-6}
11 \multicolumn{1}{ |c }{} &
12 \multicolumn{1}{ |c| }{lcm} & 3 & 3 & 1 & 1 & max \\ \cline{1-6}
13\end{tabular}
Команда \multicolumn{1}{
використовується для малювання як вертикальних лівих, так і правих меж. Незважаючи на те, що він поєднаний із \multirow{2}{*}{...}
, він все одно малює вертикальні межі, які охоплюють лише перший рядок. Щоб компенсувати це, ми додаємо \multicolumn{1}{
у наступні рядки, охоплені mutltirow
.
5. Розмір таблиці
Пакет graphicx
надає команду \resizebox{width}{height}{object}
, яку можна використовувати з середовищем tabular
, щоб розтягнути або стиснути таблицю до заданої ширини та висоти. У наступному прикладі ми змінюємо розмір таблиці до 12 см у ширину, зберігаючи співвідношення сторін.
1\resizebox{12cm}{!} {
2 \begin{tabular}{|c|c|c|} \hline
3 Header 1 & Header 2 & Header 3 \\ \hline
4 Row 1, Cell 1 & Row 1, Cell 2 & Row 1, Cell 3 \\ \hline
5 Row 2, Cell 1 & Row 2, Cell 2 & Row 2, Cell 3 \\ \hline
6 \end{tabular}
7}
Ви також можете використовувати \scalebox{ratio}{object}
таким же чином, але зі співвідношеннями замість фіксованого розміру:
1\scalebox{0.7}{
2 \begin{tabular}...
3 \end{tabular}
4}
6. Столи позиціонування
Ви можете легко розмістити таблицю на сторінці, якщо розмістити її в середовищі table
.
1\begin{table}[positioning_option]
2 \centering
3 \begin{tabular}{...}
4 ...
5 \end{tabular}
6\end{table}
Доступні варіанти позиціонування:
h
- розмістить таблицю приблизно тут.
t
- позиціонує таблицю у верхній частині сторінки.
b
- розміщує таблицю внизу сторінки.
p
- розмістити таблицю на спеціальній сторінці (тільки для таблиць).
!
- перевизначати внутрішні параметри LaTeX.
H
- розмістіть таблицю в цьому точному місці (приблизно як h!
).
Щоб відцентрувати таблицю по горизонталі, перед середовищем tabular
можна ввести команду \centering
у середовищі table
.
7. Підписи, написи та посилання
До таблиці можна додати текст. У вихідних даних текст матиме префікс Таблиця N., де N є відповідним номером таблиці, автоматично відстежуваним LaTeX. Для цього скористайтеся командою \caption
. Також можна призначити таблиці мітку, щоб на неї можна було посилатися з будь-якого місця в документі. Відповідною парою команд є \label
і \ref
. Розглянемо такий приклад:
1Table \ref{table:1} is an example of a referenced \LaTeX{} element.
2
3\begin{table}[h!]
4 \centering
5 \begin{tabular}{|c|c|c|} \hline
6 Header 1 & Header 2 & Header 3 \\ \hline
7 Row 1, Cell 1 & Row 1, Cell 2 & Row 1, Cell 3 \\ \hline
8 Row 2, Cell 1 & Row 2, Cell 2 & Row 2, Cell 3 \\ \hline
9 \end{tabular}
10 \caption{A caption for the table.}
11 \label{table:1}
12\end{table}
Тут посилання в першому рядку буде автоматично замінено на число, встановлене командою \label
.
8. Таблиці-розмальовки
Зміна кольорів у рядках таблиці
Пакет xcolor
містить необхідні команди для створення таблиць із альтернативними кольорами рядків. Пакет має бути завантажено з опцією таблиці: \usepackage{table]{xcolor}
.
Команда \rowcolors{starting_row}{odd_color}{even_color}
має бути виконана перед запуском середовища tabular
.
1\begin{center}
2 \rowcolors{2}{green}{pink}
3
4 \begin{tabular}{lll}
5 \multicolumn{3}{c}{The header} \\
6 odd & odd & odd \\
7 even & even & even\\
8 \hiderowcolors odd & odd & odd \\
9 \showrowcolors even & even & even\\
10 even & even & even\\
11 \end{tabular}
12\end{center}
Команда \hiderowcolors
, що надається пакетом xcolor
, вимикає підсвічування, починаючи з рядка, у якому воно відбувається, до кінця таблиці. Щоб повторно активувати виділення, скористайтеся командою \showrowcolors
.
Зафарбовування окремих клітинок
За допомогою пакета xcolor
ви також можете вказати колір окремої комірки.
1\begin{tabular}{|l|l|l|}
2 \multicolumn{3}{c}{The header} \\
3 \hline
4 \cellcolor{red} odd & odd & odd \\
5 \hline
6 even & \cellcolor{red} even & even\\
7 \hline
8 odd & odd & \cellcolor{red} odd \\
9 \hline
10\end{tabular}
Використання пакета colortbl
Пакет colortbl
надає команду \columncolor
для визначення кольору стовпця в преамбулі табличного середовища в конструкції >{...}
. Це означає, що ви також повинні мати пакет array
. (Не забудьте також включити пакет xcolor
.)
1\begin{tabular}{|>{\columncolor{green}}l|>{\color{white}\columncolor{red}}c|}
2 one & two\\
3 three & four
4\end{tabular}
Команда \rowcolor
може бути використана для визначення кольорів рядків. Його потрібно використовувати на початку ряду. Команда має той самий синтаксис, що й \columncolor
.
1\begin{tabular}{l|c|}
2 \rowcolor{green} one & two\\
3 \rowcolor{red} three & four
4\end{tabular}
Ви також можете розфарбувати вертикальні лінії. Наприклад,
1\setlength{\arrayrulewidth}{2pt}
2\begin{tabular}{!{\color{blue}\vline} l !{\color{blue}\vline} l !{\color{blue}\vline}
3 l !{\color{blue}\vline}}
4 \multicolumn{3}{c}{The header} \\
5 odd & odd & odd \\
6 even & even & even\\
7 odd & odd & odd \\
8\end{tabular}
призведе до
Зверніть увагу на використання \setlength{\arrayrulewidth}{2pt}
для зміни товщини лінії.
Однак розфарбовування \hline
і \cline
є трохи складнішим і доступним за допомогою додаткових команд (які також застосовуються до вертикальних ліній). Команду \arrayrulecolor
можна використовувати глобально або в межах таблиці. В обох випадках це впливає на всі наступні правила. Тому, якщо ви бажаєте інший колір для вертикальних ліній, ви повинні вказати це у преамбулі таблиці. Наприклад,
1\setlength\arrayrulewidth{2pt}
2%\arrayrulecolor{blue} % to set the color for all rules
3\begin{tabular}{|l!{\color{green}\vline}l|l|}
4 \multicolumn{3}{c}{The header} \\
5 \hline
6 odd & odd & odd \\
7 \arrayrulecolor{blue} \hline
8 even & even & even\\
9 \hline
10 odd & odd & odd \\ \arrayrulecolor{red}
11 \hline
12\end{tabular}
призведе до
9. Побудова довгих таблиць
«Табличне» середовище має один істотний недолік. Він створює таблиці, які не можна розділити між сторінками за допомогою вбудованого в TeX алгоритму розбиття сторінок. Таким чином, якщо ваша таблиця довга, вона просто розповсюдиться нижче низу сторінки.
На щастя, існує пакунок longtable
, який зараз надається в більшості дистрибутивів, який визначає середовище longtable
для обробки таких довгих таблиць. У більшості аспектів це середовище працює так само, як і табличне
середовище. Проте є деякі відмінності.
Ми продемонструємо більшість функцій longtable
в наступному прикладі, де ви також можете знайти примітки щодо використання та відмінності від середовища tabular
. (У прикладі також використовується пакет verbatim
для певного форматування тексту, тому його також потрібно включити.)
1\begin{longtable}{|r||p{1in}|}
2 \caption[An optional table caption ...]{A long table\label{long}}\\
3 \hline\hline
4 \multicolumn{2}{|c|}{This part appears at the top of the table}\\
5 \textsc{First}&\textsc{Second}\\
6 \hline\hline
7 \endfirsthead % Everything above this command will appear at the beginning of the table, in the first page.
8
9 \caption[]{(continued)}\\
10 \hline\hline
11 \multicolumn{2}{|c|}{This part appears at the top of every other page}\\
12 \textbf{First}&\textbf{Second}\\
13 \hline\hline
14 \endhead % Whatever you put before this command and below \endfirsthead will be displayed at the top of the table in every page except the first one.
15
16 \hline
17 This goes at the&bottom.\\
18 \hline
19 \endfoot % What you put after \endhead and before this command will appear at the bottom of the table in every page except the last one.
20
21 \hline
22 These lines will&appear\\
23 in place of the & usual foot\\
24 at the end& of the table\\
25 \hline
26 \endlastfoot % The elements after \endfoot and before this command will be displayed at the bottom of the table but only in the last page where the table appears.
27
28 \texttt{longtable} columns are specified& in the \\
29 same way as in the \texttt{tabular}& environment.\\
30 \verb!|r||p{1in}|! & inthis case. \\
31 Each row ends with a & \verb|\\| command. \\
32 The \verb|\\| command has an & optional \\
33 argument, just as in & the \\
34 \texttt{tabular} & environment. \\ [10pt]
35 See the effect of \verb|\\[10pt]| & ? \\
36 Lots of lines & like this. \\
37 Lots of lines & like this. \\
38 Lots of lines & like this. \\
39 Also \verb|\hline| may be used, & as in \texttt{tabular}. \\
40 \hline
41 That was a \verb|\hline| & . \\
42 \hline\hline
43 That was a \verb|\hline\hline| & . \\
44 \multicolumn{2}{||c||}
45 {This is a \texttt{\textbackslash multicolumn\{2\}\{||c||\}}} \\
46 If a page break occurs at a \verb|\hline| then & a line is drawn \\
47 at the bottom of one page and at the & top of the next. \\
48 \hline
49 The \texttt{[t] [b] [c]} argument of \texttt{tabular} & cannot be used. \\
50 The optional argument may be one of & \texttt{[l] [r] [c]} \\
51 to specify whether the table should be & adjusted \\
52 to the left, right, & or centrally. \\
53 \hline\hline
54 Lots of lines & like this. \\
55 Lots of lines & like this. \\
56 Lots of lines & like this. \\
57 Lots of lines & like this. \\
58 Lots of lines & like this. \\
59 Lots of lines & like this. \\
60 Lots of lines & like this. \\
61 Lots of lines & like this. \\
62 Lots of lines & like this. \\
63 Lots of lines & like this. \\
64 Lots of lines & like this. \\
65 Lots of lines & like this. \\
66 Lots of lines & like this. \\
67 Lots of lines & like this. \\
68 Lots of lines & like this. \\
69 Lots of lines & like this. \\
70 Lots of lines & like this. \\
71 Lots of lines & like this. \\
72 Some lines may take up a lot of space, like this: &
73 \raggedleft This last column is a ``p'' column so this ``row'' of the table can take
74 up several lines. Note however that \TeX will never break a page within such a row.
75 Page breaks only occur between rows of the table or at \verb|\hline| commands.
76 \tabularnewline
77 Lots of lines & like this.\\
78 Lots of lines & like this.\\
79 Lots of lines & like this.\\
80 Lots of lines & like this.\\
81 Lots of lines & like this.\\
82 Lots of lines & like this.\\
83 \hline
84 Lots of lines& like this.\\
85 Lots of lines& like this.\\
86\end{longtable}
Результатом буде дві сторінки:
Нехай вас не бентежить, якщо ви не отримаєте той самий результат після першого запуску TeX. Через технічні обмеження TeX може знадобитися кілька запусків, щоб отримати таблицю, яку ви бачите на зображеннях.
10. Приклад складної таблиці
Ми наведемо ще один досить складний приклад таблиці, яка поєднує в собі багато з перерахованих вище функцій.
1\documentclass{article}
2 \usepackage{dcolumn}
3 \usepackage{verbatim}
4 \usepackage{colortbl}
5 \usepackage[table]{xcolor}
6 \usepackage{longtable}
7\begin{document}
8 \hbox{}\vspace{100pt} % To make the table break between pages
9
10 \newcolumntype{A}{>{\color{white}\columncolor{red}[.5\tabcolsep]\raggedright}
11 p{2cm}}
12 \newcolumntype{B}{>{\columncolor{blue}[.5\tabcolsep]\color{yellow}\raggedright}
13 p{3cm}}
14 \newcolumntype{C}{>{\columncolor{yellow}[.5\tabcolsep]}D{.}{\cdot}{-1}}
15 \newcolumntype{E}{>{\large\bfseries \columncolor{cyan}[.5\tabcolsep]}c}
16 \newcolumntype{F}{>{\color{white} \columncolor{magenta}[.5\tabcolsep]}c}
17 \newcolumntype{G}{>{\columncolor[gray]{0.8}[.5\tabcolsep][\tabcolsep]}l}
18 \newcolumntype{H}{>{\columncolor[gray]{0.8}}l}
19 \newcolumntype{I}{>{\columncolor[gray]{0.8}[\tabcolsep][.5\tabcolsep]}D{.}{\cdot}
20 {-1}}
21 \setlength\minrowclearance{2pt} %Before starting give a little space
22
23 \begin{longtable}{ABC}
24 \multicolumn{3}{E}{A long table example} \\
25 \multicolumn{2}{F}{First two columns} & \multicolumn{1}{F}{Third column} \\
26 \multicolumn{2}{F}{p-type} & \multicolumn{1}{F}{D-type (\textsf{dcolumn})}
27 \endfirsthead
28
29 \multicolumn{3}{E}{A long table example (continued)} \\
30 \multicolumn{2}{F}{First two columns} & \multicolumn{1}{F}{Third column} \\
31 \multicolumn{2}{F}{p-type} & \multicolumn{1}{F}{D-type (\textsf{dcolumn})}
32 \endhead
33
34 \multicolumn{3}{E}{Continued\ldots}
35 \endfoot
36
37 \multicolumn{3}{E}{The End}
38 \endlastfoot
39
40 P-column & and another one & 12.34 \\
41 \multicolumn{1}{G}{Total} & \multicolumn{1}{H}{(wrong)} &
42 \multicolumn{1}{I}{100.6}\\
43 Some long text in the first column & bbb & 1.2 \\
44 aaa & and some long text in the second column & 1.345 \\
45 \multicolumn{1}{G}{Total} & \multicolumn{1}{H}{(wrong)} &
46 \multicolumn{1}{I}{100.6} \\
47 aaa&bbb & 1.345 \\
48 Note that the colored rules in all columns stretch to accommodate large entries
49 In one column. & bbb & 1.345 \\
50 aaa & bbb & 100 \\
51 aaa & Depending on your driver you may get unsightly gaps or lines
52 where the `screens' used to produce different shapes interact
53 badly. You may want to cause adjacent panels of the same color by
54 specifying a larger overhang or by adding some negative space (in a
55 \verb|\noalign| between rows. & 12.4 \\
56 aaa & bbb & 45.3 \\
57 \end{longtable}
58\end{document}
До середовища longtable
ми визначаємо типи стовпців за допомогою команди \newcolumntype
, що надається пакетом dcolumn
. В межах аргументів ми використовуємо нотацію >{...}
для визначення форматів стовпців. Визначення стовпців, у свою чергу, використовують команди, що визначають кольори, вирівнювання, шрифти та ширину стовпців. Середовище longtable
є ще однією застосовуваною функцією. У середовищі ми використовуємо команду \multicolumn
, щоб об’єднати клітинки по горизонталі разом із попередньо визначеними типами стовпців.
Результат усіх зусиль:
11. Найкращі практики та поради
Набір таблиць у LaTeX може бути складним завданням, але дотримання передових методів і порад може допомогти вам створити чіткі, естетично привабливі та професійно виглядаючі таблиці. Ось деякі цінні найкращі практики та поради щодо верстки таблиць у LaTeX:
Використовуйте змістовні заголовки стовпців:
- Надайте чіткі та описові заголовки для кожного стовпця, щоб допомогти читачам зрозуміти зміст.
Вирівняйте числові дані за десятковою комою:
- Під час представлення числових даних вирівнюйте числа з комою для кращої читабельності. Для цього можна використати пакет
dcolumn
.
- Під час представлення числових даних вирівнюйте числа з комою для кращої читабельності. Для цього можна використати пакет
Уникайте вертикальних лоз:
- У професійних виданнях часто рекомендують уникати використання вертикальних ліній для розділення колонок. Для чіткості використовуйте горизонтальні лінії помірно.
Підтримуйте послідовність:
- Зберігайте узгоджене форматування в усьому документі, включаючи шрифти, розміри шрифтів і вирівнювання в таблицях.
Мінімізуйте вміст клітинки:
- Уникайте перевантаження клітинок надмірним вмістом. Якщо клітинка містить забагато тексту, подумайте про розділення її на кілька рядків або стовпців.
Додайте підписи та мітки:
- Додайте інформативні підписи над або під таблицями та використовуйте команду
\label
, щоб увімкнути перехресні посилання у вашому документі.
- Додайте інформативні підписи над або під таблицями та використовуйте команду
Економно використовуйте
multirow
іmulticolumn
:- Хоча
multirow
іmulticolumn
корисні для об’єднання комірок, уникайте надмірного використання, оскільки це може зробити таблиці складними та важчими для читання.
- Хоча
Уникайте надто складних таблиць:
- Якщо ваші дані надто складні для однієї таблиці, подумайте про розбиття їх на кілька менших таблиць або використання інших наочних посібників, наприклад графіків або діаграм.
Продумано використовуйте горизонтальний простір:
- Відрегулюйте відстань між стовпцями за допомогою
\setlength{\tabcolsep}{value}
та відстань між рядками за допомогою\renewcommand{\arraystretch}{value}
, щоб оптимізувати макет таблиці.
- Відрегулюйте відстань між стовпцями за допомогою
Перевірте свої таблиці:
- Ретельно вичитуйте та перевіряйте свої таблиці на наявність помилок, включаючи точність даних, форматування та вирівнювання.
Застосовуючи ці найкращі практики та поради, ви можете створювати таблиці LaTeX, які не тільки ефективно передають ваші дані, але й підвищують загальну якість і професіоналізм ваших документів.
12. Висновок
Ми подорожували крізь заплутаний світ структур таблиць у LaTeX, відкриваючи дивовижну універсальність і точність, яку пропонує ця система верстки. Здатність LaTeX плавно інтегрувати таблиці в документи дає користувачам можливість передавати складні дані, порівняння та зв’язки з витонченістю та ясністю.
Ми дослідили інструменти та стратегії, які роблять LaTeX потужним інструментом для створення таблиць, починаючи від фундаментальних концепцій «табличного» середовища і закінчуючи розширеними техніками, що включають пакети «багаторядних» і «довгих таблиць». Ми дізналися, як LaTeX не тільки прикрашає наші таблиці, але й оптимізує представлення даних, сприяючи ефективній комунікації.
Ми підкреслили важливість найкращих практик: змістовні заголовки стовпців, вирівнювання, правильний інтервал і послідовність. Ці практики дозволяють нам створювати столи, які є не просто функціональними, але візуально привабливими та професійними.
Продовжуючи досліджувати LaTeX, пам’ятайте, що оволодіння структурами таблиць – це мистецтво так само, як і наука. Це навичка, яка може значно посилити вплив ваших наукових робіт, звітів і презентацій.
Отже, озброївшись знаннями про можливості таблиць LaTeX, виведіть свої документи на новий рівень. Експериментуйте, вдосконалюйте та впроваджуйте інновації у сфері структур таблиць, і дозвольте LaTeX стати вашим надійним супутником у створенні документів, які передають інформацію ефективно, красиво та професійно.