Использовать регулярное выражение для форматирования заголовка ссылки в файле BibTeX

У меня есть много ссылок в файле BibTeX следующим образом:

@inproceedings{lechartier2014static,
  title={Static and Dynamic Modeling of a PEMFC for Prognostics Purpose},
  author={Lechartier, Elodie and Gouriveau, Rafael and Pera, Marie-Cecile and Hissel, Daniel and Zerhouni, Noureddine},
  booktitle={Vehicle Power and Propulsion Conference (VPPC), 2014 IEEE},
  pages={1--5},
  year={2014},
  organization={IEEE}
}
@inproceedings{zein2013statistical,
  title={Statistical approach to online prognostics of turbine engine components},
  author={Zein-Sabatto, Saleh and Bodruzzaman, Jabir and Mikhail, Mervat},
  booktitle={Southeastcon, 2013 Proceedings of IEEE},
  pages={1--6},
  year={2013},
  organization={IEEE}
}

Ссылка на исходный файл (количество пробелов перед каждой записью title= меняется).

Как я могу использовать регулярные выражения для изменения всей титульной части:

  title={\textbf{Static and Dynamic Modeling of a PEMFC for Prognostics Purpose}},
1
задан 12 October 2015 в 09:17

1 ответ

Это прекрасно работает:

perl -i.bak -pe 's|^(\s*title=)(.+?)(,)$|$1\{\\textbf$2\}$3|' ProgRef.bib

Это переформатирует все титульные части и предполагает, что есть только один заголовок в строке.

Update: Если ваш входной файл имеет окончания строки DOS / Windows, сделайте следующее:

sudo apt-get install dos2unix dos2unix ProgRef.bib запустите указанное выше регулярное выражение
3
ответ дан 23 May 2018 в 16:46
  • 1
    Зачем ему прерывать команду, если конечная запятая привязана $? Просто проверено с запятой в названии, отлично работает. Вы проверяли мое регулярное выражение? Если да, у вас есть тестовый пример, чтобы продемонстрировать проблему? – A.P. 11 October 2015 в 13:56
  • 2
    Все в порядке, но вам нужно также исправить ваше регулярное выражение относительно запятых. См. Мой комментарий выше. – A.P. 11 October 2015 в 14:04
  • 3
    @kos спасибо, обновлено. – A.P. 12 October 2015 в 11:41
  • 4
    Да, это было по дизайну, но, подумав, я изменил его, чтобы оставить только ведущие белые пробелы. – A.P. 12 October 2015 в 11:55

Другие вопросы по тегам:

Похожие вопросы: