There are actually three factors that affect the shape of the output waveform:
1. The frequency generated by the astable multivibrator at the left side of the diagram;
2. The rate of voltage change across C, which is determined by the value of C and the currents drawn/provided by the current source and current sink transistors;
3. The clipping voltages, which are determined by the supply voltage and the two zeners, ZD1 and ZD2.
Changing any of these three parameters will affect the output waveform.
Assuming that the voltage across C changes quickly enough that the zeners can clip the waveform, the peak-to-peak output voltage is roughly ZD1_voltage + ZD2_voltage - VCC_voltage. So with ZD1=ZD2=8.2V and VCC=12V the output voltage is about 4.4V peak to peak.
With a 9V supply, you may not be able to get such a large output signal. If you use ZD1=ZD2=5.6V you will get an output waveform that's about 2.2V peak to peak.
You also have to ensure that the change in voltage across C for each half cycle is large enough that the zeners will actually have some effect. If not, you will see a triangle wave with a lower amplitude than the peak-to-peak amplitude determined by the zeners.
To make this happen, reduce the frequency of the astable multivibrator, and/or increase the current sourced and sunk (sinked?) by the current source/sink transistors by reducing the values of the two 25k trimpots in their emitter circuits.
Thanks a lot for explaining! I can remember that I did notice that the frequency has effect on the shape of the waveform. Could you tell me some more about it?
What I forget to mention is that I supply the second part of the circuit without the astable multivibrator with 12V, and the square signal is generated with a output voltage of 9V. The reason why I supply the second part of the circuit with 12V is for the amplification.