¿Cómo dibujar un gráfico automáticamente?

¿Cómo dibujar un gráfico automáticamente?

¿Existe un paquete simple para el cual pueda ingresar un gráfico abstracto y devuelva un dibujo?

Apregunta similarSe preguntó en 2010, no recibió ninguna respuesta relevante a mi pregunta. No quiero ningún código complicado, solo proporcione la lista de bordes del gráfico y obtenga cualquier dibujo. (Por supuesto, algunos parámetros opcionales son bienvenidos). Esto ya está implementado en muchos lenguajes de programación, por lo que supongo que también debería estar disponible en LaTeX.

Respuesta1

Hay al menos dos formas:

  1. el más flexible (y el que recomiendo) es usarPGF3/TikZLas funciones de diseño automático de están disponibles si tiene una versión reciente del paquete (versión 3.0.0 y superior) y si usa luatex/ lualatexpara compilar. Consulte el manual de PGF, hay un capítulo dedicado a esto. La ventaja es que puedes usar todo el poder de TikZ para diseñar tus nodos/bordes y se combinará perfectamente con el resto del documento. Puede utilizar código TeX (casi) arbitrario para etiquetas/contenidos de nodos y estilos TikZ. La desventaja podría ser el rendimiento, pero podría aliviarlo utilizando la externalbiblioteca (consulte el manual).

    Un ejemplo del 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;
    };
    

    ejemplo

  2. use Graphviz para generar el diseño y luego usedot2tex. La ventaja es que aún obtienes las mismas fuentes que tu documento principal, puedes usar matemáticas y puedes compilar el gráfico una vez y evitar hacer el diseño en cada compilación del documento.

    Hay formas de automatizar esto último utilizando el paquete LaTeX dot2texi. Recuerde ejecutar pdflatexcon la -shell-escapeopción para que esto funcione: dot2texideberá invocar la dot2texherramienta externa que debe instalarse (depende de Python) junto con graphviz. Con las versiones recientes, tiene la opción de generar código TikZ y especificar estilos TikZ personalizados para nodos/bordes. Una cita de los documentos:

    El resultado de Graphviz y dot2tex no es perfecto. A veces son necesarios ajustes manuales para obtener los resultados correctos para su uso en una publicación. Para ajustes finales y cosméticos, a menudo es más fácil editar el código generado que piratear la fuente punto. Esto es especialmente cierto cuando se utiliza el formato de salida tikz.

información relacionada