1:52 AM
\ExplSyntaxOn
\keys_define:nn { test }
{ a~.choice:, a~/~b~.code:n = { \tl_show:n {#1} } }
\keys_show:nn { test } { a/~b }
\stop
@JosephWright Is it intended that the defined key is test/a/ b rather than test/a/b?

2:05 AM
I think \@@_trim_spaces_auxiii:w should have \tl_trim_spaces:n { / #1 } replaced by / \tl_trim_spaces:n { #1 } (not sure though...)

4 hours later…
6:04 AM
If I don't actually give assign a value to \newcommand, it returns a \par. Is it just picking up the newline here?
\documentclass[12pt]{article}

\newcommand\foobar%

\begin{document}
\typeout{FOOBAR IS~\foobar~END}
\end{document}
To be precise
FOOBAR IS\nobreakspace {}\par \nobreakspace {}END

1 hour later…
7:16 AM
@PhelypeOleinik No ...
@PhelypeOleinik I will take a look
@Skillmon Pretty good ...

7:46 AM
@JosephWright @Skillmon yes although I still can't think of many (any?) use cases for expandability, a key setting seems basically syntactic sugar for an assignment

@DavidCarlisle It came up at least one for biblatex, where there was an expansion context that could get passed I think language keys (@moewe?): in the end some other work-around was found, if I remember correctly
@DavidCarlisle Question was mainly about performance, in any case
@egreg Read a very good review of the new MacBook Pro 16" ....

@JosephWright sure if it's quicker then fine, but if it could be made quicker still with some assignments then...

8:23 AM
@JosephWright will you answer the filehook mail to the team list?

@UlrikeFischer Er, was hoping someone else would ;)

@JosephWright Very good experience indeed

@egreg You've got one?

@JosephWright ;-) I will do it, just wanted to avoid that we all write.

@JosephWright I do. :-)
@JosephWright It arrived around 10 December

9:08 AM
@DavidCarlisle Right, though it seems that \par actually corresponds to a blank line. Though I'm not familiar with TeX's behavior at this level.

9:21 AM
@DavidCarlisle I agree with you that l3keys could get some of the ideas and then work with assignments to get even faster.

@egreg Which one?

9:38 AM
@FaheemMitha surely you have noticed that leaving a blank line ends a paragraph in tex?

9:48 AM
@DavidCarlisle I have, yes.

@FaheemMitha because it tokenises as \par

@egreg The 'basic' one ;)

@egreg that's a whole lot of money

@JosephWright More or less. No need for much more.
@Skillmon The old one lasted six years, if you divide the amount it's not so expensive.

9:54 AM
Hi Paulo Cereda

We checked out your GitHub, and you might be a great fit for many of the remote software engineering roles that top U.S. and Silicon Valley companies are hiring for on Turing.

If you’d like to see which of your skills are in demand, please upload your resume below.
WAIT WHAT

@egreg I have used my current laptop for 2 years now, it costed 300 €, your yearly cost is more than my total.

10:05 AM
Funny thing: \unexpanded{\foo} is faster than \noexpand\foo.

I have a functional 2008 Dell laptop. :)

@egreg I'll bet

@PauloCereda I have an old Thinkpad T420

@Skillmon I can see that, yes, as \noexpand needs to rescan the token

@Skillmon ooh 2005? :)

10:07 AM
@JosephWright well in general grabbing a single token without braces is faster than with braces.

@Skillmon Also true :)
@Skillmon More importantly for me, in a general use function, \unexpanded is safer as control sequences still work if used in text but are safe in expansion, whereas \noexpand makes them \relax in all cases

@PauloCereda according to Wikipedia the T420 was released in 2011.

@Skillmon oopsie

@Skillmon Depends on your use, of course: I've been building all of LaTeX2e on mine up to recently ...
@egreg I'd love one, but the portability would be an issue (also the price ...)

10:23 AM
@JosephWright does "Four Thunderbolt 3 ports" translate to "doesn't connect to anything else you have" ?

@DavidCarlisle Probably ;)

@DavidCarlisle ooh Thunderbolt are go
Oh wait that's another show

11:00 AM
@DavidCarlisle That should change with time, as USB-C becomes more widespread. Which seems inevitable. Meanwhile, for many devices you just need a new cable. For old monitors, an adapter.

@JosephWright oh, I just noticed that it's not 2 but 3 years now.

@DavidCarlisle I see.
@PauloCereda Where is this from?
@egreg I agree with @Skillmon. That's a lot of money. I hope you are going to get insurance against accidental breakage. Or liquids spilling on the keyboard.

@HaraldHanche-Olsen is thunderbolt usb-c ? I don't speak apple much:-) By coincidence I see bbc has a piece on apple connectors today as well bbc.co.uk/news/technology-51137069

11:17 AM
@FaheemMitha spam mail

@PauloCereda Ah
Your spam mail is more interesting than mine, if it makes you feel any better.

11:43 AM
@FaheemMitha :)

@DavidCarlisle USB-C is a plug standard. Thunderbolt is just one protocol that you can run over USB-C. (Not over any USB-C port, it has to be capable.) That means that every thunderbolt port is also a standard USB-C port.

The only thing that's between expkv and CTAN should be the missing l3build scripts and tests.
Today I learned that English has the word "nix".

12:00 PM
@Skillmon That's slang/casual. Normally refers to the Unix family of operating systems.
Also can mean "no", or similar, in certain contexts, I think.
As in "he nixed the proposal".

@FaheemMitha Yes, of course!

12:32 PM
@FaheemMitha @Skillmon This one in particular.

12:42 PM
@FaheemMitha no, *nix refers to the OS-family. But yes, its informal, just like the German word "nix" which is common speech for "nichts". I just like that this also exists in English, and hence the term *nix has a funny overtone.

@JosephWright Thanks

1:16 PM
Has the ruleconverter ever had success?

I tried to convert move.yaml (v3) ---> https://tex.stackexchange.com/a/65977/46023

An get errors with move.yaml (v4)
-------->
!config
arguments:
- flag: <arara> @{parameters.target}
identifier: target
commands:
- command: <arara> @{isFalse(isEmpty(item), isWindows("cmd /c move /y", "mv -f").concat(' "').concat(getBasename(file)).concat('.').concat(item).concat('"').concat(' "').concat(target).concat('"'))}
identifier: move
name: Move

@Skillmon Just nix is also used to refer to the family. It's probably more common than *nix, which I actually cannot remember seeing recently.

@FaheemMitha Funny, I only know *nix, never see nix (except in URLs where *nix might not work out).

@FaheemMitha I don't think I have ever seen nix used in that context

@Skillmon @DavidCarlisle I have. Regularly.

1:45 PM
@FaheemMitha I tried various online dictionaries even slang ones like urbandictionary.com/define.php?term=nix but don't see any record of that. *nix or 'nix where it is clearly an informal abbreviation is common enough though. also wikipedia

@DavidCarlisle Well, it may not made its way into a dictionary yet.

@DavidCarlisle In German: nix = nichts = 'nothing'

@cis same in English.

@Skillmon Oha

1:49 PM
@PauloCereda I need help from the arara-musketeers due to move.yaml
All for one, one for all!

@Skillmon mostly American English via the German I would guess:-)

@DavidCarlisle no idea over AE vs BE, but yes, it's from the German meaning.

@cis item was deprecated, hence the error. It's not RC's fault...

@PauloCereda fast duck

@Skillmon not as fast as expkv though :)

1:54 PM
@PauloCereda Mmmh, I remember move.yaml (v3) worked fine...
I took the original v3

@PauloCereda Originally it was named fastkv but as soon as I realised I'll never beat keyval I renamed it.

@Skillmon my packages are fast and bug free, as you know.

@DavidCarlisle the latter I know, the former is at least true for keyval (with all its bugs features :)

@Skillmon they are features

@DavidCarlisle how to strike out in chat?

1:56 PM
@Skillmon three ---

@DavidCarlisle so close...

@Skillmon my markdown is fast and bug free too, and completely free of typos

@DavidCarlisle :)

!config
identifier: move
name: Move
commands:
- name: Move
command: >
@{
prefix = [];
if (isUnix()) {
prefix = [ 'mv', '-f' ];
}
else {
prefix = [ 'cmd', '/c', 'move', '/y' ];
}
return getCommand(prefix, file, target);
}
arguments:
- identifier: target
required: true
flag: >
@{
return parameters.target
}

@DavidCarlisle must be @UlrikeFischer secretly editing all those typos into your chat messages.

1:58 PM
@cis ^^ since item is deprecated, usage should also be reconsidered.

@Skillmon could be, that would be like her.

2:15 PM
Ah ok...
I thought, I could have used the v3-rule with extensions, i.e. aux, toc, ... instead of concrete filenames.
% arara: pdflatex
% arara: move: { items: [ log, aux, toc ], target: 'stuff' }
\documentclass{article}

\begin{document}

Hello world.

\end{document}
But I do not remember exactly

@cis hold on.
!config
identifier: move
name: Move
authors:
- Paulo Cereda
commands:
- name: Moving feature
command: >
@{
prefix = [];
if (isUnix()) {
prefix = [ 'mv', '-f' ];
}
else {
prefix = [ 'cmd', '/c', 'move', '/y' ];
}
if (extensions == '') {
if (getOriginalFile() == file) {
throwError('I cannot move the main file reference.');
}
return getCommand(prefix, file, target);
}
This should work.
% arara: move: { extensions: [ log, aux, toc ], target: 'stuff/' }

I tested
% arara: pdflatex
% arara: pdflatex
% arara: move: { extensions: [ log, toc, aux ], target: Backup }
\documentclass{article}
\begin{document}
\tableofcontents

\section{Test}
foo bar foofoo aaa
\end{document}
With

DETAILS ---------------------------------------------------------
[Error: unable to resolve method:
java.lang.String) [arglength=2]]
[Near : {... @{ ....}]

^
[Line: 1, Column: 1]
@PauloCereda

Just a misplaced parenthesis...
!config
identifier: move
name: Move
authors:
- Paulo Cereda
commands:
- name: Moving feature
command: >
@{
prefix = [];
if (isUnix()) {
prefix = [ 'mv', '-f' ];
}
else {
prefix = [ 'cmd', '/c', 'move', '/y' ];
}
if (extensions == '') {
if (getOriginalFile() == file) {
throwError('I cannot move the main file reference.');
}
return getCommand(prefix, file, target);
}

@PauloCereda This works well!

2:43 PM
@DavidCarlisle -- "nix" is definitely based on German. Nobody has yet mentioned "mox nix", which came into U.S. English after WWII, after "machts nichts", and means "it doesn't matter". The linked reference mentions the meaning "water sprite"; I don't remember ever hearing that, but "nixie" fills that usage and sounds like "nix" is just a shortening.
@DavidCarlisle -- Hah!

@barbarabeeton "quite so" would have been a better response.

2 hours later…
4:28 PM
is there a reason why i have to install packages by hand when they are marked with a date?

@sollniss huh?

@DavidCarlisle for the last 15min i'm getting tons of File atveryend.sty' not found. \RequirePackage{atveryend}[2019/12/05] messages
i install them with the miktex console and recompile, same message for a different package

@sollniss the date isn't relavent just do (on texlive at least) tlmgr install atveryend

@DavidCarlisle i'm on windows
i mean, i can install the package, but then a new one pops up

@sollniss (a) you hadn't said and (b) I'd recommend texlive on windows as well:-) but it is same in miktex, just using its updater rather than tlmgr The oberdiek bundle was split up so (in some cases) you need to add the new packages to the package manager

4:31 PM
Communuty Moderator #3.
93

It’s a bit surreal to be writing this post—not many people can say they left their dream job twice. Today is my last day as an employee of Stack Overflow. I’ll be joining College Confidential as their Community Product and Operations Manager doing many of the same things I’ve been doing here but ...

@sollniss see the list of packages that have been split out at the end of lists.dante.de/pipermail/ctan-ann/2019-December/013296.html

@yo' oh

@DavidCarlisle so there is no way around recompiling until all errors disappear? i'm not sure I understand. Or would texlive install them recursively?

Sorry, *Community Manager

all i'm doing is copying the packet name from the error message into the packet search menu and install the packet

4:38 PM
@sollniss most people with texlive install everything, so the split wasn't an issue you just do a tlmgr update --all and get them all miktex seems to have a "only install what is used" policy which doesn't seem too helpful for these kind of re-arrangements, but I have never used miktex so I can't say whether there is an easy way to take that list and install them all in one go.

@DavidCarlisle looks like i've installed everything, so problem solved i guess
didnt help with my main problem however ...

@sollniss that's what the main Q&A site is for:-)

@DavidCarlisle posting there right now :)

@yo' you are in urgent need of +1

5:01 PM
Missing character: There is no 小 in font [lmsans17-regular]:mapping=tex-text;!
Missing character: There is no 龙 in font [lmsans17-regular]:mapping=tex-text;!
Missing character: There is no 李 in font [lmsans17-regular]:mapping=tex-text;!
Missing character: There is no 简 in font [lmsans17-oblique]:mapping=tex-text;!
Missing character: There is no 历 in font [lmsans17-oblique]:mapping=tex-text;!
Missing character: There is no 题 in font [lmsans17-oblique]:mapping=tex-text;!
Missing character: There is no 目 in font [lmsans17-oblique]:mapping=tex-text;!
@sollniss your log presumably says something like ^^^^^^ So latex is complaining that the latin modern font doesn't have Chinese characters, which is true, but I don't know enough about how cjk package is supposed to work to tell you how to fix
@UlrikeFischer, see conversation above, I didn't blame you once!

@DavidCarlisle What?

Ah this

@DavidCarlisle I shouldn't go on holiday, I'm loosing the blame grip ;-) But to install everything in miktex, the easiest is to use the package tab in the miktex console.
@DavidCarlisle you just commented what I wanted to comment too ;-)

5:28 PM
@UlrikeFischer error log?

@DavidCarlisle no the first one "shorten the preamble" ;-). But error log fits too (but it not so easy to get with ps2pdf.)

@UlrikeFischer I'm going home now, offline for a bit:-)

@DavidCarlisle I have some doubts that problem will be solved when you are back again ;-(

6:07 PM
@UlrikeFischer and?

3

To a significant amount of researchers out there, life in academia is rough, even brutal and toxic. Poor students have their lives, hopes and dreams sucked out of their bodies, for the sake of production, of science, of progress, breaking the shackles of ignorance for the good of mankind. It is a...

3
:)

@DavidCarlisle I was right (and I just pointed the OP to the miktex issue tracker ...)

6:24 PM
@DavidCarlisle Hi, in case you haven't seen it (chat.stackexchange.com/transcript/message/53249230#53249230)

7:01 PM
@PabloGonzálezL @UlrikeFischer I suppose we should release hyperref ...

7:26 PM
@DavidCarlisle I think it would be a good idea, there are still some of us who use latex>dvips>ps2pdf :)
@DavidCarlisle I left you messages in ho-tex :)

@PabloGonzálezL yep I can't move an issue to hyperref though now hyperref is no longer under ho-tex, I could close and open a new one I suppose..

@DavidCarlisle I've never really understood how "moving issues" between repositories works, I do the same as you, I close it and copy it :(

@PabloGonzálezL it's a beta feature and allows you to move to other repositories under the same organisation, so between any of the latex3 ones or between any of the ho-tex ones, but not from ho-tex to latex3

@DavidCarlisle I understand :( ... there are several issues that correspond to hyperref that are still in ho-tex ... copying them will take a while :(

8:19 PM
@PauloCereda you got mail :)

@PabloGonzálezL yes I should have moved them before changing the hyperref owner, but it's done hmm well I could move hyperref back to ho-tex, move the issues then move hyperref back to latex3, I think (@UlrikeFischer @JosephWright)

8:48 PM
@DavidCarlisle black github magic?

@UlrikeFischer no I got busy and left it, I'll push it out this weekend

@DavidCarlisle The backref package is owned by LaTeX3?
@DavidCarlisle Opening the documentation and clicking on ChangeLog does not open the file :(
@DavidCarlisle And the links to the .dtx files should change to .pdf (which is the current)
@UlrikeFischer @DavidCarlisle A couple of things before a new version of hyperref is released, the link in manual.pdf to (http://
xxx.lanl.gov/hypertex/) is broken :(
And just for reference...the title in the different documents that are part of hyperref could be a bit standard... the title in hyperref.pdf, manual.pdf and options.pdf looks different

9:08 PM
@DavidCarlisle regarding github.com/ho-tex/oberdiek/issues/58 I wonder when we can dare to do \let\MakeUppercaseUnsupportedInPdfStrings\text_uppercase:n ;-)

9:35 PM
@Skillmon you too. :)
@Skillmon <3

9:47 PM
@UlrikeFischer Sounds good to me :)

@JosephWright ;-) To me too. What could go wrong in adding \usepackage{expl3} and using a few days old command?

@UlrikeFischer The idea has been around for ages; we’d only need a test for the csname

@JosephWright ? What do you mean?

10:27 PM
@UlrikeFischer anytime after 2020-02-02?

@DavidCarlisle sounds like a plan

@PabloGonzálezL @UlrikeFischer what's the point in options.pdf? isn't it just section 3 of the manual?

@DavidCarlisle no idea - the organisation of the hyperref documentation is still a bit of a mystery to me.

@PabloGonzálezL no, although I think it will get merged with hyperref (probably @UlrikeFischer will stick her sword through the two of them and pin them together)
@UlrikeFischer I'll zap it.

@DavidCarlisle fine with me, you can use my sword

10:37 PM
@DavidCarlisle It doesn't really make much sense
@DavidCarlisle So @UlrikeFischer is the woman with the sword ...very good :)

is it possible to substitute characters in latex?
i have a template that formats things and all i want to change is the characters used for punctuation (commas and periods)
like in essence a global find & replace after compiling

@UlrikeFischer @PabloGonzálezL I just ran a script to check every option listed in options.tex is described in the manual, there was just one that is not, pdfpicktrackbypdfsize but that isn't an option at all it was a typo fixed in the manual in 2011 according doc/ChangeLog. I'll definitely remove it
@sollniss just change the macros that are adding the punctuation, you don't need to add the wrong punctuation then change it

Very fast... as always:)

@DavidCarlisle i was wondering if there was something like \renewcommand for characters
i'm not sure if i can just change the makros, because i need both variants for two different files

10:53 PM
@sollniss no not really, not in text, you can change teh commands in the preamble of your document most likely but without any context hard to say

@PhelypeOleinik: Just in case you want to add a remark:
0

I had an older document using now deprecated packages. I just wanted to update some links in this document. Because of the new warnings about the deprecation I included silence with some \WarningFilter commands oppressing these warnings (I planned to deal with replacement later) and run, too, int...

@Skillmon Did you not deal with keycommand because it counts for as wrapper for (x)keyval? I once used it, but with a fix @Joseph found:
11

The \ifcommandkey approach There is a bug in the definition of \ifcommandkey (2010/04/27 v3.1415). It is missing out one stage of expansion of the \commandkey (see the analysis in the section below), and as a result does not test the value of the key. (You will get TRUE even with an undefined ke...

Speaking of this it is from the same guy who wrote tabu and is inactive for years. Aparently, he did react to Joseph’s info about this bug. @DavidCarlisle or @JosephWright would there be a way to add a note into CTAn about this bug and the possible fix?

11:13 PM
@Speravir not easily: ctan is full of packages with known issues but with untraceable authors.
@UlrikeFischer @PabloGonzálezL options.tex gone (and adjusted the authors and date in the manual a bit)

@DavidCarlisle Thx. Seems, you correctly inserted the missing not` within your mind when reading my last message above ;-).

@Speravir sorry I deleted comment I see Phelype has an answer to the same post.

@DavidCarlisle Yepp. I just noticed after commenting.