Свистульки, бубенчики и рюшечки в документах LaTeX
Как все уже хорошо знают, в ЛаТеХ добиться хорошего качества документов по умолчанию очень просто: используя десяток стандартных команд, вы получите неизменно превосходный результат (ТМ) без лишних усилий. То есть документ будет хорош, но ведь иногда хочется украшательств, мигалок, свистулек и бубенчиков. На эту тему автор уже собрал небольшую коллекцию, которой и рад поделиться. Кроме того, автор открыл для себя удивительные книги
Edward Tufte, который знает толк в визуальной подаче информации.
Украшательства в ЛаТеХ документах
Как правило, в научных документах такое не сильно поощряется, но если есть желание повыделываться, то в приличных местах этому, как правило, не противятся. Среди терпимых украшательств можно выделить буквицы (drop caps), оформление цветом всего и вся, нумерацию строк по главам.
Буквица (Drop Capital) в ЛаТеХ
Если открыть старинные книги, то первая буква главы там обычно была большой и вычурной. Хотя в научных публикациях такое, в целом, встречается редко, сделать буквицу в ЛаТеХ можно запросто. Для этого подключаем пакеты:
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{lettrine} %%% To make a Drop Cap
\usepackage{yfonts} %% to make a fancy Gothic drop caps.
Первый пакет содержит
lettrine для LaTeX, второй - вычурные шрифты. Если у вас Debian, то достаточно установить дополнительные пакеты:
texlive-fonts-extra - TeX Live: Extra fonts
texlive-latex-extra - TeX Live: LaTeX supplementary packages
и теперь в документе можно использовать цветные буквицы:
\definecolor{currentfancycolout}{RGB}{164,179,3}
\lettrine[lines=3]{\color{currentfancycolout}
\textbf{{\small\initfamilyF}}}{ ormulation} of \lipsum[1-2]
Вот как это выглядит в жизни:
Мелочь, но тем не менее красивая. Кожаный переплёт опционален :-)
Эпиграфы к главам
Пакет с простым названием
epigraph делает то, что и подразумевается: вставляет эпиграфы в начале глав. Для этого подключаем пакет:
\usepackage{epigraph} %%% to make inspirational quotes.
и начинаем цитировать умных дядь по поводу и без:
\epigraph{\textit{The greatest difficulties lie where we are not looking for them.}}
{-- Johann Wolfgang von Goethe}
Первый параметр - цитата, второй - автор цитаты. Вот как выглядит:
Взято из
моей собственной Ph.D. Номера страниц, включающие номер главы
В больших документах, типа книг или в пространных технических отчётах, имеет смысл нумеровать страницы как НОМЕРГЛАВЫ-Страница. То есть, скажем, номер страницы 7-11 означает Глава 7, страница 11. Так как всё уже
украдено до нас сделано латехниками, нам осталось только воспользоваться пакетом
\usepackage[auto]{chappg} %%% this is to set the page numbers as Chapter-Page.
который автоматически пересчитает все страницы в формат Глава-Страница вот так:
Работа с колонтитулами в LaTeX
Колонтитулы это, говоря простым языком, тот текст, который появляется вверху и внизу страницы - например, вверху обычно пишут название книги или имя главы отчёта, а внизу - номер страницы.
Для переопределения содержимого колонтитулов следует подключить пакеты расширений
\usepackage{fancybox,fancyhdr} %this packages provides fancy up and bottom of page
в преамбуле документа. Там же, в преамбуле, будет задаваться содержимое колонтитутов. Как и прежде, чтобы лучше понять команды, откройте на другом виртуальном экране просмотрщик dvi-файлов.
После всех этих приготовлений вставляем в преамбуле следующий код:
\fancyhead[R]{Это простой пример верхнего колонтитула}
\fancyhead[L]{}
\fancyhead[C]{}
\fancyfoot[R]{ \copyrightКонник М.В., перевод}
\fancyfoot[L]{Страница \thepage\;из \pageref{LastPage}}
\fancyfoot[C]{}
Как легко догадается,
\fancyhead управляет верхним колонтитулом, а
\fancyfootуправляет нижним.
Дальше в квадратных скобках следует уточнение, какая часть колонтитула имеется в виду - правая, левая или центральная.
Если не указать часть колонтитула,
\fancyhead{текст} будет одинаковым в левом, правом и центральном колонитуле.Этот пример интересен ещё и тем, что здесь показан один полезный трюк: левый нижний колонтитул будет выглядеть как "Страница N из M". Для этого следует подключить расширение
\usepackage{lastpage}
Текст колонтитулов можно задать и более хитро, например менять их в зависимости чётности страницы. Это потребует применения пакета ifthen.
Дальше, что называется, для продвинутых. Например, надо на каждой чётной странице писать "чётная", а на нечётной, соответственно, "нечётная". Для этого в преамбуле подключаем
\usepackage{ifthen}
и правим:
\fancyfoot[C]{\ifthenelse{\isodd{\thepage}}{нечётная}{чётная} }
Здесь правило такое: \ifthenelse{условие проверки}{если НЕ истина}{если истина}.
Колонтитулы в работе
Теперь нужно включить использование "кучерявых и причудливых" колонтитулов:
\begin{document}
\pagestyle{fancy}
После этого скомпилируйте документ и посмотрите как он выглядит.
Если нужно на время отключить вообще все "навороты" на странице, это делается командой
\pagestyle{empty}Чтобы убрать полосу вверху страницы, отчёркивающую колонтитул от содержания страницы, можно использовать в преамбуле такое переопределение:
\renewcommand{\headrulewidth}{0pt}
Эти трюки часто требуются для отображения в документе дополнительной информации, например, номера ревизии в Subversion репозитории, как уже говорилось
здесь.
Вариантов проделывания такого трюка по крайней мере два: используя пакет
hancyhdr или пакет
titlesec.
Вариант с пакетом titlesec
В преамбуле документа пишем:
\usepackage{titlesec}
\newpagestyle{kmvmain}[\small]{
\setheadrule{.2pt}%
\sethead[\colorbox{currentfancycolout}{\color{white}{\textbf{\large\thepage}}}]% even-left
[\textsc{Chapter~\thechapter: \chaptertitle}]% even-center
[\colorbox{lightgrey}{\textbf{\thesection}}]% even-right
{\colorbox{lightgrey}{\textbf{\thesection}}}% odd-left
{\sectiontitle}% odd-center
{\colorbox{currentfancycolout}{\color{white}{\textbf{\large\thepage}}}}% odd-right
}
тем самым создав стиль
kmvmain, который и будем потом использовать.
Далее в тексте используем:
\pagestyle{kmvmain}
и после этого стиль колонтитулов изменится на вычурный.
Вариант с пакетом hancyhdr
В преамбуле документа пишем:
\usepackage{fancyhdr}
\fancyhead[RO]{\colorbox{currentfancycolout}{\color{white}{\textbf{\large\thepage}}}} %% odd-right
\fancyhead[LE]{\colorbox{currentfancycolout}{\color{white}{\textbf{\large\thepage}}}} %%% even-left
\fancyhead[LO]{\colorbox{lightgrey}{\textbf{\thesection}}}% odd-left
\fancyhead[RE]{\colorbox{lightgrey}{\textbf{\thesection}}}% even-right
\fancyhead[CE]{\rightmark}% odd-center, with the name of the Section
\fancyhead[CO]{\textsc{Chapter~\thechapter: \leftmark}}% Even-center, with the name of the Chapter.
\fancyfoot[L,R,C]{}
Параметры у
fancyhead и fancyfoot одинаковы и означают вот что:
E: Even page (чётная страница)
O: Odd page (нечётная страница)
L: Left field (левое поле)
C: Center field (цетральное поле)
R: Right field (правое поле)
H: Header (верхний колонтитул)
F: Footer (нижний колонтитул)
Далее вставляем в требуемое место упоминание вычурного (fancy) стиля:
\pagestyle{fancy}
Автор черпал вдохновение
в посте на stackexchange про fancyhdr полной ложкой.
Эдвард Тафтэ и искусство отображения информации
Отображение данных, представление данных в виде таблиц и построение
наглядных графиков - целое искусство. В этой области Edward Tufte - это Леонардо да Винчи отображения данных. Пожалуй, одна из его лучших книг -
Envisioning Information, в которой он устраивает Tour De Fource информационного дизайна.
наглядных графиков - целое искусство. В этой области Не говоря о том, что книга сама по себе безупречна с точки зрения дизайна, она содержит огромное количество советов, рецептов и примеров как хорошего, так и плохого дизайна. Большое количество иллюстраций и ссылок отлично дополняют материал, раскрывающий принципы наглядного отображения данных.
Например, в главе ESCAPING
FLATLAND, FlATLAND, Тафтэ рассказывает о принципе small multitude - одна и та же структура, повторяющаяся много раз, и как это использовать в графиках. Этот прицнип позволяет сильно сэкономить место, подавая данные в более концетрированном и удобном для чтения виде.
В главе MICRO/MACRO READINGS много говорится об использовании цвета, особенно для компактного отображения статистических данных на графиках. Его фраза
Clutter and confusion are failures of design, not attributes of information.
отлично проиллюстрирована в главе LAYERING AND SEPARATION, где показан чертёж сложного устройства, но выполненный настолько грамотно, что читается невероятно легко. Мимоходом критикует графики типа candlesticks (пример,
такой, что
уже обсуждалось в блоге). Вообще, о цвете Тафтэ говорит много и подробно, приводя многочисленные примеры и картографии и построения схем.
Прошёлся он и по таблицам: глава NARRATIVES OF SPACEAND TIME одна из самых лучших в книге. Там он подробно разбирает абсолютно кошмарные таблицы, сделанные для расписаний поездов, и приводит примеры того, как это надо делать правильно.
Желающим заценить визуальный катарсис можно посоветовать ЛаТеХ-класс tufte-book, который создан по всем канонам. Этот класс можно использовать и для ведения личного дневника. Вот как выглядит образец книги, оформленной tufte-book: Эпилог
Оформление документов - дело тонкое, и то, что иногда кажется бесполезным украшательством, может сильно упростить чтение данных. Хотя цветные буквицы в документах - почти всегда выпендрёж, использование цвета и грамотный подход к построению таблиц позволят читателю быстрее вникнуть в суть.