scrlayer-notecolumn with lualatex and space in filename
KOMA-Script is a bundle of versatile LaTeX classes and packages
Brought to you by:
kohm
If the LaTeX document's file name contains spaces scrlayer-notecolumn
fails with an error. For example:
% This is file `lua test.tex'.
\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn}
\begin{document}
Hallo.
\end{document}
fails with error:
(/usr/local/texlive/2020/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.s
ty[\directlua]:1: ')' expected near 'lua'.
<argument> ...m {\directlua {slncmdfivesum("\jobname .slnc")}
}\fi
l.930 }
%
?
The problem is, that
\jobname
in this case is"lua test"
. So the expansion of\jobname
already contains"
and"\jobname .slnc"
expands to""lua test".slnc"
, which is indeed wrong.But only filenames with spaces have such a quotes. So removing the quotes in the lua code would fix the space case but break the non-space case.
And
\directlua {slncmdfivesum(tex.jobname .. ".slnc")}
also fails, iftex.jobname
is"lua test"
, because in this case, indeed a file"lua test".slnc
would be opened and that would fail. So it seems we need to remove the outer quote characters if they are there. Any better suggestion?BTW: Function
slncmdfivesum
should be renamed toscrlayer.notecolumn.slncmdfivesum
. And, because the argument is always the same, it could be defined without argument.Last edit: Markus Kohm 2021-03-10
fixed → [r3591]
Related
Commit: [r3591]