Изветсно, что LaTeX является de-facto стандартом оформления научной (особенно математической, физической и химической) документации. В случае с математикой (особенно дискретной), возникает острая потребность вставки изображений графов в текст документа. Обычно, для визуализации графов используется набор утилит graphviz, который использует для описания графа свой, простой в изучении, язык DOT, но для того, чтобы вставить в LaTeX документ граф, нужно сначала создать файл с описанием графа, потом скомпилировать его, а потом только вставить картинку в документ. Для автоматизации этого процесса создан пакет dot2texi, который использует утилиту dot2tex.
Положим, что у нас есть LaTeX документ, со стандартной преамбулой:
Положим, что у нас есть LaTeX документ, со стандартной преамбулой:
% Задает класс документа, размер шрифта, и двустороннюю разметку \documentclass[12pt,a4paper,twoside]{book} % Указывает на то, что будет использована кодировка UTF-8 \usepackage[utf8x]{inputenc} % Включает пакет babel с поддержкой русского и английского языков \usepackage[english,russian]{babel} % Добавляет пакет asmmath (Ameriacn Mathematical Society) \usepackage{amsmath} % Дает возможность включать в документ графику \usepackage[dvips]{graphicx} \begin{document} \end{document}Прямо перед
\begin{document}
мы вставляем следующие строки:
\usepackage{dot2texi}[dot,mathmode] \usepackage{tikz} \usetikzlibrary{shapes,arrows}После чего в документе, то есть между
\begin{document}
и \end{document}
можем вставлять следующее:
\begin{dot2tex} digraph G { x_1 -> x_2; x_1 -> x_3; } \end{dot2tex}То что стоит между
\begin{document}
и \end{document}
является записью структуры графа на языке DOT.
Теперь давайте разберемся. dot2texi
— пакет, который переводит запись на языке DOT в TeX представление, а tikz
— пакет все это отрисовывающий.
Я пользовался пакетом texlive
на Ubuntu 10.04. При установке всего этого я столкнулся со следующими проблемами:- Пакет dot2texi не установлен (LaTeX предлагал мне указать где лежит файл стиля *.sty). Для устранения этой ошибки нужно поставить пакет texlive-pictures
sudo apt-get install texlive-pictures
- Также нужно поставить пакет texlive-pstricks.
-
При попытке компиляции файла выдавалась ошибка:
Package dot2texi Warning: Conversion of latex-dot2tex-fig1.dot failed..
. Я точно не знаю почему возникает эта ошибка (почему-то при запуске из TeX-скриптов не получается найти утилиту dot2tex), но она решается добавлением аттрибута--shell-escape
к командеlatex
, то есть результирующая строка будет выглядеть так:latex --shell-escape your_filename.tex
-
Я не помню зачем, но мне понадобилось установить пакет
texlive-latex-extras
. Но если вы постоянно пользуетесь LaTeX для верстки документов, то у вас он, скорее всего уже стоит. - Были обнаружены проблемы при работе с утилитой dvipdfm. Вместо нее нужно использовать dvipdf.
dot2texi
нужно, чтобы была установлена утилиты dot2tex
и graphviz
. Они присутствуют в стандартном репозитории.
dot2tex
-у можно задать параметры, например, каким визуализатором графов из набора graphviz
пользоваться. В нашем случае это dot
. Подробнее о работе пакета dot2texi
можно почитать в официальном руководстве.