我有以下问题(也在 goLaTeX 上用德语询问): 我的论文结构如下:
第 1 章 第 2 章 第 3 章
完整书目
附录 A 章 B 章
我的问题:我在附录中引用了第 1-3 章中已经引用过的文献。发生这种情况时,附录中会再次显示全书名,而不是简称(这通常在我第二次引用某本书时发生)——如果我已经在总书目之前的章节中引用了这本书,我该如何让附录中显示简称?
这是我的 MWE:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[style=sbl,citepages=separate,backend=biber,sblfootnotes=false,ibidpage=true,ibidtracker=true,idemtracker=true,pagetracker=spread,sorting=nyvt,url=false,isbn=false,doi=false,clearlang=false,uniquename=false]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Engelmann:2013,
author = {Engelmann, Hans},
title = {Die Sicht. Mit einem Vorwort von Bill Wright zur Sicht},
location = {Berlin},
date = {2013},
series = {Gamma Omega, I. Reihe: Alpha},
shortseries = {GO.A},
number = {4},
}
@book{Ab.2005,
author = {Wright, Bill},
gender = {sm},
date = {1966},
title = {A short history},
location = {Amsterdam},
keywords = {Hilfsmittel},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
Erstes Mal zitiert.\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
Zweites Mal zitiert - es folgt der Kurztitel (ohne Reihe, Druckort und Jahr).\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
\printbibliography
\part{Anhang}
Drittes Mal zitiert - aber hier werden die Bücher wieder komplett zitiert- wie erhalte ich hier den Kurztitel?\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
Viertes Mal zitiert - es folgt der Kurztitel (ohne Reihe, Druckort und Jahr).\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
\end{document}
答案1
biblatex-sbl
有明确\citereset
的\AtBeginBibliography
(ll. 5-19 英寸sbl.bbx
)。实际上,这意味着\printbibliography
将重置所有引文跟踪,尤其是长/短跟踪器。因此,在参考书目之后,您会得到长引文(就好像之前没有引用过该条目一样)。
由于\AtBeginBibliography
源自 样式,因此消除其影响非常棘手。一种选择是局部重新定义\citereset
为 周围的组中不执行任何操作\printbibliography
。
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[
backend=biber,
style=sbl,
sorting=nyvt,
uniquename=false,
citepages=separate,
sblfootnotes=false,
ibidpage=true,ibidtracker=true,idemtracker=true,pagetracker=spread,
url=false,isbn=false,doi=false,clearlang=false,
]{biblatex}
\begin{filecontents*}{\jobname.bib}
@book{Engelmann:2013,
author = {Engelmann, Hans},
title = {Die Sicht. Mit einem Vorwort von Bill Wright zur Sicht},
location = {Berlin},
date = {2013},
series = {Gamma Omega, I. Reihe: Alpha},
shortseries = {GO.A},
number = {4},
}
@book{Ab.2005,
author = {Wright, Bill},
gender = {sm},
date = {1966},
title = {A short history},
location = {Amsterdam},
keywords = {Hilfsmittel},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
Lorem.\footcites[Vgl.][1]{Engelmann:2013}[Siehe auch:][]{Ab.2005}
Ipsum.\footcites[Vgl.][1]{Engelmann:2013}[Siehe auch:][]{Ab.2005}
{\def\citereset{}
\printbibliography}
\part{Anhang}
Dolor.\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
Sit.\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
\end{document}
这种改变可能会导致参考书目出现问题。毕竟,\citereset
样式开发人员出于某种原因将 添加到那里。如果参考书目样式使用(内部)引文命令或引文跟踪功能,则这很重要。
一个稍微复杂一点,但可能侵入性较小的方法可以保存和恢复仅在“if cite seen”跟踪器之前和之后的跟踪器状态,就像\printbibliography
这样
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[
backend=biber,
style=sbl,
sorting=nyvt,
uniquename=false,
citepages=separate,
sblfootnotes=false,
ibidpage=true,ibidtracker=true,idemtracker=true,pagetracker=spread,
url=false,isbn=false,doi=false,clearlang=false,
]{biblatex}
\makeatletter
\newcommand*{\saveseenstate}{%
\csletcs{saved@blx@bsee@\the\c@refsection}{blx@bsee@\the\c@refsection}%
\csletcs{saved@blx@fsee@\the\c@refsection}{blx@fsee@\the\c@refsection}}
\newcommand*{\restoreseenstate}{%
\csletcs{blx@bsee@\the\c@refsection}{saved@blx@bsee@\the\c@refsection}%
\csletcs{blx@fsee@\the\c@refsection}{saved@blx@fsee@\the\c@refsection}}
\makeatother
\begin{filecontents*}{\jobname.bib}
@book{Engelmann:2013,
author = {Engelmann, Hans},
title = {Die Sicht. Mit einem Vorwort von Bill Wright zur Sicht},
location = {Berlin},
date = {2013},
series = {Gamma Omega, I. Reihe: Alpha},
shortseries = {GO.A},
number = {4},
}
@book{Ab.2005,
author = {Wright, Bill},
gender = {sm},
date = {1966},
title = {A short history},
location = {Amsterdam},
keywords = {Hilfsmittel},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
Lorem.\footcites[Vgl.][1]{Engelmann:2013}[Siehe auch:][]{Ab.2005}
Ipsum.\footcites[Vgl.][1]{Engelmann:2013}[Siehe auch:][]{Ab.2005}
\saveseenstate
\printbibliography
\restoreseenstate
\part{Anhang}
Dolor.\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
Sit.\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{Ab.2005}.}
\end{document}