删除第二个详细引用中的标题

删除第二个详细引用中的标题

我需要为我的大学设计一个非常具体的布局。

我当前的 MWE 如下所示:

\documentclass[paper=a4,]{scrreprt} 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[style=verbose,backend=biber]{biblatex}

\begin{filecontents*}{document.bib}

@book{Belyi.2015,
    year    = {2015},
    title   = {{S}tates and markets in hydrocarbon sectors},
    author  = {Belyi/Andrei/Talus},
}

\end{filecontents*}
\addbibresource{document.bib}

\renewcommand{\mkbibnamelast}[1]{\mkbibemph{#1}\addcomma} 
\DeclareFieldFormat*{title}{#1\addcomma}

\DeclareFieldFormat{parens}{\mkbibparens{#1}}
\renewbibmacro*{date}{\printtext[parens]{\printdate}}

\begin{document}
First Note\footnote{\cite{Belyi.2015}}.

Second note\footnote{\cite{Belyi.2015}}.

\printbibliography
\end{document}

当前输出如下所示:

别雷/安德烈/塔卢斯,碳氢化合物领域的国家和市场,(2015 年)

别雷/安德烈/塔卢斯碳氢化合物行业的国家和市场

现在我想删除第二个引用中的标题。我猜它在某种程度上适用于看到但我似乎做不到正确。

  • 补充:是否可以用点结束所有引用?我目前的解决方案是结束脚注,但如果 latex 可以帮我做这件事就好了。

答案1

cite:short用于verbose样式中的简短(后续)引用。无需额外\ifciteseen测试。该测试已执行,以决定是否调用cite:fullcite:short

您可以使用测试\ifsingletitle(通过选项激活singletitle)来测试作者列表是否唯一,在这种情况下,标题将被删除。如果作者列表不唯一,即有几部作品具有相同的作者列表,则显示标题以消除参考文献的歧义。

请注意我是如何对您的部分代码进行现代化改造和修改的,以及如何.bib以适当的格式填充条目(authors 应始终用and和 而不是分隔/)。

\autocite附加题可以用(或)来解决\footcite

\documentclass[paper=a4,]{scrreprt} 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[style=verbose,backend=biber,singletitle]{biblatex}

\renewcommand*{\newunitpunct}{\addcomma\space}

\renewcommand{\mkbibnamefamily}[1]{\mkbibemph{#1}} 
\DeclareDelimFormat*{multinamedelim}{\addslash}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareDelimFormat{nametitledelim}{\addcomma\space}

\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{citetitle}{#1}

\renewbibmacro*{cite:short}{%
  \printnames{labelname}%
  \ifsingletitle
    {}
    {\setunit*{\printdelim{nametitledelim}}%
     \printtext[bibhyperlink]{%
       \printfield[citetitle]{labeltitle}}}}

\DeclareFieldFormat{parens}{\mkbibparens{#1}}
\renewbibmacro*{date}{\printtext[parens]{\printdate}}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@collection{Belyi.2015,
  year      = {2015},
  title     = {States and Markets in Hydrocarbon Sectors},
  editor    = {Belyi, Andrei V. and Talus, Kim},
  publisher = {Palgrave},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
First Note\autocite{Belyi.2015}.

Second note\autocite{Belyi.2015}.

\printbibliography
\end{document}

脚注 1:“Andrei V. Belyi/Kim Talus 编,《碳氢化合物领域的国家和市场》,Palgrave,(2015 年)。”脚注 2:“Belyi/Talus。”

修改首次/完整引用中的姓氏

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{labelname}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

相关内容