peiTeX / qrbill

LaTeX package to create qrbills based on the Swiss standard
13 stars 3 forks source link

Add alternative QR mode mechanism using lua #1

Closed TeXhackse closed 1 year ago

TeXhackse commented 4 years ago

We are planning to add a different method for the QRcode generation to reduce the compilation time.

Probably we are going to use speedatas luaqrcode library https://github.com/speedata/luaqrcode

TeXhackse commented 2 years ago

@The-Compiler I added the current status to another branch . Feel free to have a look at it. Since I have to ask if it's either okay to add the corresponding lua library to CTAN you currently would have to add it manually to your TeX Distribution or place a copy within the working directory. https://github.com/peiTeX/qrbill/tree/luaqrcode

To activate it you would have to load the package using the qrmode=lua option.

Tekki commented 2 years ago

Can you give us some hints how to test this code? I've added qrcode.lua and qrencode.lua, but whatever I try, I always get errors. Like this one:

! Undefined control sequence.
<argument> \lua_load_module:n 
                              {qrbill-latexluaqrcode}
TeXhackse commented 2 years ago

You are on the corresponding branch?

Oh and are you compiling using lualatex of coursE?

TeXhackse commented 2 years ago

Ah sorry, my fault - I have to adjust the build script to include the scriptfiles - give me a few minuts. I am currently working on the docs for this.

TeXhackse commented 2 years ago

Build script is fixed. Full example would be: similar to the one in #10

\documentclass{article}

\usepackage[qrmode=lua]{qrbill}

\begin{document}

    \QRbill[
    creditor*={foobar LLC\\
        Postfach \\
        404\\
        2342\\
        Zürich\\
        CH},
    Account=CH1280808005649899718,
    % insert additional data here
    ]

\end{document}

Note: I know the margins are not set up for testing this shouldn't make a difference and article is much more lightweight than standalone.

The-Compiler commented 2 years ago

It just occurred to me that I have no idea how to test this :sweat_smile:

I thought I could clone the repository to ~/texmf/tex/latex (like I did with some beamer templates), but it looks like it's still being picked up from /usr/share/texmf-dist/tex/latex/qrbill/qrbill.sty instead - which makes sense, because no .sty is built yet.

So I trued running lualatex qrbill.dtx, but that fails with:

! LaTeX Error: Unknown option `hyperref=false' for package `doc'.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.64 \usepackage
              [cache, langlinenos]{minted}

Am I going about this in the wrong way entirely? Is there something I need to do with e.g. the build.lua? I tried to search for how to build a lualatex package properly, but didn't really find anything...

TeXhackse commented 2 years ago

Oh - okay - i should add a note on this to the README… sorry too many paid projects atm so this one has to be set behind those.

You can pull it an run l3build install to install it to your local texmf tree.

l3build uninstall would remove it again.

Still you would have to copy the luaqrcode library files either into your working directory or also install them into your TEXMF tree.

TeXhackse commented 2 years ago

Did this work out now? I also included that information to the README and if you don't have any other issues I'd now merge that as well.

TeXhackse commented 2 years ago

It's merged. I will leave this one open anyway because it's not yet working directly without manual installation of the library.

The-Compiler commented 2 years ago

l3build install did seem to work. But I still get the system-wide version picked up when trying to build a document. Nevermind though - I'm fine with the workaround for the time being. Thanks for the guidance though!

TeXhackse commented 2 years ago

Concerning the difference between the versions, are you running the compiler as the same user as you did run l3build install?

l3build is created for installing within $TEXMFHOME that location is set per user.

You could make it installing in $TEXMFLOCAL by running

l3build install --texmfhome `kpsewhich --var-value TEXMFLOCAL` 

but this works differently from $TEXMFHOME therefore you would have to run texhash or mktexlsr afterwards to update the file name database.

TeXhackse commented 2 years ago

We will include qrencode.lua with the next release. Received the permission to do that today :)