Recuando linhas de exex em uma lista?

Recuando linhas de exex em uma lista?

Estou tendo dificuldade em forçar o expex a recuar corretamente com o elemento que o contém. Alguém sabe como forçar o expex a recuar? Abaixo está um trecho de código:

\begin{enumerate}
    \item First piece of evidence for a phenomenon with examples below.
    \ex \label{anexample}
    \begingl
    \glpreamble \textit{No hablamos}//
    \gla no habl-amos //
    \glb \textsc{neg} speak-\textsc{pres.indic.1pl} //
    \glft `We don't speak.' //
    \endgl
    \xe
    \item 
\end{enumerate}

O problema que estou tendo é que o código expex aninhado sempre tem o mesmo recuo (em todo o documento), neste caso ele aparece à esquerda do item enumerado. Quero que o expex recue dinamicamente para corresponder ao elemento que o contém, isso é possível?

Responder1

Você pode usar o numoffsetparâmetro para recuar um exemplo. Isso está descrito na página 11 da documentação. O comprimento relevante dentro de uma lista é \leftmargin:

\documentclass{article}
\usepackage{expex}
\begin{document}
\begin{enumerate}
    \item First piece of evidence for a phenomenon with examples below.
    \ex[numoffset=\leftmargin] \label{anexample}
    \begingl
    \glpreamble \textit{No hablamos}//
    \gla no habl-amos //
    \glb \textsc{neg} speak-\textsc{pres.indic.1pl} //
    \glft `We don't speak.' //
    \endgl
    \xe
    \item 
\end{enumerate}
\end{document}

Se você tiver muitas dessas enumerações, poderá usar o enumitempacote para definir os recuos no nível da lista:

\documentclass{article}
\usepackage{expex}
\usepackage{enumitem}

\setlist[enumerate]{before={\lingset{numoffset=\leftmargin}}}

\begin{document}
\begin{enumerate}
    \item First piece of evidence for a phenomenon with examples below.
    \ex \label{anexample}
    \begingl
    \glpreamble \textit{No hablamos}//
    \gla no habl-amos //
    \glb \textsc{neg} speak-\textsc{pres.indic.1pl} //
    \glft `We don't speak.' //
    \endgl
    \xe

\end{enumerate}
\begin{enumerate}
\item Another list
    \ex \label{anexample}
    \begingl
    \glpreamble \textit{No hablamos}//
    \gla no habl-amos //
    \glb \textsc{neg} speak-\textsc{pres.indic.1pl} //
    \glft `We don't speak.' //
    \endgl
    \xe
\end{enumerate}
\end{document}

saída de código

informação relacionada