P: ¿cómo alfabetizo cadenas con signos diacríticos?
Problema
Tengo una larga lista de nombres de autores, algunos de los cuales tienen letras con signos diacríticos en sus nombres (por ejemplo, "á" o "é"). Quiero ordenar esta lista alfabéticamente.
El problema: sort
ing la lista con string-lessp
qué no ordenar alfabéticamente.
De acuerdo con la respuesta aceptada en esta publicación de un sitio hermano , el inglés ignora los signos diacríticos en la clasificación, excepto para romper los lazos. (Otros idiomas lo hacen de manera diferente).
Ejemplo de juguete
Aquí hay un ejemplo de juguete. La lista de letras con las que empiezo ya está ordenada alfabéticamente. Cuando sort
esta lista con
string-lessp
, sin embargo, que los ordena en lo que supongo es el punto para Unicode en lugar de por orden alfabético:
(let ((letters '("a" "à" "á" "â" "b" "c" "e" "é" "ê")))
(sort letters #'string-lessp))
;; => ("a" "b" "c" "e" "à" "á" "â" "é" "ê")
¿Qué debo hacer?
¿Cómo puedo alfabetizar cadenas con signos diacríticos?
Como mínimo, me gustaría respetar la regla de "ignorar los signos diacríticos excepto para romper los lazos" descrita anteriormente. Idealmente, me gustaría poder alfabetizar de acuerdo con un idioma definido arbitrariamente, pero felizmente me conformaré con el inglés.