Problema com número de citação ao usar o pacote cite

Problema com número de citação ao usar o pacote cite

Eu estava usando o citepacote e encontrei um problema com ele. O número da citação às vezes permanece "[?]"; mesmo depois de vários ciclos de compilação. Aqui está o MWE e seu resultado:

\documentclass{article}
\usepackage{cite}

\begin{document}
This is a MWE. This citation~\cite{foo} works correctly but this one~\cite{bib: bar} doesn't.

\begin{thebibliography}{2}
\bibitem{foo} foo
\bibitem{bib: bar} bar
\end{thebibliography}

\end{document}

insira a descrição da imagem aqui

Parece que esse problema ocorre quando \bibitemo parâmetro inclui espaço como \bibitem{bib: bar} bar.

Alguém pode resolver esse problema?

PS Mais informações, como uma solução sem abandonar meu hábito, seriam apreciadas.

Responder1

O problema é que ele \citecome os spacetokens ao gravar no arquivo auxiliar principal; ou seja, mesmo se você disser \cite{bib: bar}que a entrada resultante .auxseria semelhante a \citation{bib:bar}. Mas, quando o motor estiver procurando \bibcite{bib:bar}...não encontrará nada porque \bibitempreserva todos os espaços da entrada.

Você podedeixaras citações na forma desejada, por exemplo, \cite{bib: bar}se você não quiser abandonar seu hábito de rotulagem,masvocê tem que escrever \bibitem{bib:bar} ...no thebibliographyambiente:

\documentclass{article}
\usepackage{cite}

\begin{document}
This is a MWE. This citation~\cite{foo} works correctly and this one~\cite{bib: bar} too, though there is a space in between the label name. 

\begin{thebibliography}{2}
\bibitem{foo} foo
\bibitem{bib:bar} bar
\end{thebibliography}
\end{document}

saída

informação relacionada