« first day (5111 days earlier)      last day (119 days later) » 

00:24
If there is no delemiter in the parameters, will TeX only grab one single token (or group)? For example, if I have \cs_new:Npn \my_strange_function:w #1#2#3 { ... } will this grab the first three single tokens (which is what I want)? Or is there some caveat here?
For example with \my_strange_function:w abcde, I would then have #1 = a, #2 = b and #3 = c?
cfr
cfr
@DavidCarlisle I finally got something to work, although it didn't actually do anything. but then it disappeared completely and I have no idea what I did :(.
@JasperHabicht no. I think it is just like \def \mystrangefunction#1#2#3{...}, isn't it?
@cfr Yes, right, but wouldn't this also only grab single tokens then?
cfr
cfr
@JasperHabicht I think you would have #1=a, #2=b and #3=cde<possibly more>.
@JasperHabicht try
*\def\myfn#1#2#3{first is #1, second is #2, third is #3}

*\myfn abcde

*\myfn abcde and some more
00:39
@cfr But how do you know where the delimitation is? It could well be that de and some more is just not part of the macro at all ...
Try \def\myfn#1#2#3{first is #1, second is #2, third is #3 .} ?
cfr
cfr
@JasperHabicht that's why you wouldn't use a definition like that ;). you have to ensure tex stops.
@JasperHabicht yes. and then try \myfn abcde etc.
@cfr With \def\myfn#1#2#3{first is #1, second is #2, third is #3 .} \myfn abcde I get : "first is a, second is b, third is c .de". So, this means that #3 is only c.
But maybe I am wrong ... Sure, I normally would use stops, but in this very case I can't.
It seems that TeX just grabs the smalles possible match, lazy, not greedy so to say
cfr
cfr
@JasperHabicht just ignore me.
In fact, one can boil it down to: \def\myfn#1{x#1x}\myfn ab > "xaxb" =)
I just wanted to make sure ... because I, too, am not sure about this 100% =D
cfr
cfr
@JasperHabicht I should never, ever say anything about TeX. and you should never listen to me if I do.
00:57
@cfr Don't say such a thing! TeX has its ... strange sides. So, it is totally fine not to know every little thing =) You do know a lot about it!
cfr
cfr
01:25
@JasperHabicht that is not a little thing and I should know it :-). I should know it because I have code which explicitly does stuff to make tex grab more than one token ....
yo'
yo'
01:45
@cfr Why would you have more? If you try \def\gobble#1{} \gobble abcde you get bcde. A single character of most catcodes is grabbed as #1 if it's the next thing in the file. The exceptions are quite clear, and in normal situations they would be `, %, and {` and then whitespace (whitespace is complicated).
cfr
cfr
02:07
@yo' yes, I know. it's exactly why I do various things I do in nfssext-cfr. that's why I said I should know.
:@yo' shame on me.
yo'
yo'
@cfr no :-)
cfr
cfr
how do I get my github action to find the tex live binaries I finally persuaded it to install?
Run l3build ctan
  l3build ctan
  shell: /usr/bin/bash -e {0}
Running l3build with target "check" for module "."
sh: 1: texlua: not found
====================
Tests failed, zip stage skipped!
====================
Error: Process completed with exit code 1.
^^ never mind. I know why. at least, I know one reason.
I got a green tick :-).
02:40
@cfr Getting actions to work is just a matter of time and patience :D
@cfr See github.com/pablgonz/enumext-tmp for example It took me endless attempts to get it working with lulatex-dev and everything else I needed...but it works :D
cfr
cfr
03:11
@PabloGonzálezL thanks. I was unreasonably happy to get the green tick ;).
@PabloGonzálezL I would like it better if I could edit them locally, but I haven't figured out how to do that. I couldn't even persuade github to let me create it where I wanted it. but it does work. (though this is mostly due to copy-pasting @JosephWright and @UlrikeFischer's code ...) and eventually getting the enough of the right bits ....
03:25
@cfr Hehehe, a slightly different approach that also uses teatimeguest/setup-texlive-action@v3 is the one used (github.com/CTeX-org/ctex-kit/blob/master/.github/workflows/…)
cfr
cfr
03:37
@PabloGonzálezL and I think I even figured out why my first green tick vanished ....
@PabloGonzálezL I'm really glad that's not the link I was given earlier ... :)
03:53
Why does the first generate errors while the second doesn't?

\newenvironment{mlt}{\begin{multline}}{\end{multline}}
\newenvironment{qt}{\begin{quote}}{\end{quote}}
(Not sure why fixed font is not working for me here…)
The error being:
! LaTeX Error: \begin{multline} on input line 11 ended by \end{mlt}.
 
2 hours later…
06:19
@Atcold different ways the two environments are defined internally. Ask a question on the main site with a proper MWE.
06:41
@cfr Thank you anyways! You helped me to solve my issue!
@cfr I should take a look, since I am interested how you managed this. Did you care about whitespace?
cfr
cfr
07:05
@JasperHabicht what I meant was that I explicitly do things to pick up 'all the rest' when splitting arguments. nfssext-cfr works partly by splitting the names of fonts named strictly according to the Berry naming scheme. (well, I guess it would split the names anyhow, but it only works correctly if they use that scheme.) but I am generally picking single tokens and saving the rest. that's why I said I should have known better. I don't do anything weird. just the same stuff you find all over.
07:29
@JasperHabicht it would but why :w not :nnn ?
`texdoc technote` note 6: "Why can'I use abbreviations for \begin{align}
. . . \end{align}?"
@DavidCarlisle isn’t n supposed to denote a braced argument? So N maybe really?
I just though that it is … weird … :)
But yes … why not :)
07:47
@JasperHabicht well your :w command is exactly the definition of a :nnn command and would accept braced arguments.
@JasperHabicht Yes, it is, but #1#2#3 can be NNN or nnn or a combination, depending ont he underlying meaning - TeX will always accept a 'balanced text` here
Cf. something like the \unexpanded primitive, where you have to brace the argument
@JosephWright should I add a line to ltnews re longtable? "A change has been added that has not been observed to have any effect in any cases"
@JosephWright Okay, thanks! Alright, then it will be NNN I guess ...
... or is the logic: If it technically allows braced arguments, it should be nnn? I am not going to feed it braced arguments, because things won't work then. The command will be internal anyways ...
@DavidCarlisle :)
@JasperHabicht If you can in principle use a braced argument, it's n-type - like I say, will depend on what you do with the arugment
@JasperHabicht E.g. if you know you rely on there being exactly three tokens, then :NNN is appropriate
As that is a reminder in the code of the semantics
@JosephWright Alright. Well, it is supposed to only and exactly take four single characters actually, hex digits to be precise. (I only used three, to easier understand the way it works)
08:00
@JasperHabicht The point is that the signature is meant to help you follow the flow, so use what makes that clear
08:21
@JosephWright @UlrikeFischer a latex-lab test failing now, should I merge the lt PR anyway?
(running it locally to see what happens here)
@DavidCarlisle I will look.
@UlrikeFischer thanks it passes on the branch and the PR was shown as passing earlier but now it fails the tugboat test while testing the PR merge
@DavidCarlisle my guess would be that it is a change in lttugboat, there was an update yesterday.
08:52
@UlrikeFischer ah let me do an update here....
Oh good I got a new easybook
2
09:11
@DavidCarlisle That is where the development is happening.
Why do we care about easybook so much again?
09:29
@Skillmon We mostly love the frequently updates.
@mickep now I made the mistake to take a look at the changes made 11 hours ago...
@Skillmon ??
$ diff `kpsewhich --all easybook.cls`
22c22
< \ProvidesExplClass{easybook}{2024/10/22}{2024eq}
---
> \ProvidesExplClass{easybook}{2024/10/26}{2024et}
@JosephWright well worth all the worldwide bandwidth usage on updates this has made ^^^^
@DavidCarlisle Ha!
09:47
@DavidCarlisle tbf, there are more changes on their GH.
But those are due in the upcoming 2024eu update.
@Skillmon As I wrote, very active development there.
@Skillmon we are spared that due to brexit
10:11
@DavidCarlisle I don't think we were spared the earlier 2024uk update, so why should you be spared now?
@Skillmon Oh, uk before eu? I do not get how you reason now.
@Skillmon aren't the 2024u? releases another 6*26 releases in the future?
@mickep ooh, brain fart.
 
4 hours later…
14:07
Anyone have some post that needs some thumbs down? Need to loose a few rep points.
@daleif plan b) get 40000 rep
@samcarter welll
95959 will be such a nice palindrome :)
BTW: doesn't \baselinestretch have a default value? I thought it was 1 by default.
cfr
cfr
can somebody tell me if this use of \whiledo is wrong?
0
A: Lining style of cfr-lm with text of amsmath

cfrThis was not a bug in cfr-lm and the update of cfr-lm does nothing to fix it. At least, it does nothing more than insisting on an updated version of nfssext-cfr. The fix is accidental. In order to eliminate a dependency on ifthen on newer kernels, nfssext-cfr uses a different definition of an int...

[obviously in one sense it is wrong, in that it produces an error in \text{}, but I'm not clear why.]
14:19
\documentclass[a4paper]{article}

\begin{document}

dsf

%\linespread{1}

base line stretch: \baselinestretch
\end{document}
Source2e says its def'ed to 1 by default, but the above shows it is clearly not. Updating TL24
cfr
cfr
@daleif I think source2e is lying (at least since 2020).
@daleif latex.ltx sets it to 1
@DavidCarlisle Then why doesn't my MWE print 1, AFAIK latex.ltx defs it to 1.
It prints one as soon as \linespread{1} is executed.
@daleif it's one at the start then it's empty after \documentclass[article} I'm not sure that's intended, looking....
@daleif hmm \renewcommand\baselinestretch{} would do it... (article.cls line 116)
@daleif ah this is explained in classes.dtx
% \begin{macro}{\baselinestretch}
% This is used as a multiplier for |\baselineskip|. The default is
% to \emph{not} stretch the baselines. Note that if this command
% doesn't resolve to ``empty'' any \texttt{plus} or \texttt{minus}
% part in the specification of |\baselineskip| is ignored.
% \begin{macrocode}
\renewcommand\baselinestretch{}
@DavidCarlisle ahh, and I mostly use memoir, who does not. Seems strange to def it to nothing. I also know it has done so for a while. Just means that a calculation in a font package just got a bit more complicated.
@daleif @cfr which means the default is "don't stretch" not "stretch by 1" as multiplying by 1 is not a no-op in tex arithmetic
@DavidCarlisle Have a macro that should counter act \baselinestretch for a construction. But apparently the fp module does not like dividing by empty....
@daleif I think 2e has always done this, certainly since we started using git in 2008
14:47
@DavidCarlisle Just strange that memoir does not adapt it.
Well, people haven't complained...
@daleif perhaps Peter didn't like the thought of users having baselineskip with a stretch component....
@DavidCarlisle Perhaps, not really a fan myself.
It's a bit weird that latex doesn't intialise it to empty since all the standard classes over-ride the settting of 1
@DavidCarlisle Log an issue? We should likely look at it but not for Friday ;)
@JosephWright it isn't the most weird thing in latex, and if we change it we are bound to break some local class using it as a number, so just leaving it (or documenting it) might be best
14:57
@DavidCarlisle Documenting at least I think
15:18
@DavidCarlisle I wonder when one would like to have it set to 1.
cfr
cfr
15:39
@mickep savetrees? philosophy.sty.
@mickep It is more the assumption that it is always a number. Which it is not.
16:02
@cfr Do I get it right that savetrees sets it to 0.95?
@daleif I was more curious to see an application, but maybe I got it wrong. I thought it only set the stretch/shrink components. But maybe not...
cfr
cfr
16:27
@mickep oh, you probably actually looked. I was just guessing.
@cfr I wanted to understand what it actually did. After the discussion above, it was not at all clear to me.
@mickep well some packages set it >1 via linespread. In my case I need to divide by it if set.
@daleif Oh, actions and counteractions.
16:42
@mickep It just's a simple macro that gets used as a <factor> to multiply the requested baselineskip value while setting the actual \baselineskip but \empty\dimexr 12pt plus 1pt is 12pt plus 1pt whereas 1\dimexpr 12pt plus 1pt is 12pt, so they are different.
@DavidCarlisle So, will this factor also multiply the stretch and shrink bits?
@mickep no as i say it's a primitive Tex <factor> so is used directly as \baselinestretch\dimen@ which is equal to \dimen@ if it is empty but equal to dimen@ without the stretch and shrink if it is 1 (because that's what teX does)
17:00
@DavidCarlisle Ah, I did not get first which one you meant that this was.
 
4 hours later…
20:42
@Skillmon Finden Sie nicht, dass die Deutschen Nachrichten haben sollten?
21:30
@DavidCarlisle doch doch, unbedingt. Aber wie kommen Sie darauf, mein Lieber?
Can someone please check line 39 of their TeX Live's enverb.sty?
Someone got an error about undefined control sequence. \ExpSyntaxOn in that line, but I checked my file and it looks good.
@Skillmon looks good here.
@Skillmon ok here
@UlrikeFischer thanks
@DavidCarlisle and thanks to you as well :)
 
2 hours later…
23:18
@samcarter ooh

« first day (5111 days earlier)      last day (119 days later) »