ejercicios de sangría

ejercicios de sangría

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 enumerateentorno.

\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 enumerateentorno, entonces elenumitemEl paquete es la forma más sensata de hacerlo:

\documentclass{article}
\usepackage{calc}
\usepackage{enumitem}
\setlist[enumerate]{leftmargin=*}

Respuesta2

Puedes utilizar un enumerateentorno; el argumento opcional de \itemle 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}

ingrese la descripción de la imagen aquí

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:

ingrese la descripción de la imagen aquí

información relacionada