Sobre o comportamento do ambiente enumerado

Sobre o comportamento do ambiente enumerado

Eu defini um ambiente personalizado muito simples para problemas de lição de casa, que é basicamente apenas, enumeratemas sem recuos:

\newcounter{hwprob}
\newenvironment{hwprob}{\refstepcounter{hwprob} \textbf{\thehwprob.} ~ }{}

Se eu abrir um enumerateambiente real dentro hwprob, isso acontece:

\begin{hwprob}
   \begin{enumerate}
      \item Some text.
      \item Some other text.
   \end{enumerate}
\end{hwprob}

Não sei por que o primeiro item 1. não começa na mesma linha que1.Tentei remover o til, mas sem sucesso. O que me intriga é que sei que ao usar enumeratedentro do proofambiente o primeiro item estará na mesma linha queProva., com o recuo correto e tudo.

Oque posso fazer para consertar isso? Isso é resultado de como eu defini hwprobou é inerente a enumerate?

Responder1

Aqui está a parte "como": defina hwprobcomo um ambiente de lista e insira automaticamente um \itemno início de hwprob.

\documentclass{article}
\usepackage{enumitem}

\newlist{hwprob}{enumerate}{1}
\setlist[hwprob]{label=\textbf{\arabic*.}, first*=\item}

\begin{document}
\begin{hwprob}
   \begin{enumerate}
      \item Some text.
      \item Some other text.
   \end{enumerate}
\end{hwprob}
\end{document}

insira a descrição da imagem aqui

Quanto à parte do "porquê", acho que tem algo a ver com \trivlist(talvez com \parshape), que é a base comum usada pelos ambientes de lista e teorema.

Responder2

A formatação que você deseja obter - fazer com que o primeiro item da enumeratelista comece na linha atual em vez de começar após uma quebra de linha - acontece se o enumerateambiente for iniciado dentro de um LaTeX listou trivlistambientes.

Para atingir seu objetivo de formatação, sugiro que você carregue o pacote enumitem e use suas macros \newliste \setlistpara criar um ambiente de lista semelhante a enumeração personalizado chamado hwprob.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{enumitem}
\newlist{hwprob}{enumerate}{1}
\setlist[hwprob,1]{label=\bfseries\arabic*.,left=0pt}

\begin{document}
\begin{hwprob}
\item
   \begin{enumerate}
      \item Some text.
      \item Some other text.
   \end{enumerate}
\end{hwprob}
\end{document}

informação relacionada