我正在使用biblatex-gost
package, gost-footnote
style。我有两个无法解决的问题:
根据 GOST,如果某个书目条目连续被引用两次或两次以上,则第二次、第三次等引用应替换为“Ibid”。但是,如果其中一个引用恰好是该页面上的第一个引用,则应指定整个书目条目数据。正如您在 MWE 中看到的那样,情况并非如此。
如果我引用某个项目,比如一篇文章,超过两次(不是连续的),脚注中的参考就会缩短。
opcittracker=false
设置有助于将其延长到文章标题,但期刊名称、年份等仍然没有指定。
梅威瑟:
\documentclass[12pt,a4paper]{extreport}
\usepackage{cmap}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{hyperref}
\frenchspacing
\usepackage[backend=biber,bibencoding=utf8,sorting=nyt,maxcitenames=2,maxbibnames=999,style=gost-footnote,language=auto,autolang=other,bibstyle=gost-numeric,opcittracker=false]{biblatex}
\addbibresource{biblio.bib}
\usepackage[autostyle]{csquotes}
\usepackage{lipsum}
\begin{document}
some text some text some text some text some text some\footcite{cummings2004argument} text some text some text some\footcite[P.~335]{cummings2004argument} text some text some text some text
\lipsum
some text some text some text some text some text\footcite{cummings2004argument} some text some text some text some text some text some text some text\footcite{hample1982modeling}
\lipsum
some text some text some text some text some text\footcite{cummings2004argument} some text
\printbibliography
\end{document}
.bib 文件:
@article{hample1982modeling,
langid = {english},
title={Modeling argument},
author={Hample, Dale},
journal={Advances in argumentation theory and research},
pages={259--284},
year={1982},
publisher={Southern Illinois University Press Carbondale}
}
@article{cummings2004argument,
langid = {english},
title={Argument as Cognition: A Putnamian Criticism of Dale Hample’s Cognitive Conception of Argument},
author={Cummings, Louise},
journal={Argumentation},
volume={18},
number={3},
pages={331--348},
year={2004},
publisher={Springer}
}
编辑。还有一个问题,而且相当令人惊讶(这就是我之前没有注意到的原因)。如果我引用了某个已pages
填写字段的书目项目(通常是文章、书籍章节、会议论文集材料……),同时指定特定页面作为后注参数,则脚注中的引用既包括期刊中文章(或其他类型的项目)的页面范围,也包括我指定的页面。根据 GOST,在这种情况下,页面范围应该被隐藏。换句话说,我想得到
Author Name. Article Title // Journal name. Year. Vol. 1, no 2. P. 10
代替
Author Name. Article Title // Journal name. Year. Vol. 1, no 2. Pp. 5-15. P. 10.
MWE(包括以前的解决方案):
\documentclass[12pt,a4paper]{extreport}
\usepackage{cmap}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{hyperref}
\frenchspacing
\usepackage[backend=biber,bibencoding=utf8,sorting=nyt,maxcitenames=2,maxbibnames=999,style=gost-footnote,language=auto,autolang=other,bibstyle=gost-numeric,opcittracker=false,pagetracker]{biblatex}
\addbibresource{biblio.bib}
\usepackage[autostyle]{csquotes}
\renewbibmacro*{cite:seen}{% the same for cite and footcite
\iffirstonpage
{\iffieldundef{shorthand}
{\usebibmacro{cite:short}}
{\usebibmacro{cite:shorthand}}}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifopcit
{\usebibmacro{cite:opcit}}
{\iffieldundef{shorthand}
{\usebibmacro{cite:short}}
{\usebibmacro{cite:shorthand}}}}}}
\renewbibmacro*{cite:seen}{% the same for cite and footcite
\iffirstonpage
{\iffieldundef{shorthand}
{\usebibmacro{cite:full}}
{\usebibmacro{cite:shorthand}}}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifopcit
{\usebibmacro{cite:opcit}}
{\iffieldundef{shorthand}
{\usebibmacro{cite:full}}
{\usebibmacro{cite:shorthand}}}}}}
\usepackage{lipsum}
\begin{document}
some text some text some\footcite[P.~335]{cummings2004argument} text some text some text some text
\printbibliography
\end{document}
答案1
对于第一个问题,您需要将实例更改为\ifciteibid
(\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
您还必须启用该pagetracker
选项)
\usepackage[backend=biber,sorting=nyt,style=gost-footnote,bibstyle=gost-numeric,opcittracker=false,pagetracker]{biblatex}
据我所知你只需要改变
\renewbibmacro*{cite:seen}{% the same for cite and footcite
\iffirstonpage
{\iffieldundef{shorthand}
{\usebibmacro{cite:short}}
{\usebibmacro{cite:shorthand}}}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifopcit
{\usebibmacro{cite:opcit}}
{\iffieldundef{shorthand}
{\usebibmacro{cite:short}}
{\usebibmacro{cite:shorthand}}}}}}
如果你的第二点是想看到后续引用的完整引用,那么你需要将cite:short
上述代码中的所有 s 更改为cite:full
\renewbibmacro*{cite:seen}{% the same for cite and footcite
\iffirstonpage
{\iffieldundef{shorthand}
{\usebibmacro{cite:full}}
{\usebibmacro{cite:shorthand}}}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifopcit
{\usebibmacro{cite:opcit}}
{\iffieldundef{shorthand}
{\usebibmacro{cite:full}}
{\usebibmacro{cite:shorthand}}}}}}