input-method – ¿Cómo puedo agregar caracteres a un método de entrada?

Pregunta:

A menudo uso el método de entrada TeX para escribir caracteres Unicode como λ , que es bastante útil. Sin embargo, algunos de los caracteres que desea escribir no se admiten como varios subíndices (decir ), caracteres de guión (como 𝒞 ) y otros varios símbolos (como y ).

¿Cómo puedo extender el método de entrada TeX para admitir algunos de estos caracteres con una cadena de entrada personalizada (es decir, _i para )?

Respuesta:

Como se explica en este artículo de EmacsWiki , puede agregar cosas a un método de entrada como este:

(let ((quail-current-package (assoc "TeX" quail-package-alist)))
  (quail-define-rules ((append . t))
                      ("_i" ?ᵢ)
                      ("^\\alpha" ?ᵅ)))

También lo encuentro cómodo de usar ; en lugar del engorroso \ como prefijo para mis símbolos, así que hago lo siguiente

(let ((quail-current-package (assoc "TeX" quail-package-alist)))
   (quail-defrule ";" (quail-lookup-key "\\")))

Por último, tenga en cuenta que el archivo ac-math.el contiene una lista de caracteres matemáticos Unicode y los nombres de macro TeX correspondientes, y se puede cambiar fácilmente a un método de entrada TeX-esque nuevo y mucho más completo (incluso puedo escribir \gamma\dot para obtener γ̇.)


APÉNDICE Usando el nuevo paquete math-symbol-lists (disponible en MELPA) se puede definir un método de entrada matemático completo de la siguiente manera:

(package-initialize)
(require 'math-symbol-lists)
(quail-define-package "math" "UTF-8" "Ω" t)
(quail-define-rules ; whatever extra rules you want to define...
 ("\\from"    #X2190)
 ("\\to"      #X2192)
 ("\\lhd"     #X22B2)
 ("\\rhd"     #X22B3)
 ("\\unlhd"   #X22B4)
 ("\\unrhd"   #X22B5))
(mapc (lambda (x)
        (if (cddr x)
            (quail-defrule (cadr x) (car (cddr x)))))
      (append math-symbol-list-basic math-symbol-list-extended))

Para activar el método de entrada, escriba Cu C-\ math RET . Luego, escribir \ mscrC produce 𝒞, \ lParen produce ⦅, etc.


ADDENDUM 2 Ahora hay un paquete en Melpa que proporciona un método de entrada muy completo similar a TeX.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım