
Когда я начал писать документы, я решил использовать один .bib
файл в главном каталоге документов. Каждый документ будет создан в подкаталоге и будет заканчиваться на
\bibliography{../biblio}
\end{document}
Теперь я понимаю, что это, возможно, был не самый разумный выбор, поскольку мое .bib
досье значительно разрослось.
Чтобы избежать необходимости исправлять все мои .tex
файлы, я хотел бы узнать, можно ли включить другие .bib
файлы (например, один для статей, один для книг, один для URL-адресов и т. д.) из «основного» файла.
Или у вас есть другие предложения, которые помогут мне избежать столь утомительной (но, вероятно, заслуженной) задачи.
решение1
Короткий ответ на ваш вопрос — нет. Как @daleif упомянул в комментариях, .bib
формат файла не имеет функции или поля, похожего на ввод. .bib
Формат файла — это просто ряд идентификаторов полей, таких как @BOOK
и @ARTICLE
, а также полей @PREAMBLE
и @STRING
.документацияпоскольку фактический bibtex
язык постфикса также не упоминает функцию ввода (насколько я могу найти). Кажется, что это bibtex
жестко закодировано только для извлечения данных bib из .aux
файла, поэтому единственный способ для документа получить доступ к ссылкам по нескольким .bib
файлам — указать их в виде списка, разделенного запятыми, в аргументе \bibliography
.
Единственное решение, которое я могу предложить для вашей проблемы, — написать короткий скрипт, который будет выполнять поиск и замену с помощью \bibliography{../biblio}
. \bibliography{file1,file2,etc}
Как это сделать, зависит от инструментов, доступных на вашем компьютере. Например, в Unix-подобной системе вы, вероятно, могли бы объединить find
с sed
. Для более платформенно-независимого подхода можно использовать скриптовый язык, например Perl.
Однако если вам просто неудобно редактировать большой .bib
файл в текстовом редакторе, вы можете предпочесть использовать менеджер ссылок, такой как JabRef.