2010-05-10 24 views
72

Tengo un enorme archivo .bib generado automáticamente a partir de Papers para Mac y todas las mayúsculas en .bib ya están como yo quiero, pero no tiene {} corchetes en palabras como RNA .Preservar todas las mayúsculas en BibTeX

¿Hay alguna manera de obligar a BibTeX a mantener las mayúsculas en lugar de cambiar algunas palabras a minúsculas?

+31

Esto se debe mover a http://tex.stackexchange.com, no cerrado. –

+1

Ver http://tex.stackexchange.com/questions/10772/bibtex-loses-capitals-when-creating-bbl-file – msteiger

+0

ver http://tex.stackexchange.com/questions/10772/bibtex-loses-capitals -when-creating-bbl-file/237275 # 237275 – alvas

Respuesta

9

En ese caso, debería agregar {} alrededor de cada título completo, que tiene el mismo efecto y debería ser fácil de hacer automáticamente.

+2

Esto funciona, pero no siempre dará como resultado el comportamiento que desea: http://stackoverflow.com/questions/1897728/a-bib-style-to-capitalize -book-titles-but-not-paper-titles/1920968 # 1920968 –

14

Si prefiere editar el estilo bibtex (.bst) en lugar de la bibliografía (.bib), puede buscar las ocurrencias de change.case$ en él. Esta es la función que capitaliza o titula campos que no son nombres de personas.

Normalmente, para el campo de título, debería encontrar algo como title "t" change.case$. Como desea que el título no se modifique, reemplácelo por solo title.

+1

Esto es, de hecho, lo correcto para dofor archivos .bst en general. No está claro por qué los archivos .bst distribuidos tienen este error. – vy32

+2

Hay mucha discusión al respecto, pero la redefinición del comportamiento en .bst es la solución más simple y elegante. – hatmatrix

46

Estoy de acuerdo con Killian en que lo correcto es poner {} s para conservar las mayúsculas, pero no recomiendo hacerlo siempre, ya que el comportamiento es wrong in some contexts, and not automatisable, pero lo correcto con Bibtex es hacer lo siguiente :

  1. libro Put y el artículo títulos en caso de título (es decir, aprovechando todas las palabras significativas [1], pero no protegerlos aún);
  2. Protege las mayúsculas de todos los nombres propios, por ejemplo, From {B}rouwer to {H}ilbert;
  3. Proteja las mayúsculas de todos los acrónimos técnicos, por ejemplo, The definition of {S}tandard {ML}; y
  4. Protege la palabra inicial de un subtítulo, p. el {W}ittgenstein's Poker: {T}he story of a ten-minute argument.

No proteja las letras minúsculas: esto evita que Bibtex convierta la cadena en mayúsculas, lo cual es requerido por algunos estilos bibliográficos oscuros.

Si ha estado usando un corrector ortográfico, entonces el contenido de su base de datos contendrá, con un poco de suerte, casi todo el material que necesita saber para capitalizar correctamente: información de la tienda del corrector ortográfico sobre qué palabras son todas- mayúsculas y mayúsculas como nombres propios. Si puede emparejar las palabras de forma programática con esto, entonces puede generar su base de datos Bibtex automáticamente, con más que un poco de trabajo, pero es quizás un proyecto de dos horas.

Tiresomely, Bibtex no se puede utilizar para obtener todas las bibliografías correctas, ya que los diferentes estilos de citas en realidad tienen diferentes listas de palabras no significativas. Sin embargo, en la práctica, casi nadie se preocupa por las diferencias, por lo que uno puede presentar una lista estándar de palabras no en mayúscula.

[1] - Palabras significativas: "a", todas las palabras reales de dos letras, "la", "y", "algunas", todas las preposiciones de una sola palabra y todos los pronombres de una sola palabra serían aceptables lista de palabras no significativas, creo, para casi todos los editores.

2

que estaba recibiendo el mismo problema con un título como:

title = {blah blah AB blah AB blah}

resultando como:

"blah blah ab blah ab blah"

El uso de la sugerencia de Charles Stewart, he cambiado de título a:

title = {blah blah {A}{B} blah {A}{B} blah}

Ahora mi título sale bien: blah blah AB blah AB blah

Espero que esto ayude.

1

Una alternativa al uso de llaves {} es la siguiente: -

  1. revise su carpeta de archivos raíz para .bbl, donde .bbl es su base de datos BiBteX, después de ejecutar pdflatex por primera vez y luego ejecute bibtex en su archivo de base de datos BiBteX.bbl.

  2. Abra este archivo * .bbl en un editor de su elección.

  3. El archivo se vería así:  

    \begin{thebibliography}{10} 
    
    \expandafter\ifx\csname url\endcsname 
    
    \relax 
    \def\url#1{\texttt{#1}} 
    
    \fi 
    \expandafter\ifx\csname urlprefix\endcsname 
    
    \relax\def\urlprefix{URL } 
    
    \fi 
    
    \bibitem{label}..... 
    
  4. Editar este archivo .bbl * para satisfacer sus necesidades y ahora ejecutar el comando pdflatex en su archivo .tex. Esto debería darte el resultado deseado.

  5. Con este método puede editar la bibliografía de cualquier manera. Incluso puede agregar nombres con caracteres acentuados.

Cuestiones relacionadas