各章末の参考文献のバックリファルトの競合(natbib と chapterbib を使用)

各章末の参考文献のバックリファルトの競合(natbib と chapterbib を使用)

natbib各章の最後に参考文献を載せ、パッケージを使用して「引用ページ:」と記載した相互参照を参考文献リストに載せたいですchapterbib

ドキュメントをコンパイルするには、.batここで説明されているように、ファイルをポストプロセッサとして使用します。「章ごとの参考文献」参照されたプロセスも使用してください。

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

PDF をコンパイルします。

以下のサンプルファイルを参照してください。

サンプル.tex

\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 ファイルで各章の後にバック参照を設定することは可能ですか?

私の問題は解決しました。引用が掲載されたページを参照するために、パッケージnatbibchapterbibhyperref、を使用する方法を示しています。backref

また、コマンドは

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

やってみたらbibtex Sample.tex、うまくいきませんでした。

関連情報