On Sat, Jul 29, 2023 at 05:33:18PM +0100, David Carlisle wrote: > On 29/07/2023 12:21, LARONDE Thierry wrote: > > But this is exactly my question: is it enough for LaTeX? > > For latex, the only requirement is that all the file primitives use the > same search so \xxx{foooo} > > refers to the same file if \xxx is \input or \(pdf}filesize or whatever. > {note luatex and web2c engines accept \input{...} with braces at the > primitive level.) > > latex also assumes it can use double quotes to guard spaces \input "a b > c .tex" and can use utf-8 filenames {although it won't generate > > such file names unless the input files already use them,} Then this is fine because this has been added too as an "input.ch" that one can find with the Prote things (accessible from: https://kertex.kergis.com/en/prote.html ) and the input stuff is documented here (once more, I made this with the help of Phelype Oleinik who provided me with examples of input and expected output): https://downloads.kergis.com/kertex/input.pdf > > Historically latex could not be proscriptive here as it ran on operating > systems with no extension (sty, cls were implemented as a folder > > cls/article) So this is as I interpreted the "system dependencies": one could enter "foo/bar/this.that" and this was the glue code that made it work on the system (foo could be a database; bar a table; this a record with some field "this" and "that" the corresponding field of the record to input). But for me, a user could type things exactly the same way on whatever system leading to the same result. > on flat file systems with no directories, and other > variants. For many years though now, web2c based systems have dominated and > > mostly file handling has normalised on the "/" path separator, "." > extension and spaces allowed via " quoting. (kpathsea has no way to > input a file with a " in its name) Yes. This is what I have seen and have made things "bug" compatible in this area with the "input.ch". > > > So if the handling of search paths or extensionless files differs in > your implementation, that will not affect latex as a system but may > affect some edge case packages > > or documents inputting Makefile or whatever, but that has always been a > possibility that filenames on one system are illegal on another. No it seems to be fine. I'm not a LaTeX user (but the majority of users are LaTeX ones, so I have to make LaTeX available) but I have to say the way the LaTeX team has made things quite orthogonal to the rest is, in my never humble opinion, quite good (the way even that the proceeding---unpacking---uses TeX instead of relying on varying system utilities is a major step towards "universal" TeX packages). Keep things like this! And now, LaTeX is safe because even if all the engines "du jour" would disappear (because of some patent problem; code/lib compatibility; compiler dependency: C++ etc.), there is a prote.ch and an input.ch that allow you to have a LaTeX compliant engine that can be built on whatever system: TeX + e-TeX + Prote + input -> OK for LaTeX. And there is no strings attached to prote.ch and input.ch. So even if I disappear---whether dropping any work on this area or simply, as anybody, because I will die---the show can go on. Best, -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ http://kertex.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C