Este es el comando bibclean que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
bibclean - prettyprint y verificación de sintaxis BibTeX y archivos de base de datos de bibliografía Scribe
SINOPSIS
babero [ -autor ] [ -registro de errores nombre de archivo ] [ -ayuda ] [ -? ] [ -archivo-inicial nombre de archivo ]
[ -campo largo nombre de campo ] [ -anchura máxima nnn ] [ - [no-] alinear-es igual a ]
[ - [no-] valores de verificación ] [ - [no-] eliminar-valores-vacíos ] [ - [no-] posición de archivo ]
[ - [no-] arreglar-cambios-de-fuente ] [ - [no-] fijas-iniciales ] [ - [no-] arreglos-nombres ]
[ - [no-] estilo alemán ] [ - [no-] mantener saltos de línea ] [ - [no-] keep-parbreaks ]
[ - [no-] mantener espacios de preámbulo ] [ - [no-] guardar-espacios ] [ - [no-] mantener-cadenas-espacios ]
[ - [no-] parbreaks ] [ - [no-] prettyprint ] [ - [no-] patrones de impresión ]
[ - [no-] read-init-files ] [ - [no-] eliminar-prefijos-OPT ] [ - [no-] escriba ]
[ - [no-] apertura de archivo de seguimiento ] [ - [no-] advertencias ] [ -versión ]
( <en archivo | bibfile1 bibfile2 bibfile3 ... ) >archivar
Todas las opciones se pueden abreviar a un prefijo inicial único.
Un nombre de archivo explícito de `` - '' representa una entrada estándar; se asume si no hay archivos de entrada
se especifican.
DESCRIPCIÓN
babero prettyprints ingresa archivos BibTeX a stdout, y comprueba el equilibrio de la ortesis y
también la sintaxis de entrada de bibliografía. Se puede utilizar para detectar problemas en archivos BibTeX que
a veces confunden incluso BibTeX en sí mismo, y lo que es más importante, se puede utilizar para normalizar el
aparición de colecciones de archivos BibTeX.
A continuación, se muestra un resumen de las acciones de formateo:
· Los elementos de BibTeX se formatean en una estructura consistente con una campo = "valor" par
por línea, y la @ inicial y la llave derecha al final en la columna 1.
· Las pestañas se expanden en cadenas en blanco; se desaconseja su uso porque inhiben
portabilidad y puede sufrir corrupción en el correo electrónico.
· Los valores de cadena larga se dividen en un espacio en blanco y continúan en la siguiente línea con
sangría.
· Una sola línea en blanco separa las entradas bibliográficas adyacentes.
· El texto fuera de las entradas de BibTeX se transmite literalmente.
· Los paréntesis exteriores alrededor de las entradas se convierten en llaves.
· Nombres personales en autor y editor los valores de campo se normalizan a la forma `` PDQ
Bach '', de `` PDQ Bach '' y `` Bach, PDQ ''.
· Las secuencias de guiones en los números de página se convierten en guiones.
· Los valores de los meses se convierten en abreviaturas de cadenas BibTeX estándar.
· En los títulos, las secuencias de caracteres en mayúsculas en el nivel cero de llaves están reforzadas para proteger
que se conviertan a minúsculas mediante algunos estilos de bibliografía.
· CODEN, ISBN (número de libro estándar internacional) e ISSN (estándar internacional
Los valores de entrada del número de serie) se examinan para verificar las sumas de comprobación de cada número enumerado,
y se proporciona automáticamente la separación correcta del ISBN.
El formato estandarizado de la salida de babero facilita la aplicación posterior de
filtros simples, como babero(1) Bidup(1) bibextracto(1) bibindex(1) bibjoin(1)
biblabel(1) biblia(1) bifrontera(1) bibsort(1) citar buscar(1), y citar etiquetas(1), para procesar
el texto, y también es el esperado por las funciones de soporte de GNU Emacs BibTeX.
OPCIONES
Los interruptores de la línea de comandos se pueden abreviar a un prefijo inicial único, y las mayúsculas y minúsculas son
no significativo. Todas las opciones se analizan antes de leer los archivos de bibliografía de entrada, no
importa cuál sea su orden en la línea de comando. Opciones que corresponden a un ajuste sí / no
de una bandera tiene una forma con un prefijo "no-" para establecer la bandera en no. Para tales opciones, el
La última configuración determina el valor de la bandera utilizada. Esto es significativo cuando las opciones también son
especificado en los archivos de inicialización (consulte el INICIALIZACIÓN ARCHIVOS sección del manual).
El guión inicial que distingue una opción de un nombre de archivo se puede duplicar, por
compatibilidad con convenciones GNU y POSIX. Por lo tanto, -autor y --autor son equivalentes
Para evitar confusiones con las opciones, si un nombre de archivo comienza con un guion, debe disfrazarse.
por una ruta de directorio absoluta o relativa inicial, por ejemplo, /tmp/-foo.bib or ./-foo.bib.
-autor Muestre un crédito de autor en la unidad de error estándar, stderr, y luego salir con
un código de retorno exitoso. A veces, un programa ejecutable se separa de su
documentación y código fuente; esta opción proporciona una forma de recuperarse de eso.
-registro de errores nombre de archivo
Redireccionar stderr al archivo indicado, que luego contendrá todos los errores
y mensajes de advertencia. Esta opción se proporciona para aquellos sistemas que tienen
dificultad para redirigir stderr.
-ayuda or -?
Mostrar un mensaje de ayuda en stderr, dando una descripción de uso, similar a esta
sección de las páginas del manual, y luego salga con un código de retorno exitoso.
-archivo-inicial nombre de archivo
Proporcione un archivo de inicialización de patrón de valor explícito. Será procesado
después de cualquier archivo de inicialización de todo el sistema y de todo el trabajo, y puede anularlos.
A su vez, puede ser reemplazado por un archivo de inicialización específico de archivo posterior.
Para más detalles, ver el INICIALIZACIÓN ARCHIVOS sección del manual.
-campo largo nombre de campo
Suprime las advertencias de ese campo llamado nombre de campo tienen longitudes que exceden el estándar
Límites de BibTeX. NB! Este is a Específico de Debian ¡extensión!
-anchura máxima nnn
babero normalmente limita el ancho de la línea de salida a 72 caracteres, y en el
intereses de coherencia, ese valor no debe cambiarse. De vez en cuando,
Las aplicaciones para fines especiales pueden requerir diferentes anchos de línea máximos, por lo que
La opción proporciona esa capacidad. El número que sigue al nombre de la opción puede ser
especificado en decimal, octal (comenzando con 0) o hexadecimal (comenzando con
0x). Un valor cero o negativo se interpreta como ilimitado, por lo que -anchura máxima 0
se puede utilizar para garantizar que cada par de campo / valor aparezca en una sola línea.
Cuándo -no-lindo solicitudes babero para actuar como un analizador léxico, el valor predeterminado
el ancho de línea es ilimitado, a menos que esta opción lo invalide.
Cuándo babero es bastante impresión, el ajuste de línea se realizará solo en un espacio.
En consecuencia, una secuencia de caracteres larga que no esté en blanco puede dar como resultado la salida
superando el ancho de línea solicitado.
Cuándo babero es lexing, el ajuste de línea se realiza insertando una barra invertida-nueva línea
par cuando se alcanza el máximo especificado, por lo que ninguna longitud de línea excederá
el maximo.
- [no-] alinear-es igual a
Con la forma positiva, alinee el signo igual en las asignaciones de clave / valor en el
misma columna, separada por un solo espacio de la cadena de valor. De lo contrario, el
el signo igual sigue a la clave, separados por un solo espacio. Defecto: no.
- [no-] valores de verificación
Con la forma positiva, aplique la coincidencia de patrones heurísticos a los valores de campo en
para detectar posibles errores (p. ej., ``year = "192"'' en lugar de ``year =
"1992"'') y emiten advertencias cuando se encuentran patrones inesperados.
Esta verificación suele ser beneficiosa, pero si produce demasiadas advertencias falsas
para un archivo de bibliografía en particular, puede desactivarlo con la forma negativa de
esta opción. Defecto: si.
- [no-] eliminar-valores-vacíos
Con la forma positiva, elimine todos los pares de campo / valor para los que el valor es un
cuerda vacía. Esto es útil para limpiar bibliografías generadas a partir de texto.
plantillas de editor. Compare esta opción con - [no-] eliminar-prefijos-OPT descrito
debajo. Defecto: no.
- [no-] posición de archivo
Con la forma positiva, proporcione información detallada sobre la posición del archivo en advertencia y
error de mensajes. Defecto: no.
- [no-] arreglar-cambios-de-fuente
Con la forma positiva, proporcione un nivel de refuerzo adicional alrededor de los cambios de fuente en
títulos para proteger contra la caída de algunos estilos BibTeX. La fuente cambia eso
ya tienen más de un nivel de llaves no se modifican.
Por ejemplo, si un título contiene la frase latina {\ em Dictyostelium discoideo}
or {\ em {D} ictyostelium {D} iscoideum}, entonces el downcasing convertirá incorrectamente
la frase en minúsculas. La mayoría de los usuarios de BibTeX se sorprenden de que los refuerzos
las letras iniciales no impiden la acción de downcase. La codificación correcta es
{{\ em Dictyostelium discoideo}}. Sin embargo, también existen casos legítimos
donde un nivel adicional de arriostramiento protege incorrectamente del revestimiento. Como consecuencia,
babero normalmente no proporcione un nivel extra de aparatos ortopédicos, pero si tiene un
bibliografía en la que faltan habitualmente llaves adicionales, puede utilizar esta
Opción de suministrarlos.
Si cree que necesita esta opción, es se mostró plenamente te recomendó
aplicar babero a su archivo de bibliografía con y sin -corregir-cambios de fuente,
luego compare los dos archivos de salida para asegurarse de que no se estén usando llaves adicionales
suministrados en títulos donde no deberían estar presentes. Tendrás que decidir
cuál de los dos archivos de salida es la mejor opción, luego repare el
refuerzo del título a mano.
Dado que los cambios de fuente en los títulos son poco comunes, excepto en casos del tipo que
esta opción está diseñada para corregir, debería hacer más bien que mal. Defecto:
no.
- [no-] fijas-iniciales
Con la forma positiva, inserte un espacio después de un punto después de las iniciales del autor.
Por defecto: si.
- [no-] arreglos-nombres
Con la forma positiva, reordenar autor y editor listas de nombres para eliminar las comas en
corchete nivel cero, colocando los nombres o iniciales antes de los apellidos. Defecto:
si.
- [no-] estilo alemán
Con la forma positiva, interprete los caracteres de comillas ["] dentro preparado propuesta de
cadenas en el nivel de llave 1 de acuerdo con las convenciones del archivo de estilo TeX
alemán.sty, que sobrecarga las cotizaciones para simplificar la entrada y la representación del alemán
acentos de diéresis, s sostenida (es-zet), separadores de ligadura, guiones invisibles,
cotizaciones elevadas / reducidas, guillemets franceses y guiones discrecionales. Reconocido
Las combinaciones de caracteres estarán reforzadas para evitar que BibTeX interprete el
cita como delimitador de cadena.
Las cadenas entre comillas no reciben un tratamiento especial de esta opción, y desde el alemán
Los sustantivos en los títulos de todos modos deben estar protegidos de la operación de reducción de la mayoría de
Estilos de bibliografía BibTeX, cadenas de valores alemanas que utilizan la cita sobrecargada
El carácter siempre se puede ingresar en el formulario "{...}", sin la necesidad de especificar
esta opción en absoluto.
Por defecto: no.
- [no-] mantener saltos de línea
Normalmente, los saltos de línea dentro de las cadenas de valor se contraen en un solo espacio, por lo que
que las cadenas de valores largos se pueden romper más tarde para proporcionar líneas de razonable
longitud.
Con la forma positiva, los saltos de línea se conservan en cadenas de valor. Si -max-
anchura se establece en cero, esto conserva los saltos de línea originales. Espaciado outside
cadenas de valor permanece por debajo de baberocontrol, y no se ve afectado por este
.
Por defecto: no.
- [no-] keep-parbreaks
Con la forma positiva, conserva los saltos de párrafo (ya sea alimentaciones de formulario o líneas
que contiene solo espacios) en cadenas de valor. Normalmente, los saltos de párrafo son
colapsado en un solo espacio. Espaciado outside cadenas de valor permanece por debajo de
baberoes el control y no se ve afectado por esta opción. Defecto: no.
- [no-] mantener espacios de preámbulo
Con la forma positiva, conserva todos los espacios en blanco en las entradas de @Preamble {...}.
Por defecto: no.
- [no-] guardar-espacios
Con la forma positiva, conserva todos los espacios en las cadenas de valor. Normalmente,
varios espacios se contraen en un solo espacio. Esta opción se puede utilizar
Junto con -mantener-saltos de línea, -mantener-parbreaksy -anchura máxima 0 para preservar
la forma de cadenas de valor sin dejar de proporcionar sintaxis y verificación de valor.
Distanciamiento outside cadenas de valor permanece por debajo de baberoes el control, y no es
afectado por esta opción. Defecto: no.
- [no-] mantener-cadenas-espacios
Con la forma positiva, conserva todos los espacios en blanco en las entradas de @String {...}.
Por defecto: no.
- [no-] parbreaks
Con la forma negativa, un salto de párrafo (ya sea un avance de formulario o una línea
que contiene solo espacios) no está permitido en cadenas de valor, o entre
pares campo / valor. Esto puede ser útil para atrapar rápidamente cadenas fuera de control que surgen
de delimitadores no coincidentes. Defecto: si.
- [no-] prettyprint
Normalmente, babero funciona como una bonita impresora. Sin embargo, con el negativo
forma de esta opción, actúa como un analizador léxico en su lugar, produciendo un flujo
de tokens léxicos. Ver el LÉXICO ANÁLISIS sección del manual para más detalles.
Por defecto: si.
- [no-] patrones de impresión
Con la forma positiva, imprima los patrones de valor leídos de los archivos de inicialización
a medida que se agregan a las tablas internas. Utilice esta opción para comprobar los recién agregados
patrones, o para ver qué patrones se están utilizando.
Estos patrones son los que se usarán para verificar cadenas de valor para
sintaxis válida, y todos ellos se especifican en archivos de inicialización, en lugar de
codificado en el programa. Para obtener más detalles, consulte el INICIALIZACIÓN ARCHIVOS
sección del manual. Defecto: no.
- [no-] read-init-files
Con la forma negativa, suprime la carga de sistemas, usuarios y archivos específicos
archivos de inicialización. Las inicializaciones vendrán only de esos archivos
dado explícitamente por -archivo-inicial nombre de archivo opciones. Defecto: si.
- [no-] eliminar-prefijos-OPT
Con la forma positiva, elimine el prefijo `` OPT '' de cada nombre de campo donde el
el valor correspondiente es no una cadena vacía. El prefijo `` OPT '' debe ser completamente
en mayúsculas para ser reconocido.
Esta opción es para bibliografías generadas con la ayuda de GNU Emacs
Soporte de edición BibTeX, que genera plantillas con campos opcionales
identificado por el prefijo `` OPT ''. Aunque la función Mx bibtex-eliminar-OPT
normalmente vinculado a las pulsaciones de teclas Cc Co hace el trabajo, los usuarios a menudo olvidan, con
el resultado de que BibTeX no reconoce el nombre del campo e ignora el valor
cuerda. Compare esta opción con - [no-] eliminar-valores-vacíos descrito arriba.
Por defecto: no.
- [no-] escriba
Con la forma positiva, acepte la sintaxis de entrada conforme al documento Scribe
sistema. La salida se convertirá para ajustarse a la sintaxis de BibTeX. Ver el
SCRIBE BIBLIOGRAFÍA FORMATO sección del manual para más detalles. Defecto: no.
- [no-] apertura de archivo de seguimiento
Con la forma positiva, registre en el archivo de registro de errores los nombres de todos los archivos
lo cual babero intenta abrir. Utilice esta opción para identificar dónde
se encuentran los archivos de inicialización. Defecto: no.
- [no-] advertencias
Con la forma positiva, permita todos los mensajes de advertencia. La forma negativa es no
recomendado ya que puede enmascarar problemas que deben repararse. Defecto: si.
-versión Muestra el número de versión del programa en stderr, y luego salir con éxito
código de retorno. Esto también incluirá una indicación de quién compiló el programa,
el nombre de host en el que se compiló, la hora de compilación y el tipo de
código de coincidencia de valor de cadena seleccionado, cuando esa información está disponible para el
compilador
ERROR LA RECUPERACIÓN Y ADVERTENCIAS
Cuándo babero detecta un error, emite un mensaje de error a ambos stderr y stdout.
De esa forma, se notifica claramente al usuario y la bibliografía de salida también contiene la
mensaje en el punto de error.
Los mensajes de error comienzan con un par distintivo de consultas, ??, que comienzan en la columna 1,
seguido del nombre del archivo de entrada y el número de línea. Si el -posicion-de-archivo la opción era
especificados, también contienen las posiciones de entrada y salida del archivo actual, entrada,
y valor. Cada posición incluye el número de byte de archivo, el número de línea y la columna
número. En el caso de un argumento de cadena fuera de control, las posiciones de entrada y valor deben
señalar con precisión la entrada de bibliografía errónea, y las posiciones de los archivos indicarán
donde se detectó, que puede estar más tarde en los archivos.
Los mensajes de advertencia identifican posibles problemas y, por lo tanto, se envían solo a stderry
no stdout, por lo que nunca aparecen en el archivo de salida. Están identificados por un
par distintivo de porcentajes, %%, comenzando en la columna 1, y como con los mensajes de error, puede
ir seguido por mensajes de posición de archivo si el -posicion-de-archivo se especificó la opción.
Para mayor comodidad, la primera línea de cada mensaje de error y advertencia enviado a stderr is
formateado de acuerdo con las expectativas de GNU Emacs siguiente error mando. Usted puede
invocar babero con los Emacs Mx compilar bibclean nombrearchivo.bib > nombre de archivo.nuevo
comando, luego use el siguiente error comando, normalmente vinculado a Cx ` (eso es una tumba, o
atrás, acento), para moverse a la ubicación del error en el archivo de entrada.
Si se ignoran los mensajes de error y se dejan en el archivo de bibliografía de salida,
precipitar un error la próxima vez que se procese la bibliografía con BibTeX.
Después de emitir un mensaje de error, babero luego resincroniza su entrada copiándola
literalmente a stdout hasta que se reconozca una nueva entrada de bibliografía en una línea en la que
El primer carácter que no está en blanco es un signo de arroba (@). Esto asegura que no se pierda nada del
archivo (s) de entrada, lo que permite realizar correcciones en los archivos de entrada o de salida.
Sin embargo, si babero detecta un error interno en sus estructuras de datos, terminará
abruptamente sin más procesamiento de entrada o salida; este tipo de error nunca debería
suceda, y si lo hace, se debe informar de inmediato al autor del programa.
Los errores en los archivos de inicialización y la falta de memoria dinámica también
terminar babero.
INICIALIZACIÓN ARCHIVOS
babero se puede compilar con uno de los tres tipos diferentes de coincidencia de patrones; la elección
lo realiza el instalador en el momento de la compilación:
· La versión original utiliza pruebas explícitas codificadas a mano de sintaxis de cadena de valor.
· La segunda versión utiliza una biblioteca de host de coincidencia de patrones de expresión regular
rutinas junto con patrones de expresión regular que provienen completamente de
archivos de inicialización.
· La tercera versión usa patrones especiales que provienen completamente de la inicialización
archivos.
Esta versión Debianizada de babero utiliza la tercera versión. Sin embargo, las opciones de la línea de comandos
También se puede especificar en los archivos de inicialización, sin importar qué opción de coincidencia de patrón fue
seleccionado.
Cuándo babero comienza, busca archivos de inicialización, utilizando el primero de
$ (INICIO) /. Bibcleanrc, / usr / share / bibcleanrcy / etc / bibcleanrc eso existe. Después,
lee el primero .bibcleanrc encontrado en BIBINENTRADAS ruta de búsqueda. El nombre .bibcleanrc
se puede cambiar en tiempo de ejecución a través de una configuración de la variable de entorno BIBLIMPIEZA. Si
el nombre comienza con un punto, se quitará al mirar en / Usr / share y / Etc.
Luego, cuando se procesan los argumentos de la línea de comandos, cualquier archivo adicional especificado por -en eso-
presentarnombre de archivo también se procesan las opciones. Finalmente, inmediatamente antes de cada llamado
se procesa el archivo de bibliografía, se intenta procesar un archivo de inicialización con
el mismo nombre, pero con la extensión cambiada a . Inicial. La extensión predeterminada puede ser
cambiado por una configuración de la variable de entorno LIMPIEZA DE LA BIBLIA. Este esquema permite el sistema-
Se admitirán archivos de inicialización amplios, de usuario, de sesión y específicos de archivo.
Cuando la entrada se toma de stdin, no hay inicialización específica de archivo.
Para un control preciso, el -archivos-init-sin-lectura opción suprime todos los archivos de inicialización
excepto aquellos nombrados explícitamente por -archivo-inicialnombre de archivo opciones, ya sea en la línea de comando,
o en archivos de inicialización solicitados.
Ejecución recursiva de archivos de inicialización con anidados. -archivo-inicial se permiten opciones;
si la recursividad es circular, babero finalmente obtendrá un archivo de inicialización no fatal
abrir falla después de abrir demasiados archivos. Esto finaliza el archivo de inicialización adicional
Procesando. A medida que se desenrolla la recursividad, todos los archivos se cierran y luego continúa la ejecución.
normalmente.
Un archivo de inicialización puede contener líneas vacías, comentarios desde el porcentaje hasta el final de la línea (solo
como TeX), conmutadores de opciones y asignaciones de campo / patrón o campo / patrón / mensaje.
Los espacios iniciales y finales se ignoran. Esto se ilustra mejor con un breve ejemplo:
% Este es un pequeño archivo de inicialización de bibclean.
-init-file /u/math/bib/.bibcleanrc %% patrones departamentales
capítulo = "\" D \ "" %% 23
páginas = "\" D - D \ "" %% 23--27
volumen = "\" D \\ an \\ d D \ "" %% 11 y 12
año =
"\"dddd, dddd, dddd\""
"Varios años especificados". %% 1989, 1990, 1991
-no-fix-names %% no modifica las listas de autores / editores
Las líneas lógicas largas se pueden dividir en varias líneas físicas rompiendo en una barra invertida.
par de nueva línea; el par de barra invertida-nueva línea se descarta. Este procesamiento ocurre mientras
se leen los caracteres, antes de cualquier interpretación adicional del flujo de entrada.
Cada línea lógica debe contener una opción completa (y su valor, si lo hubiera), o un
par campo / patrón, o un campo / patrón / mensaje triple.
Los comentarios se eliminan durante el análisis de los valores de campo, patrón y mensaje. los
El símbolo de inicio de comentario no se reconoce dentro de las cadenas entre comillas, por lo que se puede usar libremente en
tales cadenas.
Comentarios sobre líneas lógicas que se ingresaron como múltiples líneas físicas a través de la barra invertida.
la convención de nueva línea debe aparecer en el pasado línea física; de lo contrario, el restante
las líneas físicas pasarán a formar parte del comentario.
Las cadenas de patrones deben ir entre comillas; dentro de tales cadenas, una barra invertida
inicia un mecanismo de escape que se usa comúnmente en el software UNIX. El escape reconocido
las secuencias son:
\a campana de alarma (octal 007)
\b retroceso (octal 010)
\f salto de página (octal 014)
\n nueva línea (octal 012)
\r retorno de carro (octal 015)
\t pestaña horizontal (octal 011)
\v pestaña vertical (octal 013)
\ ooo número de carácter octal ooo (p.ej \ 012 es un salto de línea). Hasta 3 dígitos octales pueden
ser usado.
\ 0xhh número de carácter hexadecimal hh (p.ej, \ 0x0a es un salto de línea). xhh tal vez en
cualquier caso de letra. Se puede utilizar cualquier número de dígitos hexadecimales.
La barra invertida seguida de cualquier otro carácter produce ese carácter. Por lo tanto, \% obtiene un
porcentaje literal en una cadena (evitando su interpretación como un comentario), \ "produce un
comillas y \\ produce una sola barra invertida.
Un ASCII NUL (\ 0) en una cadena lo terminará; esta es una característica de la programación C
idioma en el que babero está implementado.
Los pares de campo / patrón se pueden separar por espacio arbitrario y, opcionalmente, un igual
signo o dos puntos funcionando como operador de asignación. Por tanto, los siguientes son equivalentes:
páginas = "\" D - D \ ""
páginas: "\" D - D \ ""
páginas "\" D - D \ ""
páginas = "\" D - D \ ""
páginas: "\" D - D \ ""
páginas "\" D - D \ ""
Cada nombre de campo puede tener un número arbitrario de patrones asociados; sin embargo, ellos
debe especificarse en asignaciones de campo / patrón separadas.
Una cadena de patrón vacía hace que los patrones cargados previamente para ese nombre de campo sean
olvidado. Esta característica permite que un archivo de inicialización descarte completamente los patrones
de archivos de inicialización anteriores.
Los patrones para cadenas de valor se representan en un lenguaje diminuto de propósito especial que es a la vez
conveniente y adecuado para la verificación de la sintaxis de la cadena de valores de la bibliografía. Aunque no como
poderoso como el lenguaje de los patrones de expresión regular, su análisis puede ser portátil
implementado en menos del 3% del código en un analizador de expresiones regulares ampliamente utilizado (el
GNU regexp paquete).
Los patrones están representados por los siguientes caracteres especiales:
uno o más espacios
a exactamente una letra
A una o más letras
d exactamente un dígito
D uno o más dígitos
r exactamente un número romano
R uno o más números romanos (es decir, un número romano)
w exactamente una palabra (una o más letras y dígitos)
W una o más palabras separadas por espacios, comenzando y terminando con una palabra
. un carácter 'especial', uno de los personajes ! # () * +, -. /:;? [] ~, a
subconjunto de caracteres de puntuación que se utilizan normalmente en valores de cadena
: uno o más caracteres "especiales"
X una o más palabras separadas por "especiales", que comienzan y terminan con una palabra
\x exactamente una x (x es cualquier carácter), posiblemente con una secuencia de escape
interpretación dada anteriormente
x exactamente el carácter x (x es cualquier cosa menos uno de estos patrones
caracteres: aAdDrRwW .: \)
El X El carácter del patrón es muy poderoso, pero generalmente desaconsejable, ya que coincidirá
casi cualquier cosa que pueda encontrarse en una cadena de valor BibTeX. La razón para proporcionar
la coincidencia de patrones en las cadenas de valores es para descubrir posibles errores, no enmascararlos.
No existe ninguna disposición para especificar rangos o repeticiones de caracteres, pero esto puede
generalmente se hace con patrones separados. Es una buena idea acompañar el patrón con un
comentario que muestra el tipo de cosa que se espera que coincida. Aquí hay una porción de un
archivo de inicialización que proporciona algunos de los patrones utilizados para coincidir número cadenas de valor:
número = "\" D \ "" %% 23
número = "\" A AD \ "" %% PN LPS5001
número = "\" AD (D) \ "" %% RJ 34(49)
número = "\" AD \ "" %% XNSS 288811
number = "\" AD \\. D \ "" %% Versión 3.20
número = "\" AADD \ "" %% UMIAC-TR-89-11
número = "\" AAD \ "" %% CS-TR-2189
número = "\" AAD \\. D \ "" %% CS-TR-21.7
Para una bibliografía que solo contiene artículo entradas, esta lista probablemente debería ser
reducido al primer patrón, de modo que cualquier cosa que no sea una cadena de dígitos falla el
prueba de coincidencia de patrones. Esto se hace fácilmente manteniendo patrones específicos de bibliografía en un
archivo correspondiente con extensión . Inicial, ya que ese archivo se lee automáticamente.
Debe asegurarse de utilizar cadenas de patrones vacías en este archivo de patrones para descartar patrones
de archivos de inicialización anteriores.
Las cadenas de valor pasadas al comparador de patrones contienen comillas circundantes, por lo que
los patrones también deberían. Sin embargo, puede utilizar una especificación de patrón como "\" D "para que coincida
una cadena de dígitos inicial seguida de cualquier otra cosa; la omisión de la cita final
marca \ "en el patrón permite que la coincidencia sea exitosa sin verificar que el siguiente
El carácter de la cadena de valor es una comilla.
Debido a que las cadenas de valores están destinadas a ser procesadas por TeX, la coincidencia de patrones
ignora las llaves y las secuencias de control TeX, junto con cualquier espacio que siga a esos controles
secuencias. Se conservan los espacios alrededor de los tirantes. Esta convención permite que el patrón
fragmento A-AD-D para que coincida con la cadena de valor TN-K \ barra 27 - 70, porque el valor es
implícitamente colapsado a TN-K27-70 durante la operación de emparejamiento.
baberoes la acción normal cuando un valor de cadena no coincide con ninguno de los correspondientes
patrones es emitir un advertencia mensaje algo como esto: "Inesperado propuesta de in año =
"192" ''. En la mayoría de los casos, eso es suficiente para alertar al usuario sobre un problema. En algunos
casos, sin embargo, puede ser deseable asociar un mensaje diferente con un particular
patrón. Esto se puede hacer proporcionando una cadena de mensaje siguiendo la cadena de patrón.
Dar formato a elementos %% (porcentaje único), %e (nombre de la entrada), %f (nombre del campo), %k (clave de cita), y
%v (valor de cadena) están disponibles para obtener los valores actuales expandidos en los mensajes. Aquí está
un ejemplo:
capítulo = "\" D: D \ "" "Dos puntos encontrados en` `% f =% v ''" %% 23: 2
Para ser coherente con otros mensajes emitidos por babero, la cadena del mensaje debe no final
con puntuación.
Si desea que el mensaje sea un error, en lugar de solo una advertencia, comience con un
consulta (?), así:
capítulo = "\" D: D \ "" "? Se encuentran dos puntos en` `% f =% v ''" %% 23: 2
La consulta no se incluirá en el mensaje de salida.
Las secuencias de escape se admiten en las cadenas de mensajes, al igual que en las cadenas de patrones.
Puede usar esto como ventaja para cosas sofisticadas, como el control del modo de visualización del terminal. Si
reescribe el ejemplo anterior como
capítulo = "\"D:D\""
"? \ 033 [7mColon encontrado en` `% f =% v '' \ 033 [0m" %% 23: 2
el mensaje de error aparecerá en video inverso en pantallas que admitan ANSI
secuencias de control de terminales. Esta práctica normalmente no se recomienda, ya que puede tener
efectos indeseables en algunos dispositivos de salida. No obstante, puede resultarle útil para
aplicaciones restringidas.
Para algunos tipos de campos de bibliografía, babero contiene un código de propósito especial para
complementar o reemplazar la coincidencia de patrones:
· CODIGO, ISBN y ISSN los valores de campo se manejan de esta manera porque su validación
requiere la evaluación de sumas de control que no pueden expresarse mediante patrones simples; no
incluso se utilizan patrones en estos tres casos.
· capítulo, número, paginasy volumen los valores se comprueban únicamente mediante la coincidencia de patrones.
· mes Los valores se verifican primero con las abreviaturas de meses estándar de BibTeX,
y solo si no se encuentra ninguna coincidencia se utilizan los patrones.
· year Los valores se comprueban primero con los patrones, luego, si no se encuentra ninguna coincidencia,
los números de año se encuentran y se convierten en valores enteros para probarlos
límites razonables.
Los valores de otros campos se comprueban solo con los patrones. Puede proporcionar patrones para
any campo que te gusta, incluso los babero aún no conoce. Los nuevos son simplemente
agregado a una tabla interna en la que se busca cada cadena que se va a validar.
El campo especial, clave, representa la clave de cita bibliográfica. Se puede dar
patrones, como cualquier otro campo. Aquí hay una asignación de patrón de archivo de inicialización que
coincidirá con un nombre de autor, dos puntos, una cadena alfabética y un año de dos dígitos:
key = "A: Add" %% Knuth: TB86
Observe que no se incluyen comillas en el patrón, porque las claves de cita son
no cotizado. Puede utilizar estos patrones para ayudar a hacer cumplir las convenciones de nomenclatura uniformes para
claves de citas, que son cada vez más importantes a medida que crece su base de datos bibliográfica.
LÉXICO ANÁLISIS
Cuándo -no-lindo está especificado, babero actúa como un analizador léxico en lugar de un
prettyprinter, produciendo resultados en líneas de la forma
" "
Cada línea de salida contiene un único token completo, identificado por un número entero pequeño
para ser utilizado por un programa de computadora, un nombre de tipo de token para lectores humanos y un valor de cadena en
citas.
Los caracteres especiales en la cadena del valor del token se representan con la norma C de ANSI / ISO
secuencias de escape, por lo que todos los caracteres que no sean NUL son representables y multilínea
los valores se pueden representar en una sola línea.
Estos son los números de token y los nombres de tipo de token que pueden aparecer en la salida cuando
-impresión bonita está especificado:
0 DESCONOCIDO
1 ABREV
2 AT
3 COMA
4 COMENTARIO
ENTRADA 5
6 IGUALES
7 CAMPO
8 INCLUYE
9 EN LÍNEA
CLAVE 10
SOPORTE DE 11 LB
12 LITEROS
13 NUEVA LINEA
14 PREÁMBULO
15 BRAZO
16 AFILADO
17 SPACE
18 CUERDAS
19 VALOR
Los programas que analizan dicha salida también deben prepararse para las líneas que comienzan con el
prefijo de advertencia, %%, o el prefijo de error, ??, y para el número de línea de la norma C de ANSI / ISO
directivas de la forma
# línea 273 "texbook1.bib"
que registran el número de línea y el nombre de archivo del archivo de entrada actual.
Si -anchura máxima nnn Se especificó la opción de línea de comandos, las líneas de salida largas se ajustarán
en un par de barra invertida-nueva línea y, en consecuencia, el software que procesa el token léxico
stream debe estar preparado para colapsar dichas líneas envueltas nuevamente en líneas simples.
Como ejemplo del uso de -no-lindo, la canalización de comandos de UNIX
babero -no-lindo mylib.bib |
awk '$2 == "CLAVE" {imprimir $3}' |
SED -e 's/"//g' |
sort
extraerá una lista ordenada de todas las claves de citas en el archivo mylib.bib.
Se habrá realizado una cierta cantidad de procesamiento en los tokens. En particular,
los delimitadores equivalentes a llaves habrán sido reemplazados por llaves, y las cadenas entre llaves
se han convertido en cadenas entre comillas.
El tipo de token LITERAL se utiliza para texto arbitrario que babero no examina más,
como el contenido de un @Preamble {...} o un @Comment {...}.
El tipo de token DESCONOCIDO nunca debería aparecer en el flujo de salida. Se utiliza internamente para
inicializar variables de tipo token.
SCRIBE BIBLIOGRAFÍA FORMATO
baberoLa compatibilidad con el formato de bibliografía Scribe se basa en la descripción de la sintaxis.
en el Manual introductorio del usuario de Scribe, tercera edición, mayo de 3. Scribe fue originalmente
desarrollado por Brian Reid en la Universidad Carnegie-Mellon, y ahora comercializado por Unilogic,
Ltd.
El formato de la bibliografía BibTeX fue fuertemente influenciado por Scribe y, de hecho, con cuidado,
es posible compartir archivos de bibliografía entre los dos sistemas. Sin embargo, hay
Hay algunas diferencias, por lo que aquí hay un resumen de las características del archivo de bibliografía de Scribe.
formato:
(1) El uso de mayúsculas y minúsculas no es significativo en los nombres de los campos y los nombres de las entradas, pero se conserva el uso de mayúsculas y minúsculas.
en cadenas de valor.
(2) En pares de campo / valor, el campo y el valor pueden estar separados por uno de tres
caracteres: =, / o espacio. El espacio puede rodear opcionalmente estos separadores.
(3) Los delimitadores de valor son cualquiera de estos siete pares: {} [] () <> '' "" `
`
(4) Los delimitadores de valor no se pueden anidar, aunque con los primeros cuatro pares de delimitadores,
los delimitadores equilibrados anidados no serían ambiguos.
(5) Los delimitadores se pueden omitir alrededor de valores que contienen solo letras, dígitos,
(#), y comercial (&), punto (.) y porcentaje (%).
(6) Fuera de los valores delimitados, una arroba literal (@) está representada por una at-
señales (@@).
(7) Las entradas de la bibliografía comienzan con @name, como para BibTeX, pero cualquiera de los siete Scribe
Se pueden usar pares de delimitadores de valor para rodear los valores en pares de campo / valor. Como
en (4), los delimitadores anidados están prohibidos.
(8) El espacio arbitrario puede separar los nombres de las entradas de los siguientes delimitadores.
(9) @Comment es un comando especial cuyo valor delimitado se descarta. Como en (4), anidado
los delimitadores están prohibidos.
(10) La forma especial
@Begin {comentario}
...
@Fin {comentario}
permite encapsular texto arbitrario que contenga caracteres o delimitadores, otros
que `` @End {comentario} ''. Cualquiera de los siete pares de delimitadores se puede utilizar alrededor del
palabra `` comentario '' después de `` @Begin '' o `` @End ''; los delimitadores en los dos
los casos no necesitan ser los mismos y, en consecuencia, `` @Begin {comentario} '' / `` @End {comentario} ''
los pares pueden no ser anidado.
(11) El clave El campo es obligatorio en cada entrada de bibliografía.
(12) Se asumirá que una cita con barra invertida en una cadena es un acento TeX y con corchetes.
adecuadamente. Si bien estos acentos no se ajustan a la sintaxis de Scribe, el formato Scribe
Se han encontrado bibliografías que parecen estar destinadas al procesamiento TeX.
Debido a esta sintaxis flexible, baberoLas heurísticas normales de detección de errores son menos
eficaz y, en consecuencia, la entrada en modo Scribe no es la predeterminada; debe ser explícitamente
solicitada.
MEDIO AMBIENTE VARIABLES
LIMPIEZA DE LA BIBLIA Extensión de archivo de archivos de inicialización específicos de bibliografía. Defecto: . Inicial.
BIBLIMPIEZA Nombre de babero archivos de inicialización. Defecto: .bibcleanrc.
BIBINENTRADAS Ruta de búsqueda para babero y archivos de entrada BibTeX. Este es un colon separado
lista de directorios que se buscan en orden del primero al último. No lo es
un error para que un directorio especificado no exista.
Use bibclean en línea usando los servicios de onworks.net