![TexStudio: Бибер утверждает, что версия biblatex неверна](https://rvso.com/image/328476/TexStudio%3A%20%D0%91%D0%B8%D0%B1%D0%B5%D1%80%20%D1%83%D1%82%D0%B2%D0%B5%D1%80%D0%B6%D0%B4%D0%B0%D0%B5%D1%82%2C%20%D1%87%D1%82%D0%BE%20%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%20biblatex%20%D0%BD%D0%B5%D0%B2%D0%B5%D1%80%D0%BD%D0%B0.png)
Я использую MiKTeX 2.9 и TexStudio 2.10.8 в качестве редактора. И я стараюсь использовать biblatex/Biber
Я установил Biber с менеджером пакетов MiKTeX инастроенный TexStudioиспользовать Бибер.
Это важная часть моего файла LateX, посвященная Биберу:
\usepackage[style=authoryear, backend=biber]{biblatex}
\addbibresource{referenzen.bib}
Итак, при компиляции TexStudio мне показывает такую ошибку:
INFO - This is Biber 2.3
INFO - Logfile is '<mylatexfile>.blg'
INFO - Reading '<mylatexfile>.bcf'
WARN - Warning: Found biblatex control file version 2.6, expected version 2.9
INFO - Found 1 citekeys in bib section 0
INFO - Processing section 0
INFO - Looking for bibtex format file 'referenzen.bib' for section 0
INFO - Decoding LaTeX character macros into UTF-8
INFO - Found BibTeX data source 'referenzen.bib'
INFO - Overriding locale '' defaults 'normalization = NFD' with 'normalization = prenormalized'
INFO - Overriding locale '' defaults 'variable = shifted' with 'variable = non-ignorable'
INFO - Sorting list 'nyt' of type 'entry' with scheme 'nyt' and locale ''
INFO - No sort tailoring available for locale ''
\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber/SortLists.pm line 77.
Use of uninitialized value $pre in regexp compilation at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber/Internals.pm line 1000. Use of uninitialized value $thislocale in concatenation (.) or string at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber.pm line 2856. Use of uninitialized value $thislocale in concatenation (.) or string at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber.pm line 2943. Use of uninitialized value $thislocale in concatenation (.) or string at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber.pm line 2948. Use of uninitialized value $lname in concatenation (.) or string at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber.pm line 1979. Use of uninitialized value $lssn in concatenation (.) or string at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber.pm line 1979. Use of uninitialized value $lssn in concatenation (.) or string at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber.pm line 1993. Use of uninitialized value $lssn in concatenation (.) or string at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber.pm line 2008. Can't use an undefined value as an ARRAY reference at D:\Users\<username>\AppData\Local\Temp\par-<num>\cache-19a661c7206c3f371c207b98ac69231301395587\inc\lib/Biber/Internals.pm line 990.
Я заметил предупреждение о файле управления biblatex и поэтому посмотрел в менеджере пакетов MiKTeX, какая версия biblatex:
И что удивительно, там он называется v2.9, а не 2.6. Поэтому, чтобы проверить эту ошибку версии, я заглянул в свой .bcf
файл, и там он действительно обозначен как v2.6:
<?xml version="1.0" encoding="UTF-8"?>
<bcf:controlfile version="2.6" xmlns:bcf="https://sourceforge.net/projects/biblatex">
<!-- BIBER OPTIONS -->
[...]
Так почему же существует это расхождение версий и как мне правильно скомпилировать?
решение1
Ладно, проблема была в устаревшей версии библатекса. СогласноБибер доквам нужен Biblatex v3.2 для работы с Biber v2.3. Если у вас нет этих версий, это не будет работать.
А Biblatex v3.2 создает .bcf
файл с номером версии 2.9:
<?xml version="1.0" encoding="UTF-8"?>
<bcf:controlfile version="2.9" xmlns:bcf="https://sourceforge.net/projects/biblatex">
В принципе я решил свою проблему, просто переустановив MiKTeX. Вы также можете использовать менеджер пакетов для установки последних пакетов, но в моем случае это создало только больше проблем.
решение2
У меня установлен MikTeX 2.9 на Windows 10. Все пакеты обновлены (как в режиме администратора, так и в режиме пользователя). Когда я попытался использовать Biber, я получил сообщение об ошибке:
INFO - This is Biber 2.7
INFO - Logfile is 'main.blg'
INFO - Reading 'main.bcf'
ERROR - Error: Found biblatex control file version 2.9, expected version 3.3.
This means that your biber (2.7) and biblatex () versions are incompatible.
See compat matrix in biblatex or biber PDF documentation.
INFO - ERRORS: 1
В менеджере пакетов были показаны следующие версии:
- 2.7 для miktex-biber-bin-x64
- 3.7 для библатекса
Переустановка этих пакетов не решила проблему.
Я проверил, какой файл biblatex используется в системе, с помощью следующей команды (откройте окно cmd и просто введите это)
kpsewhich biblatex.sty
Результат был следующим:
C:/Users/xxx/AppData/Roaming/MiKTeX/2.9/tex/latex/biblatex/biblatex.sty
Папка C:/Users/xxx/AppData/Roaming/MiKTeX/2.9/
в основном используется для установки пакетов «на лету».
Я поискал, есть ли biblatex.sty
в системе другие файлы, и оказалось, что вторая копия хранилась в папке установки MikTeX:
c:\Program Files\MiKTeX 2.9\tex\latex\biblatex\
Я не уверен, что это значит. Это моя установка MikTeX повреждена или у меня двойная установка biblatex, или в чем причина всего этого.
Я сделал простой тест. Я изменил C:/Users/xxx/AppData/Roaming/MiKTeX/2.9/tex/latex/biblatex/
имя папки наC:/Users/xxx/AppData/Roaming/MiKTeX/2.9/tex/latex/biblatex_old/
и скопируйте всю папку из c:\Program Files\MiKTeX 2.9\tex\latex\biblatex\
вC:/Users/xxx/AppData/Roaming/MiKTeX/2.9/tex/latex/biblatex/
Затем я очистил все сгенерированные файлы в папке проекта tex (это важно), т.е. удалил *.aux, удалил *.bcf и т.д. и снова перекомпилировал проект с помощью pdflatex, затем biber, затем pdflatex.
Оно работает!
решение3
- У меня Win10, WinEdt10.2, (MiKTeX 2.9.6500 64-бит), Версия 3.14159265-2.6-1.40.18, biber 2.9, biblatex 3.9;
- Совместимые версии biber и biblatex: 2.9 3.9; 2,8 3,8; 2,7 3,7; см. инструкции в YouDisck:..\biblatex\3.10\biblatex\doc\biblatex.pdf, стр. 6;
- Скачал biber.exe v.2.9 (biber-MSWIN64.zip) и заменил biber.exe v.2.7 в C:\MiKTeX\miktex\bin\x64\biber.exe (v.2.7) на новую biber.exe v.2.9 . (biber.exe v.2.7 переименовал в =biber.exe v.2.7 для архива).
- В MiKTeX Package Manager нашел biblatex (имя-->фильтр) и обновил его до версии 3.9. Можно скачать и установить вручную в C:\localtexmf\tex\latex C:\Users\YouName\AppData\Roaming\MiKTeX\2.9\tex\latex.
- Обновил MiKTeX Options Refresh FNDB.
- Тестируем любую программу. Всё работает!
По-английски:
- У меня Win10, WinEdt10.2, (MiKTeX 2.9.6500 64-бит), версия 3.14159265-2.6-1.40.18, biber 2.9, biblatex 3.9;
- Совместимые версии biber и biblatex: 2.9 3.9; 2.8 3.8; 2.7 3.7; см. инструкции на YouDisck: ..\ biblatex\3.10\ biblatex\ doc\ biblatex.pdf, стр. 6;
- Загрузите biber.exe v.2.9 (biber-MSWIN64.zip) и замените biber.exe v.2.7 в C:\MiKTeX\miktex\bin\x64\biber.exe (v.2.7) на новый biber.exe v.2.9. (biber.exe v.2.7 переименован в = biber.exe v.2.7 для архива).
- В диспетчере пакетов MiKTeX я нашел biblatex (имя -> фильтр) и обновил его до версии 3.9. Вы можете скачать и установить его вручную в C:\localtexmf\tex\latex и C:\Users\YouName\AppData\Roaming\MiKTeX\2.9\tex\latex.
- Обновлены параметры MiKTeX. Обновите FNDB.
- Протестируйте любую программу. Все работает!