I want to add some shrinkability to an existing glue, that already has a stretch component, and that also may have a shrink component (although it is not the case for me currently).
For instance:
\newlength{\mylength} \setlength{\mylength}{12pt plus 1pt} \setlength{\mylength}{\glueexpr \the\mylength minus 0.1pt \relax} % speculative syntax \the\mylength % should show “12pt plus 1pt minus 0.1pt” It happens that, in this lucky case where there is no preexisting shrink component and I just want to add one, I can do just what I did above, relying on the syntactic order LENGTH plus STRETCH minus SHRINK. This would fail in general, if there was a shrink component that I wanted to modify in some way (either by scaling it, or by adding a constant value to it, or by entirely replacing it with another value). This also fails in the symmetrical situation, where I want to set a stretch component but there is a preexisting shrink component.
How to extract or modify the stretch and shrink components of a glue?
The only related solution I found is how to drop the stretch and shrink components, which does not help.
Use case: add some shrinkability to inter-line and inter-paragraph spacing (\baselineskip, \parskip), which helps avoiding many hideous “underfull \vboxes”, that is, pages that are too empty and where inter-paragraph spaces are stretched far beyond reasonable.

