Почему `openin_any = p` ограничивает доступ к пакетам в TEXMFDIST?

Почему `openin_any = p` ограничивает доступ к пакетам в TEXMFDIST?

Я использую 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.

Связанный контент