natbib を使用して二次マルチビブ参考文献のバックリファレンスを無効にする

natbib を使用して二次マルチビブ参考文献のバックリファレンスを無効にする

私はLaTeXで作成した博士論文を完成させています。

文書の最後には、自分の出版物と参考文献のリスト全体を記載するセクションがあります。このリストはかなり長いので、読みやすくするためにバックリファレンスを含めることにしました。私は、、、およびを組み合わせて使用​​しましたnatbibmultibib残念backrefながら、これにより、自分の出版物も含まれる二次参考文献でそれらが有効になりました。

出版物のバック参照を無効にして、参考文献のバック参照を有効にするにはどうすればいいのでしょうか? 頭が混乱してしまい、自分では解決策が見つかりません! とにかく、最小限の動作例を添付しましたのでご覧ください。

ボーナス質問:私は自分の作品を(メインの参考文献 DB)に含めpublications.bib、キーに接尾辞を追加して繰り返しましたが、混乱しないようにしました。私が追求した方法よりも、それらを引用して論文の段落にリストし、段落内のものを除くすべてのバックリファレンスとともにメインの参考文献にリストする方法の方が賢い方法はありますか?biblio,bibcopyPublicationsPublications

メイン.tex

\documentclass{scrreprt}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[square,numbers,sort&compress]{natbib}
\usepackage[resetlabels]{multibib}
\newcites{publications}{\null}

\usepackage[pdftex]{hyperref}
\usepackage[hyperpageref]{backref}
\usepackage{bookmark}

\newcommand{\backrefnotcitedstring}{\relax} %(Not cited.)
\newcommand{\backrefcitedsinglestring}[1]{\\\textsmaller{(Cited on page~#1)}}
\newcommand{\backrefcitedmultistring}[1]{\\\textsmaller{(Cited on pages~#1)}}
\renewcommand{\backreftwosep}{ and~} % separate 2 pages
\renewcommand{\backreflastsep}{, and~} % separate last of longer list
\renewcommand*{\backref}[1]{}  % disable standard
\renewcommand*{\backrefalt}[4]{\ifcase #1 \backrefnotcitedstring \or \backrefcitedsinglestring{#2} \else \backrefcitedmultistring{#2} \fi}

\begin{document}
    \chapter*{Publications}
    Some ideas and figures have previously and partially appeared in \citep{me2012a,me2012b}.
    \begingroup     
        \let\clearpage\relax    
        \vspace{-6ex}
        \nocitepublications{*}
        \bibliographystylepublications{abbrvnat}
        \bibliographypublications{publications}
    \endgroup

    \chapter{Introduction} 
    In this thesis I take some of the concepts that I introduced in \citep{me2012acopy,me2012bcopy} and I quote others proposed in \citep{he2011,she2011,them2011}.

    \appendix   
    \bibliographystyle{abbrvnat}
    \bibliography{biblio}
\end{document}

出版物.bib

@article {me2012a,
  author = {Me, I},
  title = {Title 1},
  journal = {A Journal},
  journaltitle = {A Journal},
  year = {2012}
}

@article {me2012b,
  author = {Me, I},
  title = {Title 2},
  journal = {A Journal},
  journaltitle = {A Journal},
  year = {2012}
}

ビブリオ

@article {me2012acopy,
  author = {Me, I},
  title = {Title 1},
  journal = {A Journal},
  journaltitle = {A Journal},
  year = {2012}
}

@article {me2012bcopy,
  author = {Me, I},
  title = {Title 2},
  journal = {A Journal},
  journaltitle = {A Journal},
  year = {2012}
}

@article {he2011,
  author = {He, Author},
  title = {Title He},
  journal = {A Journal},
  journaltitle = {A Journal},
  year = {2011}
}

@article {she2011,
  author = {She, Author},
  title = {Title She},
  journal = {A Journal},
  journaltitle = {A Journal},
  year = {2011}
}

@article {them2011,
  author = {Them, Authors},
  title = {Title Them},
  journal = {A Journal},
  journaltitle = {A Journal},
  year = {2011}
}

答え1

「出版物」参考文献のバック参照を無効にして、メイン参考文献のバック参照を有効にするという主な質問については、最初の参考文献の TeX グループ内でバック参照マクロを何も実行しないように設定するだけです (これらはマクロ\backrefcitedsinglestringとです\backrefcitedmultistring)。

\documentclass{scrreprt}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[square,numbers,sort&compress]{natbib}
\usepackage[resetlabels]{multibib}
\newcites{publications}{\null}

\usepackage[pdftex]{hyperref}
\usepackage[hyperpageref]{backref}
\usepackage{bookmark}
\usepackage{relsize}

\newcommand{\backrefnotcitedstring}{\relax} %(Not cited.)
\newcommand{\backrefcitedsinglestring}[1]{\\\textsmaller{(Cited on page~#1)}}
\newcommand{\backrefcitedmultistring}[1]{\\\textsmaller{(Cited on pages~#1)}}
\renewcommand{\backreftwosep}{ and~} % separate 2 pages
\renewcommand{\backreflastsep}{, and~} % separate last of longer list
\renewcommand*{\backref}[1]{}  % disable standard
\renewcommand*{\backrefalt}[4]{\ifcase #1 \backrefnotcitedstring \or \backrefcitedsinglestring{#2} \else \backrefcitedmultistring{#2} \fi}

\begin{document}
    \chapter*{Publications}
    Some ideas and figures have previously and partially appeared in \citeppublications{me2012a,me2012b}.
    \begingroup
        % disable backref here
        \renewcommand{\backrefcitedsinglestring}[1]{}%
        \renewcommand{\backrefcitedmultistring}[1]{}%
        % end changes added by cyberSingularity
        \let\clearpage\relax
        \vspace{-6ex}
        \nocitepublications{*}
        \bibliographystylepublications{abbrvnat}
        \bibliographypublications{publications}
    \endgroup

    \chapter{Introduction} 
    In this thesis I take some of the concepts that I introduced in \citep{me2012acopy,me2012bcopy} and I quote others proposed in \citep{he2011,she2011,them2011}.

    \appendix
    \bibliographystyle{abbrvnat}
    \bibliography{biblio}
\end{document}

( relsizeMWE 内のパッケージも不足していました。)

あなたの「ボーナス質問」は、適切なタイトルの付いた独自の質問に値するほど十分に異なります。

関連情報