12:04 AM
@egreg New user here. Sad indeed. I hope he rests in peace.

12:35 AM
Please all the users here, don't mind me asking this question in this scenario, but do any of you know where can I check the tex source code of a SVJour3 template paper.

@user27286 impossible to say. There is no reason to suppose in general that an author makes sources available. It depends on the paper.

I see. But most of the time, arxiv paper authors make it open source. That's why I assumed same for these papers.

1:05 AM
@user27286 arxiv has a policy that tex generated submissions have to include the tex source. But if someone makes a pdf available from their own site they can do whatever they like. In any case the availability of the source is unrelated to whether or not the source uses a Springer document class.

1:28 AM
@user27286 -- I can't say for sure, but there is a zip file on this page (springer.com/gp/livingreviews/latex-templates) under the heading "Springer LaTeX templates". You might look there.

1:56 AM
I don't know if this has been discussed before here or on some mailing list, but I just noticed (www-cs-faculty.stanford.edu/~knuth/news.html) that DEK has recognized 5 bug reports in TeX/Metafont, including (I'm guessing based on www-cs-faculty.stanford.edu/~knuth/boss.html) one by Bruno Le Floch :)
4

5 hours later…
6:59 AM
@egreg I'm so sorry, RIP. I talked with him many times and I'll miss him very much
3

7:32 AM
Hi, dear community. With due respect for those who passed away, I want to ask you if some LaTeX package is suitable for mazes and similar puzzles. I'm afraid I'm reinventing the wheel by writing something for ConTeXt. I hope my question doesn't bother anyone in current circumstances

@JairoA.delRio there is labyrinth

@Skillmon Oh, thank you a lot. It does solve them (nice). I've used a Lua library for that instead. I'll have to look at the code.
@Skillmon Mine look like that (done using MetaPost). Duck jokes aside, it would be nice to have a bundle of packages/modules for such things.

8:20 AM
@DavidCarlisle Can you find someone else to blame this time? ;-) Showkeys and eqref prints undesired labels in equation

@campa I think @UlrikeFischer might be upset if you deny her the blame.

8:35 AM
@HaraldHanche-Olsen ooh

8:46 AM
@campa @UlrikeFischer

@egreg Very sorry to hear that. He was a very nice member to interact with.

9:15 AM
TIL: there is a gene called Sonic Hedgehog Gene XD

@Plergux OH MY

9:28 AM
> Fall Guys’ mid-season patch adds a new stage and penguin murder
oh no

10:01 AM
@PauloCereda Penguin murder????

@PauloCereda How mental

@JairoA.delRio I am not a fan of that game...

10:16 AM
@PauloCereda I'm not either. Any games with bird-killing scenes, even sweetened or figurate, are uncomfortable to me
@PauloCereda The title is somewhat funny, tho

@JairoA.delRio :)

@PauloCereda Have you heard Chico Buarque? His music is pleasing imho: youtube.com/watch?v=wBfVsucRe1w

@JairoA.delRio Yes. :) I like some songs of him. :)

@PauloCereda Great. Any song suggestions? I've heard some of them because they were translated to Spanish, but the original one are far better :)

@JairoA.delRio Oh give me a minute, will suggest some. :)

10:29 AM
@PabloGonzálezL New media4svg has arrived on ctan. Will be in TeXLive tomorrow, most likely.

@AlexG Oooh
@UlrikeFischer With something checked in for opacity, I think I'll look again at Unicode data loading in pdfTeX ...

@PauloCereda Oh, long list <3

@JairoA.delRio I like these ones. :)

@JosephWright I hope I didn't break something. For now, at least lthooks are taken into account.

10:32 AM
@JairoA.delRio The last one (Maninha), he sings with her sister, who is also a famous singer. Maninha is a way of writing Irmãzinha (hermanita).

@JosephWright could we do the pdf destination stuff and bitset first? @AlexG would like to try some of the pdfresource stuff, but it would be good if there were not too many loose ends here.

@UlrikeFischer Right, that might be good
@UlrikeFischer OK, I'll move that up my 'menu' for lunchtime :)

@PauloCereda Mulheres de Atenas is so touching.

@JairoA.delRio it is, I like that song a lot. :)

@PauloCereda That's new. I didn't know he had a sister

10:35 AM
@JairoA.delRio Yes, Miúcha: es.wikipedia.org/wiki/Mi%C3%BAcha

@PauloCereda I've found this. Soothing voice: youtube.com/watch?v=uSiG6JXGQyo

@JairoA.delRio It is!

@PauloCereda Brazil has many great singers! You're really fortunate :D

@JairoA.delRio We also have some terrible ones, sadly, which are insanely popular. No one from my generation on listens to the good ones... :(

@JairoA.delRio oh, quite nice for a cat ;-)

10:50 AM
@Rmano Oh the irony. I have the cat because of his bottle only. It says 냥이슬, which is a parody of a Korean beverage
@Rmano Some context: the beverage is 참이슬 (written sometimes as Chamisul). The cat in my avatar has something which says something like "Meow-isul" :)

Ah. Google translate that to me as Catfish

ooh los bagres

@Rmano Ah, weird. Google Translate is broken for Korean. I'd use Papago/Naver, roughly the South Korean version of Google

Now it says just Cat. Weird. Temperamental translator...

@Rmano In fact I'm not fan of cats. My girlfriend owns some ducks and pigeons, so there's a no for us anyway
@Rmano lol. 냥 (nyan) is "meow", so I guess the translator did a bit of a stretch
@PauloCereda A Peruvian writer once published "El bagrecito", an optimistic tale... for kids, I think. It is very known in our schools. Is it "bagre" in Portuguese, too?

10:59 AM
@JairoA.delRio Yes. :)

@PauloCereda Los bagres son deliciosos. Las truchas también

3 hours later…
1:35 PM
@AlexG Great :)

2:08 PM
@UlrikeFischer Looking back, other than a bit of cleanup, l3bitset seems ready to merge: right?

@JosephWright yes. The only real open point imho is to replace the regex which checks for a number at some point with a faster test, but as this is internal it can be done later. Did you see anything else?

@UlrikeFischer Not on a first pass: I'll do a detailed sweep in a bit, then merge I think

@JosephWright I suspect a number of "s" at the end of verbs will be missing or too much--I always find at least one when I look at my texts.

@UlrikeFischer I'm working on typos and the like, plus code style to match the rest of expl3: I think I can be done shortly

@JosephWright thanks.

3:02 PM
@UlrikeFischer I spot a few efficienceis to make: give me an hour or so

@JosephWright sure, no problem.

3:16 PM
@UlrikeFischer what is the regex that should be matched?
@JosephWright uhh, efficiencies. Should I take a look as well? :)

@Skillmon a simple positive, unsigned number  \regex_match:nnTF { ^[\d]+$} {#2} (surrounding trimming spaces would be nice/ok too) 3:42 PM @Skillmon Not those time of efficiencies ::) @UlrikeFischer I can provide something expandable (which should be faster than l3regex), or something unexpandable (which should be faster than both, in most cases, but breaks for numbers > \maxint) @Skillmon it doesn't to be expandable (as the regex works), and it doesn't need to work for numbers larger than allowed for int (then the rest would break, and I doubt anyway that large numbers will be used it). No movement today in the l3build repo ...I had bought popcorn :) 3 @Skillmon luakeys one more to your comparison list :D @PabloGonzálezL stop :) \cs_new_eq:NN \check_number_stop: \exp_stop_f: \prg_new_protected_conditional:Npnn \check_number:n #1 { TF } { \tl_trim_spaces_apply:nN {#1} \check_number_aux:n } \cs_new:Npn \check_number_aux:n #1 { \group_begin: \tex_afterassignment:D \check_number_aux:w \count \exp_after:wN \c_zero_int \tl_to_str:n { 0 #1 } \check_number_stop: \prg_return_false: \use_none:nn \check_number_stop: \prg_return_true: } \cs_new:Npn \check_number_aux:w #1 \check_number_stop: { \group_end: } 3:55 PM @PauloCereda Hehe, for changes as big as those proposed, I would have tried to create l3build-dev compatible with everything that is already there and then have changed...in perl you usually do that when the changes are too big :), anyway, this soap opera entertains me in the evenings :p @UlrikeFischer ^^^ maybe @JosephWright will mock the coding style. @PabloGonzálezL "big changes" @PabloGonzálezL not really. I took a quick look, and it seems like it is useful when using a key=value interface to some luacode, but not really suitable for use in LaTeX code. @PabloGonzálezL wait, is l3build broken? @Skillmon not yet no :) @PauloCereda what's happening? 3:58 PM @PauloCereda too big, and when backward compatibility is important, it is not so simple. @Skillmon nothing, just some discussions regarding development. :) @PabloGonzálezL too big? @PauloCereda Modifying variable names and so on is one thing, but changing global/local when something works requires a lot of debugging time (I assume it is the same in Lua as in other languages). @PabloGonzálezL Everything is challenging. :) 4:05 PM @PauloCereda It involves a lot of rewriting, I assume it's worth it from the arguments I've read, but it's a lot of work just to make it all fit the standard :) @PabloGonzálezL I'd rather not comment. @PauloCereda Jeje, los patos saben guardar silencio :) @Skillmon, @UlrikeFischer I did a bit of tidying; havne't changed the digit test just yet @PabloGonzálezL There is a need to tidy up a bit; I only got some of it done before. But yes, it's low priority for me @JosephWright regarding "Does anyone know of any Lua linters?": ALE (the asynchronous linter engine for VIM) knows luac, luacheck, and luafmt (no idea which can do what...) @Skillmon As I commented there, I was thinking of a linter that it itself a Lua script so one can run it on Travis-CI 4:10 PM Oh no, now the thing is back. @JosephWright I don't know which of these is what, ALE doesn't lint itself, but uses external tools, so these should be external tools. (I just knew a place in which I could quickly look up linters, being the help files of ALE) @JosephWright luacheck seems to be written in Lua 4:29 PM \cs_new_eq:NN \check_number_stop: \exp_stop_f: \prg_new_protected_conditional:Npnn \check_number:n #1 { TF } { \tl_trim_spaces_apply:nN {#1} \check_number_aux:n } \cs_new:Npn \check_number_aux:n #1 { \group_begin: \tex_afterassignment:D \check_number_aux:w \count \c_zero_int 0 \tl_to_str:n { #1 } \check_number_stop: \prg_return_false: \use_none:nn \check_number_stop: \prg_return_true: } \cs_new:Npn \check_number_aux:w #1 \check_number_stop: { \group_end: } @UlrikeFischer above code had an unnecessary \exp_after:wN for which there is no excuse. This ^^^ is better. @UlrikeFischer I don't know what's wrong with me, but that version still has much unnecessary code. But I'm getting closer, I promise :) \cs_new_eq:NN \check_number_stop: \exp_stop_f: \prg_new_protected_conditional:Npnn \check_number:n #1 { TF } { \group_begin: \tex_afterassignment:D \check_number_aux:w \count \c_zero_int 0 \tl_trim_spaces_apply:nN {#1} \tl_to_str:n \check_number_stop: \prg_return_false: \use_none:nn \check_number_stop: \prg_return_true: } \cs_new:Npn \check_number_aux:w #1 \check_number_stop: { \group_end: } @Skillmon You should of course use a proper \l__check_internal_int here ;) why tl_to_str? (although as @PhelypeOleinik just commented it isn't clear if we should be testing here) @Skillmon ;-) . @DavidCarlisle I'm no fun @JosephWright yes, that's right, but this was never meant to go into expl3 as is :) 4:37 PM @DavidCarlisle well I think it should be possible to test if a bitset-key exists (and so can be set) similar as you can test if a prop key exists. And this requires to cover the virtual integer keys. @DavidCarlisle because the regex which this is equivalent to is \d+, so we don't want \def\ONE{1} to be a valid number here. @UlrikeFischer And are integer keys ever used? Can't we go for named only? @Skillmon I think you do want that to be a number in the context of where this test is used @UlrikeFischer but can't you ask if bit 5 is set with one function and ask if bit wibble is set with another? @DavidCarlisle don't blame me, I just saw the the regex and the addition that surrounding spaces should be ignored. That's what I've implemented. If any number expression should be valid this test would look different :) @PhelypeOleinik yes and no. 4:40 PM @Skillmon it's @UlrikeFischer's code but I think you want to test for a <number> the regex test was just an approximation to that @UlrikeFischer bad and good :) @DavidCarlisle sure but why should one? Would you write one function to test zzz and the other to test for blub? The numbers are not numbers, they are not used for calculations or so. @UlrikeFischer they are array indexes so are numbers really. Of course you could get named access just by \def\wibble{5} then input of 5 or \wibble would be the same (tl_to_str issues being resolved) It's not much different saying you have \foo:N function that takes a count token and \foo:c that takes the name of a count. @PhelypeOleinik well actually it was a bit wrong: all bits are named, only that the predefined names are 1,2,3,4, ... ,100. And additionally you can add more names if you want. @UlrikeFischer if it was implemented that way you wouldn't need to test. 1 would work as the name "1" you wouldn't need to check it was a number 4:48 PM @DavidCarlisle then I'd say hard to do reliably. E.g., 0 is a valid number, but the quick test with a preceding 0 will throw false. @DavidCarlisle well as I wrote on the list: one could implement it so that the test is not needed. I only would have to prefill the prop with the names 1,2,.., some sensible maximum. Perhaps I should do it, and then ask the efficiency fraction to speed this up by using a number test instead ;-) @UlrikeFischer well no if it's documented that way the test is more reasonable. question then is if you allow a <number> eg \@ne or if it has to expand to a decimal digit sequence @UlrikeFischer Well, yes, the number test is faster than checking if 1234 is in a prop list with 999999 elements. My point is that nowhere else in expl3 the meaning of the argument is guessed, so it would be strange to add here. The numbers are just to have an index in the binary string? @DavidCarlisle the regex test quite explicitly tests digits: ^[\d]+$. Not even a sign is allowed. It really has to be the exact name for a key, like bar or foo.

@UlrikeFischer boo (the numeric version ought to allow numbers:-)

5:06 PM
@DavidCarlisle but then we would really start to guess and @PhelypeOleinik would be right. It is imho ok to assume that "1"=1 is in the prop without actually adding it, as I could add it if I wanted to change the implementation, but I can't start to assume that "0+1"= 1, "+1" = 1, "4/4"=1, "3-2"=1 etc is there too.

@UlrikeFischer Yeah, everywhere else expl3 gets a number as argument, it is an <integer expression>, so here I'd go for making the argument a <name> and let the number be an implementation detail
@DavidCarlisle I believe The TeXbook counts as documentation...

@UlrikeFischer if you had a function taking an integer then all those would work like other functions taking an integer as they would get normalised with \numexpr before your code saw them
@PhelypeOleinik bibles don't count

@DavidCarlisle I feel cheated regardless :)

@PhelypeOleinik blame @UlrikeFischer

5:21 PM
@PhelypeOleinik well actually I say "index" or "name" everywhere and not number, and also say that it shouldn't be an integer expression, but I think I missed a place in the documentation.

2
@DavidCarlisle @PhelypeOleinik @UlrikeFischer ^^

@DavidCarlisle what did I do?

@UlrikeFischer took blame

@UlrikeFischer You got blamed, as usual
@PauloCereda Sounds like me ;)

Speaking of regexp @egreg is trying to steal a tick by multiplying the code of showkeys by a factor of a million or two to test if "eq" is equal to "eq" using a regexp.

5:23 PM
@PhelypeOleinik :)
Oct 9 '17 at 20:17, by Paulo Cereda
Slide 1: We have a problem
Slide 2: We use regex
Slide 3: We have two problems

5:45 PM
@PhelypeOleinik I did suggest we just have integers and users can make their own constants if required, but that was not popular ...

@JosephWright I don't know everywhere @UlrikeFischer will use the bitsets, so maybe it does get a bit awkward to define some 30 different constants. But hands down better than the guessing...

@PhelypeOleinik That was the argument against, indeed
@PhelypeOleinik Of course, as @UlrikeFischer says, she did implement a 'two interfaces' version, but someone wasn't so keen

@JosephWright Oh. I definitely didn't copy that from github (really :)

@JosephWright ooh the elephant in the room

@JosephWright @UlrikeFischer That would be the right way, I think, but maybe an implementation that uses only named keys (and if the user wants to have a field named 1, fine) and uses the names to access internal-only indexes is good. The hooks are not indexed per se but they do follow an order which is an implementation details. Everything else is handled with names
@JosephWright With names only, we can make it really fast by dropping props and using \csname-based implementation (and filling TeX's hash table with junk :)

5:54 PM
@PhelypeOleinik Point is that names-only is no good: depending on the use case, you might well just want to set 'bit X'

@PhelypeOleinik well assume someone want a bitset with say 1000 positions, and then creates real names 1,2,3,4,... by filling the prop with a loop. That would be rather slow. it is much easier for the user (and faster), if we document that the names 1,2, ... are predefined but how exactly is an implementation detail. Nobody has to know that if a prop or csnames or a test is used to map a name to an index.
@JosephWright it is ok if I correct something in the l3bitset docu? I realize I forget to delete a sentence which is no longer true.

@UlrikeFischer Sure: I'm trying to get it 'all OK' before merging: seems we have unresolved questions anyway!!

@UlrikeFischer Agreed, but I really don't like parsing the input at such low level (sorry for being so annoying today). I see no reason for not having two different commands

@JosephWright ah, no, I misread the text, it is ok.

6:05 PM
@UlrikeFischer :)

@UlrikeFischer But if I'm the minority, don't let my complaints hold the PR: I know you need that soon. In any case it's in l3experimental, so we can change a bit

@PhelypeOleinik Like I said, unresolved issues :)

@PhelypeOleinik but you are argumenting with an implementation detail not with the user interface. Why from the user view the name "12" should need one command and the name "-12" another? (both are valid, different names).

@UlrikeFischer But from what I understood your specification, if I define a bitset with \bitset_new:Nn \l_my_bitset { a, b } and then \bitset_set_true:Nn \l_my_bitset { 1 } will change a, that's user interface, no?

@PhelypeOleinik That's the idea that a bit can have multiple names: print and Print for example

6:14 PM
\bitset_new:Nn \l_my_bitset { a, b } is not the syntax, the syntax is \bitset_new:Nn \l_my_bitset { a=1, b=2 },

@UlrikeFischer Oh, right. What happens with \bitset_new:Nn \l_my_bitset { 2=1, 1=2 } then? Will 1 access the index 1 or the name 1? If there were two commands, I could clearly say if I'm using a name or an index to set a bit, but with guessing that distinction gets blurry

@PhelypeOleinik then 2 will access position 1, and 1 will access position 2. The argument is always a name, never a index. And if you want to confuse yourself with such a setting it is allowed.
@PhelypeOleinik would this be clearer in the documentation: Individual bits can be set and unset by names pointing to the index of the bit.
The names "1", "2", "3", ... are predefined and point to the positions 1, 2, 3, ...
and can be used directly. Other names can be added. The index position of name can be changed at any time.

6:31 PM
ooh other names

@PauloCereda Throatwobbler Mangrove, for example

@UlrikeFischer uuuh, \keyval_parse:NNn?

@JosephWright ooh TEH NOSE

@PauloCereda :)

@UlrikeFischer I'm not saying that someone will use that naming (and that example was crappy, sorry), I'm trying to make the point that things do get confusing if sometimes names are guessed to be numbers (and as you said, predefining all numbers make it slow, which it does), that's why I would have preferred one function for accessing with names, another for accessing with numbers

6:33 PM
@Skillmon no not really, it is simply put in a prop.

@UlrikeFischer But yeah, this specification makes sense, so go for it

@UlrikeFischer I think we should make that very clear

@JosephWright I will go over the docu and make clear that we always only have names, even if some of them are called "123".

@UlrikeFischer Cool
@PhelypeOleinik Can you live with this for testing?

@JosephWright Testing?

6:50 PM
@PhelypeOleinik l3experimental

@JosephWright Ah, right, yes. As I said earlier, nothing we can't change later if needed

@JosephWright ok done. I use (hopefully) everywhere only "name" for the access argument.

@JosephWright I didn't mean to be that much of a nuisance when I suggested going back to two commands

@PhelypeOleinik no it was fine, it made clear that the docu needed some improvement. It is much better if name and index are clearly separated.

@UlrikeFischer the check posted above doesn't care for signs, so +123 and -123 would be valid numbers according to it (but leading signs could be checked rather easily)

6:56 PM
What could be the reason that in \input{a}\input{b} the first input works, the second fails with "not found"?
Even though both a.tex and b.tex are in the same directory.

@Skillmon no, I really need a replacement for the regex (with additional space trimming): only digits and no signs. I'm not testing for a number but for a name consisting of digits.

@UlrikeFischer yeah, I understood reading a few more of your recent messages. I can do that as well, but it will not be as efficient.

@UlrikeFischer Just saw it. Looks good :)

@PhelypeOleinik yes, I think it is a clear improvement, so thanks for pestering ;-)

@UlrikeFischer Happy to annoy :)

7:02 PM
Does TeX disallow having/inputting files of the form foo-bar.tex?
Previously I had slides-6-foo.tex and slides-6-bar.tex.
Having removed the latter, inputting the first now magically worked
or it was some caching issue?

7:20 PM
\ExplSyntaxOn
\int_new:N \l__bitset_tmpa_int
\prg_new_protected_conditional:Npnn \__bitset_test_int:n #1 { TF }
{
\tex_afterassignment:D \__bitset_test_int:w
\l__bitset_tmpa_int = 0 \tl_trim_spaces_apply:nN {#1} \tl_to_str:n
\__bitset_test_int_end:
}
\cs_new_eq:NN \__bitset_test_int_end: \scan_stop:
\cs_new_protected:Npn \__bitset_test_int:w #1 \__bitset_test_int_end:
{
\bool_lazy_and:nnTF
{ \tl_if_blank_p:n {#1} }
{ \int_compare_p:nNn \l__bitset_tmpa_int > 0 }
@UlrikeFischer Maybe this ^^^ (also gives FALSE with 0, since indexes start at 1)

@DavidCarlisle I got the golden tikz-pgf badge by telling someone about a german ß in tikzpicture ;-)

7:51 PM
@UlrikeFischer only now ? I was actually trying to steal a tick for that question:-)
@ComFreek you mean files with foo in their name or files with - ? (ether are allowed)

@DavidCarlisle well I'm not a master in picture mode, so it took a bit longer ...

Oct 4 '16 at 22:18, by David Carlisle
@Canageek 1st rule of tex support: never believe users when they describe what happened.
@UlrikeFischer clearly so. meanwhile the decorations code ought to detect \UTFviii@two@octets and grab the next byte (I got minted to do that a while ago in similar circimstances)

8:37 PM
@UlrikeFischer oh, wait. It was all fine, my mind was tricking me once again :(
@PhelypeOleinik after \tl_trim_spaces_apply:nN and the \tl_to_str:n I don't think there is any possibility for #1 being blank in \__bitset_test_int:w, and a (really minor) optimisation could be to use \tl_if_empty_p:n instead. Else this looks pretty good.
@PhelypeOleinik oh, and omit the = after \l__bitset_tmpa_int (except if the kernel coding style dictates otherwise) as another micro-optimisation :)

9:00 PM
@Skillmon Wasn't it the other way around? If I recall correctly, omitting = makes TeX look at one token too much (so it can compare with "="), then it has to use back_input` on that token, otherwise just throw it away
@Skillmon Unless there are other optimisation shenanigans that you found out in that scanning (which might as well be the case) (on the mobile now, so I'll have to try later)