MiKTeX / miktex-packaging

the MiKTeX package factory
MIT License
19 stars 5 forks source link

biblatex-apa does not correctly install Lua modules #336

Closed junoslukan closed 1 year ago

junoslukan commented 1 year ago

The package biblatex-apa added Lua code for automating parentheses level checks when using LuaTeX. This was done in commit 79a0ab2, which has only recently been released with version 9.17.

In the packaged install.sh, the inclusion of Lua modules was added in the commit mentioned above with the following change:

- find -E . -regex '.*\.(bbx|cbx|dbx|lbx)' | xargs -J % cp % ~/texmf/tex/latex/biblatex-apa/
+ find -E . -regex '.*\.(bbx|cbx|dbx|lbx|lua)' | xargs -J % cp % ~/texmf/tex/latex/biblatex-apa/

MiKTeX on the other hand does not copy the Lua module apa.lua from biblatex-apa/tex/latex/biblatex-apa/lua/. Upon compiling the test bibliography with LuaTeX and Biber, this produces an error:

[\directlua]:1: module 'apa' not found:
    no field package.preload['apa']
    [kpse lua searcher] file not found: 'apa'
stack traceback:
    [C]: in function 'require'
    [\directlua]:1: in main chunk.
<argument> \directlua {require'apa'}
                         \glet \textcitei \textcite \glet \parencitei \parencit
l.630   {}

The lua interpreter ran into a problem, so the
remainder of this lua chunk will be ignored.

)

which in turn leads to an Undefined control sequence, later on:

! Undefined control sequence.
\textcite ->\BLTXAPAifInParensTF 
                                 {\nptextcite }{\textcitei }
l.22 Example text \textcite
                           {exampleBibKey}, example text ...
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Argument of \blx@citeargs@iii has an extra }.
edocevoli commented 1 year ago

Thank you, this has been fixed. Please check for updates tomorrow.