what causes voltage harmonics
Just add a current-to-voltage-translator (somethimes called "resistor") in series with the non-linear load and you will see also voltage harmonics across the load (and also across the resistor).

By definition the voltage across a (ideal) voltage source cannot be changed (as also noted in another answer). So if the voltage source provides pure sinusoidal voltage (i.e. no harmonics) no matter what load you have (linear or non-linear) the voltage will be pure sinusoidal. This changes as soon as the voltage source has a series resistance.







simulate this circuit &ndash; Schematic created using CircuitLab

Left circuit: current throuh non-linear element (diode) will have harmonics. Voltage across non-linear element will not (cannot) have harmonics because V1 is an ideal voltage source.

Right circuit: current throuh non-linear element (diode) will have harmonics. Voltage across resistor will be proportional to non-linear current through resistor, i.e. will have harmonics. Also voltage across non-linear element (diode) will be pure sinusoidal minus voltage with harmonics, i.e. will also have harmonics.