Existe um pacote simples para o qual eu possa inserir um gráfico abstrato e retornar um desenho?
Apergunta semelhantefoi perguntado em 2010, não recebeu nenhuma resposta relevante para a minha pergunta. Não quero nenhum código complicado, apenas forneça a lista de arestas do gráfico e obtenha qualquer desenho. (É claro que alguns parâmetros opcionais são bem-vindos.) Isso já está implementado em muitas linguagens de programação, então suponho que também deva estar disponível em LaTeX.
Responder1
Existem pelo menos duas maneiras:
o mais flexível (e o que eu recomendo) é usarPGF3/TikZOs recursos de layout automático estão disponíveis se você tiver uma versão recente do pacote (versão 3.0.0 e superior) e se você usar
luatex
/lualatex
para compilar. Veja o manual do PGF, tem um capítulo dedicado a isso. A vantagem é que você pode usar todo o poder do TikZ para estilizar seus nós/bordas e combinar perfeitamente com o resto do documento. Você pode usar código TeX (quase) arbitrário para rótulos/conteúdo de nó e estilos TikZ. A desvantagem pode ser o desempenho, mas você pode aliviar isso usando aexternal
biblioteca (consulte o manual).Um exemplo do manual:
\tikz [>=spaced stealth’] \graph [layered layout, components go right top aligned, nodes=draw, edges=rounded corners] { first root -> {1 -> {2, 3, 7} -> {4, 5}, 6 }, 4 -- 5; second root -> x -> {a -> {u,v}, b, c -> d -> {w,z} }; third root -> child -> grandchild -> youngster -> third root; };
use o graphviz para gerar o layout e depois use
dot2tex
. A vantagem é que você ainda obtém as mesmas fontes do documento principal, pode usar matemática e compilar o gráfico uma vez e evitar fazer o layout a cada compilação do documento.Existem maneiras de automatizar este último usando o pacote LaTeX
dot2texi
. Lembre-se de executarpdflatex
com a-shell-escape
opção para fazer isso funcionar:dot2texi
será necessário invocar adot2tex
ferramenta externa que precisa ser instalada (depende do python) junto comgraphviz
. Com versões recentes, você tem a opção de gerar código TikZ e especificar estilos TikZ personalizados para nós/arestas. Uma citação dos documentos:A saída do Graphviz e dot2tex não é perfeita. Às vezes, são necessários ajustes manuais para obter os resultados corretos para uso em uma publicação. Para ajustes finais e cosméticos, muitas vezes é mais fácil editar o código gerado do que hackear a fonte pontual. Isto é especialmente verdadeiro ao usar o formato de saída tikz.