
Я использую openin_any = p
(set in a custom TEXMFCNF
) как дополнительную линию обороны в приложении, которое работает на (частично) предоставленном пользователем коде LaTeX. Раньше это работало нормально, но после обновления до последней версии texlive 2020 создание практически любого документа теперь завершается ошибкой:
/opt/texlive/bin/x86_64-linux/xelatex: Not reading from /opt/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse-generic.tex (openin_any = p).
! LaTeX3 Error: File 'xparse-generic.tex' not found.
Насколько я понял, даже с openin_any = p
файлами в TEXMFDIST
должно быть все в порядке. Это ошибка или это намеренное изменение? В любом случае, я ищу решение, которое позволяет получить доступ ко всему в в TEXMFDIST
дополнение к каталогу, содержащему мой tex-файл.
решение1
Это действительно была ошибка в texlive; после того, как я спросил об этом в списке рассылки, онипочинил это.
Подробности (также изсписок рассылки) о том, почему именно это произошло:
С помощью
openin_any=p
можно нормально загрузить большинство пакетов LaTeX. Проблема, характерная для xparse(-generic.tex), заключается в том, что он использует\pdffilesize
основанный на - (расширяемый) тест для проверки существования файла, и, как я уже говорил в предыдущем письме, \pdffilesize терпит неудачу сopenin_any=p
:export openin_any=p && pdftex '\pdffilesize{sample2e.tex}\bye'
и именно на это направлен патч Акиры-сана.
Это «старое поведение», о котором вы упомянули, связано с тем, что еще несколько месяцев назад xparse загружался за один раз в xparse.sty, как и большинство пакетов (и работал как всегда), но теперь он разделен на «загрузчик» (и устаревшие — не используйте — интерфейсы) и большую часть кода в
xparse-generic.tex
. Поскольку последний использует\pdffilesize
, он терпит неудачу сopenin_any=p
.