24 лют. 2010 р.

Как вставить количество страниц в документе

Обязательным элементом любой публикации является её библиографическое описание, где, в частности, указано количество её страниц. Как сделать так, чтобы не нужно было — при использовании LaTeX’а — каждый раз вручную вбивать в документ нужную цыфирку?

Оказывается: очень просто. В преамбуле подключаем дополнительный пакет \usepackage{lastpage}, а в соответствующем месте библиографического описания вставляем команду \pageref{LastPage}

И всё!


Читать далее

16 лют. 2010 р.

R, TikZ и LaTeX

Как вставить иллюстрацию в документ LaTeX'а так, чтобы её элементы гармонировали с оформлением всего документа (шрифты, цвета и т. п.)? — Эта проблема особенно актуальна для тех учёных, которые пользуются LaTeX'ом для оформления своих трудов.

В самом примитивном виде она решается с помощью латеховской команды \uncludegraphics, которая вставляет в документ заранее подготовленный рисунок или фотографию. Однако, если мы имеем дело с научными иллюстрациями — схемами, графиками, диаграммами и т. п., то добиваться гармонии текстовых элементов рисунка и самого документа приходится методом долгих проб и ошибок.

Однако есть и другой путь: описать требуемый рисунок командами самого LaTeX'а.

Для этого умные люди придумали много разных средств, среди которых одно из наиболее мощных — пакет TikZ (представление о его возможностях можно получить, взглянув на примеры http://www.texample.net/tikz/examples/all/).

Тем не менее, рисовать нужные нам иллюстрации "с нуля" — занятие довольно муторное (знаю на собственном горьком, но полезном опыте). Поэтому другие умные люди озаботились вопросом автоматизации всего этого процесса: теперь готовить рисунки для TikZ'а (т. е. получать на выходе код, который легко напрямую вставить в LaTeX) можно в таких программах, как GNUPLOT, Blender, Graphviz, Dia, VYM, Inkscape, Matlab и др. Среди них, конечно, нашлось место и R.

Для начала следует установить (в терминале R) соответствующий пакет [при подключённом интернете]:

> install.packages("tikzDevice", repos="http://R-Forge.R-project.org",dependencies=T)

Если установка завершилась удачно, то в дальнейшем то, что рисует R командой plot() и другими (напр. barplot(), hist(), boxplot(), и т. п.) легко экспортировать прямо в LaTeX. Общий алгоритм таков:

> library('tikzDevice')
> tikz(file = "Rplots.tex") # открываем устройство экспорта на запись, указываем имя целевого файла, где будет полученный код TikZ'а и, если надо, указываем опции [см. help(tikz)]
> plot(x,y) # рисуем свой график
> dev.off() # закрываем устройство экспорта.


После этого только остаётся скопировать полученный код в ваш документ — не забудьте указать в преамбуле \usepackage{tikz}.

Читать далее