6:05 AM
> I will ignore any bug report against TeX Live packages concerning
Python henceforth.
Oh, dear.
Does TeX Live have significantly much Python in it? I would not have thought so. I know there is PythonTeX.

1 hour later…
7:23 AM
@FaheemMitha No

8:01 AM
@JosephWright Ok.

8:42 AM
@JosephWright I know and understood this, I just wanted to see whether \keyval_parse:NNn does so, too.

@Skillmonlikestopanswers.xyz It's just a higher-level feature

@JosephWright I wanted to see what I have to do to get a fully expandable replacement (I'll see whether I can match the kernel's coding standards and perhaps send a pull request, let's see what my free time permits).

9:26 AM
@WillRobertson @DavidCarlisle @egreg the flexisym package (loaded by breqn) breaks the minus in listings. Any idea what one could do to repair this:
\documentclass{article}

\usepackage{flexisym}
\usepackage{listings}

\begin{document}
\begin{lstlisting}
1-2
1+2
\end{lstlisting}

\makeatletter
% breaks the plus too if one add this similar to the
% \lst@ProcessOther {"2D}{\lst@ttfamily{-{}}{$-$}}
% in listings:
\lst@CCPutMacro
\lst@ProcessOther {"2B}{\lst@ttfamily{+{}}{$+$}}
\@empty\z@\@empty
\makeatletter
\begin{lstlisting}
1-2
1+2
\end{lstlisting}

% resetting the mathcodes work:
\mathcode\-=8704
\mathcode\+=8235
\begin{lstlisting}
1-2

10:00 AM
@UlrikeFischer Just never load flexisym. ;-)

@egreg I never do for myself ;-)

@UlrikeFischer You can do
\lst@CCPutMacro
\lst@ProcessOther {"2D}{\lst@ttfamily{-{}}{$\mathchar8704$}}
\@empty\z@\@empty
The problem is that listings makes - active and assigns it a meaning that's different from what flexisym expects.

10:22 AM
@egreg yes, that works. How reliable is the number? But actually I think the best solution is now \lst@ProcessOther {"2D}{\lst@ttfamily{-{}}{\textminus}}. In all the other processing commands listings uses text commands, only the minus switch to math -- probably as the textcomp command wasn't available.

@UlrikeFischer That's probably better, yes

@egreg mail sent to the listings maintainer.

10:37 AM
@UlrikeFischer github/listings-fixed ....

@DavidCarlisle craving for another github? But listings has been updated a few month ago, so ...

@UlrikeFischer no offering you one

11:08 AM
@DavidCarlisle is there a cider included?

@UlrikeFischer pull request from github.com/clojure-emacs/cider

@DavidCarlisle is original english cider or some foreign copy?

11:32 AM
@UlrikeFischer emacs flavoured. The best.

4 hours later…
3:12 PM
@JosephWright did you see the l3backend question?

@UlrikeFischer No
@UlrikeFischer Hmm, I'm concerned that XeTeX is only really meant to work with xdvipdmx, so this is in a sense an 'abuse'

@JosephWright it probably depends a bit what the dvisvgm code is actually doing. And if there is a gain compared to the dvilualatex route.

@UlrikeFischer I guess we just adjust to support it; there's no real downside

3:31 PM
@JosephWright or we could try your idea of a svgxelatex - the user need a special call anyway if he wants to add -no-pdf

@UlrikeFischer Hmm, yes, that's a possible, but one might argue here for xetex --svg as xetex --no-pdf && dvisvgm

3:44 PM
@JosephWright yes that would be even better if "svgxelatex" would do the call to dvisvgm too. Do you know if xelatex produces different svg then latex or dvilualatex?

@UlrikeFischer That I don't know: perhaps better as DVI with LuaTeX is rather limited in font terms?

4:02 PM
@JosephWright we should perhaps ask Martin. Btw: Till Tantau will be at the Dante meeting and he will make a talk about "svg animations".

@UlrikeFischer Oooh
@UlrikeFischer Sounds good
@UlrikeFischer I'd love to meet Till ...

@JosephWright come to Lübeck! dante.de/veranstaltungen/dante2020/programm/vortraege You could make a talk about casing
3

4:28 PM
@UlrikeFischer any ideas tex.stackexchange.com/q/529148/3929, I see nothing wrong with the OPs files. Their log mentions the PDF version 1.5 vs 1.7 but TL does not have issue with that. Not sure about miktex.

4:40 PM
@UlrikeFischer I have experiments booked other than on the Friday: would have to be a very short visit!

4:58 PM
@JosephWright you could add a weekend ;-).

Hello all, again. This is a general question about TikZ/PGF. There's a dizzying array of commands, coordinate formats, path formats, and (especially) supported options for every command. I find myself repeatedly spelunking through the manual, which of course is well over 1,000 pages long.
What I would dearly love is a hyperlinked command reference where an index of all commands appears, with each command showing a concise listing of all supported syntaxes, options, etc., and the options themselves hyperlinking to documents that describe them. In other words, what one would typically expect in the API documentation for a programming language.
Does anything like this exist online for TikZ/PGF? This spelunking through the manual trying to figure out which options/styles are supported by what is maddening. I've spent over three hours now trying to figure out how to draw a node with a grey border, a left-right gradient fill, a specific bounding box, and a fuzzy gray drop shadow on a different layer. I've finally got it figured out, but I could have had it figured out in 10 minutes if I'd had the above reference. \vent

@DavidCarlisle did you like the question about a "File with two consecutive spaces in name"? ;-)

Incidentally, my sincere thanks to you again, @PhelypeOleinik, for the reference-by-topic implementation. :)

@FaheemMitha (Sorry, I've been busy lately …) Yes, expansion and execution are very much different. The execution processor (TeX's “stomach”) requests tokens from the expansion processor (TeX's “mouth”) one by one. Mostly it requests them with expansion, but sometimes it wants them unexpanded, as when it executes a \def for example. It's important to understand that expansion only goes far enough to provide the next requested token, so that undesired expansion is avoided.

5:14 PM
@HaraldHanche-Olsen I don't actually realise that. Perhaps I should lock myself in a room and try reading the TeXBook.

@FaheemMitha As for the second part of your question, “And if so, why does even Knuth use different terminology for them?”, I am not sure I understand. Why would he not use different terminology for different processes?

@HaraldHanche-Olsen I meant if they are not different.
@HaraldHanche-Olsen So, how would you summarize what execution consists of? I think I understand what expansion does.

:)

@FaheemMitha Execution: Making lists for horizontal mode, vertical mode, math mode, consuming tokens to do so. Putting boxes together. And assignments (\def, \let, counter, dimen, glue assignments, font declarations, etc), deciding when to execute the output routine, producing pages with \shipout, and probably a whole lot of other stuff I can't think of at the moment. I'm a bit fuzzy on the boundary between that and what Eijkhout calls the visual processor …
@FaheemMitha … which I assume is responsible for writing the output files (dvi or pdf) and which is mostly not under user control.

5:22 PM
@HaraldHanche-Olsen I'm a bit fuzzy about all of it. Such as what making lists actually involves.
Presumably this is before the actual step of (notionally) writing output to some file.

@FaheemMitha You can get a bit of insight by playing with the \showlists command. You'll find various examples here in chat.

@HaraldHanche-Olsen Ok.

@FaheemMitha Briefly, when in paragraph building mode, the current list is a list of character and space tokens (with assorted oddities thrown in, like penalties, specials, etc) constituting the current paragraph. Once you hit \par, that list is converted to a list of lines which are then added to the current vertical list. When the vertical list is long enough, the top part of it is cut off and fed into \shipout, as the output routine demands. There is quite a bit of magic involved there.

@HaraldHanche-Olsen Yes. Whenever I've dug into TeX, I always marvel that it works at all.

@UlrikeFischer haven't seem that (been offline) but I doubt I like it

5:34 PM
@DavidCarlisle it is not a latex problem, so we can safely enjoy it. tex.stackexchange.com/questions/529144/…

@UlrikeFischer does it not work if you use \space\space ?
@UlrikeFischer works for me

@DavidCarlisle one the command line? Works in texlive, but in miktex it then stops the file name at the \.

@UlrikeFischer Have you tried pdflatex "\input{file\space\space name}"?

@MarcelKrüger yes, that miktex accepts too.

@UlrikeFischer How much you speak German and English at DANTE meetings please? (As the website is in German, so it makes me nervous...) I consider visiting you (also to meet @PauloCereda). And second question please, what is the registration fee?

5:49 PM
@yo' The talks will be mainly in german (apart from Paulo's), but in the breaks there will be plenty of people you can speak to in english. And nobody will look odd if you ask a question in english. The fee is 5 euro for tex user groups member and 30 euro for the dinner.

@UlrikeFischer ok thanks! I'll try to decide by the beginning of next week

@yo' -- I can confirm that people are very willing to put up with other people whose German is deficient. (I'm depending on it -- my registration is in.)

6:28 PM
Got an email about debugging an issue for DEK ... or at least, debugging an issue reported about somethign by DEK

@barbarabeeton you're gonna be there as well?
@JosephWright oh, you're famous then!

@yo' -- Yup. We've even got our airplane reservations.

@barbarabeeton ok, then it's given; I'm going! (I can't miss meeting so many TeX Friends)

7:03 PM
@JosephWright (and @l3team) is the keyval module (or keys) allowed to use internals of the tl module? I could save some overhead from doing \tl_trim_spaces_apply:oN { \use_none:n #1 } \exp_not:n with doing \__tl_trim_spaces:nn { #1 } { \exp_not:o }.

@Skillmonlikestopanswers.xyz No, we'd have to make a 'kernel internal' copy, \__kernel_tl_...

@JosephWright ok, and then this would be stuck in the implementation, freezing the internals of tl for the sake of key (or creating some nasty dependencies)... In the end it's not much anyways (just bothers me that I have to remove a \q_mark from #1's head, just to add a \q_mark).
@JosephWright btw. currently testing my expandable \keyval_parse:NNn implementation. After testing there will be benchmarking, and afterwards, if everything goes well, you might get a PR.

@JosephWright 99 lines of code currently :)

@Skillmonlikestopanswers.xyz We've set the rules even for ourselves for a reason: need to be clear on what is happening

7:12 PM
@JosephWright yes, I took a closer look to your keyval_parse:NNn code and copied the style where it became apparent, so hopefully it'll be close to l3kernel-style (Frank will still find something, that I'm sure of)
@JosephWright btw. I find it strange that \use:e isn't \let to \tex_expanded:D (though I understand that the number of expansions has to be coherent to older engines), and what I really don't understand is, that it isn't defined as \cs_new:Npn \use:e { \tex_expanded:D } but that it grabs the argument and doesn't curry.

@Skillmonlikestopanswers.xyz Er, most of the style is just what I tried to stich together from the team's code when I jointed

@JosephWright we'll see who comes and mocks on my code :)

@Skillmonlikestopanswers.xyz Ah, well, that's almost certain Bruno being cautious
@Skillmonlikestopanswers.xyz Er, unless @DavidCarlisle is going to look, I suspect it's just me and @PhelypeOleinik
@Skillmonlikestopanswers.xyz Well, formally it should be based on \use:n, so ...

@JosephWright ok, on a trivial empty third argument I'm twice as fast, but that's just because I check for blank entries pretty early (which has to be changed to get the average speed up)
@JosephWright what should I use in the kernel if I want to create a macro using \expanded?

@Skillmonlikestopanswers.xyz You can't use \expanded directly in case it's not defined ...

7:25 PM
@JosephWright :( so I have to stick with \use:e and say "needs 3 steps of expansion"? Or do I have to use an ugly construct like \romannumeral \use:e { 0 ... }?

@Skillmonlikestopanswers.xyz If you want two steps, yes, but we've more-or-less dropped doing that except in a small number of cases

@JosephWright you mean I should just do \exp_not:n { \macroA { <key> } } \exp_not:n { \macroB { <key> } { <val> } }?
Turns out I'm slower if I try to stick to your coding style :(

All those \tl_if_empty and \tl_if_blank are just too slow :)

@Skillmonlikestopanswers.xyz Yes, they are relatively slow
@Skillmonlikestopanswers.xyz Inside the kernel, we can do what we like :) See for example l3fp

7:31 PM
@JosephWright then I'd just do \input expkv.tex \cs_set_eq:NN \keyval_parse:NNn \ekvparse :)

@COTO tex.stackexchange.com/questions/294476/… (that is a question of mine --- I tried to compile the manual with tex4ht but thrown the towel after a bit).

(though \ekvparse isn't completely equivalent, it is more forgiving for misplaced equal signs)

@Skillmonlikestopanswers.xyz Still wouldn't work if \expanded is not defined ...

@JosephWright people using old engines are at fault here!

Hey folks @UlrikeFischer @barbarabeeton @PauloCereda Have you already decided for a hotel? And have you got an idea about when you'll arrive to L\"ubeck?

7:35 PM
@Skillmonlikestopanswers.xyz 99 lines of code on the wall, 99 lines of code. take one down, pass it around, 98 lines of code on the wall, …

@HaraldHanche-Olsen take one down, pass it around, 98 lines of ! Undefined control sequence. :o

:o as in "expand once"?

@yo' -- We're flying on March 21, arriving Hamburg March 22, staying there for a couple of days to (try to) overcome jet lag, then heading to L\"ubeck by train on March 24. No hotel yet; would like to be near other attendees so I won't get lost getting to the Uni on the bus.

@barbarabeeton yep, that's the idea, to be close to the others, preferably in the same hotel

7:42 PM
@yo' no, :O as in smiley with a big mouth, probably saying "Ohh".

@Skillmonlikestopanswers.xyz We get reports from people for TL'15 ...

@JosephWright At some point one should get rid of old burden. If not with LaTeX3 then with what? LaTeX4 shipping in 4073?
@JosephWright If they're using engines from 2015 they should use the code from 2015.

@Skillmonlikestopanswers.xyz Yes, all true and we are moving that way (see LaTeX News 31), but we can't ignore that pdfTeX only got \expanded in TL'19

@JosephWright soooo, it's 2020 :) (just kidding, I know)

7:46 PM
@Skillmonlikestopanswers.xyz At the least we need to be mindful of arXiv, as people may be uploading support files, and it's running an older TL
@Skillmonlikestopanswers.xyz I'm normally the keenest person on the team to say 'tough, suck it up' to users with older systems, but there's a balance. We are likely to require \expanded in expl3 once arXiv update to TL'19

@JosephWright how many years are they behind?

@JosephWright it would be nice to push arXiv to update TeXLive (though I do know how tough it is for an organization like it)

@JosephWright mostly TL'17 ho

@yo' Yes, but they have particular considerations

7:51 PM
@JosephWright yep, we know :-)

@yo' Huh? They say TL'16, and it's binaries I'm thinking about

> we encourage authors to switch their development environments to the latest TeX Live 2016

@yo' Sure, even more than Overleaf, as they can't change the sources at all

@JosephWright a yeah, binaries 16, packages 17
@JosephWright well, we have multiple deploys for that reason. They can do it as well. But it's a lot of overhead

@yo' only a few Gig per image :)

7:53 PM
@Skillmonlikestopanswers.xyz that's not what I mean. It's not the GB, it's the infrastructure

@yo' They've stuck to a single TL version

(selecting correct images etc.)

@yo' I know :)

@JosephWright One thing is that for OL it would make sense to have the precise copy of their image; we would offer it to users so that they could debug for it more easily.

@UlrikeFischer, @DavidCarlisle Been following the pyxplot thread on the TL list?

8:05 PM
@JosephWright yes.

8:18 PM
@JosephWright but if they require uploads that compile on a texlive 2016 they should also provide the infrastructure for the users for this. I mean even if the kernel could avoid development, the other packages don't. You only need to think about babel and the luahbtex stuff.
@yo' @barbarabeeton I'm not in a hotel, but I heard that at least some of the dante board are in the "motel one". I will arrive on tuesday afternoon together with Paulo.

@UlrikeFischer ok, thanks for the information. I shall also arrive Tue afternoon, leaving Fri before noon at last

/envious rabbit sounds
2
@JosephWright do you assume that keys don't have braces around their names? Do you think this assumption can be made generally?

8:39 PM
@yo' Tom, deeply sorry, I was away from home. Will send an email ASAP.

@JosephWright just asking because the usage of \__keyval_split:NNw in \__keyval_loop:NNw does assume this.
(well, if I am to be downwards compatible, I guess I have to have the same behaviour....) :)

2

@JosephWright oh wait, it doesn't, there is a \q_mark there from \keyval_parse:NNn, my bad.

@PauloCereda ok :)

@yo' sent!

8:49 PM
=== expkv ===
1.06e-5 seconds (33.5 ops)
1.07e-5 seconds (34.1 ops)
1.07e-5 seconds (33.9 ops)
=== Original: ===
1.64e-5 seconds (51.9 ops)
1.65e-5 seconds (52.2 ops)
1.66e-5 seconds (52.3 ops)
=== Patched: ===
1.65e-5 seconds (51.9 ops)
1.66e-5 seconds (52.5 ops)
1.66e-5 seconds (52.3 ops)

@UlrikeFischer -- Thanks. We'll make reservations for Motel One. (The location looks quite good on the map.) Looks like the 24th is Tuesday, so that's when we'll arrive. We'll stay for the "tourist event", stay that night, and leave on Sunday.

@JosephWright ^^^ Original being the currently shipped version of \keyval_parse:NNn, and Patched my expandable version. Tested with \keyval_parse:NNn \use_none:n \use_none:nn { a, b = c }.
@JosephWright maximum possible speed will not reach expkv level because we have to do at least one additional test more ("Misplaced equal sign" error), but I could further speed things up at the cost of maintainability of the code :)

@yo' -- You're planning to come to the TUG meeting in Rochester, no? Brian from the AMS should be there. The AMS links every published document to all versions used (both packages and binaries), so that it can be reprocessed later (sometimes by many years) for things like "collected works". You and Brian might be able to share useful information about this.

@barbarabeeton yeah, I'm looking forward to meeting people like him
Note that we only do minor changes to our TeX Live images; most ones we do to the 2019 one are related to KOMAscript actually.

9:16 PM
@yo' -- It used to be that the basic TeX Live version was "frozen" as soon as it was found stable for production, and if a particular document required a newer version, a copy of that would be stored with the document source. That resulted in occasional duplication, but it wasn't significant enough to be problematic.

@barbarabeeton But that's also problematic; you can't be 100% you don't have critical incompatibilities
We test thousands of documents before deploying, and we still don't catch everything

@yo' -- AMS does have the advantage that the "local" copy is the final, published version. If it passes editorial muster and can be output via the in-house RIP/press, it is stable pretty much by definition.

@barbarabeeton yeah; the difference is that AMS has documents, Overleaf has users :)

@yo' -- You've got it!

I just searched 5 minutes in one of my scripts, until I realized I had a spelling error in one of the arguments, resulting in an empty glob... That was a smart one.

9:34 PM
@DavidCarlisle why does this loop if one uncomment the \vfil?
\documentclass{article}
\begin{document}
\begin{tabular}{c}
\setbox0=\vbox to 3cm \bgroup
xxx
% \vfil %loops
\egroup
\end{tabular}
\end{document}

@JosephWright off and on (at mums and mostly offline since lunchtime but was following this morning)
@UlrikeFischer try adding \show\par :-)

9:56 PM
@DavidCarlisle hm, I see. Which leads to the question if it is a beamer bug that overlayarea has such a \vfil. latex-project.org/cgi-bin/ltxbugs2html?pr=latex/4471

@UlrikeFischer it wouldn't hurt if beamer used \endgraf\vfil so I'd push that to beamer (@JosephWright)

@DavidCarlisle ok, I will move it. And then close one more ;-)

2 hours later…
11:48 PM
@JosephWright The latest version of l3build is going great :)
just one thing, I noticed that the "order" of the files affects the result of l3build install, for example:


typesetfiles = {"demopkg.dtx", "example.tex"}
specialtypesetting = { }
specialtypesetting["example.tex"]= {func = type_example}

is perfect, but if you change the order:
typesetfiles = {"example.tex", "demopkg.dtx"}

it fails, running l3build install --full --dry-run shows the correct output
- source/latex/demopkg/demopkg.dtx
- source/latex/demopkg/demopkg.ins
- doc/latex/demopkg/example/example.pdf
- doc/latex/demopkg/demopkg.pdf