LINUX.ORG.RU

Biblatex и кириллица в списке литературы

 , ,


0

3

Обращаюсь к коллективному разуму ЛОР'а.

Проблема. При ссылке на электронный ресурс, содержащий кириллический домен, запись в списке литературы отображается в виде символов кодировки punycode.

Например, для записи в bib файле

@ONLINE{kcp-2013,
    title = {Контрольные цифры приёма граждан в вузы за счёт средств федерального бюджета на 2013 год},
    url = {http://минобрнауки.рф/пресс-центр/3394},
    urldate = {2014-09-30},
    langid = {russian},
}

В списке литературы имеем.

Контрольные цифры приёма граждан в вузы за счёт средств федерального бюджета на 2013 год. — URL: http://xn--80abucjiibhv9a.xn--p1ai/%D0%BF%D1%80%D0%B5%
D1%81%D1%81-%D1%86%D0%B5%D0%BD%D1%82%D1%80/3394 (дата обр. 30.09.2014).

Естественно, что от абрыкадабры в списке литературы хочется избавится.

Т.к. используется пакет biblatex-gost, то о проблеме написал автору данного пакета.

Им было предложено использовать «кастомное» поле verba, для отображения url.

\renewbibmacro*{url}{\printfield{verba}}
\DeclareFieldFormat{verba}{\mkbibacro{URL}\addcolon\space\url{#1}}
Но, biblatex упорно продолжает в список литературы вставлять поле url, даже если в *.bib файле есть поле verba.

Для экспериментов есть mail.tex, который собирается командами:

pdflatex mail.tex
biber mail.bcf
pdflatex mail.tex

Предложения по решению данного вопроса?

★★★★★

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

Убивать за не-ASCII в URL'ах?

Решение, конечно, интересное, но думаю, что убивать придётся в промышленных масштабах. Так, что не подходит.

Jurik_Phys ★★★★★
() автор топика

Предложения по решению данного вопроса?

Убери эту ссылку нафик и всё.

yvv ★★☆
()

Пробую развить идею использования стороннего поля verb

В файле biblatex.def обнаружено

2753 \newbibmacro*{url+urldate}{%
2754   \printfield{url}%
2755   \iffieldundef{urlyear}
2756     {}
2757     {\setunit*{\addspace}%
2758      \printurldate}}

Следовательно, вместо url надо использовать url+urldate

\renewbibmacro*{url+urldate}{%
  \printfield{verba}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \printurldate}}

В итоге, список литературы изменяется, но ... Вывод выглядит следующим образом:

В 2014 году планируется увеличить отношение числа бюджетных
мест в вузах к количеству выпускников школ. — URL: http : / /
РёРҷЄЫРҫСҐР„РөСЋРәРҷ.СҐСҺ/лѥРҳСҒСҒ-СҘРҳЄрѥ/3663/VERBA_
TEST.
Jurik_Phys ★★★★★
() автор топика

Ты забыл про то, что у бибтеха своя кодировка. В общем, запихивай в Makefile вместо latexmk вручную вызовы pdflatex + bibtex + sed + pdflatex

P.S. И все-таки, мне не понятно, в какой говножурнальчик ты статью готовишь? С URL'ами вместо списка литературы... Это ж вообще нонсенс! Ты еще на туалетную бумагу с цитатами Мао Цзэ Дуна сошлись: «рулон 2001, 25-й метр, третья строка» ☺

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

Обращаю внимание, что речь идёт не о bibtexe, а о biblatexe. Появление последнего связано с желанием организовать поддержку utf-8.

Статья не в журнальчик, статья -отчёт о приёмной компании на факультете. Ссылки, в основном, на сайт министерства. Отчёт уже сдал с аброй кадаброй, но проблему хочется решить.

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

utf-8

Тогда я — пас. У меня КОИ8-Р, и на хрюникод переходить не вижу вообще никакого смысла!

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

Да. Стиль не ГОСТ, но ссылка читабельная. Как добился?

Я пока понял, что причина абрыкадабры (РёРҷЄЫРҫСҐР„РөСЋРәРҷ) состоит в том, что \url{#1} из

\DeclareFieldFormat{verba}\mkbibacro{URL}\addcolon\space\url{#1}}
не поддерживает символы, отличные от ASCII, что в общем-то по стандарту, который утверждает, что url'ы должны содержать только ASCII символы.

Пытаюсь заменить \url конструкцией из href{#1}{#1}, но у href - есть давний баг в непереваривании нижнего подчёркивания, а просто вставить текст вместо \url, то нет переносов.

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

Да. Стиль не ГОСТ, но ссылка читабельная.

Что значит: «не ГОСТ»? Это ваш документ, практически без изменений (повыкидывал только лишнее, и шрифты мои).

Как добился?

note = "\url{http://минобрнауки.рф/пресс-центр/3663/URL_TEST}"}

+ XeLaTeX.

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

XeLaTeX

Да, в нём дело. Уже у второго человека в нём заработало. Пытаюсь пока в pdflatex'е запустить.

Что значит: «не ГОСТ»? Это ваш документ, практически без изменений

Это детали, они сейчас не важны.

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

Пытаюсь пока в pdflatex'е запустить.

Зачем? Я пробовал — ничего не выходит. Одна проблема исчезает, другая появляется, а в XeLaTeX всё работает, и телодвижений надо минимум делать Сегодня обновил свой texlive, — смотрю, а polyglossia уже переехала в /usr/share/texmf/tex/latex/, что наводит на некоторые мысли.

P.S. Вот если бы ещё hyperref победить, чтобы он в этой конструкции без костылей человеческий текст рисовал.

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

Я ведь выше дал ссылку на проверенные стили по ГОСТу, которые работают с юникодом и pdflatex, в том числе и с кириллицей в url.

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

В общем, ни пакет url, ни пакет hyperref не дружат с utf-8. Не дружат совсем. Поэтому, начинаю использовать пакет ifxetex.

То, что получилось можно посмотреть тут.

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

Послушался курсеру, мол пора переходить на универсальные решения.

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