ТЛ; др
pybtex отображает «~» как «\ textasciitilde» (с завершающим пробелом) и экранирует символ подчеркивания (то есть добавляет к нему обратную косую черту) при записи в файл .bib. Как я могу остановить это? Спасибо.
Длинная версия
Я начал писать скрипт на python, который должен выполнять различные действия, включая добавление новой записи bibtex для бумаги в файл .bib. Это на довольно ранней стадии, и я столкнулся с проблемой: URL-адреса pdf-файлов (см. Ниже) будут содержать символы тильды и подчеркивания, а pybtex избегает / преобразует их. См выдержку:
# bibtex data elicited from user, or otherwise acquired
new_entry_unformatted = BibliographyData(
entries=[
(data[0], Entry('inproceedings',
fields=[
('Pdf', data[1]),
('Title', data[2]),
('Author', data[3]),
('Booktitle', data[4]),
('Month', data[5]),
('Year', data[6]),
('Address', data[7]),
],
)),
],
preamble=['%%% Written ' + date_and_time]
)
new_entry_formatted = new_entry_unformatted.to_string('bibtex')
print "\nnew_entry_unformatted is:\n"
print new_entry_unformatted
print "\nnew_entry_formatted is:\n"
print new_entry_formatted
# more stuff here...
# ...then append formatted bibtex entry to bib file
with open(file, "a") as current_bibtex_file:
current_bibtex_file.write(new_entry_formatted)
new_entry_unformatted: URL-адрес правильный: http://this/~that/the_other
new_entry_formatted: URL становится: http://this/\textasciitilde / \ _other
- Нужно ли сообщать pybtex, что поле 'Pdf' является «специальным»?
- Нужно ли указывать bibtex буквально разбирать специальные символы?
- Есть ли лучший способ сделать это, чтобы избежать проблемы?
(извиняюсь, если это глупые вопросы; я прочитал документацию и немного погуглил, но не знаю, что делаю неправильно).
ТИА
P.S. pybtex 0.21, macOS 10.12.6, python 2.7.10