
Estoy usando Biblatex para manejar las citas completas en las notas a pie de página y la bibliografía. Con las entradas @online Bibtex/Biblatex, entiendo que los campos DOI y URL en una cita deben estar en alguna fuente especial, a menudo de máquina de escribir, para distinguir 'i' y 'l', por ejemplo. Sin embargo, como la fuente es diferente y un poco más grande que el resto, me parece negrita y no quiero que la URL sea lo primero que notes en una página de un artículo. ¿Cómo hacer la fuente más pequeña?
encontré algunas partesaquíythantes deque ofrecen otra solución ( \urlstyle{rm}
o \urlstyle{same}
), pero parece requerir que el url
paquete se cargue por separado; solo estoy usando Biblatex.
Actualizar: gracias por el comentario y la respuesta. Olvidé mencionar que estoy usando un formato especial, en lugar de URL necesito "en ligne <>". Consulte el MWE a continuación y corríjame si lo hago de manera incorrecta. En ambas situaciones ( \urlstyle{same}
o \UrlFont
), todavía aparece el prefijo "en ligne" impreso con esa fuente de URL en negrita. O tal vez este sea otro tipo de fuente más. ¿Cómo solucionarlo todo de una vez? Aprecio \UrlFont
más el método porque me permite cambiar la fuente y el tamaño al mismo tiempo. También debería ser mejor mantener una fuente monoespaciada para las URL y DOI, lástima que se vean en negrita, incluso cuando se ha hecho más pequeña. Por lo tanto, \small\rm
en lugar de \small\tt
en el siguiente MWE.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,ngerman,frenchb]{babel}
\usepackage{csquotes}
\usepackage[style=verbose-trad1,backend=bibtex8]{biblatex}
\DeclareFieldFormat{url}{\addcolon\space\bibstring{en ligne <}\url{#1}\bibstring{>}}
\renewcommand{\UrlFont}{\small\rm}
\addbibresource{biblatex-examples.bib}
\begin{document}
\null\vfill\noindent
\cite{markey}
\cite{kastenholz}
\printbibliography
\end{document}
Actualización 2: Ahora la guinda del pastel (ambas preguntas anteriores han sido respondidas), ¿es posible crear la URL y la fuente doi?encendedor, con algo de alturatruco¿O un truco de color (gris o gris claro)? Aprecio mucho el estilo leo, especialmente cuando miras el resultado impreso enla página-- No tengo esoencendedorningún efecto cuando lo pruebo. Puedo hacer otra publicación para esto si quieres.
Respuesta1
Pensé que mis largos comentarios a su pregunta actualizada no eran tan buenos, así que aquí va una explicación detallada.
Su redefinición del url
formato de campo contiene dos fuentes de error para biblatex
.
\DeclareFieldFormat{url}{\addcolon\space\bibstring{en ligne <}\url{#1}\bibstring{>}}
En primer lugar, comienza con un comando para agregar dos puntos y un espacio.antesimprimir cualquier texto, afortunadamente biblatex
ignora esto (no hay dos puntos innecesarios antes de "en ligne" en su MWE), pero deberíamos deshacernos de él de todos modos.
En segundo lugar, y lo que es más importante, en ligne <
en realidad no es un archivo bibstring
. bibstrings
Hay ciertas claves de localización que cambian con el idioma, por lo que \bibstring{editor}
imprime "editor" en inglés, "Herausgeber" en alemán y (aparentemente) "éditeur" en un documento francés. Para que esto funcione, biblatex
es necesario conocer estos baberos y en ligne <
ciertamente no es uno de ellos (tampoco lo es ; se puede encontrar >
una lista de estándares en elbibstrings
biblatex
documentación§4.9.2Claves de Localización). Las cadenas de baberos desconocidas activarán una advertencia ( Bibliography string 'en ligne <' undefined
) y su "clave" se imprimirá en negrita para notificarle claramente en el documento que algo salió mal.
Para imprimir texto detallado en biblatex
uso \printtext{foo}
en lugar de \bibstring{foo}
, pero en \DeclareFieldFormat
\printtext
realidad no es necesario, por lo que en este caso
\DeclareFieldFormat{url}{en ligne <\url{#1}>}
podrías hacer lo que quieras.
Pero puedes usar biblatex
las utilidades de localización de para esto.
\DefineBibliographyStrings{french}{
url = {en ligne}
}
Se asegurará de que bibstring
url
contenga "en ligne" en un documento francés, por lo que \bibstring{url}
imprime "en ligne" en francés y "address" en inglés.
También podemos definir una macro \mkbiblege
análoga a \mkbibparens
para ajustar texto en <
y >
.
\makeatletter
\newrobustcmd{\mkbiblege}[1]{%
\begingroup
\blx@blxinit
\blx@setsfcodes
<#1>
\endgroup}
\makeatother
Entonces podemos definir
\DeclareFieldFormat{url}{\bibstring{url}\space\mkbiblege{\url{#1}}}
Finalmente, nuestro MWE
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,ngerman,frenchb]{babel}
\usepackage{csquotes}
\usepackage[style=verbose-trad1,backend=bibtex8]{biblatex}
\renewcommand{\UrlFont}{\small\rm}
\DefineBibliographyStrings{french}{
url = {en ligne},
}
\DefineBibliographyStrings{german}{
url = {online},
}
\makeatletter
\newrobustcmd{\mkbiblege}[1]{%
\begingroup
\blx@blxinit
\blx@setsfcodes
<#1>
\endgroup}
\makeatother
\DeclareFieldFormat{url}{\bibstring{url}\space\mkbiblege{\url{#1}}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{markey}
\printbibliography
\end{document}
da
Respuesta2
Puede configurar la \UrlFont
inclusión de un comando de tamaño:
\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\renewcommand{\UrlFont}{\small\ttfamily}
\begin{document}
\cite{ctan,markey,kastenholz}
\printbibliography
\end{document}
Si solo desea que esto afecte a la bibliografía, coloque el comando \renewcommand{\UrlFont}{\small\ttfamily}
justo antes \printbibliography
en lugar de en el preámbulo.