• Home   /  
  • Archive by category "1"

Custom Bibliography Style Natbib Hyperref

URLs in BibTeX bibliographies

There is no citation type for URLs, per se, in the standard BibTeX styles, though Oren Patashnik (the author of BibTeX) is believed to be considering developing one such for use with the long-awaited BibTeX version 1.0.

The actual information that need be available in a citation of an URL is discussed at some length in the publicly available on-line extracts of ISO 690–2; the techniques below do not satisfy all the requirements of ISO 690–2, but they offer a solution that is at least available to users of today’s tools.

Until the new version of BibTeX arrives, the simplest technique is to use the field of the standard styles’ function. Of course, the strictures about typesetting URLs still apply, so the entry will look like:

@misc{..., ..., howpublished = "\url{http://...}" }
A possible alternative approach is to use BibTeX styles other than the standard ones, that already have URL entry types. Candidates are:
  • The natbib styles (plainnat, unsrtnat and abbrevnat), which are extensions of the standard styles, principally for use with natbib itself. However, they’ve acquired URLs and other “modern” entries along the way. The same author’s custom-bib is also capable of generating styles that honour URL entries.
  • The babelbib bundle, which offers multilingual bibliographies, similarly provides a set of standard-style equivalents that have URL entries.
  • More modern styles such as the harvard package (if the citation styles are otherwise satisfactory for you). Harvard bibliography styles all include a “” field in their specification; however, the typesetting offered is somewhat feeble (though it does recognise and use LaTeX2HTML macros if they are available, to create hyperlinks).
You can also acquire new BibTeX styles by use of Norman Gray’s urlbst system, which is based on a Perl script that edits an existing BibTeX style file to produce a new style. The new style thus generated has a entry type, and also offers support for and fields in the other entry types. The Perl script comes with a set of converted versions of the standard bibliography styles.

Another possibility is that some conventionally-published paper, technical report (or even book) is also available on the Web. In such cases, a useful technique is something like:

@techreport{..., ..., note = "Also available as \url{http://...}" }
There is good reason to use the url or hyperref packages in this context: BibTeX has a habit of splitting lines it considers excessively long, and if there are no space characters for it to use as ‘natural’ breakpoints, BibTeX will insert a comment (‘’) character … which is an acceptable character in an URL. Any current version of either of the url or hyperref packages detects this “–end-of-line” structure in its argument, and removes it.
babelbib bundle
custom-bib bundle
natbib styles

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL

LaTeX is a great tool for printable professional-looking documents, but can be also used to generate PDF files having a navigation-friendly style in mind. In this article is described how to create hyperlinks in your document and how set up the LaTeX document to be browsed in a PDF-reader.


Let's start with a minimal working example, by simply importing the hyperref package all cross-referenced elements become hyperlinked.

\documentclass{book}\usepackage[utf8]{inputenc}\usepackage[english]{babel}   \usepackage{hyperref}   \begin{document}   \frontmatter   \tableofcontents   ... \end{document}

The lines in the table of contents become links to the corresponding pages in the document by simply adding in the preamble of the document the line

One must be careful when importing hyperref. Usually it has to be the last package to be imported, but there might be some exceptions to this rule.

  Open an example of the hyperref package in ShareLaTeX

[edit]Styles and colours

The default formatting for links can be changed so the information in your documents is more clearly presented. Below you can see an example:

\documentclass{book}\usepackage[utf8]{inputenc}\usepackage[english]{babel}   \usepackage{hyperref}\hypersetup{ colorlinks=true, linkcolor=blue, filecolor=magenta, urlcolor=cyan, }   \urlstyle{same}   \begin{document}   \tableofcontents   \chapter{First Chapter}   This will be an empty chapter and I will put some text here   \begin{equation}\label{eq:1}\sum_{i=0}^{\infty} a_i x^i \end{equation}   The equation \ref{eq:1} shows a sum that is divergent. This formula will be latter used in the page \pageref{second}.   For further references see \href{http://www.sharelatex.com}{Something Linky} or go to the next url: \url{http://www.sharelatex.com} or open the next file \href{run:./file.txt}{File.txt}   It's also possible to link directly any word or \hyperlink{thesentence}{any sentence} in your document.   \end{document}

This is a complete example, it will be fully explained in the rest of the article. Below is a description of the commands related to the colour and styling of the links.

This will set the options to configure the behaviour of the links within the document. Every parameter must be comma-separated and the syntax must be in the forma parameter=value.
Links will be coloured, the default colour is red.
Internal links, those generated by cross-referenced elements, are displayed in blue.
Links to local files will be shown in magenta colour (see linking local files).
Links to web sites are set to cyan colour (see linking web addresses).
Default settings print links in mono-style spaced fonts, this command changes that and displays the links in the same style as the rest of the text.

  Open an example of the hyperref package in ShareLaTeX

[edit]Linking web addresses

Links to a web address or email can added to a LaTeX file using the command to display the actual link or to use a hidden link and show a word/sentence instead.

For further references see \href{http://www.sharelatex.com}{Something Linky} or go to the next url: \url{http://www.sharelatex.com}

There are two commands in the example that generate a link in the final document:

There are two parameters passed to this command, the first one is the url to the link, http://www.sharelatex.com in this case, and the second one is the clickable text to be shown, Something Linky.
This command will show the url passed as parameter and make it into a link, useful if you will print the document.

  Open an example of the hyperref package in ShareLaTeX

[edit]Linking local files

The commands and presented in the previous section can be used to open local files

For further references see \href{http://www.sharelatex.com}{Something Linky} or go to the next url: \url{http://www.sharelatex.com} or open the next file \href{run:./file.txt}{File.txt}

The command prints the text "File.txt" that links to a local file called "file.txt" located in the current working directory. Notice the text "run:" before the path to the file.

The file path follows the conventions of UNIX systems, using . to refer the current directory and .. for the previous directory.

The command can also be used, with the same syntax described for the path, but it's reported to have some problems.

  Open an example of the hyperref package in ShareLaTeX

[edit]Inserting links manually

It was mentioned before that all cross-referenced elements become links once hyperref is imported, thus we can use anywhere in the document and refer later those labels to create links. This is not the only manner to insert hyperlinks manually.

It's also possible to link directly any word or \hyperlink{thesentence}{any sentence} in you document.   If you read this text, you will get no information. Really? Is there no information?   For instance \hypertarget{thesentence}{this sentence}.

There are two commands to create user-defined links.

The first parameter passed inside braces to this command is a unique identifier for this sentence. The second parameter is the text "this sentence", and will be printed normally (depending on the value of anchorcolor, see the reference guide), but when a link pointing to the identifier "thesentence" is clicked the PDF file will scroll to this point.
This command prints the text "any sentence" as a clickable element that redirects to the point whose identifier is "thesentence".

  Open an example of the hyperref package in ShareLaTeX

[edit]PDF-specific options

Links in a document are created having in mind a document that will be read in PDF format. The PDF file can be further personalized to add additional information and change the way the PDF viewer displays it. Below an example:

\hypersetup{ colorlinks=true, linkcolor=blue, filecolor=magenta, urlcolor=cyan, pdftitle={Sharelatex Example}, bookmarks=true, pdfpagemode=FullScreen, }

Using the command , described in the section styles and colours, accepts extra parameters to set up the final PDF file.

Is the title of the PDF output file, to be displayed in the title bar of the window. In the example is "Sharelatex Example".
Adds a navigation menu usually shown in a left panel of the reader.
The document will be opened in full screen mode by the PDF reader.

See the reference guide for a full list of options that can be passed to .

  Open an example of the hyperref package in ShareLaTeX

[edit]Reference guide

Linking style options

Option Default value Description
true Makes the page numbers of index entries into hyperlinks
false Makes the page numbers instead of the text to be link in the Table of contents.
false Allows links to be broken into multiple lines.
false Colours the text for links and anchors, these colours will appear in the printed version
red Colour for normal internal links
black Colour for anchor (target) text
green Colour for bibliographical citations
cyan Colour for links that open local files
magenta Colour for linked URLs
false Use small caps instead of colours for links

PDF-specific options

Option Default value Description
true Acrobat bookmarks are written, similar to the table of contents.
false Bookmarks are shown with all sub-trees expanded.
0 1 0 Colour of the box around citations in RGB format.
0 .5 .5 Colour of the box around links to files in RGB format.
1 0 0 Colour of the box around normal links in RGB format.
1 0 0 Colour of the box around menu links in RGB format.
0 1 1 Colour of the box around links to URLs in RGB format.
empty Determines how the file is opened. Possibilities are UseThumbs (Thumbnails), UseOutlines (Bookmarks) and FullScreen.
Sets the document title.
Sets the document Author.
1 Determines on which page the PDF file is opened.

[edit]Further reading

For more information see

One thought on “Custom Bibliography Style Natbib Hyperref

Leave a comment

L'indirizzo email non verrĂ  pubblicato. I campi obbligatori sono contrassegnati *