+ (car rest) Y))
+
+(define-public (fraction-markup grob props . rest)
+ "Make a fraction of two markups.
+
+Syntax: \\fraction MARKUP1 MARKUP2."
+
+ (let*
+ ((m1 (interpret-markup grob props (car rest)))
+ (m2 (interpret-markup grob props (cadr rest))))
+
+ (ly:molecule-align-to! m1 X CENTER)
+ (ly:molecule-align-to! m2 X CENTER)
+
+ (let*
+ ((x1 (ly:molecule-get-extent m1 X))
+ (x2 (ly:molecule-get-extent m2 X))
+ (line (ly:round-filled-box (interval-union x1 x2) '(-0.05 . 0.05) 0.0))
+
+ ;; should stack mols separately, to maintain LINE on baseline
+ (stack (stack-lines -1 0.2 0.6 (list m1 line m2))))
+
+ (ly:molecule-align-to! stack Y CENTER)
+ (ly:molecule-align-to! stack X LEFT)
+ ;; should have EX dimension
+ ;; empirical anyway
+ (ly:molecule-translate-axis stack 0.75 Y)
+ )))