Biblatex:Id. 代替 Ibid。

Biblatex:Id. 代替 Ibid。

我原以为这是一个非常简单的问题,但结果却困难得多。

使用 biblatex 和 verbose-inote 样式,我想将 footcite Ibid 重新定义为ID。并打印同上引文如下:“ID。在 #" 其中 # 是页码。

非常感谢您的任何建议!

谢谢!

\documentclass{article}
\usepackage{geometry} 
\geometry{letterpaper, margin=1in}
\usepackage{setspace}
\usepackage[style=verbose-inote,backend=bibtex]{biblatex}
\bibliography{nbib.bib}


\begin{document}

This is a test.\footcite[1]{test}

\end{document}

答案1

将“ibid.”更改为“id.”非常简单

\DefineBibliographyStrings{english}{
  ibidem = {id\adddot},
}

(当然,您可以english用您实际使用的语言来替换)。


对于“id”之后的页面的“at”,我们可以执行以下操作

\NewBibliographyString{at}
\DefineBibliographyStrings{english}{
  ibidem = {id\adddot},
  at = {at},
}

进而

\DeclareFieldFormat{postnote}{%
  \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage\AND\ifpages{#1}}
    {\bibstring{at}%
     \addspace}
    {}%
  #1}

\renewbibmacro*{footcite:ibid}{%
  \printtext[bibhyperlink]{\bibstring[\mkibid]{ibidem}}%
  \iffieldpages{postnote}{\printunit{\addspace}}{}%
  \ifloccit
    {\global\toggletrue{cbx:loccit}}
    {}}

这是为了确保不会出现错误的标点符号。

平均能量损失

\documentclass{article}
\usepackage[style=verbose-inote,backend=bibtex]{biblatex}
\bibliography{biblatex-examples.bib}

\NewBibliographyString{at}
\DefineBibliographyStrings{english}{
  ibidem = {id\adddot},
  at = {at},
}

\DeclareFieldFormat{postnote}{%
  \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage\AND\ifpages{#1}}
    {\bibstring{at}%
     \addspace}
    {}%
  #1}

\renewbibmacro*{footcite:ibid}{%
  \printtext[bibhyperlink]{\bibstring[\mkibid]{ibidem}}%
  \iffieldpages{postnote}{\printunit{\addspace}}{}%
  \ifloccit
    {\global\toggletrue{cbx:loccit}}
    {}}

\begin{document}
This is a test.\footcite[1]{sigfridsson} Ewoud\footcite[1]{sigfridsson}. Ewoud\footcite[jeugd]{sigfridsson}.
\end{document}

相关内容