LINUX.ORG.RU

[LaTeX][bibtex][utf8gost] Библиография по госту.


0

1

Не могу подключить гостовский стиль библиографии. http://www.tex.uniyar.ac.ru/package/style/utf8gost.zip


\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{pscyr}
\usepackage{extsizes}
\usepackage{amsmath}
\usepackage[pdftex]{color,graphicx}
\bibliographystyle{unsrt}

\renewcommand{\@biblabel}[1]{#1.}

....................
....................

\bibliographystyle{utf8gost780u}
\bibliography{bibliography}

\end{document}

как ставил:

$kpsewhich -expand-var '$TEXMFLOCAL'
/usr/local/share/texmf

распаковал туда содержимое utf8gost, получилось:

ls -R bibtex/
bibtex/:
bst

bibtex/bst:
utf8gost

bibtex/bst/utf8gost:
src  test  utf8gost71s.bst  utf8gost71u.bst  utf8gost780s.bst  utf8gost780u.bst

bibtex/bst/utf8gost/src:
utf8gost.dtx  utf8gost.ins

bibtex/bst/utf8gost/test:
main.bib  test_utf8gost71s.pdf  test_utf8gost780s.pdf
test.tex  test_utf8gost71u.pdf  test_utf8gost780u.pdf

далее

# mktexlsr
mktexlsr: Updating /usr/local/share/texmf/ls-R... 
mktexlsr: Updating /var/lib/texmf/ls-R-TEXMFMAIN... 
mktexlsr: Updating /var/lib/texmf/ls-R-TEXLIVE... 
mktexlsr: Updating /var/lib/texmf/ls-R... 
mktexlsr: Done.

в файле bibliography.bib содержимое такого рода:

@BOOK{Krugl2001,
title = {Искусственные нейронные сети: теория и практика},
publisher = {М.:~Горячая линия--Телеком},
year = {2001},
author = {В. В. Круглов and В. В. Борисов},
language = "russian"
}

компиляется текст таким скриптом:

pdflatex doc.tex
bibtex doc.aux
#bibtex8 doc.aux
pdflatex doc.tex
pdflatex doc.tex
pdflatex doc.tex

причем что bibtex что bibtex8 в результате выдают одно и то же, но bibtex8 выдает кучу ошибок типа:

! Package inputenc Error: Unicode char \u8:���� not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.24 \newblock ��
                     ������������������ �������������������������� ���������...

на выходе получается текст не по госту и с английской буквой and, которая должна быть заменена или на «и» или на запятую:

1) В. В. Круглов and В. В. Борисов. Искусственные нейронные сети: теория
и практика. М.: Горячая линия–Телеком, 2001.

ЧЯДНТ?

И да, texlive-lang-cyrillic установлен

★★★★★

Подозреваю, что стоит обновить пакет.

// а вообще, латех не сильно-то допилили для юникода, если хотите пользоваться этой костыльной кодировкой, пробуйте xelatex

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

Пробовал xelatex, замечательная вещь, но горит по времени уже у меня все из латеха на xelatex переписывать, настроил страницы отступы и т.д. как надо =)

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

Дык, iconv в помощь. Конвертируйте в однобайтную кодировку и запускайте себе обычный bibtex (стиль тот же, но без префикса utf8).

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

Хмм, а конвертнуть только *.bib или вообще весь текст?

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

Весь текст, естественно. Библиография-то инклюдиться будет.

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

Только вы не спешите. Поищите сначала юникодовые бибтеховские гостовские стили. Вроде бы такие были (на dxdy видел упоминания).

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

А блин, разобрался в чем дело =) Все работает, просто я себе сделал отдельный стилевой файл *.sty, который к работе подключаю. А в нем оставил такой параметр: \bibliographystyle{unsrt}

выходит в документе был конфликт у этого стиля и стиля \bibliographystyle{utf8gost780u}

На что оно мне и ругалось:


$ bibtex doc.aux 
This is BibTeX, Version 0.99c (TeX Live 2009/Debian)
The top-level auxiliary file: doc.aux
The style file: unsrt.bst
Illegal, another \bibstyle command---line 63 of file doc.aux
 : \bibstyle
 :          {utf8gost780u}
I'm skipping whatever remains of this command
Database file #1: bibliography.bib
Warning--there's a number but no volume in Kudryash2010
(There was 1 error message)
Siado ★★★★★ ()
Ответ на: комментарий от Eddy_Em

Хотя тперь немного другой вопрос появился, а от чего у меня ссылки в библиографии более мелким размером шрифта идут, чем русский текст. Как это можно исправить? )

Siado ★★★★★ ()

Для поддержки utf8 в bibtex я использую такой костыль:

bibtex-utf8

#!/bin/sh

bibtex $1
iconv -f cp866 -t utf8 $1.bbl -o $1.bblt
mv $1.bblt $1.bbl

latexmkrc

$bibtex = "./bibtex-utf8"

Собираю, естественно, через latexmk.

При этом, соответственно, пишу .bib в cp866 (с этой кодировкой не глючит Gedit LaTeX plugin). В принципе, можно сделать, чтобы скрипт сам перекодировал .bib, но меня и так устраивает.

ЗЫ. gost780u/s не полностью соответствует требованиям текущего ГОСТ 7.1-2003 ;) Нужно, как минимум, сделать фикс

137c137
<                        { ": " * write$ }
---
>                        { " : " * write$ }

ЗЗЫ. Сам использую допиленный gost71u2003 с поддержкой natbib.

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

а как ты выхлоп ошибок посмотрел? В консоли собирал? У меня TexMaker ничего не говорит, хотя собирает с ошибками...

и да, спасибо за тему - теперь оно хоть библиотеку подключило.

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

Простой скрипт из нескольких строчек написал и из терминала его запускал:

pdflatex Main.tex
bibtex Main.tex
#bibtex8 Main.tex
pdflatex Main.tex
pdflatex Main.tex
pdflatex Main.tex

Не знаю почему, но bibtex8 не работал, не смотря на то, что кодировка была utf-8. Не стал разбираться, все каким-то образом заработало с простым bibtex

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

У меня тоже с простым bibtex собирается, попробую из консоли - отпишусь.

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