With biblatex it's possible to fill a special field used for sorting names; with the standard BibTeX tools one can use
author={{\noop{ivanov}}\CYRI\cyrv\cyra\cyrn\cyro\cyrv, \CYRI\cyrv\cyra\cyrn},
having put in the document's preamble the definition
\newcommand{\noop}[1]{}
Of course it's possible to write anything one wants as the argument to \noop
, for example a common prefix such as \noop{zzz-ivanov}
would sort all Russian authors at the end.
To get citations in author-year format with the natbib package, be sure to load it with the option authoryear
, as in
\usepackage[authoryear]{natbib}
The formatting of the entries in the bibliography itself is not governed by natbib
directly but by the bibliography style file you use. I'm not sure if I understand one of your remarks correctly, but you seem to indicate that you're using the unsrt
bibliography style. As its name suggests, it does not sort the entries in any way, i.e., they're listed in order of the corresponding citation commands. If you want to have the entries in the references section sorted alphabetically, you should use a bibliography style such as plain.bst or plainnat.bst. (Both of these files are included automatically in any reasonably modern TeX distribution.)
There are literally hundreds, if not thousands, of BibTeX bibliography style files in existence and available for downloading from either the CTAN or other repositories. Without knowledge of the precise formatting requirements you need to satisfy, I'm afraid it's not possible to give detailed advice on the style file you should choose.
Addendum, posted after the OP added some more information. First, to get a bibliography where the entries are sorted alphabetically by the author's (or authors') surnames, choose any of the many bibliography style files that performs alphabetical sorting; leading candidates for this assignment would be, as noted above, plain.bst
or its younger relative, plainnat.bst
. You mention that there are fairly strict guidelines for the formatting of your thesis, including the formatting of the bibliography. Please consider posting these guidelines so that people might be in a position to give advice on whether any ready-made bibliography style files could be used.
Second, to the best of my knowledge, there are no citation management packages that sort the arguments of a citation command chronologically -- especially if you use an authoryear citation system and the authors can have different surnames. (For numerical citation styles, there is the cite
package that sorts and compresses citation numbers, but that wouldn't appear to be of relevance for your case.)
Best Answer
You haven't provided a lot of specific information regarding the custom sorting principle(s) you wish to implement. The following solution is therefore necessarily of the bare-bones, no-frills variety.
You've indicated (I think) that you're OK with the way that the
unsrt
bibliography style formats various entries of type@article
,@book
, etc. I suggest you switch to theplain
bibliography style. It applies the exact same formatting procedures asunsrt
does; the main difference is thatunsrt
provides no sorting facility at all.Insert the following instruction at the very top of your
bib
file:Let's label the topics and associated groups of entries
01
,02
, etc. It's important that they be given numeric labels. The assumption is that all entries labelled01
should be listed before those with label02
, and so on.If you have more than 100 but fewer than 1000 groups, just switch the labelling system to
001
,002
, etc.For all entries that belong to topic
01
, change the author field as follows: add the prefix\noopsort{01}
to the surname of the first author in theauthor
field. E.g., if the author field of a given entry that is supposed to belong to group01
is given bychange it to
Note: no space between the prefix and the first author's surname.
Ditto for all remaining entries of type
01
and for all entries that belong to topics02
,03
, etc.Since you're using a bibliography style that applies sorting, all entries whose first author's surname is prefixed with
01
will be placed before those with prefix02
which, in turn, will precede those with prefix03
, etc. Here's why it's crucial to use numeric labels: in the ASCII table, the numerals0
thru9
occur before uppercase and lowercase letters. Thus, the numeric prefixes take precedence over the subsequent letters that make up the authors' names.For instance, the entry with author field
"\noopsort{01}Author, Anna and Zebulon Zingales"
will be placed before an entry with author field"\noopsort{02}Aardvark, Alison and Sean Sheep"
.A side effect, which is presumably not unwelcome, is that within each group/topic the entries will be sorted alphabetically. Finally, because
\noopsort
doesn't "do anything" with its argument as far as LaTeX is concerned, the labels won't show up in the typeset bibliography.Then, rerun LaTeX -- you did change the argument of
\bibliographystyle
fromunsrt
toplain
, right? -- BibTeX, and LaTeX twice more.