LINUX.ORG.RU

Вывод одиночного источника библиографии (gost)

 ,


0

2

Нужно просто в тексте вывести один источник из списка литературы.

PDF действительно создается, но с количеством ошибок при компиляции, равным количеству \bibentry * 2. Предположительно, проблема состоит в работе bibentry c gost.

Вот весь код, состоящий из 3-х файлов (сам документ, bib-файл и стиль gost780):

1.) Код главного документа (файл file.tex): https://gist.github.com/anonymous/966882e53c7d43a61ebf

2.) Код .bib (файл test.bib): https://gist.github.com/anonymous/36af6b2668c020d61b58

3.) gost780.bst лежит здесь: http://www.ctan.org/tex-archive/biblio/bibtex/contrib/gost

Теперь компилируем: pdflatex file проходит нормально.

bibtex file выдает вот что:

This is BibTeX, Version 0.99d (TeX Live 2012/Debian)
The top-level auxiliary file: file.aux
The style file: gost780.bst
Illegal, another \bibdata command---line 8 of file file.aux
 : \bibdata
 :         {test}
I'm skipping whatever remains of this command
Illegal, another \bibstyle command---line 9 of file file.aux
 : \bibstyle
 :          {gost780}
I'm skipping whatever remains of this command
Database file #1: test.bib
(There were 2 error messages)

Снова 2 раза запускаем pdflatex file.

Результат: получаем абсолютно нормальный документ, то что нужно было. Но при этом компиляция спотыкается на каждой ссылке \bibentry.

Вопрос: почему?

Deleted

Ответ на: комментарий от Evgueni

Та же ошибка. Вообще это пример из книги.

Д. К. Морозов, А. Я. Пархоменко. Подготовка документов в издательской системе Латех (стр. 82).

Я, правда, буду охотно использовать и другие способы, если они есть.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

На первый взгляд всё нормально, правда команды на тему test какие-то незнакомые. Если руки дойдут, то потыкаю палочкой сегодня вечером.

Evgueni ★★★★★ ()

Подтверждаю, те же матюки. Похоже, это в natbib или bibentry глюк (я никогда этими пакетами не пользовался). Вот что в начале file.aux:

\bibdata{test}
\bibcite{knuth}{{1}{}{{}}{{}}}
\bibcite{karow}{{2}{}{{}}{{}}}
\bibstyle{gost780}
\citation{knuth}
\citation{karow}
\citation{knuth}
\bibdata{test}
\bibcite{knuth}{{1}{}{{}}{{}}}
\bibcite{karow}{{2}{}{{}}{{}}}
\bibstyle{gost780}
т.е. дважды \bibdata встречается, что неправильно.

И вот где ошибки: 1) нельзя дважды писать \bibliographystyle; 2) нельзя использовать \nobibliography совместно с \bibliography.

И вообще, я не понимаю, к чему такие жуткие извращения?

Eddy_Em ☆☆☆☆☆ ()

Вот так работает без косяков:

\documentclass{article}
\usepackage[koi8-r]{inputenc}
\usepackage[english, russian]{babel}
\usepackage[numbers]{natbib}
\usepackage{bibentry}
\nobibliography*
\ifx\undefined\selectlanguageifdefined
\def\selectlanguageifdefined#1{}\else\fi
\ifx\undefined\BibEmph
\def\BibEmph#1{\emph{#1}}\else\fi
\begin{document}
\bibliographystyle{gost780}
Пример внутритекстовых ссылок
\begin{itemize}
\item\bibentry{knuth}
\item\bibentry{karow}
\end{itemize}
А вот это\footnote{\bibentry{knuth}} ---
подстрочная ссылка
\bibliography{test}
\end{document}

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

2) нельзя использовать \nobibliography совместно с \bibliography.

И действительно. Логично :)

Evgueni ★★★★★ ()
Ответ на: комментарий от Eddy_Em

Спасибо, этот конкретный пример уже работает. Но только с этим стилем, а не с ugost2008 (выставлен utf8).

Deleted ()
Ответ на: комментарий от Evgueni

Спасибо, я уже использую! Правда так и не понял, а есть какой-то альтернативный подход? Кроме bibentry. Или какой-то другой способ его использовать.

Deleted ()
Ответ на: комментарий от Deleted

Ну так с хрюникодом вместо bibtex надо писать bibtexu.

А вообще, с хрюникодом я — не помощник. Я не понимаю, зачем русскому человеку эта кодировка.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Evgueni

Очень просто: нужно то, что в стандарте называется «внутритекстовая библиографическая ссылка» и «подстрочная библиографическая ссылка». Собственно всё )

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.