我正在尝试修改 biblatex-chicago 以适应特定期刊的独特风格。他们坚持的一点是,作品的后续引用应以缩写形式出现,并附上可以找到完整引用的注释的参考;例如:
Goossens、Mittelbach 和 Samarin,LaTeX 伴侣(见注1),23-32。
遵循建议这里,我研究了biblatex
并verbose-note.cbx
做了以下补充:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[american]{babel}
\usepackage[backend=biber]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
\renewbibmacro*{cite:save}{% <--- based on verbose-note.cbx
\csxdef{cbx@\thefield{entrykey}}{\the\value{instcount}}}
\renewbibmacro*{cite:short}{%
\ifthenelse{\ifnameundef{labelname}\OR%
\iffieldequalstr{entrytype}{inreference}\OR%
\iffieldequalstr{entrytype}{reference}}%
{\iffieldequalstr{entrysubtype}{magazine}% Simplify .bib creation
{\ifuseauthor%
{\printfield[journaltitle]{journaltitle}\isdot\newcunit}%
{}}%
{\iffieldequalstr{entrytype}{manual}%
{\printlist{organization}\isdot\newcunit}%
{}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{labelname}%
\bibrightbracket\classicpunct}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{labelname}?%
\bibrightbracket\classicpunct}%
{\printnames{labelname}%
\isdot\classicpunct}}}%
\printtext[bibhyperlink]{%
\printfield[citetitle]{labeltitle}}%
\addspace% <--- additions start here
\mkbibparens{%
\bibstring{seenote}\addnbspace%
\ref{cbx@\csuse{cbx@\thefield{entrykey}}}}%
}%
\begin{document}
Test.%
\footnote{\cite{companion}.}%
Test.%
\footnote{\mancite\cite{companion}.}%
\end{document}
这不管用(我更复杂的尝试也没有用),而且我仍在浪费时间担心这个问题,而我还有修改要做。如果有人能指出为什么这个解决方案不完整,我将不胜感激。
答案1
\ref
由于没有定义,所以没有目标。\label
因此,您必须将添加到 bibmacro\label
中cite:save
。我已相应地改进了您的示例:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[american]{babel}
\usepackage[backend=biber]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
\makeatletter
\renewbibmacro*{cite:save}{% <--- based on verbose-note.cbx
\savefield{entrykey}{\cbx@lastkey}% <-- this is in the original chicago-notes.cbx
\csxdef{cbx@\thefield{entrykey}}{\the\value{instcount}}%
\label{cbx@\the\value{instcount}}}
\renewbibmacro*{cite:short}{%
\ifthenelse{\ifnameundef{labelname}\OR%
\iffieldequalstr{entrytype}{inreference}\OR%
\iffieldequalstr{entrytype}{reference}}%
{\iffieldequalstr{entrysubtype}{magazine}% Simplify .bib creation
{\ifuseauthor%
{\printfield[journaltitle]{journaltitle}\isdot\newcunit}%
{}}%
{\iffieldequalstr{entrytype}{manual}%
{\printlist{organization}\isdot\newcunit}%
{}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{labelname}%
\bibrightbracket\classicpunct}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{labelname}?%
\bibrightbracket\classicpunct}%
{\printnames{labelname}%
\isdot\classicpunct}}}%
\printtext[bibhyperlink]{%
\printfield[citetitle]{labeltitle}}%
\addspace% <--- additions start here
\mkbibparens{%
\bibstring{seenote}\addnbspace%
\ref{cbx@\csuse{cbx@\thefield{entrykey}}}}%
}%
\makeatother
\begin{document}
Test.%
\footnote{\cite{companion}.}
Test.%
\footnote{\mancite\cite{companion}.}%
\end{document}