\fullcite альтернатива, когда требуется использовать bst-файл?

\fullcite альтернатива, когда требуется использовать bst-файл?

Мне нужно использовать определенный файл .bst, и поэтому я ограничен использованием простого BibTeX.

Есть ли способ получить что-то эквивалентное BibLaTeX \fullciteв этой ситуации?

решение1

Для моей настройки пакет bibentry (см.Как процитировать одну библиографическую запись полностью в основном тексте?) не сработало. Я бы получил одну из этих ошибок или предупреждений:

! 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

Однако для своих целей я смог воспользоваться тем, что записи библиографии следуют шаблону \bibitem[LABEL]{CITEKEY} BIBLIOGRAPHYENTRY\par. Поскольку мне был нужен отрывок из библиографии, которую я определил

\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}

Решение грубое, но работает. Некоторые ограничения:

  • Ссылки всегда добавляются в основную библиографию.
  • Ссылки всегда имеют тот же порядок, что и в библиографии (намеренно).
  • Отсутствие проверки на недействительные ключи, хотя \nociteдолженпозаботьтесь об этом.
  • Зависит от форматирования файла .bbl: например, если между последней цитатой и \end{thebibliography} нет пустой строки, то произойдет сбой.

Связанный контент