Ok, it says that voilà only refers to things that are farther away (there is/are),
while voici is used for close things (here is/are), plus voilà can be
used more widely, for example, instead of ago (voilà trois heures),
and to say "that is why" (Voilà pourquoi je suis parti), and to sums
things up, at the end of the sentence, and to use it instead of yes,
like agreement.
But, if so, how come I can say "Voilà votre livre",
when I give you your book, when I have it in my hands and offer it to
you, so the book is not father away, right? It's here, right now, in
my hands and you are talking it? So, there is no difference at all,
then, and you can use both words, besides, of course, the wide meaning
of voilà, as above?
If they are the same in the narrow meaning of use, why to have two
different words at all?