@DavidCarlisle @voices The history part of memoir that I assume David is referring to have been moved out of memoir some time ago. It is now a separate document: ctan.org/pkg/memdesign?lang=en
@UlrikeFischer epstopdf got packaged as epstopdf-pkg rather than oberdiek, so broke @JosephWright's mininal texlive test installation (until he added it) Just because I did it (and it wasn't an error) doesn't seem a reason not to blame you.
@AlexG basically the problem is that \pdfximage and \saveimageresource handles quoted file names differently - the second doesn't like them at all. So you need to unquote. The main problem is to get the expansion order right when using macros.
\documentclass{article}
\usepackage{pdfbase}
\begin{document}
\pdfximage page 1 {"example-image.pdf"} %fails with luatex
\makeatletter
\pdfximage page 1 {\unquote@name{"example-image.pdf"}} %works with both
\end{document}
@DavidCarlisle ^^^ (pdfbase does \pdfximage=\saveimageresource)
@UlrikeFischer that would be wrong then I guess (luatex85.sty does the same (@JosephWright) it should define \pdfximage to use \unquote@name as you show I think.
@UlrikeFischer mess around with the token library to scan past the keywords.... It would be easier just to document that the filename shouldn't be quoted (in either case) but I think it could be defined to strip the quotes if needed.
@UlrikeFischer \filename@parse doesn't add quotes before 2019-10-01 or after 2019-10-01 PL3
@UlrikeFischer oh but \@filef@und does. OK.
@UlrikeFischer \pdfximage [ ⟨rule spec⟩ ] [ ⟨attr spec⟩ ] [ ⟨page spec⟩ ] [ ⟨colorspace spec⟩ ] [ ⟨pdf box spec⟩ ] ⟨general text⟩ (h, v, m) hmm it would take a lot of hand parsing, probably not worth it.
@UlrikeFischer I kept the quotes in \@filef@und as it has a trailing space (that the code you show above is removing:-( I'd have like to have removed that but I was scared of existing code doing \@@input \@filef@und and expecting teh filename to terminate at the hidden space
% get number of pages in file given as #1 (file basename); #2 extension;
% store result into macro given as #3
\ifpdf %pdflatex/lualatex
\def\@anim@getpagecount#1#2#3{%
\pdfximage page 1 {\unquote@name{#1.#2}}\xdef#3{\the\pdflastximagepages}%
}
\else
\if@anim@xetex
...
@DavidCarlisle and @UlrikeFischer -- If you would like help getting in touch with the author of the Bangla script article, either Karl or I would be happy to help. But his email address should be published in the article, so I think that should reach him. Just let me know if help is needed/wanted.
4
^^^ We're in Quebec, and our little friends are here with us.
@yo' -- You really don't want to drive in NYC. Better to get a good transit map. If you're thinking of renting a car to get out of NYC (e.g., to drive to Rochester), then getting it at an airport would be better. I'd suggest Newark, since JFK is south of the city, and getting out requires driving through the city. You certainly don't want to drive in Manhattan.
@AlexG since latex2e was introduced in 1993 you have been able to do \@@input\@file@f@und (and latex does that itself in several places) with the space inserted at the end of that macro ending the filename. The only way to support that while allowing spaces in filenames is to add quotes. I could of course remove the quotes and remove the trailing space and adjust those uses that I have write access to, but...
@AlexG every package on ctan that patches IfFileExists will break (again) if I change its definition (again)
@AlexG yes worse that happens if we shuffle this again is that you call unquote@name on something that in future doesn't contain quotes, so you cost a few expansion steps
Would I be correct to think that the aux file should return the same results after a few runs, and continue doing so regardless how many further runs were made?
@HenriMenke since 2016, with @UlrikeFischer's help (he got busy, essentially vanished) so when luatex changed the names of all the primitives they all broke, and he allowed us to step in.
@FaheemMitha the odd thing is that you are writing the labels in a different order so they must be attached to floats that are floating past each other?
@JosephWright I was just going to ask you inf I needed to do that, in magicnum theer is a .txt file that gets docstripped out of the dtx, Heiko put it in the doc tree but docfiles={"*.txt"} doesn't work, I can add it to installfiles but then it goes to the wrong place by default...
@FaheemMitha look at your generated latex file, what order are the labels 1:2019.02.11 and 1:2019.02.18 ?
@JosephWright the existing locations had doc in latex and extracted code in generic as well so i just copied the existing manifest lines exactly and ended with
There is something like gnu make but in LUA, which is multiplatform capable of reading a Makefile (not so complicated) dedicated to a LaTeX project. I know make is available for most platforms, but I'm looking for something like ltxmake.
@DavidCarlisle Yes, l3build is pretty good, but I would be interested to know if there is a script that directly interprets a .mk file without having to modify it.
@JosephWright Of course I'm not looking for you to interpret all the complexity of make, just some basic instructions such as system calls, copying and file creation, compression and deletion.
@PabloGonzálezL yes but they are the hard part, most make files are written on the assumption that rm removes a file or cp copies them etc, so to make it cross platform you'd have to not only parse the make rules but parse every executable line and change it from linux shell to windows cmd (unless you assume that gnu tools are available, but in that case you could just use make)
@DavidCarlisle and @JosephWright That's the exact point I'm looking for...a script able to interpret if it's in win(del) or linux (rm) but transparent to me as users, i.e. the same Make for a win linux project ...the script reads the file, interprets the lines (.PHONY for example) and makes the adjustments according to the operating system.
@PabloGonzálezL but that is what l3build does by providing a lua syntax designed to be cross platform, parsing make files with embedded linux shell syntax and making it cross platform is making things much harder
@DavidCarlisle OK, the final answer is ..does not exist (snif)..., I will try to understand the documentation and change the rules from Make to l3build
@PabloGonzálezL well it might exist (the internet is big:-) but I wouldn't trust it, translating shell commands on the fly to windows cmd then executing them unseen sounds like you need to really trust the conversion.
@DavidCarlisle Mmm, that's a good point, well I have WSL for most things, but not everyone we work on the project has WSL, and forces to write extra .bat files. I found (github.com/garious/flake) but it's a lot more than I need...l3build is the best option apparently.
But it would be interesting if there were a ltxmake in LUA for LaTeX projects only.
@HenriMenke same, basically this only hits people running minimal texlives in CI and I'm not sure how best to do it, ctan didn't want me to split it in one go so they would have to update 95 package catalogue entries all at once, but I really need to split it. So I'm splitting off 4 or 5 at a time...
@HenriMenke well I can't, I don't have access to the tlmgr dependencies, but I could suggest that to Karl I suppose. But actually if you want a minimal installed texlive not installing the entire oberdiek monster and just installing the 2 or 3 bits you need is a win (even if that is short term pain)
@DavidCarlisle Well, if I explicitly say tlmgr install oberdiek I want all of oberdiek and not just the subset that accidentally still happens to be in there.
@DavidCarlisle And once they are all nicely split out and oberdiek is basically just a metapackage that pulls in some dependencies, then you can remove oberdiek and tell people to use the individual ones.
@HenriMenke why? for example why did you want pdfcolmk (that has done exactly nothing since pdftex 1.40 a decade ago) or luatex.sty which defined a lua package loader that's been incompatible with lualatex for some years?
@HenriMenke yes the hooks, I am not sure whether to make that a package on its own or something like ho-hook with a collection like atbegshi.dtx atenddvi.dtx atveryend.dtx auxhook.dtx But yes I will ping you if that is coming up