classicthesis 中的带有 backref 的 multibib

classicthesis 中的带有 backref 的 multibib

multibib我对和有一个问题(可能有两个)classicthesis。我想使用两个.bib文件并使用包backref来在参考书目中显示“引用于…”。如果我不使用包multibib,则没有问题,但是,当我使用此包时,至少会出现“第一个参考书目”而没有反向引用。

我还想在正文中引用一份使用罗马数字(即 [I])而不是古典数字 (1) 的参考书目。

对这些简单的问题有任何帮助吗?

我附上了一个 MWE,在我之前\input{classicthesis-config}用过“反向引用”包,即multibib

\usepackage{multibib}    
\newcommand{\backrefnotcitedstring}{\relax}%(Not cited.)

MWE 如下

\documentclass[ twoside,openright,titlepage,numbers=noenddot,headinclude,%1headlines,% letterpaper a4paper
            footinclude=true,cleardoublepage=empty,abstractoff, % <--- obsolete, remove (todo)
            BCOR=5mm,paper=a4,fontsize=11pt,%11pt,a4paper,%
            ngerman,american,%
            ]{scrreprt}

\input{classicthesis-config}


\begin{document}

\pagestyle{plain}

First setup references:
\citepri{cormen:2001}...
Second setup of references 
\cite{bentley:1999}

\bibliographystylepri{plainnat}
\bibliographypri{Bibliography}

\bibliographystyle{plain}
\bibliography{Bibliography}

\end{document}

输出参考如下:

在此处输入图片描述

在此处输入图片描述

该文件classicthesis-config内容如下:

\PassOptionsToPackage{eulerchapternumbers,listings,drafting,%
             pdfspacing,%floatperchapter,%linedheaders,%
             subfig,beramono,eulermath,parts}{classicthesis}                                        

\usepackage{ifthen}
\newboolean{enable-backrefs} % enable backrefs in the bibliography
\setboolean{enable-backrefs}{true} % true false

\newcommand{\myTitle}{A Classic Thesis Style\xspace}
\newcommand{\mySubtitle}{An Homage to The Elements of Typographic    Style\xspace}
\newcommand{\myDegree}{Doktor-Ingenieur (Dr.-Ing.)\xspace}
\newcommand{\myName}{Andr\'e Miede\xspace}
\newcommand{\myProf}{Put name here\xspace}
\newcommand{\myOtherProf}{Put name here\xspace}
\newcommand{\mySupervisor}{Put name here\xspace}
\newcommand{\myFaculty}{Put data here\xspace}
\newcommand{\myDepartment}{Put data here\xspace}
\newcommand{\myUni}{Put data here\xspace}
\newcommand{\myLocation}{Darmstadt\xspace}
\newcommand{\myTime}{August 2012\xspace}
\newcommand{\myVersion}{version 4.1\xspace}

\newcounter{dummy} % necessary for correct hyperlinks (to index, bib, etc.)

\PassOptionsToPackage{latin9}{inputenc} % latin9 (ISO-8859-9) = latin1+"Euro sign"
\usepackage{inputenc}               

\usepackage{babel}                  

\PassOptionsToPackage{square,numbers}{natbib}
\usepackage{natbib}             

\PassOptionsToPackage{fleqn}{amsmath}       % math environments and more by the AMS 
\usepackage{amsmath}

\usepackage{xspace} % to get the spacing after macros right  
\usepackage{mparhack} % get marginpar right

\usepackage{acronym} % nice macros for handling all acronyms in the thesis

\usepackage{subfig}  

\usepackage{listings} 

\lstset{language=[LaTeX]Tex,%C++,
keywordstyle=\color{RoyalBlue},%\bfseries,
basicstyle=\small\ttfamily,
%identifierstyle=\color{NavyBlue},
commentstyle=\color{Green}\ttfamily,
stringstyle=\rmfamily,
numbers=none,%left,%
numberstyle=\scriptsize,%\tiny
stepnumber=5,
numbersep=8pt,
showstringspaces=false,
breaklines=true,
frameround=ftff,
frame=single,
belowcaptionskip=.75\baselineskip
%frame=L
} 

%****My references***
\usepackage{multibib}
\newcites{pri}{Primary sources}
********************
\PassOptionsToPackage{pdftex,hyperfootnotes=false,pdfpagelabels}{hyperref}
\usepackage{hyperref}  % backref linktocpage pagebackref
\pdfcompresslevel=9
\pdfadjustspacing=1 
\PassOptionsToPackage{pdftex}{graphicx}
\usepackage{graphicx} 

\newcommand{\backrefnotcitedstring}{\relax}%(Not cited.)
\newcommand{\backrefcitedsinglestring}[1]{(Cited on page~#1.)}
\newcommand{\backrefcitedmultistring}[1]{(Cited on pages~#1.)}
\ifthenelse{\boolean{enable-backrefs}}%
{%
    \PassOptionsToPackage{hyperpageref}{backref}
    \usepackage{backref} % to be loaded after hyperref package 
       \renewcommand{\backreftwosep}{ and~} % separate 2 pages
       \renewcommand{\backreflastsep}{, and~} % separate last of longer list
       \renewcommand*{\backref}[1]{}  % disable standard
       \renewcommand*{\backrefalt}[4]{% detailed backref
          \ifcase #1 %
             \backrefnotcitedstring%
          \or%
             \backrefcitedsinglestring{#2}%
          \else%
             \backrefcitedmultistring{#2}%
          \fi}%
 }{\relax}  

\hypersetup{%
%draft, % = no hyperlinking at all (useful in b/w printouts)
colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV,%
% uncomment the following line if you want to have black links (e.g., for printing)
%colorlinks=false, linktocpage=false, pdfborder={0 0 0}, pdfstartpage=3, pdfstartview=FitV,% 
breaklinks=true, pdfpagemode=UseNone, pageanchor=true, pdfpagemode=UseOutlines,%
plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,%
hypertexnames=true, pdfhighlight=/O,%nesting=true,%frenchlinks,%
urlcolor=webbrown, linkcolor=RoyalBlue, citecolor=webgreen, %pagecolor=RoyalBlue,%
%urlcolor=Black, linkcolor=Black, citecolor=Black, %pagecolor=Black,%
pdftitle={\myTitle},%
pdfauthor={\textcopyright\ \myName, \myUni, \myFaculty},%
pdfsubject={},%
pdfkeywords={},%
pdfcreator={pdfLaTeX},%
pdfproducer={LaTeX with hyperref and classicthesis}%
}   


\listfiles

\usepackage{classicthesis}

相关内容