@cis yes even when it needed a package for \fpeval that was just a single line to avoid neededing \fp_eval:n syntax, the expl3 version has been in expl3 for many years
@cis isn't there an option to switch in at least pgf's fp library and I thought you could use l3fp fairly easily as well but I haven't looked for a while
@cis oh the pgfmath-xfp package makes pgf use l3fp blame @Skillmon
@DavidCarlisle Ah. Yes, I see the following does not work:
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfmath-xfp}
\def\M{279}
\def\N{653}
\begin{document}
% DOES STILL NOT WORK
\pgfmathparse{\N*\M}\pgfmathresult
\end{document}
@cis yes as I say you can blame @Skillmon (but what I think is happening is thet the individual functions are using l3fp but to fit in to pgf as a whole the ``\pgfmathparse` still needs to pass the result through a dimen and so hits that limit)
@DavidCarlisle Oh, I probably do not get what \Arrowvert is for. But running with luatex from the context distribution, I do not get the funny brace pieces at least. I get the screenshot below:
So, Arrowvert is supposed to only use the middle piece, and use it as an extensible?
(But even for pdftex, the first \Arrowvert has rounded corners...)
@mickep well that's the odd thing it doesn't use the middle piece (which is the brace part) and only uses the extension, but without reading the tfm specs again which I didn't do last night I couldn't see why it does that, it just does:-)
@mickep yes the "special delimiters" described in the texbook really only work for the extension font as they are explicitly made by mis-using extension pieces in various ways, so the first version without a forced size is what it is
@mickep essentially it is never used anywhere, DEK was just playing with tfm possibilities and stuck it in a hidden \danger paragraph in the texbook, just because he could.
@mickep which was my prediction for what Hans would say:-) let me check what @wipet says...
@cis You're not really using pgfmath-xfp there. The basic functionality is like @DavidCarlisle guessed, we only nest ourselves into the pgfmath environment so results of calculations have to fit into the current context of pgfmath (the maximum number depends on whether pgf's FPU is active or not). That said pgfmath-xfp does not change any functionality of existing pgfmath functions or parsing rules. It only provides an interface to define functions that internally use l3fp.
@cis what you can do is \pgfmxfpdeclarefunction{mult}{2}{(#1)*(#2)} to define a multiplication that works on l3fp-precision, but the result still has to fit into whatever datatype pgfmath uses outside of that function. All of that is explained on the first page! The exact structure of \pgfmxfpdeclarefunction is explained on the second page. The documentation is 3 pages long, you'll need to read the first two pages. Please do so if you're interested in using it.
@DavidCarlisle to be fair, the constrain is not as clearly stated as I did here in chat, it's more that this logically follows from the explanation there. Maybe I should add a paragraph explicitly explaining that.
(because then I can really say to users: It's stated there; obviously they'd still not read it)
@cis if just doing arithmetic, certainly, but if you want internal tikz/pgf calculations (or pgfplots etc) to use the l3fp arithmetic then you need something like @Skillmon's package
@cis well, it was meant to aid in pgfplots really, because there you don't have control over the format of input (you'll get it in pgfmath's internal FPU representation), and you can't feed that directly to l3fp. Obviously outside of a TikZ context you should simply directly use whichever solution satisfies your needs.
@cis First paragraph of pgfmath-xfp's documentation:
> This package serves as a stopgap to allow the usage of xfp in pgfmath functions. It is only meant as a temporary fix to allow single functions using the expl3 fpu until a more sophisticated solution to allow broader support for it in pgf is available.
I know this is not on topic, but tex.stackexchange.com/a/726629/319072 inspired me to learn POV-Ray. So I checked out the installations, but it seems to be only for windows and I want to use it on a Mac. Can someone recommend a good Ray-Tracing software which would be capable of making complicated mathematical animations on a Mac? Or am I just not finding the Mac version of POV-Ray? I saw a legacy version, but that seems non modern.
POV-Ray also hasn't been updated in over a decade, according to the post. The wikipedia list of Ray-Tracing softwares is huge, and I want a good pick for making math animations. Especially point-at-infinity stuff. Sorry for asking this, as it is somewhat off topic. I am just really curious and want to do it right.
Interesting, thank you for showing me home-brew. (I'm new to Mac). Do you think that it is sufficient for making good math content in this day and age? Or is there a better suited software? Sorry for my lack of insight.
@Jasper well, I didn't use a Mac for 18 years, so don't ask me :P Otherwise: CAD software is able to render these as well (but I have no idea how good the free CAD softwares are, last time I used a 3D-modelling CAD is also a few years ago, something like 8 or so years I'd guess)
@Jasper might take some additional time, but I'd guess so. But you could also compile it yourself.
@DavidCarlisle Ah nice, so you work to keep the tick! :)
@DavidCarlisle Where can one read the tfm spec? It would be interesting to see if the 3D, having only a rep part means one shall not look at the base character.
@mickep I think the (barely documented) bit missing is that (unlike the Opentype delimiters) the choice to use an extension recipe is already made by the time the extension font is used (ie its using the lower part of the delimiter code) so the actual character is never used at all and you should jump straight to the extension recipe, but luatex is doing the size check again when it gets to the extension font
@mickep I suppose the ultimate doc is tex.web where it's reading this, we could look there....
@mickep the documentation says it's interesting it just doesn't really say what the heck the code is doing `@ The |var_delimiter| function, which finds or constructs a sufficiently large delimiter, is the most interesting of the auxiliary functions that currently concern us`
@DavidCarlisle MF book, page 317 and 318 gives an example: "charlist oct 000: oct 020: oct 022: oct 040: oct 060" and "extensible oct 060: oct 060, 0, oct 100, oct 102:. The charlist is example of left paretnesis chain and the last item here is no whole parenthesis, but only its to part. It means, that if a code is declared as "extensible", it is not used directly but it have to be composed from declared parts. These character can be used directly only as a part of extensible character.
@DavidCarlisle and I always thought you blame me to cheer me up ;-(. While you had fun with tfm I opened a ghostscript issue to repair a 900 page document and resolve a four year old hyperref issue ... bugs.ghostscript.com/show_bug.cgi?id=708246
@ApoorvPotnis I might try downloading those fonts later but I just lost half a day with tfm fonts fixing @mickep's bugs so I might not. If you stick all the tfm and pk in teh same directory as the document, it should work, I think.
@mickep er that's -changes.pdf with 29 pages, I was looking at ctan.math.washington.edu/tex-archive/info/knuth-pdf/mfware/… which has 90 pages, so I guess it's not quite the same although title and toc are the same (I don't think it clarifies todays issue but is what I read before, I think)
@mickep I'm currently reading that cont-enp.pdf link you sent me. Is there a newer version of that manual? I'm pretty sure that latest ConTeXt doesn't use pdfTeX anymore... :P
I was wondering if this was really desired by the Latin Modern font developers. The old latex output looks better for subscripts, in my humble opinion.
@Skillmon Not that I am aware of, no. Hraban is writing something newer. There are also something on the wiki, but I have not really read them trhough. The basics should be in the doc I pointed you to. (Except fonts and a few other stuff that is now different)
@mickep Probably this is not possible, but is it possible to just use the context goodie files in lualatex/xelatex? they contain useful fixes, as far as i can tell.
SubscriptShiftDown = 150, -- 247 in font (multiplied to be consistent with cm)
SubscriptShiftDownWithSuperscript = 247, -- relates to the previous one (see math-act)
SuperscriptBaselineDropMax = 0.6*431, -- 250 in font (multiplied by 4.6333/2.99 (values in cm/values in lm))
SubscriptBaselineDropMin = 0.1*431, -- 200 in font
-- SuperscriptBottomMin = 108, -- 108 in font .25 exheight
@ApoorvPotnis This is what is used for latin modern, perhaps ncm could do with something similar.
@JosephWright the fonts are open source, we should really lean on @mickep to fix them rather than patching them in context-specific Lua code. It could be a secret plan to just keep mentioning issues until he thinks of fixing the fonts without us having to say anything.
so i've mailed quite a few times to Prof. Antonis Tsolomitis and he is quite receptive to changes. I think Daniel Flipo is very active as well. Khaled Hosny was contributing to Noto Sans. I am not aware about other font designers.
@DavidCarlisle Indeed. I would be very gratuitous if @mickep decides to fix the fonts themselves. The TeX Gyre fonts are dead and could receive some updates, I think.
@mickep I see. I shall try to understand these parameters. This honestly look quite complicated stuff to me.
@DavidCarlisle I have MFbook, extensible characters are described mentioned at pages 317,318. If you have not MFbook, then the MFbook source is here ctan.org/pkg/mfbook and look at lines 17198--17244 of the mfbook,tex file.
@mickep I can test, although I'm not sure I have a full build enviornment on this machine, I'll see. I can certainly test as part of the tl pretest. I assume from the macro name that someone was also delighted to lose an afternoon on delimiters no one uses:-)
@JosephWright We have fun with the page builder. Several mvls, page breaks can be decided in a similar way as for paragraphs, so it considers several pages and optimizes. And updated columnsets that uses this.
@mickep yes arXiv is big enough it has examples of everything taht could go wrong.
@mickep meanwhile it turns out that it's all Frank's fault.
@HolgerI.Meinhardt well the side effect in this case was that I then Hans lost an afternoon, and there will be an update to luatex in texlive 2025, but Frank may not have mentioned that in 1994:-) — David Carlisle2 mins ago
@UlrikeFischer I wondered about that. I was going to suggest that we merge the other package but the setspaceenanced doc saying In other words: Package setspaceenhanced uses a completely different definition of \onehalfspacing and \doublespacing. doesn't encourage a merge. We could at least avoid the error on extended values though I guess.
@UlrikeFischer but what would you do, special case 0,1,2 then take a multiple of 1+\@ptsize for the rest?
@UlrikeFischer hmm scrextend extends things by making \@ptsize ten less than the pointsize, but a wider set of values. extsizes makes it the actual ptsize.
possibly special case ptsize=0,1,2 otherwise use \baselineskip ? @UlrikeFischer
@UlrikeFischer yes but then you get no error but get values you might want to change later if we did support numbers, I'll open a gh issue so we don't forget
! Missing delimiter (. inserted).
<to be read again>
\cs_set_nopar:Npx
l.9 Blob $\Big\Arrowvert
$
?
! Package unicode-math Error: Command `\Arrowvert` is a legacy maths symbol
(unicode-math) that is not supported by unicode-math.
Type <return> to continue.
...
l.9 Blob $\Big\Arrowvert
$
?
I was once tipped off that there is almost always a package for a very particular use case, and I was wondering if something like this existed as a package for making custom arrows which could be used both in text mode and math mode (inline math and display math)? Ideally with modern syntax, but if only deprecated alternatives are available, I'm still curious to check them out
@Atex See also Table 288 and following in "The Comprehensive LaTeX Symbol List" for an overview of a lot of packages which provides such arrows in all kinds of shapes.