Ah ho capito quindi tu sei veramente contro l’ordine di citazione.
Il senso. . . be’ a dir la verità non lo so! 😀
Anch’io non sono un fan dell’ordine di citazione però è richiesto praticamente ovunque,
pertanto pensavo di partire da quello.In ogni caso l’idea è di fare due eseguibili. Il primo, non so, bibnumord che ordini
thebibliography in ordine di citazione. L’altro, più banale, e forse inutile, bibalpord che
semplicemente ordini alfabeticamente la bibliografia secondo il cognome del primo autore.
Ovviamente in questo secondo caso è consigliato l’uso di natbib.Con python sono già un po’ pratico, era per quello che l’ho scelto. Ora valuterò per bene. Comunque vorrei fare degli eseguibili per le varie piattaforme. Quindi l’utente finale non deve avere installato nulla al contrario di quanto accade con pdfcrop per esempio.
Una soluzione LaTeX:
`\documentclass[a4paper]{article}
\makeatletter
\providecommand\@namegdef[1]{\expandafter\gdef\csname#1\endcsname}
\def\ubibitem#1#2{\@namedef{unsrt@#1}{{#1}{#2}}}
\DeclareRobustCommand{\ucite}[1]{%
\@ifundefined{unsrt@#1}
{\@latex@warning{Undefined citation #1}}
{\process@cite{#1}}}
\newcounter{unsrt@cnt}
\def\process@cite#1{%
\ifcsname unsrt@done#1\endcsname
\else
\@namegdef{unsrt@done#1}{}%
\stepcounter{unsrt@cnt}%
\@namegdef{unsrt@\arabic{unsrt@cnt}}{%
\expandafter\expandafter\expandafter\bibitem\csname unsrt@#1\endcsname}%
\fi
\cite{#1}}
\def\printbibliography{%
\begin{thebibliography}{\arabic{unsrt@cnt}}
\count@=\z@
\loop\ifnum\count@<\value{unsrt@cnt}
\advance\count@\@ne
\@nameuse{unsrt@\number\count@}
\repeat
\end{thebibliography}}
\makeatother
\ubibitem{pippo}{Pippo, Noccioline, Topolinia 2001}
\ubibitem{topolino}{Topolino, Mice, Topolinia 1935}
\begin{document}
Ecco Topolino~\ucite{topolino}.
Ciao Pippo~\ucite{pippo}.
Di nuovo Pippo~\ucite{pippo}. Non esiste~\ucite{alberto}.
\printbibliography
\end{document}`
Non ha alcuna importanza come si inseriscono gli elementi della bibliografia, purché li si metta prima di \begin{document} (mi pare anche un buon posto). La macro \ubibitem ha due argomenti: la chiave e il testo della citazione bibliografica.
Naturalmente manca tutta la parte relativa a citazioni multiple.
Ciao
Enrico