[Cvu] nuevo programa
Enrique López-Moreno
elmlvi en gmail.com
Dom Mayo 6 09:37:28 CDT 2018
Luis:
Es admirable!
Esto es lo que entiendo por la cultura científica: no importa la
dificultad, ni la propia área; es la razón y creatividad, el interés por la
soluciones, y un espíritu inquisidor por otorgar una salida a todos, . .
Si yo fuera el Director de CONACyT, no podría permanecer indiferente.
TODA MI ADMIRACIÓN!!!
2018-05-05 17:48 GMT-05:00 Luis Mochan <mochan en icf.unam.mx>:
> Les presumo mi nuevo programa.
>
> Se llama re2yaml y sirve para capturar una lista de publicaciones en
> un formato arbitrario que pueda describirse como una expresión
> regular. Por ejemplo, para capturar la lista de publicaciones que me
> envió Carlos Arias usé el comando
>
> re2yaml.pl -o carlosArias.yaml -i carlosArias.txt \
> -f 'autores año título revista volumen páginas doi' \
> -r '^\d*\.\s*(.*?\s+)(\d+)[\s\.]+(.*?)\.\s+(.*?)\s+(\d+)\s*(?:\
> (\s*\d+\s*\))?:\s*(.*?)\s*(?:doi\s*:\s*(.*))?$' \
> -a '(?:and)?(.*?,\s+.*?[,\.]+)\s+'
>
> que se ve espantoso, pero se los explico a los curiosos y pacientes:
>
> re2yaml.pl
> es el nombre de mi programa
>
> -o carlosArias.yaml
> indica el nombre del archivo donde dejar la información capturada
>
> -i carlosArias.txt
> es el nombre donde puse su lista de publicaciones (convertida de un
> .doc)
>
> -f 'autores año título revista volumen páginas doi'
> significa que a Carlos le gusta poner primero los autores, luego el
> año, luego el título, etc.
>
> -r '^\d*\.\s*(.*?\s+)(\d+)[\s\.]+(.*?)\.\s+(.*?)\s+(\d+)\s*(?:\
> (\s*\d+\s*\))?:\s*(.*?)\s*(?:doi\s*:\s*(.*))?$' \
> es donde empieza la diversión. Ésta es una expresión regular que
> define la estructura detallada de cómo escribe Carlos sus
> publicaciones. La explicación va más abajo.
>
> -a '(?:and)?(.*?,\s+.*?[,\.]+)\s+' \
> Esta es una expresión regular para extraer cada uno de los autores
> de una lista de autores.
>
> Lo acabo de probar y aparentemente funciona. La dificultad es que no
> somos muy consistentes en cómo escribimos y eso lleva a
> ambigüedades. Tuve que meterle mano a la lista de Carlos para que el
> programa pudiera con ella. Me inventé las expresiones regulares para
> que funcionaran con los primeros artículos, y entonces tuve que
> modificar algunos de los últimos artículos, pues su estilo ha cambiado
> a lo largo del año. Con todo y todo, hacer el programa desde cero,
> hacer y probar las expresiones regulares y condicionar la lista de
> publicaciones me tomó arribita de 4hrs. El programa debe servir sin
> mayor modificación para las otras listas que me han enviado. Luego les
> cuento si es cierto o no.
>
> Las expresiones regulares son bastante ilegible, pero su gracia es que
> en un par de líneas puede uno capturar la esctructura de la
> lista. Sólo es necesario hallar y registrar la expresión regular que
> decriba cada
> estilo de CV y checar que el CV cumpla consistentemente con dicha
> expresión :)
>
>
> Va la explicación.
>
> Expresión regular para capturar los artículos:
>
> -r '^\d*\.\s*(.*?\s+)(\d+)[\s\.]+(.*?)\.\s+(.*?)\s+(\d+)\s*(?:\
> (\s*\d+\s*\))?:\s*(.*?)\s*(?:doi.*)?\s*$'
>
> Explicación:
> ^ Principio
> \d* Me salto numeración.
> \. Me salto un punto.
> \s* Me salto espacios.
> (.*?\s+) Capturo autores separados por espacios
> (\d+) hasta hallar el año, el cual capturo.
> [\s\.]+ Me salto espacios y/o puntos
> (.*?) y capturo el título
> \. terminado en un punto y
> \s+ seguido de espacios y
> (\d+) del número de volumen. Este puede ir seguido de
> \s* espacios y
> (?:\(\s*\d+\s*\)) del número entre paréntesis y con posibles espacios.
> ? El número es opcional
> : Luego siguen dos puntos,
> \s* espacio opcional, y
> (.*?) las páginas, que capturo. Finalmente pueden haber
> \s* espacios adicionales
> (?:doi\s*:\s*(.*))? y un doi opcional. Siguen
> \s* espacios opcionales y
> $ el final del registro
>
>
> Expresión regular para separar los autores:
>
> -a '(?:and)?(.*?,\s+.*?[,\.]+)\s+'
>
> Hay un
> (?:and)? 'and' opcional para el último autor.
> ( Inicia la captura con
> .*? el nombre
> , seguido de una coma
> \s+ seguido de uno o más espacios
> .*? seguido de lo que sea
> [,.]+ hasta hallar un punto o una coma o ambos.
> ) Termina la captura
> \s+ y siguen espacios
>
> El orden de los campos capturados es
>
> -f 'autores año título revista volumen páginas'
>
> Si por ejemplo corro el programa sobre
>
> 127. Aponte, FE, Taboada, B, Espinoza, MA, Arias-Ortiz, MA,
> Monge-Martínez, J, Rodríguez-Vázquez, R, Díaz-Hernández, F, Zárate-Vidal,
> F, Wong-Chew, RM, Firo-Reyes, V, del Río-Almendárez, CN, Gaitán-Meza, J,
> Villaseñor-Sierra, A, Martínez-Aguilar, GM, García-Borjas, M, Noyola, DE,
> Pérez-Gónzalez, LF, López, S, Santos-Preciado, JI, Arias, CF. 2014.
> Rhinovirus is an important pathogen in upper and lower respiratory tract
> infections in Mexican children. Virology Journal. 2015, 12:31. DOI:
> 10.1186/s12985-015-0262-z.
>
> el resultado es
>
> -
> autores:
> - 'Aponte, FE,'
> - 'Taboada, B,'
> - 'Espinoza, MA,'
> - 'Arias-Ortiz, MA,'
> - 'Monge-Martínez, J,'
> - 'Rodríguez-Vázquez, R,'
> - 'Díaz-Hernández, F,'
> - 'Zárate-Vidal, F,'
> - 'Wong-Chew, RM,'
> - 'Firo-Reyes, V,'
> - 'del Río-Almendárez, CN,'
> - 'Gaitán-Meza, J,'
> - 'Villaseñor-Sierra, A,'
> - 'Martínez-Aguilar, GM,'
> - 'García-Borjas, M,'
> - 'Noyola, DE,'
> - 'Pérez-Gónzalez, LF,'
> - 'López, S,'
> - 'Santos-Preciado, JI,'
> - 'Arias, CF.'
> año: '2015'
> doi: 10.1186/s12985-015-0262-z.
> páginas: '31.'
> revista: 'Virology Journal,'
> título: 'Rhinovirus is an important pathogen in upper and lower
> respiratory tract infections in Mexican children'
> volumen: '12'
> -
>
> En este formato es trivial añadirle el ISSN: 1743-422X y enviarlo a
> conacyt para que lo carguen en su CVU.
>
> Más tarde pruebo las otras listas que me enviaron.
>
>
>
>
>
>
>
> --
>
> o
> W. Luis Mochán, | tel:(52)(777)329-1734 /<(*)
> Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\
> Apdo. Postal 48-3, 62251 | (*)/\/ \
> Cuernavaca, Morelos, México | mochan en fis.unam.mx /\_/\__/
> GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB
>
>
>
> _______________________________________________
> Mensaje público enviado a la lista Cvu
> Cvu en em.fis.unam.mx
> http://em.fis.unam.mx/cgi-bin/mailman/listinfo/cvu
>
--
Cordialmente
Dr. Enrique López Moreno
Profesor Titular "B", T. C.
Departamento de Física
Facultad de Ciencias. UNAM
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://em.fis.unam.mx/pipermail/cvu/attachments/20180506/5ea384d4/attachment.html>
Más información sobre la lista de distribución Cvu