문맥: biblatex 2.9a
그리고 biber 1.9
.
덕분에 다음 MWE에서 볼 수 있듯이 참고 문헌( )에서 항목을 건너뛴 경우에도 ' 숫자 레이블이 올바릅니다 defernumbers
.biblatex
options={skipbib}
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{skipbib-aaaa,
title={Aaaa (skipped from bibliography)},
options={skipbib}
}
@misc{bbbb,
title = {Bbbb}
}
@misc{cccc,
title={Cccc (manually added at end of document)}
}
@misc{dddd,
title={Dddd (automatically added at end of document)}
}
\end{filecontents}
%
\usepackage[backend=biber,defernumbers]{biblatex}%
\addbibresource{\jobname.bib}
%
\begin{document}
\citetitle{skipbib-aaaa} and \citetitle{bbbb}
\printbibliography
\citetitle{cccc}%
% \AtEndDocument{and \citetitle{dddd}}
\end{document}
(아스키 아트):
Aaaa (skipped from bibliography) and Bbbb
References
[1] Bbbb.
[2] Cccc (manually added at end of document).
Cccc (manually added at end of document)
그러나 인용이 추가되자마자 \AtEndDocument
(두 번째 줄을 주석 처리하여) 숫자 레이블이 잘못됩니다(ascii art).
Aaaa (skipped from bibliography) and Bbbb
References
[2] Bbbb.
[3] Cccc (manually added at end of document).
[4] Dddd (automatically added at end of document).
Cccc (manually added at end of document)
and Dddd (automatically added at end of document)
노트:
- 백엔드로 사용하면
bibtex
문제 없습니다. biblatex 3.0
및 을 사용하면biber 2.0
더 나쁩니다. 인용을 추가하면\AtEndDocument
모든 숫자 라벨이 입니다0
.
답변1
biblatex는 "최종 문서" 후크에서 많은 작업(정리 및 기타)을 수행합니다. cite 명령이 더 일찍 표시되는지 확인해야 합니다. 따라서 \AtEndDocument
before 를 이동 \usepackage{biblatex}
하거나 코드를 후크 앞에 추가하세요.
\citetitle{cccc}%
\makeatletter\preto\@enddocumenthook{and \citetitle{dddd}}\makeatother
(패치 패키지 중 하나가 "\PreToAtEndDocument" 명령을 제공하는지 여부는 알 수 없습니다).