8:13 AM
quack

8:24 AM
I don't get the update_tag() function to work :( I put \def\expkv{$VERSION$} into the dtx and have the following in my build.lua:
tagfiles={"expkv.dtx","README.md"}
function update_tag(file, content, tagname, tagdate)
if tagname == nil then
tagname=pkgversion
tagdate=pkgdate
end
string.gsub(content,v"%$DATE%$", tagdate)
string.gsub(content,v"%$VERSION%$", tagname)
return content
end

@Skillmon shouldn't this be "v%$VERSION%$" ?

@UlrikeFischer no, the VERSION is defined as \def\expkvVersion and used as v\expkvVersion where appropriate in the package.
@UlrikeFischer I have \def\expkv{$VERSION$} in the dtx.
same for date.

@Skillmon but the second argument of string.gsub is a string, isn't it? so what does the v mean? It always takes me a number of tries to set this up, but all my gsub declarations have stuff like "Version: %d%.%d+" in this argument

@UlrikeFischer oh, that's a left-over from a try because I misunderstood something... :)
@UlrikeFischer but without the v it doesn't work, too :(
@UlrikeFischer oh dear, one should write back on content when doing string.gsub...
@UlrikeFischer that was quite stupid. Guess I have to freshen up my Lua.

@Skillmon yes, just wanted to say that I have  content = string.gsub (content,  ;-)

8:38 AM
@UlrikeFischer still doesn't seem to work though. Files in expkv-ctan.zip don't contain the correct version and date after doing l3build ctan and the pdf of the documentation doesn't have the correct version and date in it, too :(

9:16 AM
@PauloCereda breakfast

@DavidCarlisle oh no

@Skillmon you need to do l3build tag, the ctan target won't call this automatically

@DavidCarlisle how unfortunate... But thanks.

@Skillmon you don't want the version number to update every time Petra someone tells you to rebuild.

@DavidCarlisle sounds reasonable... But I intend to only build once per release... :)

9:20 AM
@DavidCarlisle ooh

@Skillmon That's fine provided you don't find an issue when you do the final build ... but if you step the version, try to make the PDFs and have to correct say a stray \end{macro} line ...

9:36 AM
@JosephWright yay, now that's working.
@JosephWright now I have to write a second README, one for CTAN and one for the repository.

@Skillmon yay

@Skillmon ctanreadme="alternativename-in-the-git-repo.md"

@Skillmon although for most I don't bother and just make a single file cover both uses.

@DavidCarlisle no need to include build instructions in CTAN...

9:46 AM
@Skillmon in most cases there is no need to include build instructions at all:-)
@Skillmon also that depends. if you include a tds.zip then perhaps not but without, then it is the ctan build instructions (rather than github) that texlive and miktex use to integrate the package in the distributions.

@DavidCarlisle I intended to include a TDS, because I have one file that should go into tex/generic and one that should go into tex/latex (will CTAN be proud?)
@DavidCarlisle last time I needed files with weird extensions in weird places I had to mail both TeXLive and MikTeX to put the files into the right directories...

10:31 AM
@Skillmon they will probably guide you on the best structure, so do not worry. :)

Hi all! If I use code from tex.sx, can still use the LPPL license for a class I am writing, or does it have to be CC-by-sa?

@Martin-マーチン there is a thread were people supply relicensing. For example every LaTeX code written by me can be used under the beer-ware license.

Oh nice, do you have a link?

63

Part of the discussion about packaging some of the TikZ answers into a LaTeX package has centred on the issue of licensing the code. Contributions here are licensed under a CC license (see links at the bottom of the page) which isn't the best for software: even the people behind the CC licenses ...

thanks a lot, I'll have a look.

10:42 AM
@Martin-マーチン well, actually mine is Beer-Ware, but since you can do what ever you want with Beer-Ware as long as you keep the note, you might as well package it up.

@Skillmon ooh ein Bier bitte

Beer-Ware, that is plenty of interesting, never heard of that..
being german, it speaks on a very fundamental level to me...

@PauloCereda well, if you use code of mine and find it useful AND if we meet someday, you might buy me a beer.

@Skillmon I'd pay a beer regardless. :)
Ducks and rabbits are good friends. :)

@PauloCereda /happy rabbit sounds

10:44 AM
@Skillmon ooh

@PauloCereda /happy rabbit jump (you know, those jumps in which they wiggle their legs like crazy)

@Skillmon ooh rabbit parkour :)

🍺
It's still a bit early for me though...

@Martin-マーチン yeah, it is.

@Martin-マーチン ooh U+1F37A

10:47 AM
Waiting for 🕓

@Martin-マーチン we have a resident duck who is a chemist, he likes to explode things :)
@JosephWright ^^

@PauloCereda That was just :beer: so no idea what's missing there...

@Martin-マーチン oh no worries. :)

I like exploding things, too.

ooh

10:49 AM
I'm a computational chemist, my former colleagues wouldn't let me into a lab anymore.

@Martin-マーチン oh no

Apparently I've lost the 'feeling' for it...

@Martin-マーチン exploding computers, perhaps? :)

I am a lot less worried about that stuff since the cloud got hold of everything
But during my time as a phd, I had a burning computer once...

@Martin-マーチン exploding clouds?

10:51 AM
@Skillmon ooh extreme meteorology

@Skillmon Skynet isn't real though, or is it?

@Skillmon oh no, Microsoft

Oh well ...

11:48 AM
@JosephWright what are the yes files good for?

@Skillmon They are needed if you are unpacking a .dtx and haven't set \askforoverwritefalse
@Skillmon Essential for the kernel!

12:00 PM
yes

@Skillmon they are like the unix yes command, but work on windows:-)

@DavidCarlisle yes

@PauloCereda yes no

@Skillmon They are auot-generated so hopefully not in your way

@DavidCarlisle oh no
@JosephWright ooh auto yes

12:13 PM
@PauloCereda yes oh no

@HaraldHanche-Olsen oh no
oh no
oh no
oh no
oh no
oh no
oh no
oh no
oh no
oh no
oh no
oh no
oh no
CTRL+C^

@PauloCereda yes ooh | head -1000 | post-to-texchat

@HaraldHanche-Olsen ooh I like this workflow

@Skillmon I wrote you a couple of messages yesterday ... are above ...(I don't know how to reference in the chat ...)

Hey @Pablo, Karl fixed texplate's execute permission, so it's working now. Thank you very much for testing it!
Muchas gracias!

12:26 PM

@PabloGonzálezL The downward pointing triangle at the left of a message hides a popup menu. In it, you find a permalink. It is, in fact a link – copy the link address from there. (The exact method varies depending on your OS, hardware, and browser. But a right click or similar should yield another popup from where you can select to copy the link.)

@HaraldHanche-Olsen I wrote you a couple of messages yesterday ... are above ...(I don't know how to reference in the chat ...)

@AlexG are there any non flash ways of adding sound to pdfs? (tug.org/pipermail/texhax/2020-January/024157.html)

@DavidCarlisle oh no

@PauloCereda that's what I thought but I wanted an answer from someone trustworthy
@PabloGonzálezL @HaraldHanche-Olsen means you can refer to your own messages like this

12:32 PM
@DavidCarlisle oi

@PauloCereda ?

@DavidCarlisle <3

@DavidCarlisle ho :)

@DavidCarlisle @PabloGonzálezL You don't even have to play markdown games. Just paste the address like this: chat.stackexchange.com/transcript/message/53286669#53286669

@PauloCereda and what????
                          The template and. The tool will search both
user and system locations and set the
template model accordingly, based on your
specs.

12:40 PM
@DavidCarlisle oopsie.
@TeXnician ^^

@HaraldHanche-Olsen @PabloGonzálezL (sorry, messed up the first attempt at a demo). You can respond to your own messages, but it takes trickery: Find the message ID in the permalink, paste it into the beginning of the text with a preceding colon.

@PabloGonzálezL you mean the ones regarding CTAN upload etc.? They were appreciated, but I did know those bits of information already. However I already had the experience in the past that I had to write to both the maintainer of MikTeX and TeXLive because files didn't end up where they should've ended up, hence I'll provide TDS for everything that isn't a standard path.
@DavidCarlisle and. Period.

12:57 PM
@Skillmon Okay, I understand...

@JosephWright just out of curiosity, is there a possibility to alter files, similar to the tag mechanism, but only for those files ending up in the ctan-zip? The tag mechanism currently alters the original files as well.

@Skillmon Did you upload expkv to CTAN yet?

@TeXnician oh no

@PhelypeOleinik nope :) Though the code should be production ready, I don't have any formal tests set up yet, and I want to get the l3build setup completely done, including tests, before I upload.

1:13 PM
@Skillmon Indeed, it's pretty nice, I was doing some tests. I asked because I believe in the definition of \ekvletkv and \ekvletkvNoVal, #1 and #2 should be #3 and #4 somewhere, otherwise you just let a key to itself

@PhelypeOleinik oh... See that happens if one didn't set up tests for everything :)

@Skillmon Testing everything is tricky :-)
@Skillmon Do I get a check? ;-)

@PhelypeOleinik and I never used the let-macros up till now...

@Skillmon I don't see use cases either...

@PhelypeOleinik :) Well, there could be use cases, say you have one macro A that uses a subset of the keys of macro B, now you could define two sets, one for A and one for B, and in A you only do \ekvletkv{A}{key}{B}{key}. I don't think anyone would do that, though.
@PhelypeOleinik and thanks for spotting that, indeed a stupid bug :)

1:24 PM
Sep 19 '18 at 16:04, by David Carlisle
The good thing about having package co-author is you can blame the other author github.com/latex3/latex2e/issues/72David Carlisle Sep 13 at 14:33

@Skillmon Looks a bit like the .meta:nn thingy in l3keys
@Skillmon No problem :-)
@Skillmon I wrote an expandable keyval thingy about an year ago (part of this thing I also hope to finish one day), but it was quite different. You used it like \expkeyval_parse:Nnnn \function {module} {key-a, key-b, key-c} {<keyval-list>} and then it would expand the whole thing to \function{value-a}{value-b}{value-c}, so that you could make an expandable function with a key-val interface. I can't remember why I dropped it though...
@Skillmon I think because it felt like feature creeping :-)

@Skillmon Not just yet, but I do know some people want that approach

@PhelypeOleinik I don't know either. Well you could get something like that using \ekvparse and then reordering the keys with an auxiliary function, like \expandafter\expandafter\expandafter\reorder\ekvparse\flagK\flagKV{<keyval-list>}\flagEnd, but \reorder would have to take care of key-duplicates etc. So this would just solve half the job with \ekvparse. Also you could create something like that with \ekvset and the sneak macros...

@Skillmon I think I remember taking care of duplicates and defaults and so on (I copied a lot of code from l3keys :-), though I think I lost that code :-(
@Skillmon Feature request: examples (perhaps even that one) of usage of \ekvsneak :-)

1:41 PM
@PhelypeOleinik would be a whole lot of code just for an example... But I'll add it if I find the time.
@PhelypeOleinik the problem I have with \ekvsneak is, that it's rather slow (it has to read a lot of tokens, just to put something after the parsing, would be a lot easier and faster with unexpandable code, doing some \aftergroup magic).

@Skillmon It doesn't need to be that one. I just found the description of \ekvsneak a bit confusing (I'm annoying ;-)

@PhelypeOleinik no problem, and feel free to provide a better description :) I'm sometimes bad at expressing myself in a comprehensible manner.

@Skillmon But it's seldom used, I think, so the speed is not such a big problem (and it's up to the user to know that)

@PhelypeOleinik I think I included a bit about the problem that it has to read a lot in the description.

@Skillmon Indeed, "This reads and reinserts the remainder of the current \ekvset". I think I skipped that :-)

1:49 PM
@PhelypeOleinik Do you have an idea of a macro that should be expandable and could benefit from a key=val interface? There's nothing that comes to my mind.

HAPPY PENGUIN DAY

@PauloCereda there is a useless day everyday, isn't it?

@Skillmon always a reason to celebrate :)

@Skillmon I can't remember any... If it's just for the example you can use \fpeval and set, say, the amount of decimal digits

@PhelypeOleinik there should be at least two keys though...
@PhelypeOleinik parsing a key=val for a single key is a bit of ... overhead.

2:05 PM
Jan 16 at 20:14, by David Carlisle
@Skillmon true although since 99% of keys are width=.5\textwidth that has not bothered many people in practice
:-)
@Skillmon Perhaps this one, making sep a key, and perhaps adding one to allow line breaks

@PhelypeOleinik I'd like to avoid much of expl3 code in the examples. The examples should be comprehensible for someone used to code in TeX but not expl3 as well. I don't want to explain expl3 as well :)

@Skillmon s/(_|:)//g ;-)
@Skillmon Hold on

2:31 PM
@Skillmon Sorry the delay. House chores... Here you go:
\documentclass{article}
\usepackage{xparse}
\makeatletter
\NewExpandableDocumentCommand\groupify{O{<rabbit-magic>}m}
{\@groupify{#1}{#2}{#3}{#4}}
% \@groupify{<sep>}{<\allowbreak?>}{<n>}{#1}
\def\q@tail{\q@tail}
\long\def\@groupify#1#2#3#4{%
\groupify@loop 1;{#3}#4\q@tail{#1}{#2}\q@stop}
\long\def\groupify@loop#1;#2#3{%
\ifx\q@tail#3\expandafter\groupify@end\fi
\unexpanded{#3}%
\ifnum#1=#2 \expandafter\@firstoftwo
\else \expandafter\@secondoftwo
\fi
{\groupify@sep}%

@PhelypeOleinik I got an idea for a simple to do example already (sorry, should've messaged you), I'll define an xfp using trigonometric evaluation macro.

@Skillmon Don't worry. It wasn't really a good example (probably too convoluted for an example)

@PhelypeOleinik the ordering and testing for duplicate keys will be convoluted enough...

2:48 PM
@Skillmon I feel I just ate you a considerable amount of time :-)

I have a naive question. Is there a way to use subcaption command with \subfloat? I checked but couldn't find something useful.
Due to specific document class unable to use other command for multiple figures like \subfig etc.

wowwwww! EE has 35 answers on TeX.SE! :))
I wondered indeed... nice activity over past years.

@EnthusiasticEngineer even more than @egreg! (if you discount his "% at end of line" ones)

@DavidCarlisle and you have no questions :|||| how can we compare these TeX facts? :))

@EnthusiasticEngineer I never found the ask a question button

3:00 PM
@DavidCarlisle That is the only button I see in this site :))

@EnthusiasticEngineer where? ^^^

@DavidCarlisle :)) you edited the html source element of the page!!!

3:19 PM
@EnthusiasticEngineer no that's my normal browser view (I have used a user-css file since they redesigned the site and added the sidebars, so I have no left sidebar, a narrower right bar and more space for the questions)

@DavidCarlisle OK!!!! :|

4:00 PM
@JosephWright \expanded landed in upstream xetex :-)

4:16 PM
@DavidCarlisle ooh

@PhelypeOleinik It actually wasn't that much, the example is just 42 lines of code. The bigger problem is to describe the ideas in a human-readable form...

4:37 PM
I just happened to be looking at the cls file I used for my PhD thesis. It contains a mixture of \defs and \newcommands. Is there any reason to have \defs in there?

1 hour later…
6:02 PM
@JosephWright @DavidCarlisle would it make sense to add the "set papersize" code to the l3backend files?

6:36 PM
@UlrikeFischer I think I asked about that on team list a while back, the question is should that run by default given that it will force US Letter by default so not be overwhelmingly popular
@FaheemMitha same true of most classes, including the standard ones

@UlrikeFischer At some stage, but like @DavidCarlisle says, there's a know-on

1 hour later…
8:12 PM
@DavidCarlisle Why would it set that as default?! That's a totally non-sense setup.
@FaheemMitha there is syntax which is only definable using \def. Small example: Test whether something contains an equal sign expandably: \newcommand\ifcontainseq[1]{\ifcontainseq@#1=\stop}\long\def\ifcontainseq@#1=#2\stop{\ifempty{#2}}.

@DavidCarlisle \protected FTW

@Skillmon well, the current situation is non-sense. We should make the British regain government over the US and change their default paper size to A4. Until then, you can eithr make letter the default for everyone, or (as it is now) introduce incompatibilities between US and European LaTeX installations.

@DavidCarlisle There is an argument for just doing it

@JosephWright I take it 111%!

@Skillmon In a minimal document (just with \documentclass{article}) it would set the pdf page size to letter, even if the default size is A4. It would force users to use \documentclass[a4paper]{article} instead. Imho this is sensible, but I'm also certain that some people will complain.

8:26 PM
(well, Overleaf obviously defaults to letter for all users)

@JosephWright well I think we should consider it, perhaps after the release in the next dev release. The current situation that the pdf size depends on the class or some (from the view of the user) rather arbitrary packages like hyperref or graphics isn't good. Until now we had not much options, but as now the backend files are loaded ...

evenin's
pretty sure that colon sould not go there, let's see how that goes amongst folks who are known not to obsess over details

@FélixGagnon-Grenier ? sorry is this a question?

@Skillmon it os more logical than the current latex default in most of the world which is to produce PDF sized for A4 but with margins and text block calculated for US Letter
@JosephWright I thought you'd like that thread
@JosephWright Yes, but see @Skillmon's reaction to the suggestion... An alternative would be to allow the documentclass page size option to default to the site-specified page size, rather than USLetter, but that may be too radical a change

@AlanMunn er, half question, yes. I'm unsure what the colon in evenin's does. without, it would be a single declarative statement, like "evenins", referring to multiple evenins. With it, I think it would refer to specifically all of y'alls evenins.
it is a slow monday

8:33 PM
@FélixGagnon-Grenier there is no colon (:) did you mean apostophe (') ?

haha yes. yes I absolutely do :/

@FélixGagnon-Grenier I was a bit confused, since it's an apostrophe, not a colon. But typically in English it's used with words that end in the suffix -ing to show that speakers sometimes pronounce it with 'n' instead of 'ng'.
So this is simply the plural of 'evening' but with that alternate pronunciation.

@FélixGagnon-Grenier and presumably evenins you meant evening? (I couldn't guess the intent of the comment at all:-)

evenings, if you will :)
<a salutation wishing happy evenings to any and all reader>

@FélixGagnon-Grenier but that salutation is usually used in the singular as a day only has one evening:-)

8:35 PM
oh? I would have thought that, since we collectively each live one evening, there were multiple!

@FélixGagnon-Grenier nope everyone has an evening in Greenwich mean time (about now) or they are living in the wrong part of the world:-)

@FélixGagnon-Grenier True, but the salutation isn't referring to any particular evening, so no.

@AlanMunn I prefer my explanation

well, I believe I am now in the exact mindset needed to transcribe my calculus notes

8:37 PM
@DavidCarlisle Well they don't call it 'mean' time for nothing.

@AlanMunn I'm not mean

@DavidCarlisle Odds are 50/50 on that, I would guess. :)

@PauloCereda come to my rescue with an authoritative statement ^^^

the starboard has it rumored you are to be blamed for everything anyway^

8:58 PM
@UlrikeFischer they did not need to ask, they knew you would say I'm not mean.

@DavidCarlisle ;-)

9:26 PM
@DavidCarlisle you are not mean. :)

@PauloCereda @AlanMunn ^^

10:16 PM
@PauloCereda causing trouble again

@DavidCarlisle why trouble? Didn't everyone enjoy the break?

@UlrikeFischer release hyperref?

@DavidCarlisle I don't know a reason why not.

@DavidCarlisle Go for it

@DavidCarlisle regarding troubles: I have 12 failures in luaotfload and as far as I can everyone due to the nfss changes: b instead of bx or up instead of n etc.

10:24 PM
@UlrikeFischer you can blame Frank, so no need to worry.
3
@UlrikeFischer something to be adjusted in fontspec?

@DavidCarlisle ;-). But I think I can't redo all tests directly, some of them will have to wait for Will to correct unicode-math.

@DavidCarlisle Also, \protected ;)

10:44 PM
@DavidCarlisle @CarLaTeX

11:00 PM
@AlanMunn Anche i classici possono essere migliorati. Proprio come il vino, la pizza dell'emisfero meridionale è una buona cosa!

@JosephWright they probably intended to make a model of the Cricket ground but copied the ground next door by mistake.

@DavidCarlisle :)

@JosephWright I've never quite understood the appeal of this kind of Lego. It only builds one thing...

11:16 PM
@AlanMunn my sorting of LEGO packages by how much I like them is very similar to the sorting by how many standard pieces they contain

@yo' Yes, I totally agree.

@UlrikeFischer speaking of unicode-math, would it be recommended to use unicode-math with some suitable sans-serif font for beamer slides over e.g. \usepackage{arev}? Speaking TL2019, or TL2020 (once it's released)
@AlanMunn OTOH, if a large grocery chain in Czechia gives you a small LEGO package for 60 EUR spent (cummulative, via a bonus program) + 1 EUR price, you don't refuse, even if it contains a number of non-standard pieces.

@yo' :) sounds like a good deal to me.

My mom got dozens of packages for my nephews, as this bonus program was running for very long :)
@AlanMunn indeed it is!

11:36 PM
@AlanMunn Next one with avocado and raspberries? OMG! (Also for Il Milanese imbruttito internationally known)