Org-mode: personalizar la visualización del enlace

Pregunta:

Quiero personalizar cómo se embellece un enlace. Específicamente, quiero que los enlaces de citas de Org-Ref muestren la clave de bibiliografía.

Un enlace de cita se parece a:

[[cite:my-bib-key][pg. 2]]

La pantalla embellecida predeterminada se ve así:

pg. 2

¿Cómo puedo modificar el modo de organización para obtener esta pantalla en su lugar?

@my-bib-key: pg. 2

Respuesta:

Esa es una buena solución. Expandí esto un poco aquí. Coincide con todos los tipos de citas y cambia el color del enlace. No hace la manipulación para poner @ y un espacio, lo que se puede hacer con la propiedad de visualización, pero agrega algo de complejidad con propiedades administradas adicionales que no me parecen justificadas.

(defun org-ref-make-org-link-cite-key-visible (&rest _)
  "Make the org-ref cite link visible in descriptive links."

  (save-match-data
    (let ((s (match-string 1))
      (beg (match-beginning 0))
      (end (match-end 0))
      (cite-re (format "^\\(%s:\\)"
               (regexp-opt (-sort
                    (lambda (a b)
                      (> (length a) (length b)))
                    org-ref-cite-types))))
      cite-type)

      (when (and s (string-match cite-re s))
    (setq cite-type (match-string 1 s))
    (remove-text-properties beg end
                '(invisible))
    (add-text-properties
     beg end
     `(face (:foreground ,org-ref-cite-color)))))))

(advice-add 'org-activate-bracket-links :after #'org-ref-make-org-link-cite-key-visible)

Esto se ha enviado a org-ref, por lo que ahora debería ser el comportamiento predeterminado. ¡Gracias por compartir tu enfoque!

Leave a Comment

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

web tasarım