我第一次使用 biblatex 时如何能在引用中使用简写?

我第一次使用 biblatex 时如何能在引用中使用简写?

我使用biblatex在我的 LaTeX 文档中插入参考文献。在一些书目条目中,例如百科全书和经典著作,我插入了一个shorthand字段,并决定仅使用简写作为标签从头到尾引用它们。这意味着,我只想获得:

临界值

代替

康德 1968 年(以下简称 KpV)

但是,biblatex第一次总是使用常规标签和简写简介输出它们。

有人知道我如何才能从第一次就获得速记作为唯一标签,而无需额外的书目数据(作者、年份、标题等)和 shorthandintro?我只想用像缩写这样的标签来引用它。

以下是一个小例子:

    \documentclass{memoir}
    \usepackage{xltxtra,fontspec,xunicode}
    \usepackage[style=philosophy-modern,backend=biber,language=auto]{biblatex}
    \bibliography{bibliography}
    \bibintoc
    \begin{document}
    ......
    \printbibliography
    \end{document}

答案1

您没有提到您使用的样式,因此这里有一个针对verbose样式的解决方案,其中包括您问题中描述的速记机制(尽管在第一个引文中打印了“完整”条目)。对于verbose,您必须切换 bibmacro 中的测试cite——我已经包含了原始定义和我的重新定义。

\documentclass{article}

\usepackage[style=verbose]{biblatex}

% Original definition
% \newbibmacro*{cite}{%
%   \usebibmacro{cite:citepages}%
%   \ifciteseen
%     {\iffieldundef{shorthand}
%        {\usebibmacro{cite:short}}
%        {\usebibmacro{cite:shorthand}}}
%     {\usebibmacro{cite:full}}}

\renewbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
  \iffieldundef{shorthand}
    {\ifciteseen
       {\usebibmacro{cite:short}}
       {\usebibmacro{cite:full}}}
    {\usebibmacro{cite:shorthand}}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{Kan68,
  shorthand = {KpV},
  author = {Kant, Immanuel},
  year = {1968},
  title = {Kritik der praktischen Vernunft},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\null\vfill% just for the example

Some text.\autocite{Kan68}

Some text.\autocite{Kan68}

Some text.\autocite{A01}

Some text.\autocite{A01}

\printshorthands

\printbibliography

\end{document}

在此处输入图片描述

编辑:由于您正在使用该philosophy-modern样式,因此无需修改内部宏;只需使用包选项即可shorthandintro=false

\documentclass{article}

\usepackage[style=philosophy-modern,backend=biber,language=auto,
     shorthandintro=false]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{Kan68,
  shorthand = {KpV},
  author = {Kant, Immanuel},
  year = {1968},
  title = {Kritik der praktischen Vernunft},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\null\vfill% just for the example

Some text.\autocite{Kan68}

Some text.\autocite{Kan68}

Some text.\autocite{A01}

Some text.\autocite{A01}

\printshorthands

\printbibliography

\end{document}

在此处输入图片描述

相关内容