\fullcite alternativa, quando necessário usar o arquivo bst?

\fullcite alternativa, quando necessário usar o arquivo bst?

Preciso usar um determinado arquivo .bst e, portanto, estou restrito a usar BibTeX simples.

Existe algum método para obter algo equivalente ao BibLaTeX \fullcitenesta situação?

Responder1

Para minha configuração, o pacote bibentry (vejaComo citar um bibentry completo no corpo do texto?) não funcionou. Eu receberia um destes erros ou avisos:

! Package natbib Error: Bibliography not compatible with author-year citations.

pdfTeX warning ext4: destination with the same identifier name{cite.xxxx2015} 
has been already used, duplicate ignored

Para meus propósitos, entretanto, consegui explorar o fato de que as entradas da bibliografia seguem o padrão \bibitem[LABEL]{CITEKEY} BIBLIOGRAPHYENTRY\par. Como o que eu precisava era de um trecho da bibliografia que defini

\documentclass{scrreprt}
\usepackage{pgffor}

\begin{document}

\makeatletter
\newcommand{\filterbib}[1]{
  % Requires enumitem package.
  \nocite{#1}% ensure that the entries are in the bibliography.
  \def\bibitem[##1]##2##3\par{
    \edef\fb@keyA{##2}
    \foreach \fb@keyB in {#1}{
      \ifx\fb@keyA\fb@keyB \item ##3\fi
    }
  }
  \begingroup
  \renewenvironment{thebibliography}[1]{
    \itemize
  }{\enditemize}
  \InputIfFileExists{\jobname.bbl}{}{%
    \PackageWarning{kdb:backmatter}{No file \jobname.bbl}%
  }%
  \endgroup
}

\filterbib{Adles2008prb,Eisenthal2006,Bauer2015}

\bibliographystyle{draftabbrev}
\bibliography{library}

\end{document}

A solução é difícil, mas funciona. Algumas limitações:

  • As citações são sempre acrescentadas à bibliografia principal.
  • As citações seguem sempre a mesma ordem da bibliografia (intencional).
  • Falta de verificação de chaves inválidas, embora o \nocitedevecuide disso.
  • Depende da formatação do arquivo .bbl: Por exemplo, se não houver nenhuma linha vazia entre a última citação e a \end{thebibliography}, ele irá falhar.

informação relacionada