Украшательства в ЛаТеХ документах
Как правило, в научных документах такое не сильно поощряется, но если есть желание повыделываться, то в приличных местах этому, как правило, не противятся. Среди терпимых украшательств можно выделить буквицы (drop caps), оформление цветом всего и вся, нумерацию строк по главам.Буквица (Drop Capital) в ЛаТеХ
Если открыть старинные книги, то первая буква главы там обычно была большой и вычурной. Хотя в научных публикациях такое, в целом, встречается редко, сделать буквицу в ЛаТеХ можно запросто. Для этого подключаем пакеты:Первый пакет содержит lettrine для LaTeX, второй - вычурные шрифты. Если у вас Debian, то достаточно установить дополнительные пакеты:\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}\usepackage{lettrine} %%% To make a Drop Cap \usepackage{yfonts} %% to make a fancy Gothic drop caps.
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\initfamily F}}}{ 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 управляет верхним колонтитулом, а \fancyfoot управляет нижним.
\fancyhead[L]{}
\fancyhead[C]{}
\fancyfoot[R]{ \copyright Конник М.В., перевод}
\fancyfoot[L]{Страница \thepage \; из \pageref{LastPage}}
\fancyfoot[C]{}
Дальше в квадратных скобках следует уточнение, какая часть колонтитула имеется в виду - правая, левая или центральная. Если не указать часть колонтитула, \fancyhead{текст} будет одинаковым в левом, правом и центральном колонитуле.
Этот пример интересен ещё и тем, что здесь показан один полезный трюк: левый нижний колонтитул будет выглядеть как "Страница N из M". Для этого следует подключить расширение
\usepackage{lastpage}Текст колонтитулов можно задать и более хитро, например менять их в зависимости чётности страницы. Это потребует применения пакета ifthen.
Дальше, что называется, для продвинутых. Например, надо на каждой чётной странице писать "чётная", а на нечётной, соответственно, "нечётная". Для этого в преамбуле подключаем
\usepackage{ifthen}
и правим:
\fancyfoot[C]{\ifthenelse{\isodd{\thepage}}{нечётная}{чётная} }
Здесь правило такое: \ifthenelse{условие проверки}{если НЕ истина}{если истина}.
Колонтитулы в работе
Теперь нужно включить использование "кучерявых и причудливых" колонтитулов:\begin{document}После этого скомпилируйте документ и посмотрите как он выглядит.
\pagestyle{fancy}
Если нужно на время отключить вообще все "навороты" на странице, это делается командой \pagestyle{empty}
Чтобы убрать полосу вверху страницы, отчёркивающую колонтитул от содержания страницы, можно использовать в преамбуле такое переопределение:
\renewcommand{\headrulewidth}{0pt}Эти трюки часто требуются для отображения в документе дополнительной информации, например, номера ревизии в Subversion репозитории, как уже говорилось здесь.
Верхний и нижний колонтитул (Header and Footer) для чётных и нечётных страниц
Вариантов проделывания такого трюка по крайней мере два: используя пакет 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) стиля:
Автор черпал вдохновение в посте на stackexchange про fancyhdr полной ложкой.\pagestyle{fancy}
Эдвард Тафтэ и искусство отображения информации
Отображение данных, представление данных в виде таблиц и построение наглядных графиков - целое искусство. В этой области Edward Tufte - это Леонардо да Винчи отображения данных. Пожалуй, одна из его лучших книг - Envisioning Information, в которой он устраивает Tour De Fource информационного дизайна.Не говоря о том, что книга сама по себе безупречна с точки зрения дизайна, она содержит огромное количество советов, рецептов и примеров как хорошего, так и плохого дизайна. Большое количество иллюстраций и ссылок отлично дополняют материал, раскрывающий принципы наглядного отображения данных.
Например, в главе ESCAPING 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:
С возвращением в ряды блоггеров! Не зря я не удалял твой блог из подписки, ой не зря! Жаль, диссер уже давно написан, а так бы твоими рецептами пренепременно воспользовался бы. Из всего добра, я только fancyhdr задействовал.
ОтветитьУдалить@iv_vl комментирует...
ОтветитьУдалитьС возвращением в ряды блоггеров!
Да я, собственно, никуда и не уходил. Я не буду закрывать блог - просто у меня больше нет возможности уделять блогу столько времени, сколько раньше. Теперь я чаще пишу в scriptogram, хотя качество постов там, естественно, куда ниже (это типа записной книжки).
Жаль, диссер уже давно написан, а так бы твоими рецептами пренепременно воспользовался бы.
Ну, мало ли, кому пригодится. Сейчас время написания курсовых и дипломов - мои старые записки по латеху пользуются спросом.
Кстати, пользуясь случаем, ещё попиарю Эдварда Тафтэ и его книжки - старик дело пишет. Немного дополнил пост PDF-образцом того, как выглядит его стиль.
Приятно видеть новую статью в любимом блоге!
ОтветитьУдалитьОтображение данных, представление данных в виде таблиц и построение Edward Tufte - это Леонардо да Винчи отображения данных. Пожалуй, одна из его лучших книг - Envisioning Information, в которой он устраивает Tour De Fource информационного дизайна.
наглядных графиков - целое искусство. В этой области
Похоже части абзаца перепутались)
He's alive, alive!!! Ура! :)
ОтветитьУдалить@virens комментирует...
Я не буду закрывать блог - просто у меня больше нет возможности уделять блогу столько времени, сколько раньше.
Зато статья получилась более выдержанная. :)
@virens комментирует...
Теперь я чаще пишу в scriptogram, хотя качество постов там, естественно, куда ниже (это типа записной книжки).
Ни разу не видел. Что за зверь?
@virens комментирует...
Кстати, пользуясь случаем, ещё попиарю Эдварда Тафтэ и его книжки - старик дело пишет.
Тема вообще для отдельной статьи, имхо. И, кстати, вдогонку. Качество русскоязычной вики оставляет желать лучшего, как всегда.
Везде Тафтэ - политолог, а оказывается у него талант грамотно преподносить нформацию. Мда, и перечень работ на русской вики вообще мизер. Ну это уже тема для отдельных дискуссий.
@Gregory комментирует...
ОтветитьУдалитьПохоже части абзаца перепутались)
Есть такое. Исправил.
@Basil Orlov комментирует...
He's alive, alive!!!
На Франкенштейна намекаешь, да? :-) Не помру - не дождётесь!
Зато статья получилась более выдержанная. :)
На самом деле - написана "с колёс", то есть с одного захода. И попутно собрал несколько черновиков сюда. Просто хотелось дополнить книжкой Тафтэ - до сих пор под впечатлением.
Ни разу не видел. Что за зверь?
Так вот это Лунодром и есть. Собственно, сам scriptogram тут. Но там моя записная книжка, на английском, со всякой всячиной и подчас матюгами :-)
Тема вообще для отдельной статьи, имхо.
В общем-то да, просто мне по этому поводу сказать лучше Тафтэ уже не получится. Я приспособил tafte-book для ведения личного дневника - мне очень нравится, как он выглядит.
И, кстати, вдогонку. Качество русскоязычной вики оставляет желать лучшего, как всегда.
"А вы не читайте советских газет" (С). В англоязычной вики всё в целом грамотно написано. Он там ещё и по PowerPoint прошёлся, причём весьма обоснованно.
Везде Тафтэ - политолог, а оказывается у него талант грамотно преподносить информацию.
Собственно, я на его работы по Data Visualisation и попал - мне его политология, скажем так, не важна. Из тех трёх книг, что я читал, Envisioning Information наверное запомнилась более всего. Почерпнул много нового, особенно в плане дизайна таблиц. Теперь booktabs в латехе - мой рулевой :-)
Очень ждали Ваших постов, как-то без них скучнова-то, да и посты по латех для меня очень вовремя - закончил исследования и планирую браться за диссертацию. Спасибо, Михаил.
ОтветитьУдалитьСтоит ещё упомянуть про пакет fontogroup, взять его можно тут:
ОтветитьУдалитьhttp://herba.msu.ru/shipunov/software/tex/tex-ru.htm
Пакет позволяет подключать различные кириллические фигурные шрифты в LaTeX.
Как пример того, что можно сделать с этим пакетом, у меня блоге можно видеть методичку готическим шрифтом:
http://ra3xdh.blogspot.ru/2013/08/fontogroup-latex.html
Не знаю, правда, зачем это может быть нужно, но может быть пригодится.
@Виктор Дубинич комментирует...
ОтветитьУдалитьОчень ждали Ваших постов, как-то без них скучнова-то, да и посты по латех для меня очень вовремя
Со временем было (и, увы, есть) очень туго, так что не уверен, когда будут ещё посты. Но рад, что они кому-то помогают.
@Вадим Кузнецов комментирует...
методичку готическим шрифтом:
Вадим, оно, конечно, оригинально, но я таки за свистульки не в ущерб читабельности. Готику очень тяжко читать, и через пару страниц хочется уже простого sans serif что ли :-) Но за ссылку спасибо.
@virens комментирует...
ОтветитьУдалитьНа самом деле - написана "с колёс", то есть с одного захода. И попутно собрал несколько черновиков сюда.
Ну вот что и требовалось доказать. Черновики-то вылежались. А в это в ремя в голове картинка сложилась. Вот и получилось "с колёс", то есть с одного захода, мда... Творческий же процесс :)
"А вы не читайте советских газет" (С)
Приходится. Иногда и в русскоязычной версии интересные ссылки встречаются, например такие как тут, тут или тут. :)
@Вадим Кузнецов комментирует...
Стоит ещё упомянуть про пакет fontogroup, взять его можно тут:
http://herba.msu.ru/shipunov/software/tex/tex-ru.htm
На сервере ведутся ремонтные работы. Приносим извинения за доставленные неудобства. Не вовремя я туда зашёл, да
@Вадим Кузнецов комментирует...
...у меня блоге... http://ra3xdh.blogspot.ru ...
хм, я утащу себе в офлайн, пожалуй, кое-что ))
@Basil Orlov комментирует...
ОтветитьУдалитьНа сервере ведутся ремонтные работы.
Если сервер и дальше будет лежать, то выложу fontogroup куда-нибудь, например, на Гитхаб.
Теперь fontogroup я положил на Гитхаб. Можно его забирать отсюда:
ОтветитьУдалитьhttps://github.com/ra3xdh/fontogroup
Спасибо за fontogroup, забрал
ОтветитьУдалитьДоброго и бесконечно волшебного времени!
ОтветитьУдалитьНе сплю и не ем, хочу разрешить задачу, да не умею, наверное.
Есть у меня документ сборный: в папке include храню я файлы, в коих у меня есть некоторый перечень.
\addtocounter{pointcount3}{1}
\arabic{section}.\arabic{subsection}.\arabic{pointcount3} - так был решён вопрос с нумерацией, причем section находится в основном документе, а subsection и pointcount в подключаемом. Теперь мне необходимо взять получившийся номер, а он будет выглядеть так: 1.1.1 и вставить ссылку на номер в текст и в таблицу, при всавке оного по средствам команд \label{...} и \ref{...} у меня получается только 1.1 теряется важная составляющая (но я пока даже не могу понять что именно section или pointcount). В любом случае в моей документации сие не допустимо. Может, Гуру ЛаТеХа ответят, как решается оная загадка? Буду благодарен. Андрей