[Cvu] nuevo programa

Gloria Koenigsberger gloria en astro.unam.mx
Dom Mayo 6 11:39:48 CDT 2018


Hola Luis,

Hago eco de las palabras de Enrique.

Añado, ademas, que esto es una desmostración clara de lo que significa
programar "de a deveras".

El máximo organismo de CyT del País tendría que poder tener a su
disposición gente con capacidades, sino iguales a las tuyas  --- cosa que
sería difícil :) --- por lo menos equivalentes en conocimientos en las
áreas de cómputo y tecnologías de la información.

Saludos!
Gloria



2018-05-06 9:37 GMT-05:00 Enrique López-Moreno <elmlvi en gmail.com>:

> 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
>
> _______________________________________________
> Mensaje público enviado a la lista Cvu
> Cvu en em.fis.unam.mx
> http://em.fis.unam.mx/cgi-bin/mailman/listinfo/cvu
>
>


-- 





Gloria Koenigsberger
Instituto de Ciencias Físicas
Universidad Nacional Autónoma de México
Avenida Universidad S/N, Colonia Chamilpa
Cuernavaca, Morelos, 62210, Mexico
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://em.fis.unam.mx/pipermail/cvu/attachments/20180506/d9d92711/attachment-0001.html>


Más información sobre la lista de distribución Cvu