This section discusses in detail implementation of the employed footnote citation scheme shown before. As a basis for footnote citations I used the script found here. The modified version of this script can be found in custom-numeric-comp.cbx (copy it to the directory of .tex file to be compiled). The original script uses biblatex macroses and defines citation commands \notefullcite and \superfullcite which print the reference number as normal-sized text in square brackets and as superscript, respectively, and additionally print complete citation information in footnotes:
% footnote citation using \superfullcite and maxcitenames=100
As discussed, long reference information in footnotes can make footnote height quite large (relative to the page dimensions). Therefore I reduced amount of the footnote reference text by introduction of the new command \supershortnotecite working in the following way:
This resulted in significant reduction of the space occupied by footnote citations (compare the next figure with the previous one):
% footnote citation using \supershortnotecite and maxcitenames=3
As you see, for the article entry type printed in a footnote most space-consuming entry fields were removed (title, doi) or compressed (journal, author). Apart from the reduction of the footnote text size, the idea behind \supershortnotecite is that for the reader who is quite common with the literature in the scientific field the document (thesis) is written, author, journal, and year entry fields would be enough to recognize the cited article. For other reference types full information is kept because i) they appear quite rare in the thesis, and ii) for example, for the book entry type author and year would be too little to identify type of the cited document, if other entry fields containing major information are missing.
Each bibliographic record of the article entry type has journal and shortjournal fields. The former is a standard BibTeX field of article entry type, the latter stores the abbreviated journal title and is not usually used by standard citation styles. Abbreviated titles were used in the main text to reduce the length of footnote text occupied by references, while full journal titles were printed in bibliography (at the end of thesis).
While collecting information on references, the question came up where journal abbreviations can be found, and it was quite surprising (at least, to me :) that for some journals there exists more than one abbreviation. This situation was encountered while looking for the abbreviation of a journal with attractive title "Ocean Dynamics". This journal is abbreviated as "Ocean Dynam" according to ISI Journal Citation Reports (JCR), or "Ocean Dyn." according to ISO. I have stayed with ISO abbreviation scheme particularly because JCR abbreviations were not available (at least I did not find) for some journals cited (like Complex Systems). On the other hand, finding ISO abbreviations also required some effort. Many ISO abbreviations were found using CAS Source Index Search Tool (CASSI Tool), but unfortunately this tool has not all abbreviations I needed. By the way, CASSI Tool follows ISO 4:1997 standard (Rules for the abbreviation of title words and titles of publications) according to which journal titles are abbreviated on word-by-word basis omitting prepositions/conjunctions/etc., and one-word titles (like "Nature") are not abbreviated at all. Hence, for the abbreviation of a journal title unknown to CASSI Tool I have used this tool to find abbreviations of individual words forming the title which (words) can, and usually do, enter the titles of the journals CASSI Tool knows about.
Let us go back to the \supershortnotecite command. An appearance of citations at the end of sentence or its part is a common situation, and the question arisesyes, it does :) where to place \supershortnotecite, before or after the period (or comma) finishing the sentence (its part):
% superscript location, before and after punctuation
A short and useful discussion on this issue can be found here. The idea is that placing \supershortnotecite after the comma/period is more attractive optically but violates syntax because citation number usually supports the word (or phrase) after which it is located and should not be separated from this word using any punctuation. (Or just imagine if we switch footnote citation scheme to simple numerical (i.e., [1]), then it is straighforward to place reference number before period but not after it.) In my thesis I decided to use third solution, which combines two approaches shown above, and results in placing the citation number directly above the punctuation next to it:
% superscript location above punctuation
For this purpose I have written a simple LaTeX script \sjcitep (short journal citation with punctuation):
% new command \sjcitep prints footnote citation above punctuation \newlength{\spc} % declare a variable to save spacing value \newcommand{\sjcitep}[2][]{% new command with two arguments: optional (#1) and mandatory (#2) \settowidth{\spc}{#1}% set value of \spc variable to the width of #1 argument \addtolength{\spc}{-1.8\spc}% subtract from \spc about two (1.8) of its values making its magnitude negative #1% print the optional argument \hspace*{\spc}% print an additional negative spacing stored in \spc after #1 \supershortnotecite{#2}}% print (cite) the mandatory argument
Introduced \sjcitep takes punctuation character (parameter #1) and citation key (parameter #2) as input, prints punctuation, prints negative spacing (\spc is set to 0.8 negative length of the punctuation character) after it, and execute citation script \supershortnotecite. Here is the text from LaTeX input document used to produce example above:
Historically, the method was developed as an improvement of Lattice Gas Automata (LGA)\sjcitep[,]{McNamara1988, Hardy1973, Hardy1976, Frisch1986, Frisch1987} which in turn originates from Cellular Automata (CA) models\sjcitep[.]{Wolfram1986} At present time, LBM is probably the best method for simulation of microflows in porous media\sjcitep[.]{Succi2001}
The first argument [,] of \sjcitep is in square brackets, and therefore optional. Hence, if you want to cite a reference without any punctuation next to it, just use \sjcitep{bib_key}. On the other hand, this leads to the problem of a possible mistyping the punctuation (i.e., \sjcitep{Wolfram1986}. instead of \sjcitep[.]{Wolfram1986}) which I have experienced right after the script was introduced. This problem was solved by regular use of search/replace functionality of WinEdt in combination with regular expressions.