Here is my aproach. There are two macros which are responsible for creating the items in the references: \@lbibitem
and \@bibitem
. You can find it in latex.ltx. The first macro is for items with optional argument, the other one without argument. With this knowledge we can create our own bibitem which we can use together with the standard items in one bibliography.
\documentclass{article}
\usepackage[hidelinks]{hyperref}
\usepackage{color}
\makeatletter
% branch between the items with and without optional argument
\def\myhyperbibitem{\@ifnextchar[\my@lbibitem\my@bibitem}
% format the bibitem number incl. the url hyperlink
\def\mybiblabel#1#2{\@biblabel{\textcolor{magenta}{\hyperref{#1}{}{}{#2}}}}
% create a 'label' for referencing from citation in the text to the biblography
\def\myhyperanchor#1{\Hy@raisedlink{\hyper@anchorstart{cite.#1}\hyper@anchorend}}
% this is just to highlight the citations in the text because the 'hidelinks' argument
% in the hyperref package. I don't like the boxes around the links.
% it is unimportant for our bibitems
\def\@cite#1#2{[\textcolor{magenta}{{#1\if@tempswa , #2\fi}}]}
% bibitem with optional argument
\def\my@lbibitem[#1]#2#3{%
\item[\mybiblabel{#2}{#1}\myhyperanchor{#3}\hfill]%
\if@filesw{\let\protect\noexpand\immediate% write to aux-file
\write\@auxout{\string\bibcite{#3}{#1}}}\fi\ignorespaces%
}
% bibitem without optional argument
\def\my@bibitem#1#2{%
\refstepcounter\@listctr% standard tex item counter for the generic item number
\item[\mybiblabel{#1}{\the\value\@listctr}\myhyperanchor{#2}\hfill]%
\if@filesw\immediate\write\@auxout% write to aux-file
{\string\bibcite{#2}{\the\value\@listctr}}\fi\ignorespaces%
}
\makeatother
\begin{document}
Lorem ipsum dolor sit amet\cite{Fulton}, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit sed pharetra\cite{FAQ} amet enim. Suspendisse id velit vitae ligula\cite{Tolkin} volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. MoVivamus pharetra\cite{Stack} posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper\footnote{lectus\cite{Cooking} nunc Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mo ullamcorperorci} fermentum bibendum enim nibh eget ipsum\cite{Silmarillion}. Donec porttitor ligula eu dolonsectetuer. Sed aliquam, nunc eget euismod ullam or. Maecenas vitae\cite{Hobbit} nulla consequat libero cursus venenatis. Nam magna enim, accumsan eu, blandit sed, blandit a, eros.
\newpage
\begin{thebibliography}{}
\myhyperbibitem[Fu]{http://www.amazon.de/Young-Tableaux-Applications-Representation-Mathematical/dp/0521567246}%
{Fulton} Fulton, W. Young Tableaux: With Applications to Representation Theory and Geometry (London Mathematical Society Student Texts)
\myhyperbibitem[St]{http://tex.stackexchange.com/}{Stack} Stackexchange -- Tex
\bibitem{FAQ}UK List of TeX Frequently Asked Questions
\bibitem[Ho]{Hobbit} The Hobbit \url{http://www.amazon.de/The-Hobbit-ebook/dp/B002RI9ZY0}
\myhyperbibitem{http://www.amazon.de/Cooking-Geeks-Science-Great-Hacks/dp/0596805888/ref=sr_1_2?ie=UTF8&qid=1326013214&sr=8-2}%
{Cooking} Cooking for Geeks: Real Science, Great Hacks, and Good Food
\myhyperbibitem[Si]{http://www.amazon.de/gp/product/B004L9MFAY/ref=s9_simh_gw_p351_d0_g351_i3?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=0YWAQ6CE1DS71NT68Z3T&pf_rd_t=101&pf_rd_p=463375173&pf_rd_i=301128}%
{Silmarillion} The Silmarillion [Kindle Edition] -- new style bibitem --
\bibitem{Tolkin} The Silmarillion [Kindle Edition] -- old style bibitem --\\ \url{http://www.amazon.de/gp/product/B004L9MFAY/ref=s9_simh_gw_p351_d0_g351_i3?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=0YWAQ6CE1DS71NT68Z3T&pf_rd_t=101&pf_rd_p=463375173&pf_rd_i=301128}
\end{thebibliography}
\end{document}
Ok, to support the backref option we have to add one argument and the \par
to each macro. Furthermore we use the \BR@backref
command from the backref package to print the back references. But before printing we shouldt check if the backref option is active by the use of 'ifbackrefparscan'. This boolean is defined only if the hyperref loaded the backref package.
\def\my@lbibitem[#1]#2#3#4\par{%
\item[\mybiblabel{#2}{#1}\myhyperanchor{#3}]#4%
\@ifundefined{ifbackrefparscan}{}{\BR@backref{#3}}%
\if@filesw{\let\protect\noexpand\immediate%
\write\@auxout{\string\bibcite{#3}{#1}}}\fi\ignorespaces%
}
\def\my@bibitem#1#2#3\par{%
\refstepcounter\@listctr%
\item[\mybiblabel{#1}{\the\value\@listctr}\myhyperanchor{#2}]#3%
\@ifundefined{ifbackrefparscan}{}{\BR@backref{#2}}%
\if@filesw\immediate\write\@auxout%
{\string\bibcite{#2}{\the\value\@listctr}}\fi\ignorespaces%
}
hyperref
is commented out), or are you referring only to published articles? the aims class is modified fromamsart.cls
, which has many/most of the same features, and doesn't restrict one to a numbered bibliography. the biblio requirements aren't built into the class; they must be added with\bibliographystyle
(if using bibtex) and perhaps a package (if using natbib), or withamsrefs
. you must also explicitly\usepackage{hyperref}
to make links live.