domingo, 10 de março de 2013

Diagramas UML no LaTeX com TikZ-UML


Com o TikZ-UML é possível desenhar diagramas UML no LaTeX.




Instalando o TikZ-UML no TeXLive no Ubuntu

Baixe TikZ-UML-v1.0b via wget.

wget http://www.ensta-paristech.fr/~kielbasi/tikzuml/src/tikzuml-v1.0b-2013-02-01.tbz
tar axf tikzuml-v1.0b-2013-02-01.tbz
cd tikzuml-v1.0b/
ls

Copie para a pasta /usr/local/texlive/texmf-local/tex/latex/local
sudo mv tikz-uml.sty /usr/local/texlive/texmf-local/tex/latex/local
sudo texhash

Exemplo


Para testar se o pacote está instalado copie os exemplos para a pasta atual (Não se esqueça do pontinho no final do comando).

cp example/*.tex .
gedit classdiag.tex

Edite o arquivo mudando \usepackage{../tikz-uml} para \usepackage{tikz-uml}.
salve e feche o editor. Então compile.
pdflatex classdiag

Pronto! O tikz-uml está instalado e funcionando.

Sintaxe mínima e exemplos


Veja alguns exemplos. Mais informações em tikz-uml.pdf.


\begin{tikzpicture}
\begin{umlpackage}[x=0,y=0]{package-name}
\end{umlpackage}
\end{tikzpicture}



\begin{tikzpicture}
\umlclass[x=0,y=0]{class\_name}{}{}
\end{tikzpicture}




\begin{tikzpicture}
\umlclass{A}{
  + n : uint \\ \umlstatic{-- i : int} \\ \# r : const float
  }{
  + setA(i : int) : void \\ \umlvirt{\# getA() : A}
}
\end{tikzpicture}




\umlusecase{use case1}
\umlusecase[y=-2]{use case2}
\umlusecase[y=-4]{use case3}
\umlusecase[x=4, y=-2, width=1.5cm]{use case4 on 2 lines}
\umlusecase[x=6, fill=green!20]{use case5}
\umlusecase[x=6, y=-4]{use case6}


\umlactor{user}
\umlactor[y=-3]{subuser}
\umlactor[x=14, y=-1.5]{admin}