Visualize long addition with ASCII art
Pyth, 59 58 bytes
L.[dJhl`eSQ`b:jk_.u/+NsYT.t_MjRTQ00\0djbyMPQXyeQ0\+*J\-ysQ
Try it online. Test suite.
Way too long. Should golf more.
Explanation
L helper function y = lambda b:
eSQ largest number in input
l` length as string
h increment
J save to J
.[d `b pad argument with spaces to that length
carry row:
jRTQ each input to base 10
_M reverse each result
.t 0 transpose, padding with zeroes
.u 0 cumulative reduce from 0:
sY sum digits of column
+N add previous carry
/ T floor-divide by 10
_ reverse
jk join by ""
: \0d replace 0 by space
number rows:
PQ all input numbers but last one
yM pad to correct length
jb print on separate lines
last number row:
eQ last input number
y pad to correct length
X 0\+ change first char to +
separator row:
J width of input (saved in helper)
* \- that many dashes
result row:
sQ sum of inputs
y pad to correct length