exercícios de recuo

exercícios de recuo

Estou digitando problemas de lição de casa e gostaria de um formato bem específico, mas não sei por onde começar. Gostaria que os números dos exercícios fossem alinhados em uma coluna e, em seguida, as perguntas e as respostas fossem alinhadas à esquerda com outra "coluna", por assim dizer. Para ter uma ideia do que quero dizer, este código simples 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}

Parece o que eu quero, mas é chato colocar toda a minha tarefa em um ambiente tabular e me preocupar com caracteres de alinhamento, etc. O que eu realmente gostaria é de um ambiente onde eu pudesse especificar o número do exercício e ele criasse o layout adequado para a pergunta e a resposta. Isso é possível? Obrigado!

Responder1

Existem muitas maneiras de fazer isso. Uma maneira simples usando apenas um enumerateambiente

\begin{enumerate}
  \item[5] This is the question.
  \item[] This is where the answer goes
\end{enumerate}

ou talvez você queira seu próprio ambiente; Postei algumas opções diferentes abaixo – faça a sua escolha ou talvez construa uma com base em uma delas.

\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}

Se você quiser alterar o recuo do enumerateambiente, então oenumitempacote é a maneira mais sensata de fazer isso:

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

Responder2

Você pode usar um enumerateambiente; o argumento opcional de \itempermite atribuir o rótulo desejado:

\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}

insira a descrição da imagem aqui

Responder3

Se você deseja ter o espaçamento entre o rótulo, o código a seguir, copiado da resposta de Gonzalo e modificado adequadamente, parece bom para mim:

\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}

Uma saída:

insira a descrição da imagem aqui

informação relacionada