Saltar al contenido

Convirtiendo a bibitem en LaTeX

Esta es la solución más exacta que te podemos dar, pero obsérvala detenidamente y analiza si es compatible a tu trabajo.

Solución:

Estoy de acuerdo con el proceso general explicado en los comentarios, pero creo que no abordan completamente la tarea final que debes hacer para la conferencia, que muy probablemente quiera una sola independiente. .tex expediente.

Supongamos que tienes mypaper.tex cual es tu texto con alguna cite y un refs.bib expediente. Luego :

  1. En primer lugar, poner en mypaper.tex las dos lineas:

    bibliographyrefs bibliographystylesimple

  2. En segundo lugar, ejecute (en lugar de usar el nocite que tiene dos inconvenientes: (1) ordenar como en refs.bib y (2) cita las refs. que no son cite-d en su papel):

    (pdf)latex mypaper bibtex mypaper

    Si este paso tiene éxito obtendrá mypaper.bbl que contiene el bibitem-s y un mypaper.blg que es el archivo de registro de BiBTeX. (No un : latex lee el mypaper.tex — y cuando presente el mypaper.bbl archivo, pero bibtex lee el mypaper.aux creado por latex).

  3. En tercer lugar, (opcional pero recomendado) asegúrese de que todas las referencias estén correctamente insertadas y mostradas en el archivo con:

    (pdf)latex mypaper

  4. En cuarto lugar, abre mypaper.texcomentar o descartar los dos biblio... líneas y pegar todo el contenido de mypaper.bbl en el lugar donde desea obtener la bibliografía. A continuación, tiene el archivo independiente final.

    Tu puedes correr (pdf)latex mypaper al menos dos veces para obtener la final .dvi o .pdf.

Editar: Este copiar y pegar se mantiene si él .bbl el contenido del archivo comienza con el normal beginthebibliography. Si comienza cargando paquetes con usepackage o incluso por input.sty (donde = csquote, url, etc.) debe moverlos en su preámbulo. Si comienza definiendo comandos, puede mantenerlos en este lugar o moverlos al preámbulo.

Nota para el OP: usas plain como el formato, que me parece extraño. En realidad, cada conferencia/organización generalmente tiene su propia .bst archivo de estilo que produce bibitem formateados de acuerdo con sus reglas editoriales. Más específicamente, asegúrese de que necesita una bibliografía ordenada alfabéticamente o por citas. En este último caso, debe utilizar el unsrt.bst (o una variante) en lugar de plain.bst.

El código de Python para convertir el archivo refs.bib en un archivo bibitem

python2 bibtex2item.py < refs.bib > bibitem.txt

# filename: bibtex2item.py
import sys

bibtex = sys.stdin.read()
r = bibtex.split('n')
i = 0
while i < len(r):
  line = r[i].strip()
  if not line: i += 1
  if '@' == line[0]:
    code = line.split('{')[-1][:-1]
    title = venue = volume = number = pages = year = publisher = authors = None
    output_authors = []
    i += 1
    while i < len(r) and '@' not in r[i]:
      line = r[i].strip()
      #print(line)
      if line.startswith("title"):
        title = line.split('{')[-1][:-2]
      elif line.startswith("journal"):
        venue = line.split('{')[-1][:-2]
      elif line.startswith("volume"):
        volume = line.split('{')[-1][:-2]
      elif line.startswith("number"):
        number = line.split('{')[-1][:-2]
      elif line.startswith("pages"):
        pages = line.split('{')[-1][:-2]
      elif line.startswith("year"):
        year = line.split('{')[-1][:-2]
      elif line.startswith("publisher"):
        publisher = line.split('{')[-1][:-2]
      elif line.startswith("author"):
        authors = line[line.find("")+1:line.rfind("")]
        for LastFirst in authors.split('and'):
          lf = LastFirst.replace(' ', '').split(',')
          if len(lf) != 2: continue
          last, first = lf[0], lf[1]
          output_authors.append(", .".format(last.capitalize(), first.capitalize()[0]))
      i += 1

    print "\bibitem%s" % code
    if len(output_authors) == 1:
      print output_authors[0] + " . ".format(title),
    else:
      print ", ".join(_ for _ in output_authors[:-1]) + " & " + output_authors[-1] + " . ".format(title),
    if venue:
      print "\em .".format(" ".join([_.capitalize() for _ in venue.split(' ')])),
      if volume:
        sys.stdout.write(" \textbf".format(volume))
      if pages:
        sys.stdout.write(", ".format(pages) if number else " pp. ".format(pages))
      if year:
        sys.stdout.write(" ()".format(year))
    if publisher and not venue:
      print "(,)".format(publisher, year)
    print
    print

entrada de muestra

@articlekarrer2011stochastic,
  title=Stochastic blockmodels and community structure in networks,
  author=Karrer, Brian and Newman, Mark EJ,
  journal=Physical Review E,
  volume=83,
  number=1,
  pages=016107,
  year=2011,
  publisher=APS

salida de muestra

bibitemkarrer2011stochastic
Karrer, B. & Newman, M. Stochastic blockmodels and community structure in networks.  em Physical Review E. textbf83, 016107 (2011)

Sección de Reseñas y Valoraciones

Nos puedes animar nuestra misión escribiendo un comentario o puntuándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *