引用网站的最佳实践

引用网站的最佳实践

我该如何引用网站?例如,我使用 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 的时间。这样做的原因是许多网站会定期更改,因此访问日期很重要。

相关内容