對於我的論文,我使用biblatex
style 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-oxref
的oxnotes
引用風格是基於verbose.cbx
並支援其所有選項。特別是,您可以使用該選項citepages
,該選項記錄在verbose
風格範例。 (在早期版本中,biblatex-oxref
某些方面有點citepages
違反直覺,但在 1.1 版本中得到了改進,請參閱https://github.com/alex-ball/biblatex-oxref/issues/8.)
-default
oxnotes
給citepages=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=suppress
pages
即使後注不是數字,也會省略該欄位。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}
這個\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}
的定義,這意味著它總是被丟棄在輸出中。biblatex
pages
僅刪除欄位\DeclareFieldFormat
可能會導致虛假標點符號,因為biblatex
認為它列印了某些內容,但實際上沒有列印。
因此,我不會在這裡進一步嘗試採用這種特定方法。
請注意,
\RequireBibliographyStyle{oxref}
不是必需的。一般來說,您不必在文檔中使用\RequireBibliographyStyle
or 。\RequireCitationStyle
樣式通過biblatex
的style
選項加載(或分別通過bibstyle
和citestyle
)。