Преобразовать строки month=Jan или month=jan в файлах .bib в целое число

Преобразовать строки month=Jan или month=jan в файлах .bib в целое число

Приручить зверяпредлагает использовать в monthключе простые целые числа вместо строк.

У меня смешанные monthформаты в моем файле .bib, и я хочу уникальное решение. Какие инструменты могут преобразовать разные строки, такие как "jan" и "Jan" (завернутые в 0-2 пары {}) в 1?

решение1

учитывая этот не очень действительный файл bib

aaa.bib
year= jan
journal="jan of feb of dec"
month="1"
month = "Jan"
month=  "{{jan}}"
month=  {{jan}}
month=  {jan}
month=  "2"
month=  {Jan}
author="Jan de Groote"

Следующая команда

 sed -e 's/\(^ *month\) *= *["{]{*jan}*[}"]/\1 = "1"/i' aaa.bib

выходы

aaa
year= jan
journal="jan of feb of dec"
month="1"
month = "1"
month = "1"
month = "1"
month = "1"
month=  "2"
month = "1"
author="me"

что выглядит как правильный вариант, поэтому вам просто нужно добавить еще 11 похожих строк, и это должно быть сделано (сначала сохраните копию файла!!)

решение2

Цитирую ttb:

Лучше иметь числовое значение или аббревиатуру.

Цитата из руководства biblatex:

Это должно быть целое число, а не порядковое число или строка.

В JabRef мы все же решили пойти на сокращения, что не вызвало проблем с нашей стороны:

@Article{,
  month = jun,
}

Для этого нажмите Alt+ F8или Качество -> Очистка записей... Затем появится следующее диалоговое окно:

очистить записи

Если содержимое «Запустить форматирование полей» выглядит иначе, просто нажмите «Рекомендуется для BibTeX».

С помощью Файл -> «Переключиться в режим biblatex» можно переключиться в режим biblatex, а затем выбрать «Рекомендуется для biblatex».

очистить настройки по умолчанию для biblatex

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