Reemplace la fuente PlantUML con la imagen generada en modo org

7

Escribo diagramas UML en modo org con PlantUML y generalmente lo "compilo" en HTML para ver el resultado. ¿Hay alguna manera de que la imagen aparezca en mi búfer?

Intento habilitar iimage-mode pero no funciona bien. Reemplaza el nombre del archivo al comienzo del bloque fuente.

#+begin_src plantuml :file my-diagram.png
...
#+end_src
#+results:
[[file:my-diagram.png]]

Ambas referencias al nombre del archivo se reemplazan y la fuente permanece. ¿Hay alguna manera de ocultar el bloque de origen y mostrar solo una instancia de la imagen?

Cristian
fuente

Respuestas:

6

No estoy tan seguro de reemplazar la fuente con una imagen, pero puede tener imágenes en línea como resultado de los bloques de origen.

Si agrega la opción de inicio " inlineimages" a su búfer, se mostrarán todos los enlaces en su búfer que apunten a imágenes locales que entienda.

Si usted no tiene un bloque de opciones de inicio, no sería más que una línea en la parte superior de su archivo que se parece a: #+STARTUP: inlineimages.

Sin embargo, esto solo soluciona la mitad de su problema ... cuando C-c C-cun bloque que escupe una imagen, obtendrá un enlace en lugar de una imagen en línea ...

Afortunadamente, puede solucionar esto agregando lo siguiente a su configuración de Emacs:

(add-hook 'org-babel-after-execute-hook
          (lambda ()
            (when org-inline-image-overlays
              (org-redisplay-inline-images))))

Esto le permitirá ver imágenes en línea la primera vez que abra el búfer y actualizarlas evaluando la fuente del bloque.


Ahora, en cuanto a todo el negocio de reemplazo de fuentes:

No estoy seguro de cómo hacer esto dentro de su búfer Org, pero en las exportaciones de Org (a HTML, PDF, etc.), si no desea mostrar los bloques fuente que generan sus resultados, usted puede agregar un " :exports results" argumento al encabezado de su bloque de código. Esto hará que parezca que la fuente ha sido reemplazada por el resultado de su imagen.

Archenoth
fuente
Las versiones actuales de emacs exportarán plantuml como imágenes sin fuentes por defecto. Si no desea ver la fuente en el búfer de la organización, simplemente contraiga la línea del bloque de código (tecla de tabulación en begin_src). Estoy seguro de que hay una manera fácil de colapsar automáticamente el bloque como una extensión del gancho posterior a la ejecución si alguien realmente lo desea.
Digicrat
0

Desde el modo org 8.2.10 en adelante, ha sido posible agregar el :eval no-exportargumento al encabezado del bloque de código. El resultado es que el bloque de código se ejecuta normalmente pero no se exporta. Solo la salida, figura en este caso, después de que la #+RESULTS:línea sea visible en el documento exportado.

Heikki
fuente