typst-physics icon indicating copy to clipboard operation
typst-physics copied to clipboard

Match size of brakets

Open mpmdean opened this issue 1 year ago • 5 comments

Thanks for the nice package.

If I write

$ braket(f, D^dagger , n) braket(n, D, i) $ The left and right brakets don't match Screenshot 2024-05-15 at 12 48 00 PM

I failed to work out how to add a hidden superscript, which seems like the natural way to address this?

mpmdean avatar May 15 '24 19:05 mpmdean

Hi, I'm glad that you find the package useful!

This issue is actually part of Typst itself: a symbol's attachment (superscript, subscript) can affect the symbol frame's overall height, and the bracket's height is too sensitive on the content's height - though we certainly want the bracket to be taller if the contained symbol is very tall, e.g. an integration symbol. Maybe you could consider filing an issue on https://github.com/typst/typst.

Leedehai avatar May 17 '24 16:05 Leedehai

Besides, the height of lr is settable. Maybe we can add a size argument to braket?

https://github.com/Leedehai/typst-physics/blob/e36043094294557da4493a1ed62c54fa2ab75d4a/physica.typ#L471-L476

//  This is NOT a full solution.
#set math.lr(size: 500%)

$ lr(angle.l D angle.r) $

Left/Right Functions – Typst Documentation

YDX-2147483647 avatar May 18 '24 03:05 YDX-2147483647

Maybe we can add a size argument to braket?

Hi - that's a great idea. Feel free to open a PR:) However, I noticed Typst's lr() doesn't handle mid() well with the size parameter. I think that'd be a blocking issue:

#set math.lr(size: 500%)

$ lr(angle.l A mid(|) B angle.r), lr(angle.l A B angle.r) $

Leedehai avatar May 19 '24 02:05 Leedehai

https://github.com/typst/typst/issues/3186

sjfhsjfh avatar Jun 02 '24 08:06 sjfhsjfh

Maybe we can add a size argument to braket?

Hi - that's a great idea. Feel free to open a PR:) However, I noticed Typst's lr() doesn't handle mid() well with the size parameter. I think that'd be a blocking issue:

#set math.lr(size: 500%)

$ lr(angle.l A mid(|) B angle.r), lr(angle.l A B angle.r) $

This isn't an issue with Typst, but with the font I believe. The font doesn't have constructable angle brackets, and so only has the fixed preconstructed sizes which stop at approx. 300% (33pt).

These are the 8 variants it has (sizes aren't exact, I just picked percentages that work to show the variants):

$
  stretch(|, size: #500%)
  stretch(angle.r, size: #100%)
  stretch(angle.r, size: #107%)
  stretch(angle.r, size: #112.5%)
  stretch(angle.r, size: #125%)
  stretch(angle.r, size: #150%)
  stretch(angle.r, size: #200%)
  stretch(angle.r, size: #225%)
  stretch(angle.r, size: #250%)
$

mkorje avatar Sep 27 '24 06:09 mkorje