Usando o pacote linguex com abntex2

89 views
Skip to first unread message

Fabio Mesquita

unread,
Jun 9, 2016, 5:46:06 PM6/9/16
to abnTeX2
Olá. Tomara que este seja o lugar certo para postar isto. Se não for, me perdoem.
Estou fazendo minha tese com o abntex2, usando o modelo customizado da UFPR. Como é comum em teses de linguística, usamos exemplos numerados. Por exemplo:

       (1)  Este é um exemplo.

Para fazer isto, existem alguns pacotes antigos como o covington.sty, mas ele é meio limitado e apresenta o mesmo problema que vou relatar. Tem outro chamado g4be.sty, mas ele só deu pau com o abntex. A melhor opção acabou sendo o linguex.sty, que além de fazer os exemplos numerados automaticamente, ainda permite fazer glosas (traduções palavra por palavra) alinhadas, além de estruturas de sentenças usando colchetes com nomes de categorias sintáticas.
O problema é que, apesar do pacote do abntex ja me dar os parágrafos indentados, não consigo customizar a indentação para esses exemplos numerados. Se uso o comando \ex. do linguex regularmente, ou seja, assim:

   \usepackage{linguex}

   \begin{document}

   \lipsum[1]

   \ex. Este é um exemplo


   \lipsum[2]

   \end{document}


acabo obtendo isto:


         Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.

(1)   Este é um exemplo.

         Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi.


Observe que é necessário deixar duas linhas em branco após o comando \ex. para que o próximo parágrafo também seja indentado. Mas o próprio exemplo sempre ficava alinhado com a margem esquerda. Procurei na documentação do linguex e na internet em geral, mas não encontrei nenhuma maneira mudar os parâmetros do \ex.
Então, fui tentanto colocar o comando \ex. dentro de alguns ambientes, mas a maioria dava erro. Descobri que o ambiente {quote} funciona, mas ele não tabulava os exemplos com 1,5 cm, como eu precisava.
Procurando em fóruns do latex, descobri que eu poderia mudar a indentação do {quote} usando o pacote etoolbox. Fiz assim:

   \usepackage{linguex}
   \usepackage{etoolbox}

   \begin{document}

   \patchcmd{\quote}{\rightmargin}{\leftmargin 1.5cm \rightmargin}{}{}   % serve pra corrigir a indentação do ambiente quote

   \lipsum[1]
 
   \begin{quote}
   \ex. Este é um exemplo

   \end{quote}

   \lipsum[2]

   \end{document}

Isto deu certo, e nem é preciso mais deixar duas linhas após a linha do \ex.:


       Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.

       (1)   Este é um exemplo.

       Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi.


No entanto, usar o {quote} em todos os exemplos (serão muitos) vai ser bem chato.
Será que não existe uma maneira mais direta de mudar a indentação dos exemplos usando o linguex? O tal patchcmd não funciona com o comando \ex.

Obrigado.

Rubens Stuginski Jr

unread,
Jun 10, 2016, 3:38:18 PM6/10/16
to abn...@googlegroups.com
Olá Fabio:
    Não entendi exatamente qual é seu problema, mas quanto a indentação dos parágrafos você pode resolver com o comando \par:

  \ex Isto é um exemplo \par

        Pula uma linha e comece aqui seu exemplo. Se esse for se único problema, resolvido! Acho que você também quer indentar o \ex. . Para isso acrescente, após o \begin{document} o comando \setlength{\Exindent}{15mm} Acho que isso resolverá teu problema. Não sei se surgirá novos, mas esse estará resolvido...

    E pode retirar o pacote "etoolbox".


            []s,
                Rubens
--
abnTeX2 - http://abntex2.googlecode.com/
---
Você recebeu essa mensagem porque está inscrito no grupo "abnTeX2" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para abntex2+u...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para abn...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/abntex2/82fd11ad-4da2-496e-9730-9820298918d7%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Fabio Mesquita

unread,
Jun 10, 2016, 8:54:40 PM6/10/16
to abnTeX2
Rubens,

Funcionou perfeitamente, obrigado.
Na verdade, meu problema era só a indentação dos exemplos numerados mesmo, que o \setlength{\Exindent}{15mm} resolveu elegantemente.
Eu tinha mencionado o fato de que eram necessárias 2 linhas após o \ex. pq achei q esta informação podia ser útil na questão da indentação. Mas dá pra usar \par tambem.

Tem mais uma questão que encontrei hoje. Usando colchetes com o \exi., que é o comando pra fazer estruturas sintáticas:

   \exi.  [[NP Fritz ][ snores ]]S

Que era pra ficar assim (ja com os nomes das categorias NP etc. subscritas):

   (1)     [[NP Fritz ][ snores ]]S

No abntex ta dando esse erro na hora de compilar:


! Class memoir Error: Font command \rm is not supported.


Para solucionar isto precisa adicionar oldfontcommands nas opções da classe memoir:


\documentclass[ ...,

oldfontcommands,

]


Até aí beleza. Mas uma coisa que não tá dando certo são os comandos \a. e \b., que servem pra criar subitens. Vou até colocar o exemplo da documentação do linguex aqui:

   Here is an example.  Type setting

   \ex. This is the first level of embedding
   \a. This is the second level
   \b. This is still the second level, but:
   \a. This is the third level
   \b. This is not the end.
   \b. This is the end

   will print:

   (1)   This is the first level of embedding
         a.  This is the second level
         b.  This is still the second level, but:
             (i)     This is the third level
             (ii)    This is not the end.
            (iii)   This is the end

Isto dá certo num documento genérico do latex, mas no abntex dá o erro:

! LaTeX Error: Something's wrong--perhaps a missing \item.


Não consegui decifrar este ainda.

Abraços.

Rubens Stuginski Jr

unread,
Jun 11, 2016, 1:02:09 AM6/11/16
to abn...@googlegroups.com
Olá Fábio:

    Eu nunca usei esse pacote, assim não conheço detalhes dele, porém testei teu exemplo e tudo funciona perfeitamente. Eu estou usando o modelo da UFPR (modelo-tese-0.9.4). Minha sugestão é que você comente TODOS os pacotes extras que você colocou e vá incluindo cada um deles até o erro acontecer. Teste individualmente cada pacote. Pode ser isso. Se não conseguir resolver envie teu(s) arquivos que contém os pacotes que você usa e posso tentar achar o erro.

    Quanto ao \rm só existe um comando no pacote linguex que não foi atualizado e mantém "\rm" como comando interno. Você pode corrigi-lo redefinindo o comando que o utiliza. Antes do \begin{document} inclua:

\def\labelBr#1 {\mbox{$\hspace{.05em}_{\mbox{\scriptsize\textrm#1}}$} }

Acho que isso será suficiente. Talvez isso resolva todo os outros problemas...


            []s,
                Rubens

PS. Qualquer coisa entre em contato...
Reply all
Reply to author
Forward
0 new messages