我该如何引用网站?例如,我使用 android 参考。
这是我的 BibTeX 条目:
@ELECTRONIC{Google2012,
author = {Google},
month = {01},
year = {2012},
title = {Android Developers},
language = {english},
url = {http://developer.android.com/reference/},
}
我引用了该页面的不同部分,我认为在另一个页面上添加数十个对同一站点的引用是个坏主意。
实际上我正在使用这个:
The Activity Lifecycle is blah blah\footnote{\url{http://developer.android.com/reference/android/app/Activity.html\#Fragments}}.\cite{Google2012}
但我认为我应该引用它,例如:
The Activity Lifecycle is blah blah\cite[\url{http://developer.android.com/reference/android/app/Activity.html\#Fragments}]{Google2012}.
但这会产生一条非常长的线,这是我不想要的。我的下一次尝试是这样的:
The Activity Lifecycle is blah blah\cite[Lifecycle\footnote{\url{http://developer.android.com/reference/android/app/Activity.html\#Fragments}}]{Google2012}.
最后一个产生了一些奇怪的错误:
Overfull \hbox (6.45833pt too wide) in paragraph at lines 463--464
[]\T1/lmr/m/n/12 The Ac-ti-vi-ty Li-fe-cy-cle is blah blah[[]Goo12[], []$\T1/lm
tt/m/n/12 http : / / developer . android . com / reference /$
! Use of \@xfootnote doesn't match its definition.
\@ifnextchar ...eserved@d =#1\def \reserved@a {#2}
\def \reserved@b {#3}\futu...
l.467 .../Activity.html\#Fragments}}]{Google2012}.
那么引用的最佳做法是什么以及我该如何修复我的最后的解决方案?
阅读完答案后,我构建了自己的解决方案。但我对图像标签中的引号有些困惑。
完整示例如下:
\documentclass[
a4paper,
parskip,
pdftex,
]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[backend=bibtex, natbib=true, citestyle=alphabetic, bibstyle=alphabetic]{biblatex}
\usepackage{hyperref}
\usepackage[all]{hypcap}
\usepackage{csquotes}
\usepackage{etoolbox}
\usepackage{blindtext}
\bibliography{source}
\newrobustcmd{\staticURL}[1]{%
\expandafter\footnote\expandafter{\expandafter\url\expandafter{\detokenize{#1}}}}
\newcommand{\citeUrl}[3]{\cite[#1\staticURL{#2}]{#3}} %what, url, source
\begin{document}
\chapter{Example}
Here is some text related on bluetooth\citeUrl{Activity}{http://developer.android.com/reference/android/bluetooth/package-summary.html\#footer}{Google2012}
\Blindtext
\begin{figure}[htp]
\centering
\includegraphics[width=10cm]{img/activity_lifecycle}
\caption{Activity Lifecycle \citeUrl{Activity}{http://developer.android.com/reference/android/app/Activity.html\#Fragments}{Google2012}}
\label{activity_lifecycle}
\end{figure}
\end{document}
提到“请注意 # 不需要转义。”我会收到此错误:
Chapter 1.
! Illegal parameter number in definition of \reserved@a.
<to be read again>
f
l.26 ...h/package-summary.html#footer}{Google2011}
答案1
由于\url
切换到“逐字”模式,因此它不能进入另一个命令的参数。在这种特殊情况下,您可以使用以下代码来克服此限制
\documentclass{article}
\usepackage{etoolbox,hyperref}
\newrobustcmd{\urlfootnote}[1]{%
\expandafter\footnote\expandafter{\expandafter\url\expandafter{\detokenize{#1}}}}
\begin{document}
The Activity Lifecycle is blah
blah\cite[Lifecycle\urlfootnote{http://developer.android.com/reference/android/app/Activity.html#Fragments}]{Google2012}.
\end{document}
请注意,#
无需转义。
答案2
除了其他建议之外,我会说明访问 URL 的时间。这样做的原因是许多网站会定期更改,因此访问日期很重要。