(Biblatex) 如果存在後注,如何抑制腳註中的頁面欄位?

(Biblatex) 如果存在後注,如何抑制腳註中的頁面欄位?

對於我的論文,我使用biblatexstyle oxnotes,這是一種與 verbose 非常相似的樣式,並使用腳註。

如果我使用\footcite指定後注的命令,對於帶有頁碼的條目(例如書籍章節),腳註將列印兩個都頁碼和後注。我想告訴您biblatex在存在後註時隱藏腳註中的頁碼。

目前,\footcite像這樣:

\footcite[1-5]{barkan2003}

...將產生註腳

巴坎,“標題”,期刊名稱(2003),1-20 1-5

我想在\footcite命令中隱藏指定後注的頁面(即“1-20”),以便它可以讀取

巴坎,“標題”,期刊名稱(2003),1-5。

我已嘗試以下命令,但它抑制了引文和參考書目中的頁面字段。

\DeclareFieldFormat{pages}{%
    \iffieldundef{pages}{}{\iffieldundef{postnote}{}{\clearfield{pages}}}}

有沒有辦法告訴biblatex抑制頁面字段僅有的\footcite命令中,而不是在參考書目中?

任何有關解決方案的幫助將不勝感激!

\documentclass{article}
\usepackage[style=oxnotes]{biblatex}
\RequireBibliographyStyle{oxref}

\begin{filecontents*}{document.bib}
@article{barkan2003,
  title = {Title},
  journaltitle = {Journal Title},
  date = {2003},
  pages = {1-20},
  author = {Barkan},
}
\end{filecontents*}
\addbibresource{document.bib}

\begin{document}
Text.\footcite[1-5]{barkan2003}
\end{document}

答案1

biblatex-oxrefoxnotes引用風格是基於verbose.cbx並支援其所有選項。特別是,您可以使用該選項citepages,該選項記錄在verbose風格範例。 (在早期版本中,biblatex-oxref某些方面有點citepages違反直覺,但在 1.1 版本中得到了改進,請參閱https://github.com/alex-ball/biblatex-oxref/issues/8.)

  • -defaultoxnotescitepages=separate

    Wolfgang A. Herrmann 等人,“碳環卡賓作為 C-C 偶聯反應的有效催化劑配體”,安吉烏。化學。國際。埃德。45/23 (2006), 3859–62 和 3860–1。

  • 如果後注是數字,則citepages=omit該欄位會自動省略pages

    Wolfgang A. Herrmann 等人,“碳環卡賓作為 C-C 偶聯反應的有效催化劑配體”,安吉烏。化學。國際。埃德。45/23 (2006), 3860–1。

  • citepages=suppresspages即使後注不是數字,也會省略該欄位。

  • citepages=permit(標準verbose樣式的預設值)只會顯示兩個字段

    Wolfgang A. Herrmann 等人,“碳環卡賓作為 C-C 偶聯反應的有效催化劑配體”,安吉烏。化學。國際。埃德。45/23 (2006), 3859–62, 3860–1。

所以你可以嘗試

\documentclass{article}

\usepackage[style=oxnotes, citepages=omit]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
Text.\footcite[3860-3861]{herrmann}

\printbibliography
\end{document}

Wolfgang A. Herrmann 等人,“碳環卡賓作為 C-C 偶聯反應的有效催化劑配體”,*Angew。化學。國際。編輯* 45/23 (2006), 3860–1。


這個\DeclareFieldFormat想法行不通,因為\iffieldundef{pages}{}{\iffieldundef{postnote}{}{\clearfield{pages}}}它不是列印任何內容的命令。它只告訴在某種情況下biblatex刪除。pages\DeclareFieldFormat應該用來告訴biblatex如何列印內容,與預設值進行比較

\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}}

或更簡單的

\DeclareFieldFormat{title}{\mkbibemph{#1}}

A\DeclareFieldFormat應該總是包含 a #1

本質上,這個定義會在您想要的情況下刪除該字段(並且它不會刪除參考書目中的字段,因為那裡是真的),但它會覆蓋首先告訴如何打印該字段\iffieldundef{postnote}的定義,這意味著它總是被丟棄在輸出中。biblatexpages

僅刪除欄位\DeclareFieldFormat可能會導致虛假標點符號,因為biblatex認為它列印了某些內容,但實際上沒有列印。

因此,我不會在這裡進一步嘗試採用這種特定方法。


請注意,

\RequireBibliographyStyle{oxref}

不是必需的。一般來說,您不必在文檔中使用\RequireBibliographyStyleor 。\RequireCitationStyle樣式通過biblatexstyle選項加載(或分別通過bibstylecitestyle)。

相關內容