¿Cómo agrandar fragmentos de látex en modo org al mismo tiempo que el texto del búfer?

12

Estoy usando org-modeemacs, pero creo que la pregunta también es relevante para los auctexusuarios.

En org-modeusted puede mostrar fragmentos de látex, como lo demuestra el manual .

Pero: estos fragmentos (principalmente fórmulas matemáticas) parecen tener un tamaño constante . Cuando escribo C-x C-+o C-x C-- solo cambia el tamaño del texto del búfer. ¿Cómo puedo cambiar el tamaño de los fragmentos del búfer?

(Sé que puedo hacer que los fragmentos sean más grandes o más pequeños org-format-latex-options, pero esto es permanente. Quiero cambiar el tamaño de los fragmentos (los archivos png) como el texto).

michaell
fuente

Respuestas:

4

Respuesta actualizada: (gracias por los comentarios)

(defun update-org-latex-fragments ()
  (org-latex-preview '(64))
  (plist-put org-format-latex-options :scale text-scale-mode-amount)
  (org-latex-preview '(16)))
(add-hook 'text-scale-mode-hook 'update-org-latex-fragments)

Vieja respuesta:

Aquí hay un comienzo: enganche text-scale-mode-hooky actualice en org-format-latex-optionsconsecuencia.

(defun update-org-latex-fragments ()
  (org-toggle-latex-fragment '(16))
  (plist-put org-format-latex-options: escala texto-escala-modo-cantidad)
  (org-toggle-latex-fragment '(16)))
(add-hook 'text-scale-mode-hook' update-org-latex-fragments)

Un factor de escala podría ser necesario antes text-scale-mode-amountaunque ...

thisirs
fuente
No org-toggle-latex-fragmentfunciona en el último modo org.
Leu_Grady
@ user3173715 Tu último no es el último entonces ...
thisirs
¿Está utilizando el modo org de desarrollo?
Leu_Grady 01 de
@ user3173715 Uso org-preview-latex-fragment(obsoleto desde agosto de 2014)
este
org-toggle-latex-fragmentes obsoleto desde entonces org 9.3. Usar en su org-latex-previewlugar. Además, al menos a mi lado, el primero org-toggle-latex-fragmentdebería tomar '(64)en su lugar. '(64)imágenes claras en el búfer y '(16)mostrarlas (ver el documento).
Firmin Martin
2

Según la respuesta de thisirs, estoy usando lo siguiente con éxito. El factor de escala en este ejemplo es 2.3:

(defun update-org-latex-fragment-scale ()
  (let ((text-scale-factor (expt text-scale-mode-step text-scale-mode-amount)))
    (plist-put org-format-latex-options :scale (* 2.3 text-scale-factor)))
)
(add-hook 'text-scale-mode-hook 'update-org-latex-fragment-scale)

Tenga en cuenta que he eliminado el código que alterna la vista previa, ya que prefiero hacerlo manualmente, y puede tomar un tiempo si hay muchos fragmentos para obtener una vista previa. Este código solo ajusta la escala de los fragmentos previsualizados, de modo que la próxima vez que se muestren usando C-c C-x C-l, tendrán un tamaño apropiado que coincida con el texto.

marca
fuente
¿Es necesario el factor de codificación?
T. Verron
@ T.Verron, el factor de escala es algo que afecta cuán grande o pequeño es el fragmento previsualizado con respecto al tamaño del texto. La relación entre esos dos probablemente depende de la fuente que esté usando y posiblemente del dpi de su pantalla. Puede ser posible automatizar el cálculo de un factor de escala, pero prefiero jugar con él hasta que parezca de mi agrado. Tenga en cuenta que el "factor de escala codificado" no es el mismo que el factor de escala de texto, que cambia automáticamente a medida que amplía el texto.
Mark
Oh, está bien, de hecho pensé que sería el factor de zoom. ¡Lo siento!
T. Verron
0

Eso ya está integrado si lo usa texfrag-modeen Orgmode en lugar del soporte integrado para fragmentos LaTeX de Orgmode.

Simplemente regenere los fragmentos LaTeX con C-c C-p C-ddespués de cambiar el tamaño con C-x C-+ C-+ .... El tamaño de los fragmentos de LaTeX se ajustará al tamaño del texto circundante.

Tamaño de texto normal:

Tamaño de texto normal

Después de presionar C-x C-+ C-+ C-xy C-c C-p C-d:

ingrese la descripción de la imagen aquí

Nota al margen: con la última versión de texfrag también puedes activar texfrag-show-last-mode. Con ese modo menor activado, Texfrag muestra el último fragmento LaTeX representado como identificador si edita la fórmula:

texfrag-show-last-mode

Tobias
fuente