如何才能使 BibLaTeX 的简写不带方括号显示?

如何才能使 BibLaTeX 的简写不带方括号显示?

我想引用“文中流程”中的来源,例如:

如用户手册中所述,...

现在,如果我使用默认的 BibLaTeX 样式(无论是哪种),我都会得到

如[用户手册]中所述,...

或者使用\citetitle

正如所述用户手册,...

我怎样才能引用而不使用括号或斜体,但预注和超链接?或者也可以用shorttitle

我更喜欢一个“开箱即用”的解决方案:使用 BibLaTeX 的选项或只是切换样式,而不是为引用编写一些自定义代码。


\documentclass[]{article}
\usepackage[
backend = biber
]{biblatex}
\usepackage{hyperref}

\begin{filecontents}[overwrite]{biblio.bib}
@Online{key,
    author       = {author},
    title        = {title},
    shorthand    = {User Manual},
    shorttitle   = {User Manual}
}
\end{filecontents}

\addbibresource{biblio.bib}

\begin{document}

\cite[in the first half of the][]{key} % brackets

\textcite[in the first half of the][]{key} % not needed author

\citetitle[in the first half of the][]{key} % % no hyperlink, italic

\printbibliography

\end{document}

答案1

这里有很多可能的解决方案。最简单的方法取决于具体情况以及您还想实现什么。

如果您不选择样式,则biblatex默认为style=numeric,。这解释了您随处可见的括号:数字引用通常用括号给出。而shorthand只是被视为数字标签的替代品。

如果您不需要数字引用,您可以选择不同的样式authortitle,例如不带括号的样式。\printbibliography但是,不会以该样式打印任何标签/速记,但如果您想shorthand在最后的参考书目部分中看到,您可以使用\printshorthands

\documentclass[]{article}
\usepackage[
  backend=biber,
  style=authortitle,
]{biblatex}
\usepackage{hyperref}

\begin{filecontents}{\jobname.bib}
@Online{key,
    author       = {author},
    title        = {title},
    shorthand    = {User Manual},
    shorttitle   = {User Manual},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite[in the first half of the][]{key}

\textcite[in the first half of the][]{key}

\citetitle[in the first half of the][]{key}

\printshorthands
\end{document}

在用户手册的前半部分 作者(在用户手册的前半部分) 在用户手册的前半部分


如果您坚持的话,另一种解决方案style=numeric,是告诉\cite您丢失括号。

\documentclass[]{article}
\usepackage[
  backend=biber,
  style=numeric,
]{biblatex}
\usepackage{hyperref}

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareFieldFormat{labelnumberwidth}{#1}
\DeclareFieldFormat{shorthandwidth}{#1}

\begin{filecontents}{\jobname.bib}
@Online{key,
    author       = {author},
    title        = {title},
    shorthand    = {User Manual},
    shorttitle   = {User Manual},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite[in the first half of the][]{key}

\textcite[in the first half of the][]{key}

\citetitle[in the first half of the][]{key}

\printbibliography
\end{document}

在用户手册的前半部分 作者 [在用户手册的前半部分] 在用户手册的前半部分

相关内容