Since it's not yet midnight here, I can still wish everyone happy Hogmanay. (That's Scots for the last day of the year.) And in a few hours, happy New Year.
No? "egreg posted it" should imply "that's the right solution", not contradict (you make it sound like egreg is usually wrong)
I mean surely it should be possible to get the raw font that corresponds to the current symbol, store it somewhere, then declaresymbolfont back after loading the package?
The LaTeX source code is "a little" (very) dense, I haven't been able to trace down where the font data is stored yet
@user202729 you could look at the code for bm which disasembles the NFSS table of math fonts to work out which font is being used for each \fam and install a bold version of the same. But it's a lot more work than copying the one \DeclareSymbolFont required to use one symbol from anoyther package
@user202729 well it's a term you won't find that term in the doc though as we tried (failed) to stop calling it N FSS in 1993 as it wasn't new by then and tex doesn't really have tables...
@user202729 you should look more at our interaction, try asking @egreg how he'd feel if he was pressed to comment on one of my answers that was correct....
Okay I found more command documentation in fntguide (talk about hard to find documentation...)
Maybe have something easy to understand would help avoid roughly 100 question about "how do I load only symbol X from package Y". Not sure if it's supposed to be easy or not to figure out which piece of code does which
@user202729 I would not have said "because there's no current package" rather there isn't really any use. Even if you parsed the table what would you do, if you wanted to change the font used for a rght brace or a lambda or a forall or whichever the current question is, you still need to look what font the font package uses for that symbol and then declare just that font and define just that command. And with that you only need a couple of lines of code, so how could a package help?
@user202729 a package could only help with the easy part (declaring the symbol) I don't see how you can help with the hard part, which is working out which parts of the existing package define the character that you want to use.
@user202729 is it definable? you could use \NewCommandCopy but would get the wrong result? especially for delimiters which might use two fonts each in an encoding not used elsewhere, you need to know exactly how the some font package defines the symbol, you may need to declare encodings, load one or two fonts, then redeclare the definitions with the new font assignments. I don't think it is possible without code specific to the some font package
@user202729 no everymath complications. every (classic tex) math font is in a unique encoding so if you know \forall is character 77 in font assigned to \fam 3 so in the general case you need to do a fair bit or work to recreate the command with a different font setup, although bm might help...
@user202729 also the ususal correct answer is "don't do that" a font should normally be seen as a work of art in its entirety and not just a sampler out of which to pick individual symbols.
@UlrikeFischer I thought I once saw a git repo with the miktex package versions? but at the miktex site I can only see a file list for each package currently?
@DavidCarlisle I never tried to find out where the packages are managed in the miktex source. If I want to check a version I look at the file or in the miktex console. Imho from the outside the best is miktex.org/packages.
@user202729 well er tex feature that probably exposes itself as a keyval feature, in a delimited argument that consists just of a single brace group the braces are silently dropped. @Skillmon would enjoy that report:-)
@user202729 keyval can drop braces in some contexts, and probably listings can drop some more but I didn't check.
@user202729 it's only unexpected if you don't expect it. I'd expect that as the default tex behaviour unless the package goes to some lengths to avoid it.
Not to complain. There are thousands of packages already, it would take a lot of money/time to make something better.
Someone take a look at https://chat.stackexchange.com/transcript/message/60022431#60022431 https://chat.stackexchange.com/transcript/message/60019965#60019965 please?
The latter is a reference to \tl_sort:nN.
@DavidCarlisle Actually in this particular case maybe it isn't that hard. Just use [{...}] for optional argument everywhere.
@user202729 sure but when I changed keyval internals not to drop braces it turned out there were millions of existing documents going \somebabelthing[foo={{bar}}] which worked but then suddenly the braces didn't get dropped and an extra group ended up in the value and everything broke. The hard part of making changes is not fixing a reported "bug" it's not breaking 40 years of legacy documents
@user202729 do yourself a favour, use the number of groups you validated as working (4 wasn't it?) and then load the xkeyval package and try again.
@user202729 No, that's not the optimal one! That's what ltxkeys does, but you can't input what you want this way! Try inputting a value without surrounding braces but with commas this way...
@DavidCarlisle if everyone would just use expkv from now on :) (not serious, that approach has limitations as well)