Lua, 205 203203 188 bytes
a,b=...p,c,s,f=prints=print,a.rep,a.len,a.format r=s(a)+sd=s(a)%2+1r=d%2+d+1 p(c(" ",r)..c("_",s(b)))p(a..c(" ",sformat(a)%2)..""%s%s/"..b.."%s = "..f("%%."..s(a)d.."f",a,c(" ",d%2),b,b^(1/a)))for i=1,r//2 do p(c(" ",i-1).."\\"..c(" ",r-i*2-1).."/")end
Attempt This Online!Attempt This Online!
Explanation soon:tm: once I'm outExplanation soon:tm: once I'm out of school. I added an explanation to the footer of schoolthe ATO link.