LaTeX로 작성한 박사학위 논문을 마무리하는 중입니다.
문서 맨 끝에는 내가 출판한 출판물과 전체 참고 문헌 목록을 나열하는 섹션이 있습니다. 이 목록은 다소 길기 때문에 쉽게 읽을 수 있도록 역참조를 포함하기로 결정했습니다. natbib
, multibib
및 를 조합하여 사용했습니다 backref
. 불행히도 이로 인해 내 출판물이 포함된 2차 참고문헌에서도 이러한 기능이 가능해졌습니다.
출판물에 대한 역참조를 비활성화하고 참고문헌에 대해 활성화하려면 어떻게 해야 합니까? 머리가 다 타버린 것 같은데 혼자서는 해결책을 찾을 수가 없어요! 어쨌든 최소한의 작업 예제를 첨부해 주시기 바랍니다.
보너스 질문:내 작업을 포함시켰고 (주 참고문헌 DB) 키에 접미사를 추가하여 publications.bib
반복했습니다 . 그것을 인용하여 논문 문단 에 나열하고 , 역참조는 모두 문단에 빼고 주요 참고문헌에 나열하는 것보다 제가 추구했던 것보다 더 영리한 방법이 있을까요?biblio,bib
copy
Publications
Publications
main.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}
}
biblio.bib
@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}
relsize
( MWE에서도 패키지가 누락되었습니다 .)
귀하의 "보너스 질문"은 적절한 제목으로 자체 질문을 보증할 만큼 충분히 다릅니다.