pagebackref
我使用包中的选项hyperref
,只得到每个参考文献名称末尾的链接列表。它应该打印类似“引用页数”的内容,但我甚至无法做到这一点。
我的目的是改变一些命令使它用西班牙语说出来,我发现它已经考虑了西班牙语,我想backref.sty
这就是所谓的hyperref
......阅读hyperref
,,的文档没有帮助。backref
backrefx
有什么猜测吗?
有关的:格式化参考书目中的反向引用
答案1
使用:
\usepackage[pagebackref=true]{hyperref}
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{[{\tiny%
\ifcase #1 Not cited.%
\or Cited on page~#2.%
\else Cited on pages #2.%
\fi%
}]}
我将其放在\tiny
方括号内的字体中[]
。请根据自己的喜好进行更改:)
答案2
对于类似的情况,我更喜欢使用更简洁的文本,并在参考书目的开头进行解释,而不是使用\tiny
(在这里看起来很糟糕,特别是在正常大小的括号内)。结合安德鲁的回答和natbib
的\bibpreamble
并在实际参考列表之前留出一些空间\bigskip
,我最终得到以下设置,以根据需要进行自定义:
% Add any needed options:
\usepackage{natbib}
\usepackage[backref=page]{hyperref}
% Customize list of backreferences.
% From https://tex.stackexchange.com/a/183735/1340
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{%
\ifcase #1%
\or [Page~#2.]%
\else [Pages~#2.]%
\fi%
}
% Explain list of backreferences.
% https://tex.stackexchange.com/a/70953/1340
\renewcommand{\bibpreamble}{%
[Citing pages are listed after each reference.]%
\par\bigskip}
当然,你可以进一步自定义序言文本(和格式)。为了使序言更接近标题,目前我已经确定了以下内容——但我不确定这种低级调整是否是好的排版(上面的看起来更安全),所以 YMMV:
\newcommand{\myBibPreambleText}{[Citing pages are listed after each reference.]}
\renewcommand{\bibpreamble}{%
\vspace{-2 \bigskipamount}%
\myBibPreambleText%
\par \vspace{2 \bigskipamount}}
编辑:与其像这样修改垂直间距,不如修改\bibsection
以添加一个可能更健壮(从印刷上来说)“字幕”,以便 TeX 计算适当的位置。我可以使用以下代码执行此操作,其中我已添加到正在使用的\\ {\normalsize\mdseries \myBibPreambleText}
定义中,除非我加载包,否则会重写相关代码。\bibsection
tocbibind
\newcommand{\myBibPreambleText}{[Citing pages are listed after each reference.]}
\makeatletter
\renewcommand{\bibsection}{
\chapter*{\bibname \\ {\normalsize\mdseries \myBibPreambleText}}
\@mkboth {\MakeUppercase {\bibname }}{\MakeUppercase {\bibname }}
}
\makeatother