Just a quick note to the LaTeX3 team: There's a mistake in the documentation of the \quark_if_recursion_tail_stop_do:N function. The termination function used in the code should be \use_i_delimit_by_q_recursion_stop:nw not \use_none_... as as mentioned in the description
> My first thought for an answer was "yes, otherwise they wouldn't be quarks" as that is the definition, so it's like asking if triangles have to have three sides.
@JosephWright yes sure, I'd started to write something, then drove in, saw yours but decided to post anyway. Depressing how many design decisions come down to "the hash table in emtex was full" ....
@DavidCarlisle It's not just that with quarks: the \ifx equivalence is/was important. Probably if I was starting today I'd just use \relax with lots of names and \pdfstrcmp, but ...
@DavidCarlisle, @UlrikeFischer It occurs to me that \driver_pdf_compess_objects:n should be \driver_pdf_compress_objects:N taking \c_(true|false)_bool. OK to change?
@DavidCarlisle currently it is a number (in line with compresslevel which can be something from 0 to 9). I doubt that one really will ever need anything complicated like a boolean expression here.
@JosephWright fine with me, but don't forget to change the regression-test ;-).
@MarcelKrüger thanks I'll accept the PR at the weekend (I have to update the versioning which is "interesting" in that bundle (the version number appears in a dozen places in each file, i have some custom emacs setup for it...) So I'll leave the PR there so I don't forget.
Speaking of LaTeX 2 vs 3. The LaTeX 2 format or interface or whatever you want to call it is pretty widespread and well known for many years, and seems to work well. Is there actually a problem there that needs fixing? I always assumed the issues were more at the backend, with the programming. TeX/LaTeX programming isn't so easy. And historically has lacked what conventionally would be called an API.
@FaheemMitha at the document level it's not bad which is why almost all l3 work is focussed on tools to write document classes, the top level document syntax will probably end up more or less the same
@FaheemMitha although other interfaces are possible (using the same layout code) eg an xml syntax or whatever you want, that is why there is a separation between expl3 and xparse, xparse is for defining latex2e-like interfaces, but you could have something else defining a different syntax but using the same expl3-defined layout rules.
@FaheemMitha yes, that is a documented stack of tools, starting at expl3, then higher level interfaces something like the xtemplate and xor experiments that you can find in the l3code, which allow you to define a document class and specify layout of headers and tables of contents etc without needing 1001 contributed packages that patch the format in "interesting" ways. But the end result for the document author might be that not much changed.
I've looked at the expl3 and xparse packages. They look like an attempt to provide a standard interface to program against. But if I understand correctly, standard LaTeX 2 hasn't been rewritten in terms of those tools.
@FaheemMitha you can not re-write the latex2e definitions without calling the format something else as you would break everything most contributed poackages patch internal format definitions in uncordinated ways so even just adding a {} or a \relax that does nothing is often enough to break a package, so re-writing the code in a different style has to be done with some care..... This isn't a compiled language where different implementations of the same interface can inter-operate
@FaheemMitha possibly (I assume you mean article rather than document) The top level document syntax really hasn't been done yet but there has to be one that is recognisably "latex"
I am reading this article by Donald E. Knuth and get stuck by this sentence:
Our mathematical language continues to improve, just as “the d-ism of
Leibniz overtook the dotage of Newton” in past centuries.
I know I can get some hints from the reference 4 but I don't think I can fathom the...
@KhaledHosny yes, I wonder if it would be possible for the cslatex files to be out of the default path, probably tricky as everything under texmf-dist/tex is in the last fallback segment of TEXINPUTS
@AlanMunn When I was in Cambridge, it was still common to use y dot for derivative, but only against time. And y dash for derivative is quite common for derivative. I know the firner is Newton's notation, but is the latter too?
@DavidCarlisle I don’t know. But if fonttext.cfg is supposed to be configurable then probably it in’t a good idea to put stuff that should be fixed there.
@KhaledHosny the standard one just inputs fonttext.ltx it's been that way since the start of latex2e I think. But having multiple files of the same name in the tex input tree is a pain, cslatex could be set up not to need that (putting any cslatex setup in cslatex.ini instead) possibly raise on texlive list?
@DavidCarlisle Well I know little about latex and cslatex so I don’t feel qualified to start a discussion, and the issue is not specific to the work I’m doing.
@KhaledHosny well specific to adding a new*latex format to texlive (that happens once in a blue moon:-) I'll see if I can make a coherent suggested change later, no time now.
@KhaledHosny incidentally I got further with trying to compile hartex on cygwin but it complains I haven't got all the X headers I used to be able to compile the whole texlive with --without-x but I couldn't see a suitable option in the harfbuz build script (and I wasn't sure which headers to try to get from the cygwin repositories as an alternative)
@DavidCarlisle You probably need to add that to the build.sh script, it was there and I deleted it mistakenly because the build succeeded for me without it. Let me try to put it back.
@DavidCarlisle I just did, let me know if it helps.
no, but I don't have time now, I'll look later, but `$ ./build.sh --without-x` fails with invalid param, it looked like --make would push without-x to the build but that finally failed in same place === configuring in web2c (/home/harftex/build/texk/web2c) configure: error: Sorry, could not find X include and library files required for Metafont. but as I say need to not look now:-)
I am solving Newton Forward and Backward interpolation.unable to simplify this equation further.
14 + 73x +x(x-5)14 + x(x-5)(x-10).1/2
correct answer is 1/2[x3+13x2+56x=28].
need help to solve this with steps
tex.stackexchange.com/questions/55449/… can someone try to compile this with luatex? I swear it was working on the 2018 version but I can't get it to compile once I switched to 2019
if someone tries and they can't compile it either please let me know so at least I will know it's not my local version that's broken
@Lacey Also, can you try to remember to use the reply link to reply to messages. This makes is easier to understand the chat which is somewhat asynchronous.
@DavidCarlisle Is there a simple reason why the input stream \futurelet\next\z {{x}} works, but \futurelet\next\z {{{x}}} fails with a "Too many }'s" error?
@DavidCarlisle Found the issue. My \z took an argument, and I was doing an \ifx#1\next... which caused the problem. I resolved it by changing it to an \ifx\bgroup\next... test. Thanks again.
@Lacey no, the package load worked fine, the problem is that you had a file x.tex and some package (which was called x.sty but that is not relevant) does \input x.tex and so tex loops.
and using this file with the name "stdio.h" works fine. c understand this by the use of angle brackets, which could be considered as the equivalent of \usepackage i guess
@DavidCarlisle i got that part. im not even arguing against it really, its totally fine. i just wanted to mention that using a filename that is named the same as one of the libs you are using is something that isn't all too uncommon
@DavidCarlisle does harftex do anything differently over luatex IF im not interested in using these letters/codes it supports? that is, are there rendering differences for a document that doesn't need harftex at all?
@DavidCarlisle that is only the technical meaning of compiling though, by all means it does "compile" a thing as one would understand it. if one were to argue for the strict definition of a compiler, then we wouldn't even call a JIT compiler a compiler.
it does give me a binary file just like gcc gives me a binary :p
if i compile a simple lorem ipsum text in luatex and then harftex, would these two produced files look different?
@Lacey sure but the nature of tex as a macro expansion language can't be avoided, \input invokes the primitive file search, \usepackage is simply a macro that expands by essentially textual replacement eventually to \input so the file seach is necessarily the same, but I thought you didn't want to discuss that any more?
@Lacey by default they would be bitwise identical. (actually not, as teh pdf meta data would say harftex or luatex, but if you override teh default metadata for the producer info then...)
@DavidCarlisle im not sure why, but i swear, my files look different when they are compiled with xetex and luatex. i get that they aren't importing literal pixels or anything, but there is something about font rendering that goes on
@DavidCarlisle well isn't the php just text replacement too, as far as the includes go?
it can follow the relative paths just fine though, given they are relative to the file they are being called from
im sure you would agree there is a way which the core team could change the way the input command works that would fix this? -- it wouldn't make sense to do that work for such a small improvement, but it is possible, no?
@Lacey certainly it can't be changed by the latex core team as latex is written in tex, and changing tex (and xetex and luatex and ptex and .... ) in such a fundamental way would be tricky (and certainly wouldn't be accepted as a change to tex which is essentially frozen.
@DavidCarlisle oh absolutely, im definitely arguing a meaningless point just for the sake of it. however it isn't a technical impossibility was what i was getting to
@DavidCarlisle has there been any attempts to create an alternative to tex at any point, by a person or an entity such as a corporation? i mean something that is equal to tex, not a text editor as in ms word or emacs
@Lacey not at the code level I think, but obviously lots of systems use tex-like systems (even Word) I have not tried sile but seen a couple of talks and read some of the specs
@DavidCarlisle oh i use the word"tex" to refer to the general group of things i install via the texlive thing. i have no idea what the "tex" as you guys use it even refer to
sile implements some TeX algorithms (line breaking, hyphenation, the box and glue model) but it does not use ant TeX code since it is implemented in pure Lua (with the exception of the C libraries it uses)
@DavidCarlisle it looks like a tool written to be used explicitly with tex, for tex. like, i would say the c preprocessor is part of the gcc even though it is its own binary
@DavidCarlisle on another topic, how many characters would you say there should be on a line on a given webpage? the number 66 is commonly used in books, but the numbers in web are frequently well above 100 per line
@Lacey the "tex project" is like a "linux project" it is thousands of different projects by different people who do not have write access to other parts. TeX makes device independent (dvi) output, the fact that anyone can then write a dvi driver for their specific device does not make that drive "part of tex" it is by design a separate independent program.
The texlive team may do a fine job of collating these things and shipping them to the user together but they are entirely separate things written by different people at different times
@DavidCarlisle wouldn't you say it uses code from tex though? i mean if we only refer to the absolute core, then yes almost nothing would be influenced by tex
@DavidCarlisle so you consider these as part of tex, just not all the aux tooling?
like if some OS writes their own code for everything and then uses systemd, I would say they have used some linux code, even though they haven't used any kernel code
@Lacey it's not a matter of consideration, tex is a monolithic program it is essentially implemented in a single file (tex.web) (not quite true but close enough for the discussion) dvi drivers process the output of tex so they are clearly not tex similarly editors generate the input for tex so they are not tex either although many users do not see that distinction either and assume texmaker or whatever compiles their document.
@Lacey well clearly not the same binary unless you have access to a stanford sail machine or a PDP10 (I think in later years) but if you use tex (as opposed to pdftex) then it is still his original source code (tex.web) but through a modified compile chain that converts the web source code to C rather than pascal (as pascal compilers ar thin on the ground these days) there are some extensions (e-tex) but these are disabled in the version that runs if you use tex
@Lacey latex is written in tex but in a way that is portable to several extended tex-like systems. pdftex and xetex incorporate knuth's original tex.web source code each time they are compiled, luatex does not, it uses a set of C files done a s a one-off translation from Knuth;s web sources ten further modified
@Lacey sorry you lost me and it's late. there are loads of answers on site explaining the difference between latex and tex and betwen tex and luatex etc