Enhancing Zero-Shot Chain-of-Thought Reasoning in Large Language Models through Logic