I have a simple multiple choice question, I would like to ensure that the question and all choices appear on the same page. I have seen previous suggestions that you should embed the question in a minipage, but that affects the spacing between questions. Is there any other ideas that could accomplish this?
1. What is the time?
A) 1o'clock
B) 1o'clock
C) 1o'clock
D) 1o'clock
Here is an example of a fix with minipage that requires vspace to fix vertical spacing issues.
\documentclass[a4paper,12pt,addpoints]{exam}
\usepackage{graphicx}
\usepackage{anyfontsize}
\makeatother
\graphicspath{{\subfix{../images/}}}
\begin{document}
\sffamily
\newpage
{\Large\textbf{Section I - Multiple Choice}}
\textbf{Total Marks}
\textbf{Attempt All Questions}
\textbf{Allow About 12 Minutes for these questions}
Use the multiple choice answer sheet
Select the alternative A, B, C or D that best answers the question.
\vspace{0.4cm}\hrule\vspace{1cm}
\begin{questions}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\vspace*{0.5cm}
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\vspace*{0.5cm}
\end{minipage}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\end{minipage}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\end{minipage}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\end{minipage}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\end{minipage}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\end{minipage}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\end{minipage}
\begin{minipage}{\linewidth}
\question What time is it?\hfill
\begin{choices}
\CorrectChoice 1 o'clock
\choice 2 o'clock
\choice 3 o'clock
\choice 4 o'clock
\end{choices}
\end{minipage}
\end{questions}
\end{document}
\vspace
s, add\usepackage{parskip}
in the preamble, but mainly, add blank lines between the minipages. You put all In your questions in the same paragraph!. It is like type a really with a huge font the paragraph "A B C D ..." so that only one letter fits per line (i.e., the break lines between minipages are only horizontal spaces por LaTeX, it should be blank lines, or alternatively, add\par
to see more clearly the paragraph breaks).