[LaTeX] Bibliografia

Ho un problema con la mia bibliografia,
ho già importato il pacchetto "biblatex" ma non mi stampa le referenze alla fine del documento. Alla fine faccio
\bibliography{biblio.bib}
\bibliographystyle{CUP} 
 \printbibliography


Nel pdf mi esce scritto solo "bilbio.bib" mentre mi escono i seguenti errori:
Nella main.tex
1) "Package biblatex Error: File "Main.bbl" not created by biblatex. \begin{document}
2) Package biblatex Error: '\bibliographystyle' invalid. \bibliographystyle{CUP}

Non capisco e non so cosa vogliano dire... la cosa strana è che ho semplicemente aggiunto delle refrenze nel file biblio e ha smesso di funzionare.

Risposte
megas_archon
biblatex non si usa come bibtex... prima probabilmente generavi il file .bib con bibtex, e adesso biblatex non lo sa leggere.

https://tex.stackexchange.com/questions ... ex-example

Ho fatto import bibtex ma mi dice
Preamble.tex error File "bibtex.sty not fount"

Questo è il mio preamble
\usepackage{vmargin}
\setmarginsrb{28mm}{25mm}{28mm}{25mm}{0pt}{0mm}{0pt}{0mm}
\setlength{\footskip}{20pt}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{pgfplots} 
\usepackage{graphicx}
\usepackage[utf8x]{inputenc}
\usepackage{tikz}
\usepackage{bbm}
\usepackage{subcaption}
\usepackage[boxruled]{algorithm2e}
\usepackage{mathtools}
\usepackage{lipsum}
\usepackage[title,titletoc]{appendix}
\usepackage{booktabs}
\usepackage{here}
\usepackage[]{hyperref}
\usepackage{natbib,enumerate} 
\usepackage{bibtex}

%some weird packages
\usepackage{halloweenmath}
\usepackage{txfonts}
\usepackage{knitting}

\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
\renewcommand{\phi}{\varphi}
\newcommand{\eqtext}[1]{\ensuremath{\stackrel{#1}{=}}}
\newcommand{\leqtext}[1]{\ensuremath{\stackrel{#1}{\leq}}}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}{Proposition}[section]
\newtheorem{notation}{Notation}[section]
\newtheorem{corollary}{Corollary}[section]
\newtheorem{lemma}{Lemma}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem{definition}{Definition}[section]
\newcommand{\N}{\mathbb{N}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\E}{\mathbb{E}}
\newcommand{\epl}{\varepsilon}


Questa è la mia main
\documentclass{article}

%in that file you will find the packages and other macro needed like \R for the real number set. 
\input{Preamble}

\date{\today}

\begin{document}

%this creates the title page. You must complete the information there
\input{Titlepage}

\clearpage
\thispagestyle{empty}
\tableofcontents

\clearpage
\pagenumbering{arabic}
\setcounter{page}{1}

\include{BLABLA}
\include{CAPITOLI}

\clearpage

\bibliography{biblio.bib}
\bibliographystyle{CUP} % author-year citation style
 \printbibliography

%running in backwards compatibility mode (unsuitable tick labels; missing features). %Consider writing \pgfplotsset{compat=1.18} into your preamble.

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:


Questo è il mio file biblio.bib
@article{BelCoh,
	title={{Binary Cubic Forms and Cubic Number Fields}},
	author={Belabas K., Cohen H.},
	journal={Studies in Advanced Mathematics},
	volume={7},
	pages={191-218},
	year={1998}
}
@article{DavHeil1971,
	title={{On the density of discriminants of cubic fields. II}},
	author={Davenport H., Heilbronn H.},
	journal={Proc. Roy. Soc. Lond. A. 322},
	pages={405-420},
	year={1971}
}

@article{Dav(II)1951,
	title={{On the Class-Number of Binary Cubic Forms (II)}},
	author={Davenport H.},
	journal={Journal of the Lond. Math. Soc.},
	volume={s1-26},
           issues={3}
	pages={192-198},
	year={1951}
}
@article{Dav(I)1951,
	title={{On the Class-Number of Binary Cubic Forms (I)}},
	author={Davenport H.},
	journal={Journal of the Lond. Math. Soc.},
	volume={s1-26},
           issues={3}
	pages={183-192},
	year={1951}
}

@article{DavLip1951,
	title={{On a principle of Lipschitz}},
	author={Davenport H.},
	journal={Journal of the Lond. Math. Soc.},
	volume={s1-26},
           issues={3}
	pages={179-183},
	year={1951}
}

@article{Mat1912,
	title={{On the reduction and classification of binary cubics which have a negative discriminant}},
	author={Mathewst G. B.},
	journal={Proc. of the Lond. Math. Soc.},
	volume={s2-10},
           issues={1}
	pages={128-139},
	year={1912}
}

@article{Nym1972,
	title={{On the Probability that k Positive Integers are Relatively Prime}},
	author={Nymann J. E.},
	journal={Journal of Number Theory},
	volume={4},
	pages={469-473},
	year={1972}
}


megas_archon
bibtex non è un package di TeX, ma uno script (in un linguaggio stack-based dedicato, che non sembra avere un nome...) che lanci dopo aver compilato il .tex...

Quindi come faccio a risolvere il problema?

megas_archon
...per esempio togliendo \usepackage{bibtex}, che cerca di includere un package che non esiste; postando un mwe che non abbisogna di file che non hai incluso, e che sia minimale nel produrre il problema (cioè che non contenga altre informazioni o struttura che quella che genera il problema); leggendo qualche guida, come ad esempio https://it.overleaf.com/learn/latex/Bib ... h_biblatex

megas_archon
Mettendo tutto insieme e cercando di compilare, ci sono 11 errori; 7 spariscono se rimuovi [inline]natbib[/inline]: c'è un motivo per cui lo stai usando? I restanti 4 sono generati dal fatto che biblatex è incompatible con [inline]ucs[/inline], un package che viene richiamato dal [inline]\usepackage[utf8x]{inputenc}[/inline] nel preambolo; perché utf8x? Perché non semplicemente utf8? Di quali caratteri nello spazio utf8 esteso pensi di avere bisogno? E poi: [inline]halloweenmath[/inline]? ...Seriamente?

"megas_archon":
Mettendo tutto insieme e cercando di compilare, ci sono 11 errori; 7 spariscono se rimuovi [inline]natbib[/inline]: c'è un motivo per cui lo stai usando? I restanti 4 sono generati dal fatto che biblatex è incompatible con [inline]ucs[/inline], un package che viene richiamato dal [inline]\usepackage[utf8x]{inputenc}[/inline] nel preambolo; perché utf8x? Perché non semplicemente utf8? Di quali caratteri nello spazio utf8 esteso pensi di avere bisogno? E poi: [inline]halloweenmath[/inline]? ...Seriamente?

Ma guarda io ho scaricato il formato base che la sezione dell'università mette a disposizione per scrivere la tesi, e non ho toccato il preambolo se non per aggiungere delle cose, quindi non so perché utf8x, non so nemmeno cosa sia. Non so nemmeno cosa sia halloweenmath ne natbib. Non sapendo cosa sono diciamo che ho preferito non toglierli per evitare problemi di compilazione.

megas_archon
Eh, peccato che non si faccia così: usare codice di altri, che non si capisce, è il modo più sicuro di generare "problemi di compilazione". Invece, costruisci quello che vuoi scrivere in maniera additiva:

\documentclass{article}

\begin{document}
A
\end{document}
Questo codice compila.

Ora: tu vuoi scrivere della matematica; quindi diciamo che vuoi aggiungere

\documentclass{article}

\usepackage{amsmath, amsfonts, amssymb}

\begin{document}
A
\end{document}
Questo codice compila.

Vuoi inserire della bibliografia: scrivi un file .bib (ce l'hai già) e compila con latexmk (che si occupa da solo di lanciare pdflatex e bibtex e poi ancora pdflatex il numero giusto di volte). Se ci sono problemi di compilazione, per costruzione essi devono essere avvenuti tra il passo precedente e quello corrente: debugga, riprova, debugga finché non funziona...

megas_archon
Dopo se ho tempo provo a vedere se riesco a darti un MWE che almeno compila, ma mi devi mandare i file mancanti, se ce ne sono.

Ho veramente l'impressione che sia stata una nutria, a scrivere quel preambolo; se ci sono delle spec che il tuo documento deve rispettare (margini di pagina, font da usare, spaziatura, arzigogoli strani), è decisamente meno faticoso scriversi da sé un preambolo che li riproduca, invece di mettere le mani in quell'accrocchio.

megas_archon
...hai scritto tu il file .bib o è stato generato automaticamente? Era pieno fottuto di errori:

- le parentesi tonde sono un carattere riservato per le bibkey; quindi non puoi riferirti a una bibentry con [inline]Dav(II)1951[/inline]. Meglio [inline]DavII1951[/inline].
- ogni campo di una bibentry deve terminare con una virgola.

Una volta che hai corretto questi errori, questo sorgente compila https://www.overleaf.com/9568526957ywydvzcjzjyw

Si ho scritto io il file .bib :roll:
Sei gentilissimo, comunque su overleaf mi compila le referenze mentre sul mio pc su TexStudio no (ho sia la mia tesi su overleaf che sul pc su TexStudio), mi dice
Il seguente errore
Package biblatex Error: File "Main.bbl" not created
E i seguenti avvisi
Empty bibliography
There were undefined references
Please (re)run Biber on the file: (Biblatex) Main(biblatex) and rerun LaTeX afterwards

Ps: si possono creare dei link ipertestuali sulle referenze?

megas_archon
L'errore è abbastanza chiaro: il file non esiste o non viene trovato.

si possono creare dei link ipertestuali sulle referenze?
Dipende che cosa intendi: vuoi questo?



Lo stile di bibliografia giusto lo fa da solo, scrivendo la bibentry così:

@article{2catlimits,
  title = {Elementary observations on 2-categorical limits},
  author = {Kelly, G.M.},
  year = 1989,
  journal = {Bulletin of the Australian Mathematical Society},
  volume = 39,
  doi={10.1017/S0004972700002781},
  pages = {301--317}
}



Per cose diverse, sì, si può fare perché bib(La)TeX è capace di capire che stai invocando una macro. (Anche perché fondamentalmente il ruolo di bib(La)TeX è quello di generare un file .bbl, che è quello che viene letto da TeX per generare la bibliografia).

Io ad esempio uso questo comando

\newcommand{\arXivPreprint}[1]{\href{http://arxiv.org/abs/#1}{arXiv:#1} preprint}


e scrivo una bibentry così

@article{benini2017operads,
  title = {Operads for algebraic quantum field theory},
  author = {Benini, M. and Schenkel, A. and Woike, L.},
  year = 2017,
  journal = {\arXivPreprint{1709.08657}}
}


perché trovo fastidioso che [inline]amsalpha.bst[/inline] non dia alcuna bibliometrica dei preprint (che, a rigore, dovrebbero essere @unpublished o @misc).

Ciao sì, sia mettere dei link esterni che cliccando mi portano ad un link sia all'interno del pdf mettere un link ipertestuale cosicché se cito [1] da qualche parte e ci clicco sopra mi porta alla citazione in fondo. Sostanzialmente posso mettere \label{} nel file .bib ??

megas_archon
Sostanzialmente posso mettere \label{} nel file .bib ??
\label{} gestisce le crossref, sono un'altra cosa.

Ho l'impressione non ti sia chiarissimo come funziona hyperref, e anche come funziona TeX. Se usi hyperref, quello che succede è che -sempre- hoverando il mouse sopra una citazione del tipo [Agb02] e facendo clic, vieni portato alla riga nella bibliografia dove quella cit è definita. (E usando backref puoi tornare indietro.)

Quello su cui agisci sono le caratteristiche estetiche di questo hyperlink. Il colore, il corpo del testo dentro le quadre...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.