Discussion:
problemas com quebra de pagina
Fabio Rodrigues de la Rocha
2003-01-27 13:51:19 UTC
Permalink
Ola colegas de lista,

Estou usando o ambiente framed para colocar um frame em cada uma das
paginas de um codigo fonte. Como abaixo:

\begin{framed}
\lstinputlisting[language=C]{code/foto2.c}
\end{framed}
\begin{codigo}[H]
\caption{Cdigo fonte da aplicao}
\label{code:foto2}
\end{codigo}

Gostaria de colocar um caption abaixo da ultima pagina do codigo fonte,
mas usando o caption do ambiente framed, este ficaria dentro do frame (o
que nao quero).

Como nao sei como fazer isso, usei um outro ambiente colocado logo abaixo,
no qual eu especifico o caption. Mesmo nao sendo "elegante" funciona, mas
mesmo assim tem o problema de poder ocorrer uma quebra de pagina e o
ambiente
codigo ficar numa outra pagina. Alguem saberia como fazer isso ? Nao
precisa ser desta maneira, qualquer solucao sera bem vinda...

Muito obrigado,
Fabio


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

Para sair da lista mande um mail com unsubscribe
no corpo para tex-br-request-***@public.gmane.org
Mario Domenech Goulart
2003-01-27 16:53:52 UTC
Permalink
Oi
Post by Fabio Rodrigues de la Rocha
Ola colegas de lista,
Estou usando o ambiente framed para colocar um frame em cada uma das
\begin{framed}
\lstinputlisting[language=C]{code/foto2.c}
\end{framed}
\begin{codigo}[H]
\caption{Cdigo fonte da aplicao}
\label{code:foto2}
\end{codigo}
Gostaria de colocar um caption abaixo da ultima pagina do codigo fonte,
mas usando o caption do ambiente framed, este ficaria dentro do frame (o
que nao quero).
Como nao sei como fazer isso, usei um outro ambiente colocado logo abaixo,
no qual eu especifico o caption. Mesmo nao sendo "elegante" funciona, mas
mesmo assim tem o problema de poder ocorrer uma quebra de pagina e o
ambiente
codigo ficar numa outra pagina. Alguem saberia como fazer isso ? Nao
precisa ser desta maneira, qualquer solucao sera bem vinda...
Nao sei se entendi direito. Nao poderias colocar o ambiente framed
dentro do ambiente codigo?

\begin{codigo}[H]
\begin{framed}
\lstinputlisting[language=C]{code/foto2.c}
\end{framed}
\caption{Cdigo fonte da aplicao}
\label{code:foto2}
\end{codigo}

Dessa forma, imagino, o caption ficaria por fora do frame e
nao ficaria orfao.

Mario

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

Para sair da lista mande um mail com unsubscribe
no corpo para tex-br-request-***@public.gmane.org
Fabio Rodrigues de la Rocha
2003-01-27 15:37:50 UTC
Permalink
Ola,

O que ocorre eh que o ambiente codigo eh um float que eh limitado a
apenas uma pagina. O codigo que eu quero inserir possui varias
paginas..por isso eu uso o pacote listings e uso o framed para por uma
frame em cada uma das paginas...
Post by Mario Domenech Goulart
Nao sei se entendi direito. Nao poderias colocar o ambiente framed
dentro do ambiente codigo?
\begin{codigo}[H]
\begin{framed}
\lstinputlisting[language=C]{code/foto2.c}
\end{framed}
\caption{Cdigo fonte da aplicao}
\label{code:foto2}
\end{codigo}
Dessa forma, imagino, o caption ficaria por fora do frame e
nao ficaria orfao.
Mario
--
TeX-BR Homepage: http://biquinho.furg.br/tex-br/
Para sair da lista mande um mail com unsubscribe
--
TeX-BR Homepage: http://biquinho.furg.br/tex-br/

Para sair da lista mande um mail com unsubscribe
no corpo para tex-br-request-***@public.gmane.org
Ronaldo Cristiano Prati
2003-01-27 19:50:07 UTC
Permalink
No listings dá pra inserir o frame. Eu uso assim, pra colocar um frame e
com fundo cinza:

\begin{lstlisting}[numbers=left,frame=lines,captiton={meu
caption},label=meu_label,backgroundcolor=\color[gray]{0.8}]{código}.

Dê uma olhada na documentação do listings

Ronaldo
Post by Fabio Rodrigues de la Rocha
Ola,
O que ocorre eh que o ambiente codigo eh um float que eh limitado a
apenas uma pagina. O codigo que eu quero inserir possui varias
paginas..por isso eu uso o pacote listings e uso o framed para por uma
frame em cada uma das paginas...
Post by Mario Domenech Goulart
Nao sei se entendi direito. Nao poderias colocar o ambiente framed
dentro do ambiente codigo?
\begin{codigo}[H]
\begin{framed}
\lstinputlisting[language=C]{code/foto2.c}
\end{framed}
\caption{Cdigo fonte da aplicao}
\label{code:foto2}
\end{codigo}
Dessa forma, imagino, o caption ficaria por fora do frame e
nao ficaria orfao.
Mario
--
TeX-BR Homepage: http://biquinho.furg.br/tex-br/
Para sair da lista mande um mail com unsubscribe
--
TeX-BR Homepage: http://biquinho.furg.br/tex-br/
Para sair da lista mande um mail com unsubscribe
--
TeX-BR Homepage: http://biquinho.furg.br/tex-br/

Para sair da lista mande um mail com unsubscribe
no corpo para tex-br-request-***@public.gmane.org
Miguel Frasson
2003-01-27 19:08:46 UTC
Permalink
Post by Fabio Rodrigues de la Rocha
Ola,
O que ocorre eh que o ambiente codigo eh um float que eh limitado a
apenas uma pagina. O codigo que eu quero inserir possui varias
paginas..por isso eu uso o pacote listings e uso o framed para por uma
frame em cada uma das paginas...
O \caption precisa apenas que o comando \@captype, que deve ser o nome de
um contador, esteja definido. Nao precisa usar um float de verdade.

Faz algo assim:

Define um comando para o \caption se sentir dentro de um float.

\makeatletter
\newcommand{\fakefloat}[2]{\begingroup\def\@captype{#1}#2\endgroup}
\makeatother

Ai,

\begin{framed}
\lstinputlisting[language=C]{code/foto2.c}
\end{framed}\nopagebreak
\fakefloat{codigo}{\caption{bla bla bla}\label{foo}}

Se nao resolver, falsifica o caption tambem.

\begin{framed}
\lstinputlisting[language=C]{code/foto2.c}
\end{framed}\nopagebreak
\centerline{\refstepcounter{codigo}C\'odigo \thecodigo:
bla bla bla\label{foo}}

[]'s

Miguel.
--
Miguel Vinicius Santini Frasson
http://www.math.leidenuniv.nl/~frasson


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

Para sair da lista mande um mail com unsubscribe
no corpo para tex-br-request-***@public.gmane.org
Loading...