Estoy escribiendo problemas de tarea y me gustaría un formato muy específico pero no estoy seguro de por dónde empezar. Me gustaría que los números de los ejercicios se alinearan en una columna y luego que las preguntas y las respuestas quedaran alineadas con otra "columna", por así decirlo. Para tener una idea de lo que quiero decir, este código simple funciona:
\documentclass{article}
\begin{document}
\begin{tabular}{l l}
5. & This is the question \\
& This is where the answer goes \\
11. & Another Questions \\
& Another Answer
\end{tabular}
\end{document}
Esto se parece a lo que quiero, pero es molesto poner toda mi tarea en un entorno tabular y preocuparme por la alineación de los caracteres, etc. Lo que realmente me gustaría es un entorno donde pueda especificar el número del ejercicio y creará el diseño adecuado para la pregunta y la respuesta. es posible? ¡Gracias!
Respuesta1
Hay muchas formas de hacer esto. Una forma sencilla utilizando solo un enumerate
entorno.
\begin{enumerate}
\item[5] This is the question.
\item[] This is where the answer goes
\end{enumerate}
o quizás quieras tu propio entorno; He publicado algunas opciones diferentes a continuación: elija, o tal vez cree una basada en una de ellas.
\documentclass{article}
\usepackage{calc}
\newcommand{\question}[1]{\item[#1]}
\newcommand{\answer}{\item[]}
\newenvironment{questionandanswer}[2]{\enumerate\setcounter{enumi}{#2-1}\item#1\item[]}{\endenumerate}
\newenvironment{anotherapproach}{\enumerate}{\endenumerate}
\begin{document}
\begin{questionandanswer}{This is the question.}{5}
This is where the answer goes
\end{questionandanswer}
\begin{anotherapproach}
\question{5} This is the question.
\answer This is where the answer goes
\end{anotherapproach}
\begin{enumerate}
\item[5] This is the question.
\item[] This is where the answer goes
\end{enumerate}
\end{document}
Si desea cambiar la sangría del enumerate
entorno, entonces elenumitem
El paquete es la forma más sensata de hacerlo:
\documentclass{article}
\usepackage{calc}
\usepackage{enumitem}
\setlist[enumerate]{leftmargin=*}
Respuesta2
Puedes utilizar un enumerate
entorno; el argumento opcional de \item
le permite asignar la etiqueta deseada:
\documentclass{article}
\usepackage[nopar]{lipsum}% just to generate text for the example
\begin{document}
\begin{enumerate}
\item This is the question.
And this is where the question goes. \lipsum[2]
\item[11.] This is another question.
And this is where the question goes. \lipsum[4]
\end{enumerate}
\end{document}
Respuesta3
Si es particular acerca del espacio entre las etiquetas, el siguiente código, copiado de la respuesta de Gonzalo y modificado adecuadamente, me parece bien:
\documentclass{article}
\usepackage{enumitem}%provides the key labelsep
\begin{document}
\begin{enumerate}[labelsep=*]
\item[5.] This is the question.
And this is where the question goes. I use \texttt{labelsep}=*
\item[11.] This is another question.
And this is where the question goes. I use \texttt{labelsep}=*
\end{enumerate}
\begin{enumerate}
\item[5.] This is the question.
And this is where the question goes. No \texttt{labelsep}=*
\item[11.] This is another question.
And this is where the question goes. No \texttt{labelsep}=*
\end{enumerate}
\end{document}
Una salida: