Biblatex 将 @MISC 条目设为斜体

Biblatex 将 @MISC 条目设为斜体

我使用 Biblatex 制作了我的参考书目:

\usepackage[backend=bibtex]{biblatex}

并且它工作正常,只是我用来引用网站的所有 @MISC 条目都是斜体。这本来是可以的,只是引用的 URL 也是斜体,看起来很糟糕。有没有一种简单的方法(包选项?)让 Biblatex 停止将整个条目斜体化?

最小工作示例:

\documentclass{article}
\usepackage[backend=bibtex]{biblatex}
\addbibresource{Bibliography.bib}
\begin{document}
Cite Book, \cite{Book}

Cite Misc, \cite{Misc}
\printbibliography
\end{document}

该文件Bibliography.bib包含:

@book{Book,
  author    = {Author},
  title     = {Title},
  publisher = {Publisher},
  year      = {2014},
}

@misc{Misc,
  title = {``Title'' by Author (\url{http://tex.stackexchange.com/})}
}

上述代码生成:

在此处输入图片描述

我希望引文[2]的全部内容为\upshape

编辑:

感谢 musicman 的建议,我设法使用以下命令使 URL 直立打印:

\appto{\biburlsetup}{\renewcommand*{\UrlFont}{\upshape\ttfamily}}

但它仍然与参考书目 @MISC 条目的其余部分相冲突,后者是斜体的。有没有办法让整个内容不变成斜体?

我也尝试过

\appto{\bibfont}{\upshape}

并且

\renewcommand{\bibfont}{\upshape}

但都没有任何效果。

可能的解决方案:

能够使 URL 直立打印的关键似乎在于以下操作\UrlFont

\renewcommand*{\UrlFont}{\upshape\ttfamily}

但是我在 Biblatex 文档中找不到\UrlFont。是否有类似的隐藏命令可以控制参考书目条目的字体?

答案1

为什么要把所有数据都写入字段中title

@misc{Misc, title = {``Title'' 作者 (\url{https://tex.stackexchange.com/})} }

像其他 bib-entry 一样将其拆分:

@misc{something,
title = {Title},
author = {author},
url = {http://text.stackexchange.com}
}

然后,您可以使用以下方式格式化您的标题(引号而不是斜体):

\DeclareFieldFormat{title}{\mkbibquote{#1}}

如果您只想格式化@misc-type的标题,可以这样写:

\DeclareFieldFormat[misc]{title}{\mkbibquote{#1}}

还考虑切换到 biber-backend。

答案2

您误用了 的 bibfields @Misc。将所有内容都放入title意味着它会变成斜体。您实际上应该使用titleauthorurl

示例输出

\documentclass{article}
\usepackage[backend=bibtex]{biblatex}
\addbibresource{Bibliography.bib}
\begin{document}
Cite Book, \cite{Book}

Cite Misc, \cite{Misc}

Cite Misc2, \cite{Misc2}
\printbibliography
\end{document}

Bibliography.bib

@Book{Book,
  author =   {Author},
  title =    {Title},
  publisher =    {Publisher},
  year =     2014
}

@Misc{Misc,
  title =    {Title},
  author =   {Author},
  url =      {http://tex.stackexchange.com/}
}

@Misc{Misc2,
  note =     {``Title'' by Author
                  (\url{http://tex.stackexchange.com/})}
}

如果您确实想强制格式化,您可以使用note而不是title,如上例所示Misc2,但我不建议这样做。

相关内容