ENCONTRARÁ AQUÍ:

Descripción^ TOP

Biblio-py es un paquete escrito en el lenguaje python que permite administrar bibliografía. contiene dos sub-paquetes:

El paquete está funcionando bien pero trataré de realizar los ajustes necesarios si son reportados.

Características^ TOP

Instalación^ TOP

Puede instalarse usando easy_install, directamente del código fuente o a través de un ebuild, adecuado para una instalación en Gentoo Linux

Using Easy Install

Simplemente escriba en una terminal:

    $>easy_install biblio-py

o

    $>pip install biblio-py

Si está actualizando a una nueva versión, simplemente escriba

    $>pip install --upgrade biblio-py

Instalación Manual

  1. Descargue el archivo comprimido con la última versión
  2. Grábelo en un directorio temporario.
  3. Descomprima el archivo e instale utilizando el setup
    
      $>tar -xvzf biblio-py-x.x.x.tar.gz
      $>cd biblio-py-x.x.x
      $>./setup.py install
        
    

Instalación Gentoo

  1. Descargue el ebuild y cópielo en su portage local tree.
  2. Ejecute:
    
      $>echo dev-python/biblio-py >> /etc/portage/package.keywords
      $>ebuild biblio-py-x.x.x.ebuild digest
      $>emerge biblio-py
      
    

Modo de uso^ TOP

El paquete incluye tres scripts: get_papers.py, bibmanage.py y bibextract.py.

Para obtener ayuda en cualquiera de ellos escriba:


  <script> -h
  <script> --help
 

Ejemplos de bibmanage

  1. Ejemplo: Importe el archivo BibTeX myrefs.bib y guarde los datos en el formato interno en la el archivo myrefs.dmp:
    
      $>bibmanage.py myrefs.bib -d myrefs.dmp 
     
    
    A continuación puede utilizar directamente el archivo myrefs.dmp al cual se accede mucho más rápidamente que a un archivo bibtex.
  2. Ejemplo: Para unir dos archivos bibtex y guardarlo en uno nuevo mientras además se guarda la base en formato interno al archivo database.dmp utilice:
    
      $>bibmanage.py myrefs1.bib  myrefs1.bib -f bib -o bib allrefs.bib -o database.dump  --keep-keys
      $>bibmanage.py myrefs1.bib  myrefs1.bib -f bib -o allrefs.bib -o database.dump
     
    
    La primera línea no modificará la clave identificatoria de las entradas bibtex (keys). La segunda (comportamiento default) hará todas las claves uniformes siguiendo nuestra convención standard, que para artículos es:
    Las primeras siete letras (o menos) del nombre del primer autor + año + abreviatura de revista + p + página.
  3. Ejemplo: Seleccione de un archivo bibtex comprimido (bz2) sólo aquellas entradas que tienen una dada frase en la clave original y con salida por pantalla:
    
      $>bibmanage.py myrefs.bib.bz2 --keep-keys -s substring:_code -o -
        
    
  4. Ejemplo: Para seleccionar de un archivo bibtex comprimido (bz2) sólo aquellas entradas que tienen una dada frase en la clave interna (como describimos anteriormente) y con salida por pantalla utilice uno de los dos comandos:
    
      $>bibmanage.py myrefs.bib.bz2 --keep-keys -s substring:key -o -
      $>bibmanage.py myrefs.bib.bz2 -s substring:_code -o -
        
    
  5. Ejemplo: Seleccione sólo aquellas entradas cuyo autor es (entre otros) autor1,B. y escriba la salida en formato HTML al archivo autor1.html use uno de los siguientes (el uso de opciones cortas o largas es equivalente):
    
      $>bibmanage.py myrefs.dmp -s autor1,B:author -o autor1.html -f html
      $>bibmanage.py myrefs.dmp --search=autor1,B:author --output=autor1.html --format=html
        
    
  6. El último ejemplo puede hacerse sobre el archivo bibtex pero es un proceso un poco más lento
    
      $>bibmanage.py myrefs.bib -s autor1,B:author -o autor1.html -f html
        
    
  7. Ejemplo: Seleccione sólo aquellas entradas cuyo autor es (entre otros) autor1,B. pero no autor2,C e imprímalos en formato LaTeX al archivo ejemplo.tex:
    
      $>bibmanage.py myrefs.dmp -s autor1,B:author -x autor2,C:author -o ejemplo.tex -f 
        
    
  8. Restrinja los resultados del último ejemplo a trabajos publicados entre los años 2004 y 2006
    
      $>bibmanage.py myrefs.dmp -x autor1,B:author -x autor2,C:author \
                     --start-year=2004 --end-year=2006 -o ejemplo.tex -f 
        
    

Ejemplos get_papers

  1. Ejemplo: Descargue referencias a todos los trabajos en la base de datos de Harvard para un autor dado en un dado año
    
      $>get_papers.py --author=Einstein,A. --year=1905
        
    
    De esta manera obtiene entradas en formato BibTeX por pantalla. Existen opciones para cambiar este comportamiento
  2. Ejemplo: Uso de algunas opciones
    
      $>get_papers.py --author=Einstein,A. --year=1905 -f html -o biblio.html
      $>get_papers.py --author=Einstein,A. --year=1905 -f latex --output=biblio.tex
      $>get_papers.py --author=Einstein,A. --year=1905 -f latex --sort=date,reverse 
        
    

Ejemplos bibextract

  1. Ejemplo: El uso más simple de este script para obtener un archivo con las entradas citadas en un documento document.tex o document.aux sería:
    
      $>bibextract document.tex
      $>bibextract document.aux
        
    
    Este comando creará un archivo: document.bib con todas las entradas citadas.

Hágalo usted mismo^ TOP

Es relativamente fácil usar los módulos en sus programas (scripts) en python. Utilice los scripts incluidos como ejemplos de uso. Son relativamente pequeños pero tienen todos los ingredientes necesarios. A continuación mostramos algunos ejemplos más simples:

Script simple

El ejemplo más simple para convertir su base de archivos bibtex a una lista en latex podría ser algo como:
  
import yapbib.biblist as biblist
# 
# Change here to your files
bibfile= yourbib.bib  # input database
outputfile=myfile.tex # output latex file 
# latexstyle, overrides default values
latexstyle={ 'url': None, # Do not include url
             'doi': None, # Do not include doi
             'author': (r'\textbf{',r'}'), # Write the authors in boldface
}

b=biblist.BibList()
b.import_bibtex(bibfile)    
# Sort them in your specified order and export them to latex list
b.sort(['year','firstpage','author','journal'],reverse=True)
b.export_latex(outputfile,style=latexstyle)

  

Manipulación extra de los datos

Puede manipular las entradas a su necesidad antes de convertirlas (aunque ese es el propósito del programa incluido: bibmanage.py)
  
import yapbib.biblist as biblist
# 
# Change here to your files
bibfile= yourbib.bib  # input database
outputfile=myfile.tex # output latex file 
# latexstyle, overrides default values
latexstyle={ 'url': None, # Do not include url
             'doi': None, # Do not include doi
             'author': (r'\textbf{',r'}'), # Write the authors in boldface
}

b=biblist.BibList()
b.import_bibtex(bibfile)    
# Select only some items
items= b.search(findstr='name1',fields=['author','key'])

# Create a reduced database
bout= biblist.BibList()
for it in items:
  bout.add_item(b.get_item(it),it)

# Sort them in your specified order and export them to latex list
bout.sort(['year','firstpage','author','journal'],reverse=True)
bout.export_latex(outputfile,style=latexstyle)

  

Explore el módulo en forma interactiva

  
>>> import yapbib.biblist as biblist
>>> b=biblist.BibList()
>>> b.import_bibtex('mybib.bib')
>>> items= b.List() # Shows the keys of all entries
>>> items
['KEY1','KEY2']
>>> it= b.get_item(items[0]) # Get first item 
>>> it= b.get_items()[0]  # (Alternative) to get first item
>>> it.get_fields() # Show all fields for item
>>> it.preview()    # Show a preview (brief info)
>>> bib= it.to_bibtex() # get item in BibTeX form
>>> tex= it.to_latex() # get item in LaTeX form
>>> html= it.to_html() # get item in html form
>>> print it  # print full information on the item
>>> print unicode(it) # Use this if it has non-ascii characters