[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tex-br
Subject:    =?ISO-8859-1?Q?Re:_[TeX-BR]_Contador_cont=EDnuo?=
From:       "Miguel V. S. Frasson" <mvsfrasson () gmail ! com>
Date:       2006-09-28 12:42:15
Message-ID: 1c01d1b0609280542x54711a61o6f415429bede4d2c () mail ! gmail ! com
[Download RAW message or body]

Tente o seguinte (foi necessario hackear um pouco)

\documentclass[12pt]{article}

\usepackage{enumerate}

\newcounter{salvaenumi}
\newcounter{salvaenumii}[salvaenumi]
\newcounter{salvaenumiii}[salvaenumii]
\newcounter{salvaenumiv}[salvaenumiii]

% setar contadores do unumerate devem resetar os contadores salvos de
% nivel inferior
\makeatletter
\@addtoreset{salvaenumii}{enumi}
\@addtoreset{salvaenumiii}{enumii}
\@addtoreset{salvaenumiv}{enumiii}
\makeatother

% o ambiente enumerate reseta os \theenum? Tenho que fazer outros
\newcommand{\MEUtheenumi}{\arabic{enumi}}
\newcommand{\MEUtheenumii}{\theenumi.\arabic{enumii}}
\newcommand{\MEUtheenumiii}{\theenumii.\arabic{enumiii}}


\makeatletter
% \geratextoantes calcula o que vem antes do contador do enumerate
\newcommand{\textoantesperguntas}{}
\newcommand{\geratextoantes}{%
  \ifnum\@enumdepth>0
    \expandafter\renewcommand
    \expandafter\textoantesperguntas
    \expandafter{\csname MEUtheenum\romannumeral\the\@enumdepth\endcsname.}
  \else
    \renewcommand{\textoantesperguntas}{}
  \fi}

\newenvironment{perguntas}
  {\geratextoantes
   \begin{enumerate}[\bfseries\textoantesperguntas 1)]%
   \setcounter{enum\romannumeral\the\@enumdepth}
              {\value{salvaenum\romannumeral\the\@enumdepth}}}
  {\setcounter{salvaenum\romannumeral\the\@enumdepth}
              {\value{enum\romannumeral\the\@enumdepth}}%
   \end{enumerate}}
\makeatother

\begin{document}


\begin{perguntas}
\item teste

  Se a resposta foi sim:
  \begin{perguntas}
  \item Mas por que isso?

    Se quiser ser chato...
    \begin{perguntas}
    \item E por que nao aquilo?
    \item Fale mais.
    \end{perguntas}

  \item Entao foi isso?
  \item Outra pergunta oportuna...

    \begin{perguntas}
    \item Pergunta.
    \end{perguntas}

    Agora aceita texto intermediario em subperguntas

    \begin{perguntas}
    \item Pergunta.
    \item Pergunta.
    \end{perguntas}

  \item Pergunta.
  \item Pergunta.
  \end{perguntas}

\item outro teste

  Se a resposta foi sim:
  \begin{perguntas}
  \item Mas por que isso?
  \item Entao foi isso?
  \item Outra pergunta oportuna...

    \begin{perguntas}
    \item Pergunta.
    \item Pergunta.

      \begin{perguntas}
      \item Pergunta.
      \end{perguntas}

    \end{perguntas}

  \item Pergunta.
  \item Pergunta.
  \end{perguntas}

\item outro teste
\end{perguntas}

\section{Outra secao}

\begin{perguntas}
\item outro teste

  Se a resposta foi sim:
  \begin{perguntas}
  \item Mas por que isso?
  \item Entao foi isso?
  \item Outra pergunta oportuna...

    \begin{perguntas}
    \item Pergunta.
    \item Pergunta.

      \begin{perguntas}
      \item Pergunta.
      \end{perguntas}

    \end{perguntas}

  \item Pergunta.
  \item Pergunta.
  \end{perguntas}

\item outro teste
\end{perguntas}

\end{document}


On 9/27/06, João Olavo <joaoolavo@gmail.com> wrote:
> Ariovaldo, eu queria uma jeito mais automático, mas valeu!
> Henrique, pelo que eu vi, a linha "\begin{enumerate}[3)]" faz com que todos
> os ítens comecem com "3)", sem ter um contador.
>
> E Miguel, era justamente isso!! Acabei me empolgando e fazendo um pouco
> mais... Agora, além do ambiente perguntas, tem subperguntas e
> subsubperguntas ;)
>
> Assim fica do jeito que eu realmente preciso!
> Teste aí o código e veja se ficou legal...
> Só gostaria que fosse um pouco diferente... Se eu colocasse um
> \begin{perguntas} dentro de outro \begin{perguntas} ele já deixasse como
> está agora, sem precisar criar outros ambientes. Mas acho que aí já não tem
> como... ficaria difícil controlar os contadores. Ou não??
>
> Taí como ficou:
>
>
>
> \documentclass[12pt]{article}
> \usepackage{enumerate}
>
> \newcounter{salvaenumi}
> \setcounter{salvaenumi}{0}
> \newcounter{salvaenumiv}
> \setcounter{salvaenumiv}{0}
>
>  % mude a formatacao do item de acordo com o pacote enumerate
> \newenvironment{perguntas}
>  {\begin{enumerate}[\bfseries 1)]%
>   \setcounter{enumi}{\value{salvaenumi}}}
>  {\setcounter{salvaenumi}{\value{enumi}}
>    \setcounter{salvaenumiv}{0}
>   \end{enumerate}}
>
> \newenvironment{subperguntas}
>  {\begin{enumerate}[\bfseries \thesalvaenumi.1)]
>   \setcounter{enumi}{\value{salvaenumiv}}}
>  {\setcounter{salvaenumiv}{\value{enumi}}\end{enumerate}}
>
> \newenvironment{subsubperguntas}
>  {\begin{enumerate}[\bfseries
> \thesalvaenumi.\thesalvaenumiv.1)]}
>  {\end{enumerate}}
>
>
> \begin{document}
>
> \section{Outras perguntas}
> \begin{perguntas}
>  \item teste
> \end{perguntas}
> Se a resposta foi sim:
> \begin{subperguntas}
>  \item Mas por que isso?
> \end{subperguntas}
> Se quiser ser chato...
> \begin{subsubperguntas}
>  \item E por que nao aquilo?
>  \item Fale mais.
> \end{subsubperguntas}
> \begin{subperguntas}
> \item Entao foi isso?
> \item Outra pergunta oportuna...
> \end{subperguntas}
> \begin{subsubperguntas}
> \item Pergunta.
> \item Pergunta.
> \item Pergunta.
> \end{subsubperguntas}
> \begin{subperguntas}
> \item Pergunta.
> \item Pergunta.
> \end{subperguntas}
> \begin{perguntas}
> \item outro teste
> \item outro teste
> \end{perguntas}
>
>
> \section{Outra secao}
> \begin{perguntas}
>  \item outro teste
> \end{perguntas}
> Se sim:
> \begin{subperguntas}
>  \item Mas por que isso?
> \end{subperguntas}
> Se quiser ser chato...
> \begin{subsubperguntas}
>  \item E por que nao aquilo?
>  \item Fale mais.
> \end{subsubperguntas}
> \begin{subperguntas}
> \item Então foi isso?
> \item Outra pergunta oportuna...
> \end{subperguntas}
> \begin{perguntas}
> \item outro teste
> \end{perguntas}
>
> \end{document}
>
>
>
>
>
>
>
>
>
>
> On 9/27/06, Miguel V. S. Frasson <mvsfrasson@gmail.com> wrote:
> >
> > Ola
> >
> > Da para fazer isso automatico.  Rode o texto abaixo.
> >
> > \documentclass[12pt]{report}
> > \usepackage{enumerate}
> >
> > \newcounter{salvaenumi}
> > \setcounter{salvaenumi}{0}
> >
> > % mude a formatacao do item de acordo com o pacote enumerate
> > \newenvironment{cont-enum}
> >   {\begin{enumerate}[\bfseries 1)]%
> >    \setcounter{enumi}{\value{salvaenumi}}}
> >   {\setcounter{salvaenumi}{\value{enumi}}%
> >    \end{enumerate}}
> >
> > \begin{document}
> >
> > \begin{cont-enum}
> >   \item teste
> >   \item teste
> > \end{cont-enum}
> >
> > Texto intermediario
> >
> > \begin{cont-enum}
> >   \item teste
> >   \item teste
> >   \item teste
> > \end{cont-enum}
> >
> > Texto intermediario
> >
> > \begin{cont-enum}
> >   \item teste
> >   \item teste
> > \end{cont-enum}
> >
> > \end{document}
> >
> > --
> > Miguel Vinicius Santini Frasson
> > mvsfrasson@gmail.com
> >
> > --
> > TeX-BR     Homepage: http://biquinho.furg.br/tex-br/
> >
> >            Para sair da lista mande um mail com unsubscribe
> >            no corpo para tex-br-request@listas.furg.br
> >
>
>
>
> --
> João Olavo Baião de Vasconcelos


-- 
Miguel Vinicius Santini Frasson
mvsfrasson@gmail.com

--
TeX-BR     Homepage: http://biquinho.furg.br/tex-br/

           Para sair da lista mande um mail com unsubscribe
           no corpo para tex-br-request@listas.furg.br
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic