각 장의 끝 부분에 있는 참고문헌에 대한 백리팔트 충돌(natbib 및 Chapterbib 사용)

각 장의 끝 부분에 있는 참고문헌에 대한 백리팔트 충돌(natbib 및 Chapterbib 사용)

나는 각 장의 끝에 참고문헌을 두고 싶고, 사용 natbibchapterbib패키지를 사용하여 "페이지에 인용됨:"이라고 표시된 참조 목록에 상호 참조를 계속 갖고 싶습니다.

내가 사용하고 있는 문서를 컴파일하려면.bat 여기에 지시된 대로 파일을 포스트 프로세서로 사용하고 있습니다."장별 참고문헌".또한 참조된 프로세스를 사용하거나

pdflatex Sample.tex
bibtex Sample.tex
bibtex chp01
bibtex chp02
[...]
pdflatex Sample.tex
pdflatex Sample.tex

PDF를 컴파일합니다.

아래 예시 파일을 참고해주세요.

샘플.텍스

\documentclass[a4paper,12pt,twoside,openright]{scrreprt}
\usepackage{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{filecontents}{chp01.tex}
    \blinddocument

    \cite{lamport94}
    \cite{knuth84}

    \begingroup
    \let\chapter\section
    \cleardoublepage
    \phantomsection
    \addcontentsline{toc}{section}{References}
    \bibliographystyle{unsrt}
    \bibliography{sample}
    \endgroup
\end{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{filecontents}{chp02.tex}
    \blinddocument

    \cite{knuth84}

    \begingroup
    \let\chapter\section
    \cleardoublepage
    \phantomsection
    \addcontentsline{toc}{section}{References} 
    \bibliographystyle{unsrt}
    \bibliography{sample}
    \endgroup
\end{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{filecontents}{sample.bib}
    @book{knuth84,
        author    = {{D}onald {E}. {K}nuth},
        title     = {{T}he \TeX book},
        year      = {1984},
        series    = {{C}omputers and typesetting},
        volume    = {A},
        publisher = {{A}ddison-{W}esley}
    }

    @book{lamport94,
        author    = {{L}eslie {L}amport},
        title     = {\LaTeX\ -- {A} {D}ocument {P}reparation {S}ystem},
        year      = {1994},
        publisher = {{A}ddison-{W}esley},
        edition   = {{S}econd}
    }
\end{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage[square,comma,numbers,sort,sectionbib]{natbib}
\usepackage[sectionbib]{chapterbib} 
\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage[hyperindex,pagebackref=true,pdfusetitle,pdfa=true]{hyperref}
\hypersetup{plainpages=false,colorlinks,breaklinks,linktocpage,hypertexnames=true,naturalnames=false}
\hypersetup{linkcolor=red,citecolor=blue,filecolor=blue,urlcolor=blue} 

%%%%%%% Backref
\renewcommand*{\backrefsep}{, }
\renewcommand*{\backreflastsep}{ and~}
\renewcommand*{\backreftwosep}{ and~}
\renewcommand*{\backref}[1]{}   % empty definition for \backrefalt to be used, i.e. disable standard 
\renewcommand*{\backrefalt}[4]{%

\vspace{-1.0mm}
    \scriptsize\itshape\mbox{
        \ifnum#1=1 %
         \\(Cited on page~%
        \else
            \\(Cited on pages~%
        \fi
        #2)
        }}

\begin{document}
    \include{chp01}
    \include{chp02}
\end{document}

파일이 컴파일되는 중이지만 "페이지에 인용됨:"의 참조 페이지 링크가 누락되었습니다(아래 그림 참조).

이 문제를 해결하는 패치나 해결 방법이 가능한가요?

여기에 이미지 설명을 입력하세요

답변1

게시물의 답변

단일 main.bib 파일을 사용하여 각 장 후에 역참조를 갖는 것이 가능합니까?

내 문제를 해결했습니다. 인용이 표시된 페이지를 역참조하기 위해 패키지 natbib, chapterbib, hyperref및 를 사용하는 방법을 보여줍니다 .backref

또한 명령은 다음과 같아야 합니다.

pdflatex Sample.tex
bibtex chp01
bibtex chp02
[...]
pdflatex Sample.tex
pdflatex Sample.tex

내가했을 때 bibtex Sample.tex작동하지 않았습니다.

관련 정보