Signal Processing with Op Amps
The positive slope of the triangle wave needs twice the gain of the negative slope, this can't be done in an opamp and resistors circuit without some trick:



Signal s1 = triangle wave, 0 V to +4 V
Signal s2 = square wave, 0 V to +12 V
Signal s3 = s1/2 + s2/2, 0 V to +8 V

This is where the trick comes in. The triangle wave's slopes are symmetrical, and we need them different. Trick: use a rail-to-rail opamp with a \$\pm\$12 V supply. We'll use that to clip the top of the s3 waveform.

Signal s4 = 2 \$\times\$ s3 (clipped), 0 V to +12 V
Signal s5 = Vout = s4 - 8 V + s1, -8 V to +8 V

Schematic, just 2 opamps and 9 resistors: