latex – En el modo látex es posible deshabilitar el modo de autocompletar entre `\ begin {figure}, \ end {figure}`

Pregunta:

Estoy trabajando en archivos tex con LaTeX-mode . Si es posible, quiero usar el auto-fill-mode en algunas condiciones. Me preguntaba si es posible deshabilitarlo entre algunos patrones como:

\begin{figure}[ht]
…
\end{figure}

¿Dónde quiero aplicar el modo de auto-fill-mode solo para texto puro? y no lo aplique bajo \begin{figure} ... \end{figure} o cualquier nota de fórmula matematical.

Respuesta:

Puede hacer esto definiendo su propia auto-fill-function y configurando el modo LaTeX para usar eso:

;; define environments we don't want to autofill:
(defvar unfillable-envs '("figure"))

;; add more environments if you like, eg:
;; (defvar unfillable-envs '("figure" "tikzpicture"))

;; create a function to check the environment first, then fill:
(defun my-filtered-fill ()
  (unless (member (LaTeX-current-environment) unfillable-envs)
    (do-auto-fill)))

;; setup LaTeX/AucTex to use auto-fill-mode, but with our fill-function:

(defun my-tex-auto-fill ()
  (auto-fill-mode)
  (setq auto-fill-function 'my-filtered-fill))

(add-hook 'LaTeX-mode-hook 'my-tex-auto-fill)

Tenga en cuenta que puede agregar diferentes entornos a los unfillable-envs si desea bloquear el relleno en otros lugares.

Puede lograr lo mismo si avisa a la función de relleno, pero eso puede provocar problemas inesperados si no tiene cuidado.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım