Сокращение инициалов, состоящих из >1 символа
matsievskiysv opened this issue · 5 comments
Некоторые русские имена в английской транскрипции требуется сокращать двумя символами. Например, Юрий->Yuriy->Yu.
; Ярослав->Yaroslav->Ya.
. biblatex-gost
сокращает такие инициалы до одного символа, что неверно.
Пример без biblatex-gost
:
\documentclass{article}
\usepackage{biblatex}
\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
@article{initialsinbiblio,
title = {Design of something something...},
language = {english},
journaltitle = {Fancy journal},
series = {Fancy section},
volume = 63,
number = 1,
pages = {15--31},
year = 2021,
issn = {0168-9002},
author = {Smirnov, Ya. Yu. and Ivanov, Ye. V. and Sidorov, Yi. Ya.},
}
\end{filecontents}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Пример c biblatex-gost
:
\documentclass{article}
\usepackage{etoolbox}
\usepackage[style=gost-numeric]{biblatex}
\toggletrue{bbx:gostbibliography}
\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
@article{initialsinbiblio,
title = {Design of something something...},
language = {english},
journaltitle = {Fancy journal},
series = {Fancy section},
volume = 63,
number = 1,
pages = {15--31},
year = 2021,
issn = {0168-9002},
author = {Smirnov, Ya. Yu. and Ivanov, Ye. V. and Sidorov, Yi. Ya.},
}
\end{filecontents}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Edit:
Исправил Ivanov Ye. V.
на Ivanov, Ye. V.
. Рисунки уже заменять не стал, т.к. для примера они сгодятся и в таком виде.
В первом случае имена вообще не сокращаются. Дайте biblatex'у опцию giveninits, и они сократятся до одной буквы.
Инициалы формируются командой \namepartgiveni
(i в конце означает "инициалы"). Я её беру из biblatex, и, честно говоря, не знаю, как она там выглядит. Возможно, нужно с ней что-то сделать.
Есть ещё вот это: https://tex.stackexchange.com/questions/297489/how-to-abbreviate-first-names-with-multiple-letters-using-biblatex/.
Есть ещё вот это: https://tex.stackexchange.com/questions/297489/how-to-abbreviate-first-names-with-multiple-letters-using-biblatex/.
К сожалению, этот вариант не работает с новым biber. Единственное на данный момент решение - безумный regexp.
Инициалы формируются командой \namepartgiveni (i в конце означает "инициалы"). Я её беру из biblatex, и, честно говоря, не знаю, как она там выглядит. Возможно, нужно с ней что-то сделать.
Мне кажется логичным не использовать команду сокращения инициалов, если имя/фамилия заканчиваются на "."
.
Edit:
В первом случае имена вообще не сокращаются. Дайте biblatex'у опцию giveninits, и они сократятся до одной буквы.
Тогда проблему можно сформулировать так: biblatex-gost игнорирует значение опции giveninits
.
Есть ещё вот это: https://tex.stackexchange.com/questions/297489/how-to-abbreviate-first-names-with-multiple-letters-using-biblatex/.
К сожалению, этот вариант не работает с новым biber. Единственное на данный момент решение - безумный regexp.
Можно заменять только фиксированный набор имён (например, только Yuri), тогда будет не так безумно, нет?
Инициалы формируются командой \namepartgiveni (i в конце означает "инициалы"). Я её беру из biblatex, и, честно говоря, не знаю, как она там выглядит. Возможно, нужно с ней что-то сделать.
Мне кажется логичным не использовать команду сокращения инициалов, если имя/фамилия заканчиваются на
"."
.
Возможно. Но есть освящённые традицией правила обработки .bib файлов. Я не знаю, есть ли там такое правило.
Edit:
В первом случае имена вообще не сокращаются. Дайте biblatex'у опцию giveninits, и они сократятся до одной буквы.
Тогда проблему можно сформулировать так: biblatex-gost игнорирует значение опции
giveninits
.
Он не игнорирует, он устанавливает giveninits=true
. Вы можете установить giveninits=false
.
Кстати, вы можете для отдельной записи в .bib задать options = {giveninits=false}
.
Он не игнорирует, он устанавливает giveninits=true. Вы можете установить giveninits=false.
Хм, это решение моей проблемы. Возможно стоит отразить это в документации. Спасибо!