« first day (5118 days earlier)      last day (34 days later) » 

04:44
I'm reading tikz.code.tex and I don't understand line 2072.
\def\tikz@command@path{%
  \let\tikz@signal@path=\tikz@signal@path% for detection at begin of matrix cell
There's a \let used on the same macro name. This is confusing. Also, I'm not familiar with the = symbol in a \let expression. Maybe it could be that…
TeX wiki book says:
\let<new-command>[[<spaces>]=]<original-command>
\let allows you to copy the content of a command into a new command.
05:03
@egreg tex.stackexchange.com/a/730103/52406 upvoted for first sentence.
 
2 hours later…
cfr
cfr
06:42
@Skillmon:
$ l3buildchroot -h
Usage: l3buildchroot [options] -r <chrootdir> [--] [l3build args]
 Run this script in a PKGBUILD dir to build a package inside a
 clean chroot. Arguments passed to this script after the
 end-of-options marker (--) will be passed to l3build.

 The chroot dir consists of the following directories:
 <chrootdir>/{root, copy} but only "root" is required
 by default. The working copy will be created as needed

The chroot "root" directory must be created via the following
command:
    mkarchroot <chrootdir>/root base-devel
@mickep ;)
@DavidCarlisle it even works, which surprises me a great deal. (at least, I can unpack the clone.)
user image
3
I got two palindromes neatly separated by comma.
cfr
cfr
@Skillmon is double-counting allowed?
07:14
@cfr well, this way @DavidCarlisle can't complain, because it's only a list of palindromes.
07:43
Happy Monday!
3
 
1 hour later…
08:51
A poor colleague made a reprint of his book from a new installation, and now all of a sudden some \mathcal{H} come out as \mathbb{H} and so on and so forth. The publisher uses minion, but other font packages are also loaded... And then with an even newer installation, he got even more places where the \mathcal was changed into \mathbb...
09:05
@Skillmon I'm sure I could complain about something
@mickep "don't believe what the user says" ?
09:47
@cfr looks interesting, though I think if you want to release it it'd be better if it wasn't restricted to Arch (based) Linux.
 
2 hours later…
11:18
@DavidCarlisle I saw it on his computer, so it is for some reason happening (I see no complaint about too many alphabets). I cannot even try. I pulled texlive-full, and still do not have MinionPro.sty and MyriadPro.sty, so. Well, well, let's go the ostrich method... @PauloCereda loves ostriches.
@mickep oh try \setcounter{localmathalphabets}{0}
@DavidCarlisle Where?
anywhere in the preamble (it defaults to 2 but it's a newish feature and setting it to 0 disables it)
@DavidCarlisle Thanks, I will let him try.
If it is that then it's a bug but might be hard to reproduce with a small example 9latex tries to recycle some \fam to avoid hitting teh 16 limit, but if it goes wrng you would get broken math alphabet mappings......
11:27
@DavidCarlisle he had a very small example where it failed. But he is away for lunch at the moment... The exampl involved some bold package and minion, so probably a mess.
@mickep the file itself doesn't need to be big but you need to specify more than 16 math fonts and use more than 14 of them to trigger the localaphabets feature then you need to use some vaguely reprorted but probably correct nested math-in-math cases to force latex to mess up its fam assignments. You could tell him to use luatex....
@DavidCarlisle he is using luatex...
11:44
@mickep ooh replace 16 by 256 in the above then (or more likely some package that doesn't know luatex has more \fam)
@DavidCarlisle The \setcounter seems to have solved his problem, at least the minimal one.
Hm, he uses the MinionPro package, which seems to impose type1 fonts, I wonder if that works well with luatex.
 
3 hours later…
14:27
@mickep thanks that;s definitely a bug, we have a couple of failing tests but not really good enough to trackdown and not i think with luatex, if you can make any kind of example you could send privately to me, if the author doesn't mind.
@mickep it might be tricky to make a typical minimal example as it depends on the order you declare the fonts and the order you use them in different math formula as the basic idea is that once it gets to within the counter value of the max number of families it "undoes" the last assignment after the math so the pdftex limit is 16 families per formula rather than 16 families per document, but with luatex it should be more anyway....
14:59
@DavidCarlisle Thanks! You have mail. Not sure about the quality of that example file, though...
@mickep thanks.
cfr
cfr
15:30
@Skillmon I don't want to release it ;).
 
2 hours later…
17:06
@DavidCarlisle You have to tell me if you can make the example to work at your end.
once tested...
@mickep yes not had chance to unpack it yet (and I need to fix amsmath \dots (again) but I'll look tonight
@DavidCarlisle Oh, is it broken?
@mickep only if you have \dots at the end of an alignment cell and loaded array
@DavidCarlisle Oh. Good luck with that.
17:25
@mickep because the behaviour if you futurelet from a table cell into the halign end template and the first token in the end template is a \protected macro whose first token in the replacement text is a primitive \if is completely self evident and hardly even needed testing.
@DavidCarlisle I'm happy I do not have to understand that. :)
or get it right...
@DavidCarlisle :)
 
1 hour later…
18:41
user image
4
@Skillmon ^^ awwwww
cfr
cfr
@PauloCereda <3
@PauloCereda handy lunchbox sized version
@DavidCarlisle oh no
cfr
cfr
@DavidCarlisle so mean.
18:52
Jun 29, 2017 at 16:15, by Paulo Cereda
@DavidCarlisle you are not mean :)
cfr
cfr
anybody know if doctools is incompatible with current latex?
@DavidCarlisle pre-pandemic claim.
@cfr well it produces
Package kvoptions-patch Warning: kvoptions-patch is not compatible with
(kvoptions-patch)                LaTeX 2024-11-01
(kvoptions-patch)                Loading is aborted on input line 48.
but how well it works without kvoptions-patch I don't know (I never tried it)
cfr
cfr
19:07
@DavidCarlisle it's only a guess. building prooftrees docs hangs with updated tl. something to do with listings.
@DavidCarlisle that's not the problem. I get that locally, too, but it compiles fine.
@cfr is "no" the correct answer to this question?
memoize-extract.py: Python module 'pdfrw' was not found.
Have you followed the instructions is section 1.1 of the manual?
@PauloCereda such big hands :P
cfr
cfr
@DavidCarlisle define 'correct'?
19:23
@cfr "honest" but apart from not having read the manual I can confirm (even with that warning) it hangs on listings in tl2024 and seems to progess in tl2023 (it's on about page 13)
cfr
cfr
memoize uses perl by default, but then you have to install the perl thing it needs. python is faster, requires pdfrw, but isn't part of texlive on windows. (you can also use tex to do the extraction, but that's not recommended.)
pip install pdfrw ?
cfr
cfr
@DavidCarlisle it also builds in a chroot for me which doesn't use the november tl release.
@DavidCarlisle well, I used pacman or apt. on github, sudo apt-get install ghostscript python3-pdfrw.
@samcarter maybe a tiny wabbit :)
hmm don't want to touch my cgwin setup, apt install python3-pdfrw worked fine for my upbuntu texlive
cfr
cfr
19:31
@DavidCarlisle you mean it compiled or pdfwr installed?
the latter
19:47
@PauloCereda aww, looks fluffy
cfr
cfr
19:57
@DavidCarlisle if I cancel a github action, will I lose the log?
@cfr er, not sure
@Skillmon Thanks again! The hint to expandable looping functions was very helpful!
@cfr well I think it is cleveref. It patches into listings too and this probably needs an adjustment too. But a minimal example is rather difficult to build from your document ...
20:16
@JasperHabicht you're welcome. It is in principle possible (though computationally more expensive) to define the looping functions such that they don't need to restore their state at the end. Something like:
\documentclass{article}

\ExplSyntaxOn
\cs_new_protected:Npn \jasper_seq_map_inline:Nn #1#2
  {
    \group_begin:
      \cs_set:Npn \__jasper_seq_item:n ##1 { \exp_not:n {#2} }
      \exp_last_unbraced:Ne
    \group_end:
    { \seq_map_function:NN #1 \__jasper_seq_item:n }
    \prg_break_point: \prg_break_point:Nn \jasper_seq_map_break: {}
  }
\cs_new:Npn \jasper_seq_map_break:
  { \prg_map_break:Nn \jasper_seq_map_break: {} }
\cs_new:Npn \jasper_seq_map_break:n
  { \prg_map_break:Nn \jasper_seq_map_break: }
@Skillmon \jasper_seq_map_inline:Nn already is too crazy for me ...
@JasperHabicht too late, already named after you.
@Skillmon =D That's okay ... I take it as a challenge
(btw. the code above is missing a \cs_new:Npn \__jasper_seq_item:n #1 {} outside the definition of \jasper_seq_map_inline:Nn to be well behaved expl3)
@Skillmon Yes, that I can see =D
20:25
@JasperHabicht also, kernel code would most likely use \__jasper_tmp:n instead of that fancy name.
What is the idea of expanding stuff after \group_end: exactly? I saw this in other contexts already ... also as \expandafter\endgroup... I think. Why would I do this?
@JasperHabicht in this case because at \group_end: the definition of \__jasper_seq_item:n is restored to whatever it used to be outside the group, but we want it to apply before the group is closed, but the results should be outside the group. That's the general idea behind \expandafter\endgroup and the like: Evaluate something with the meaning inside a group, but get the results of it outside the group's scope.
Can you push things out of the group this way? Ah, okay, yes. I see!
@JasperHabicht \begingroup\def\tmp{Awesome, smuggling is legal}\expandafter\endgroup\expandafter\def\expandafter\tmp\expandafter{\tmp}. Yes you can.
@Skillmon Crazy!But good to know
20:30
@JasperHabicht it's a rather common trick in low level TeX coding.
@Skillmon Yes, I saw it quite often, but I never really understood why you would do this. It makes sense though!
@JasperHabicht for instance a fast and unexpandable test for an undefined macro is \begingroup\expandafter\expandafter\expandafter\endgroup\expandafter\ifx\csname #1\endcsname\relax Undefined\else Defined\fi. It works by first building a \csname, which will automatically have the meaning \relax if the macro isn't defined, yet, then evaluate \ifx, but closing the group just after that so that we don't accidentally define a macro to \relax that shouldn't exist.
Hmm, alright
Oh, and then my tired eyes see the next thing I recently tried to understand but gave up too early: these breakpoints ... =D
20:53
@JasperHabicht :) Those are just cleverly created right-delimited macros. Something like \def\foo #1abc{} that gobbles everything up to abc. \prg_map_break:Nn is actually gobbling up everything until \prg_break_point:Nn, then it compares the token after that with the first argument it got. If those are the same thing it's done and inserts its second argument, otherwise it loops, gobbling until the next \prg_break_point:Nn and checking things.
@Skillmon Oh, okay
@Skillmon I will experiment with this a bit in order to get a better understanding of it.
@JasperHabicht would it help if I wrote its definition in plain TeX syntax?
cfr
cfr
@UlrikeFischer it was not designed to be minimal. if I manage to reproduce the problem locally, I'll try to produce a minimal example, but I can't do that while the whole thing insists on compiling fine ....
Thanks for all your time and explanations! I'll never really become a true TeXnician, but I am always eager to learn in reasonably sized steps
@Skillmon Unsure, probably not =D
I see, ´\prg_break_point:Nn` is just \use_ii:nn ... I just read the definition in l3basics I think I get it roughly
21:22
@cfr I have a minimal example.
cfr
cfr
@UlrikeFischer care to share? I was about to make one as I've just reproduced the hang.
@cfr this here
\documentclass{book}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
\begin{lstlisting}
blub
\end{lstlisting}
\end{document}
@cfr or perhaps not. I had disabled the firstaid. I need to recheck ...
cfr
cfr
21:44
@UlrikeFischer hangs for me. thanks.
22:10
@cfr could you try this (after hyperref/cleveref):
\makeatletter
\NewSocketPlug{refstepcounter}{cleveref}{\ifHy@pdfstring\else#1
  {\firstaid@cref@updatelabeldata{\@currentcounter}}%
 \fi}
\AssignSocketPlug{refstepcounter}{cleveref}
\makeatletter
@UlrikeFischer :-D cleveref is annoying Ulrike enough for her to suggest dubious alternatives...
@gusbrs I wouldn't call the alternative dubious, but you are right: currently I'm annoyed enough to suggest everything as long as it has a maintainer that I can annoy in return ...
@UlrikeFischer I get it of course. It is a little sad, really. It wouldn't actually take much to adjust, but he insists on "zero maintenance"... Probably because he knows "someone" will have to deal with it since the package has a large user base.
@gusbrs are you in contact with the author?
@DavidCarlisle Not at all. Last I tried I wasn't able to reach him. If I recall, Ulrike was able to get some sort of answer.
22:42
@UlrikeFischer how much longer till there is a new answer to tex.stackexchange.com/questions/36295/…?
23:08
@Skillmon I did ping Mico once directing him to zref-clever because of that answer... Don't remember where though.
@gusbrs nah, that package has a very unreliable author :P
@Skillmon I know, I know him and can assure you! :-D
(jokes aside, stuff that has "EXPERIMENTAL" on the first page might however scare away some users)
@Skillmon But it is really. The package has a lot of stuff which I wish I had designed better and would deserve to be redone... and I'd like to one day.
@Skillmon never worked for afterpage
23:12
@DavidCarlisle You can always say "I told you..." :-)
@gusbrs I do
@DavidCarlisle yes, but that also had the wrong author name on it to scare away enough users. If you had wrote longtable man everybody would've understood and fled.
@Skillmon anyway the only cross ref package worth considering is showkeys
@DavidCarlisle Not xr?
@DavidCarlisle nah, too many lines of code, can't be stable enough.
23:16
@Skillmon Some Italian bloke doubled the code to do \cite as well as \ref, so not my fault
Nappy time for me :) Fare and rest well guys (and gals)

« first day (5118 days earlier)      last day (34 days later) »