I am using a nonstandard citation format, primarily for simplicity. An example is:
MathOverflow Questions (Number refers to URL, so 37679 expands to "http:// mathoverflow.net/questions/37679") [Note: the current display scripts replace the URL with a visible title and hidden link: I've added a space to break this feature. My actual example would not have the space.]
88323 Analogues of Jacobsthal's Function.
56099 Lower bound of the number of relatively primes (each other) in an interval.
68351 Least Prime Factor in a sequence of 2n consecutive integers.
Since I am not interested in making changes when URLs change or databases change, I prefer to provide a simple recipe for translation to avoid as few broken links as possible. I also let the user grab the date from the paper or its metadata, so they can provide their context.
If I were to improve upon this, I might add something like "at this writing 2014.03", as well as provide links to specific versions of the post as suggested by quid. I would refrain from referring to something more specific than the post and its answers; if I had to, I would craft a similar recipe, such as:(Number;version refers to URL, so 37679;38690/1 refers to https://mathoverflow.net/revisions/37679/38690/1). The rationale for this is to give a simple recipe that works at the time the document was publicized, and let the future researcher modify the recipe as needed to resolve the references. If I have to change anything, I only need to change the recipe, not all of its occurrences, unless the question numbering changes.
Gerhard "Prefers Simplicity, Replicability Over Ultra-convenience" Paseman, 2014.04.17
I'll will give you a more basic approach without additional tools like JabRef. In my opinion, these tools are fine and can make life a lot easier, but you should have a basic knowledge of what is going on under the hood.
Another example is which takes care of the multiple runs of different programs needed for the finished document. But you should know how to do it by hand, to be able to solve problems on your own.
1. Choose your tool
is the older method for automatically creating bibliographies in LaTeX. If you are a beginner and have no existing code base that is using bibtex, you should use with its backend .
This has several advantages:
native support of unicode, which besides the simpler entering of the characters results in correct sorting for words containing non-ascii characters.
formatting of the bibliography is done using LaTeX-commands, not with an own idiom as it is with bibtex.
you can have multiple databases for your entries and multiple formats. Biber understands not just the bibtex .bib files but
- BIBTEX — BIBTEX data files
- endnotexml — Endnote XML export format, version C Endnote X1
- ris — Research Information Systems format
- zoterordfxml — Zotero RDF XML format, version 2.0.9
2. Create the database: a *.bib file
Bibfiles have the following structure:
each entry starts with an followed by the entrytype, e.g. . Then in curly braces the key, which is used to cite the entry, after that -pairs with the data for your entry. Each entry-type has mandatory and optional fields. Mandatory arguments for are , or , and . There are many different entry types and you should always choose the fitting one. See the biblatex docs.
3. The .tex-file
To use biblatex, you have to add it to your preamble and tell it which database to use.
You can then cite entries with , also takes a page number or a range as optional argument: .
The bibliography is created where you put the command.
A complete example, assuming you saved your database in looks like this:
4. Compile the document
For the finished document, you need to run your latex compiler and biber: E.g. using lualatex:
In the first run, biblatex writes the needed citations to a file called , this file is read by biber which produces a file called which is then read in by biblatex again to produce your bibliography. The last run is needed to resolve crossreferences or changes in page numbers which might occure because the keys are exchanged with the citations.