¿Cómo arreglar la URL y la fuente DOI? Di, hazlo más pequeño

¿Cómo arreglar la URL y la fuente DOI? Di, hazlo más pequeño

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 urlpaquete 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 \UrlFontmá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\rmen lugar de \small\tten 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}

resultado

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 urlformato 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 biblatexignora 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. bibstringsHay 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, biblatexes 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 elbibstringsbiblatexdocumentació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 biblatexuso \printtext{foo}en lugar de \bibstring{foo}, pero en \DeclareFieldFormat \printtextrealidad no es necesario, por lo que en este caso

\DeclareFieldFormat{url}{en ligne <\url{#1}>}

podrías hacer lo que quieras.

Pero puedes usar biblatexlas utilidades de localización de para esto.

\DefineBibliographyStrings{french}{
  url = {en ligne}
}

Se asegurará de que bibstring urlcontenga "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 \mkbiblegeanáloga a \mkbibparenspara 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

ingrese la descripción de la imagen aquí

Respuesta2

Puede configurar la \UrlFontinclusión de un comando de tamaño:

Salida de muestra

\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 \printbibliographyen lugar de en el preámbulo.

información relacionada